From f5229ab8cb973bbbf778de7c735419285e388fce Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 18 Feb 2025 11:09:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ftestwork=5Fsubmit=20=E6=97=B6=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=B7=A5=E6=AE=B5=E9=85=8D=E7=BD=AE=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=B8=8D=E5=90=88=E6=A0=BC=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/qm/services.py | 56 +++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/apps/qm/services.py b/apps/qm/services.py index 1923d89b..c2f19360 100644 --- a/apps/qm/services.py +++ b/apps/qm/services.py @@ -67,33 +67,35 @@ def ftestwork_submit(ins:FtestWork, user: User): raise ParseError("不合格数不可大于批次数量") # 生成不合格的 - count_notok_json = ins.count_notok_json - for k, v in count_notok_json.items(): - if v > 0: - notok_sign = k.replace('count_n_', '') - astate = WMaterial.WM_NOTOK - if NotOkOption.get_extra_info(notok_sign)['cate'] == 'ok_b': - astate = WMaterial.WM_OK - wm_n, new_create = WMaterial.objects.get_or_create( - material=wm.material, - batch=wm.batch, - mgroup=wm.mgroup, - belong_dept=wm.belong_dept, - notok_sign=notok_sign, - state=astate, - defaults={ - 'count': v, - 'material': wm.material, - 'batch': wm.batch, - 'mgroup': wm.mgroup, - 'belong_dept': wm.belong_dept, - 'notok_sign': notok_sign, - 'state': astate, - } - ) - if not new_create: - wm_n.count = wm_n.count + v - wm_n.save() + process = wm.material.process + if process.store_notok: + count_notok_json = ins.count_notok_json + for k, v in count_notok_json.items(): + if v > 0: + notok_sign = k.replace('count_n_', '') + astate = WMaterial.WM_NOTOK + if NotOkOption.get_extra_info(notok_sign)['cate'] == 'ok_b': + astate = WMaterial.WM_OK + wm_n, new_create = WMaterial.objects.get_or_create( + material=wm.material, + batch=wm.batch, + mgroup=wm.mgroup, + belong_dept=wm.belong_dept, + notok_sign=notok_sign, + state=astate, + defaults={ + 'count': v, + 'material': wm.material, + 'batch': wm.batch, + 'mgroup': wm.mgroup, + 'belong_dept': wm.belong_dept, + 'notok_sign': notok_sign, + 'state': astate, + } + ) + if not new_create: + wm_n.count = wm_n.count + v + wm_n.save() else: wm:WMaterial = ins.wm # 此时调用了qct表