From 86053bed93acc60e9973ee1a792f902318bcace9 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 24 Apr 2024 14:59:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mpoint=E5=A2=9E=E5=8A=A0=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=8F=AF=E6=89=8B=E5=8A=A8=E5=BD=95=E5=85=A5=E7=9A=84?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/enm/migrations/0030_mpoint_can_manual.py | 18 ++++++++++++++++++ apps/enm/models.py | 1 + apps/enm/serializers.py | 2 ++ apps/enm/views.py | 2 +- 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 apps/enm/migrations/0030_mpoint_can_manual.py diff --git a/apps/enm/migrations/0030_mpoint_can_manual.py b/apps/enm/migrations/0030_mpoint_can_manual.py new file mode 100644 index 00000000..a8cc8550 --- /dev/null +++ b/apps/enm/migrations/0030_mpoint_can_manual.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2024-04-24 06:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enm', '0029_remove_mpoint_is_all'), + ] + + operations = [ + migrations.AddField( + model_name='mpoint', + name='can_manual', + field=models.BooleanField(default=False, verbose_name='是否允许手动录入'), + ), + ] diff --git a/apps/enm/models.py b/apps/enm/models.py index 6ff427da..d6527322 100644 --- a/apps/enm/models.py +++ b/apps/enm/models.py @@ -17,6 +17,7 @@ class Mpoint(CommonBModel): mgroup = models.ForeignKey("mtm.mgroup", verbose_name="所在集合", on_delete=models.SET_NULL, null=True, blank=True) mgroups_allocate = models.JSONField("各工段分配", default=list, blank=True, help_text='[{"mgroup":"x", "ratio": 1}]') is_auto = models.BooleanField("是否自动采集", default=True) + can_manual = models.BooleanField("是否允许手动录入", default=False) formula = models.TextField("计算公式", default="") func_on_change = models.CharField("数据变动时执行方法", max_length=100, default="", blank=True) # 废弃字段暂时不用 interval = models.PositiveSmallIntegerField("采集间隔(秒)", default=10) diff --git a/apps/enm/serializers.py b/apps/enm/serializers.py index 9eb2001a..faa72bbc 100644 --- a/apps/enm/serializers.py +++ b/apps/enm/serializers.py @@ -85,6 +85,8 @@ class MpointStatSerializer(CustomModelSerializer): def validate(self, attrs): mpoint = attrs["mpoint"] + if 'mgroup' not in attrs: + raise ParseError("请选择工段") if mpoint.material and mpoint.is_auto is False and "sflog" in attrs and attrs["sflog"]: attrs["type"] = "sflog" sflog = attrs["sflog"] diff --git a/apps/enm/views.py b/apps/enm/views.py index 315bc3a7..c0f10249 100644 --- a/apps/enm/views.py +++ b/apps/enm/views.py @@ -25,7 +25,7 @@ class MpointViewSet(CustomModelViewSet): queryset = Mpoint.objects.all() serializer_class = MpointSerializer select_related_fields = ["create_by", "belong_dept", "ep_monitored", "ep_belong", "mgroup"] - filterset_fields = ["belong_dept", "ep_monitored", "ep_belong", "mgroup", "is_auto", "mgroup__name", "val_type", "enabled"] + filterset_fields = ["belong_dept", "ep_monitored", "ep_belong", "mgroup", "is_auto", "mgroup__name", "val_type", "enabled", "can_manual"] search_fields = ["name", "code"] ordering = ["-create_time", "name", "code"]