From 9f56968385c99770ddca2e258cce9d06bde42627 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 6 Jan 2025 16:12:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20change=5For=5Fnew=E8=AF=A5=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=BC=96=E5=8F=B7=E5=B7=B2=E5=AD=98=E5=9C=A8=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/serializers.py | 2 ++ apps/wpm/views.py | 4 ++++ apps/wpmw/models.py | 2 ++ apps/wpmw/views.py | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 02651205..73852028 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -238,6 +238,8 @@ class MlogSerializer(CustomModelSerializer): source='create_by.name', read_only=True) update_by_name = serializers.CharField( source='update_by.name', read_only=True) + material_in_ = MaterialSimpleSerializer( + source='material_in', read_only=True) material_out_ = MaterialSimpleSerializer( source='material_out', read_only=True) material_out_name = serializers.StringRelatedField( diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 40cc0f18..0731b76b 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -591,6 +591,8 @@ class MlogbwViewSet(CustomModelViewSet): def perform_create(self, serializer): ins:Mlogbw = serializer.save() mlogb:Mlogb = ins.mlogb + if mlogb.mlog.submit_time is not None: + raise ParseError('日志已提交不可修改') self.cal_mlogb_count(mlogb) # 如果是输入且输出追踪到个,需同步创建 material_in:Material = mlogb.material_in @@ -605,6 +607,8 @@ class MlogbwViewSet(CustomModelViewSet): @transaction.atomic def perform_destroy(self, instance): mlogb = instance.mlogb + if mlogb.mlog.submit_time is not None: + raise ParseError('日志已提交不可修改') instance.delete() self.cal_mlogb_count(mlogb) # 如果是输入且输出追踪到个,需同步创建 diff --git a/apps/wpmw/models.py b/apps/wpmw/models.py index 809089f7..d2f71a4b 100644 --- a/apps/wpmw/models.py +++ b/apps/wpmw/models.py @@ -30,6 +30,8 @@ class Wpr(BaseModel): elif number: try: ins = cls.objects.get(number=number) + if ins.wm or ins.wm: + raise ParseError("该物料编号已存在不可使用") except cls.DoesNotExist: ins = cls(number=number) diff --git a/apps/wpmw/views.py b/apps/wpmw/views.py index 968ea91d..ce7afb59 100644 --- a/apps/wpmw/views.py +++ b/apps/wpmw/views.py @@ -16,7 +16,7 @@ class WprViewSet(CustomListModelMixin, CustomGenericViewSet): prefetch_related_fields = ["defects"] queryset = Wpr.objects.all() serializer_class = WprSerializer - filter_fields = ["mb", "wm", "state", "material", "defects"] + filterset_fields = ["mb", "wm", "state", "material", "defects"] ordering = ["-create_time"] ordering_fields = ["number", "create_time", "update_time"] search_fields = ["number", "material__name", "material__model", "material__specification"] \ No newline at end of file