From d019e708cd39dafe9e0cb635dd6a52d1cb236e90 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 19 Aug 2025 11:22:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlog=20submit=20revert=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=94=BE=E7=BD=AE=E5=88=B0=E8=BD=A6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/services.py | 9 ++++++--- apps/wpm/views.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/wpm/services.py b/apps/wpm/services.py index 7ce2871d..b02b0497 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -269,8 +269,8 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False) + stored_mgroup = into_wm_mgroup stored_notok = need_store_notok - stored_mgroup = need_store_notok if mlogb_out_qs.exists(): mlogb_out_qs = mlogb_out_qs.filter(need_inout=True) m_outs_list = [(mo.material_out, mo.batch if mo.batch else mlog.batch, mo.count_ok_full if mo.count_ok_full is not None else mo.count_ok, mlog.count_real_eweight, None, mo) for mo in mlogb_out_qs.all()] @@ -334,7 +334,6 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): lookup['notok_sign'] = notok_sign_or_defect if into_wm_mgroup: lookup['mgroup'] = mgroup - stored_mgroup = True else: lookup['belong_dept'] = belong_dept @@ -568,7 +567,11 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): material, batch, count, defect, mi_ = item if count <= 0: raise ParseError('存在非正数!') - lookup = {'batch': batch, 'material': material, 'mgroup': mgroup, 'defect': defect, 'state': WMaterial.WM_NOTOK} + lookup = {'batch': batch, 'material': material, 'mgroup': None, 'defect': defect, 'state': WMaterial.WM_NOTOK} + if stored_mgroup: + lookup['mgroup'] = mgroup + else: + lookup['belong_dept'] = belong_dept wm, is_create = WMaterial.objects.get_or_create(**lookup, defaults={**lookup, "belong_dept": belong_dept}) wm.count = wm.count - count if wm.count < 0: diff --git a/apps/wpm/views.py b/apps/wpm/views.py index b58ce142..b63cc967 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -396,7 +396,7 @@ class MlogViewSet(CustomModelViewSet): "work_start_time": vdata["work_start_time"], "handle_date": vdata["handle_date"], "handle_user": vdata["handle_user"], - "is_fix": vdata["is_fix"]} + "is_fix": vdata["is_fix"], "create_by": request.user} if "work_end_time" in vdata: mloginit_data["work_end_time"] = vdata["work_end_time"] if "route" in vdata: