feat: enm/view 修改correct 增加不能校正当日或当月数据

This commit is contained in:
zty 2025-01-21 12:45:51 +08:00
parent fa18fee720
commit 4254e226d3
1 changed files with 13 additions and 0 deletions

View File

@ -1,4 +1,5 @@
from django.conf import settings from django.conf import settings
from rest_framework.exceptions import ParseError
from apps.enm.models import Mpoint, MpointStat, EnStat, EnStat2, MpLogx, Xscript from apps.enm.models import Mpoint, MpointStat, EnStat, EnStat2, MpLogx, Xscript
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin, BulkUpdateModelMixin 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() instance: MpointStat = self.get_object()
sr = MpointStatCorrectSerializer(data=request.data) sr = MpointStatCorrectSerializer(data=request.data)
sr.is_valid(raise_exception=True) 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 vdata = sr.validated_data
val_correct = vdata["val_correct"] val_correct = vdata["val_correct"]
instance.val_correct = val_correct instance.val_correct = val_correct