From a0084f78250530b2d4df22200fe6488f46eab82f Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 19 Mar 2025 14:32:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mgroup=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E4=BA=A7=E5=92=8C=E5=A4=96=E5=8D=8F=E5=AD=97=E6=AE=B5=E5=8F=8A?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91=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 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 87025663..8f2c6bbb 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -529,7 +529,7 @@ class MlogSerializer(CustomModelSerializer): def validate(self, attrs): attrs['fill_way'] = Mlog.MLOG_2 # 只填第二级 attrs['mtype'] = Mlog.MTYPE_SELF # 默认为自生产 - fmlog = attrs.get('fmlog', None) + fmlog:Fmlog = attrs.get('fmlog', None) mtaskb = attrs.get('mtaskb', None) if fmlog: attrs['fill_way'] = Mlog.MLOG_12 @@ -540,6 +540,7 @@ class MlogSerializer(CustomModelSerializer): raise ParseError('未提供消耗的车间物料') attrs['mgroup'] = fmlog.mgroup attrs['mtask'] = fmlog.mtask + attrs['mtype'] = fmlog.mgroup.mtype if attrs['mtask'].route: attrs['route'] = attrs['mtask'].route # if attrs['mtask'].mtaskb and mtaskb is None: @@ -552,6 +553,10 @@ class MlogSerializer(CustomModelSerializer): raise ParseError('非合格品不可使用') if wm_in.material != attrs['mtask'].material_in: raise ParseError('消耗物料与任务不一致') + if attrs['mtype'] == Mlog.MTYPE_OUT: + supplier = attrs.get('supplier', None) + if not supplier: + raise ParseError('外协必须选择外协单位') mtask = attrs.get('mtask', None) count_notok = 0 for i in attrs: