diff --git a/apps/enm/migrations/0055_auto_20250120_1318.py b/apps/enm/migrations/0055_auto_20250120_1318.py new file mode 100644 index 00000000..0186a374 --- /dev/null +++ b/apps/enm/migrations/0055_auto_20250120_1318.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.12 on 2025-01-20 05:18 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('enm', '0054_mpoint_up_down'), + ] + + operations = [ + migrations.AddField( + model_name='enstat', + name='carbon_emission', + field=models.FloatField(default=0, help_text='t', verbose_name='碳排放'), + ), + migrations.AddField( + model_name='enstat', + name='carbon_emission_unit', + field=models.FloatField(default=0, help_text='t/t', verbose_name='碳排放强度'), + ), + ] diff --git a/apps/enm/migrations/0056_auto_20250121_0940.py b/apps/enm/migrations/0056_auto_20250121_0940.py new file mode 100644 index 00000000..d11bba92 --- /dev/null +++ b/apps/enm/migrations/0056_auto_20250121_0940.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.12 on 2025-01-21 01:40 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('enm', '0055_auto_20250120_1318'), + ] + + operations = [ + migrations.RemoveField( + model_name='enstat', + name='carbon_emission', + ), + migrations.RemoveField( + model_name='enstat', + name='carbon_emission_unit', + ), + ] diff --git a/apps/enm/views.py b/apps/enm/views.py index 9be28b55..c7fa715d 100644 --- a/apps/enm/views.py +++ b/apps/enm/views.py @@ -1,4 +1,5 @@ from django.conf import settings +from rest_framework.exceptions import ParseError from apps.enm.models import Mpoint, MpointStat, EnStat, EnStat2, MpLogx, Xscript from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin, BulkUpdateModelMixin @@ -186,9 +187,21 @@ class MpointStatViewSet(BulkCreateModelMixin, BulkDestroyModelMixin, CustomListM 修正测点统计记录及统计值 """ + instance_id = kwargs.get("pk") + if not instance_id: + return Response({"detail": "ID not provided in the URL"}, status=400) instance: MpointStat = self.get_object() sr = MpointStatCorrectSerializer(data=request.data) sr.is_valid(raise_exception=True) + last_record = MpointStat.objects.filter(mpoint=instance.mpoint, + type=instance.type, + mgroup=instance.mgroup, + year_s=instance.year_s, + month_s=instance.month_s, + ).order_by(instance.type).values("id").last() + last_id = last_record["id"] if last_record else None + if str(last_id) == str(instance_id): + raise ParseError("不能修正当日或当月数据") vdata = sr.validated_data val_correct = vdata["val_correct"] instance.val_correct = val_correct diff --git a/apps/qm/migrations/0040_quastat_rate_pass_t.py b/apps/qm/migrations/0040_quastat_rate_pass_t.py new file mode 100644 index 00000000..7198a8df --- /dev/null +++ b/apps/qm/migrations/0040_quastat_rate_pass_t.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2025-01-21 06:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('qm', '0039_ftest_defect_main'), + ] + + operations = [ + migrations.AddField( + model_name='quastat', + name='rate_pass_t', + field=models.FloatField(blank=True, null=True, verbose_name='合格率目标值'), + ), + ] diff --git a/apps/qm/models.py b/apps/qm/models.py index cdccc39d..c8cc4a67 100644 --- a/apps/qm/models.py +++ b/apps/qm/models.py @@ -201,6 +201,7 @@ class QuaStat(CommonBDModel): num_test = models.PositiveSmallIntegerField('检测次数', null=True, blank=True) num_ok = models.PositiveSmallIntegerField('合格次数', null=True, blank=True) rate_pass = models.FloatField('合格率', null=True, blank=True) + rate_pass_t = models.FloatField('合格率目标值', null=True, blank=True) class FtestWork(CommonBDModel):