From 8d4d0f7cbcb96efedbba2b102fbe4dc0c2fc76df Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 14 Jan 2025 11:27:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20mlogbw=20create=E6=97=B6=E8=BF=9B?= =?UTF-8?q?=E8=A1=8Cwpr=E7=9A=84=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/serializers.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index fcd4d94d..44231042 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -586,9 +586,9 @@ class MlogbwCreateUpdateSerializer(CustomModelSerializer): wpr:Wpr = attrs.get("wpr", None) in_or_out, tracking = mlogb.get_tracking() if tracking != Material.MA_TRACKING_SINGLE: - raise ValidationError('非单件追踪不可使用') + raise ParseError('非单件追踪不可使用') if in_or_out == 'in' and not wpr: - raise ValidationError('请选择相应产品') + raise ParseError('请选择相应产品') return attrs def save_ftest(self, mlogbw, ftest_data): @@ -605,6 +605,11 @@ class MlogbwCreateUpdateSerializer(CustomModelSerializer): @transaction.atomic def create(self, validated_data): + wpr: Wpr = validated_data.get("wpr", None) + if wpr: + mlogb: Mlogb = validated_data["mlogb"] + if Mlogbw.objects.filter(mlogb=mlogb, wpr=wpr).exists(): + raise ParseError('该产品已选入') ftest_data = validated_data.pop("ftest", None) mlogbw = super().create(validated_data) if ftest_data: