From 32185abffdab3092561358ce5ee0cffc262eecd7 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 22 Apr 2025 16:33:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20mlog=E7=9A=84need=5Finout=E9=80=BB?= =?UTF-8?q?=E8=BE=912?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/services.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/wpm/services.py b/apps/wpm/services.py index e4c11083..9c10c3e1 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -188,8 +188,9 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): if material_in or is_fix: # 需要进行车间库存管理 m_ins_list = [] - m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False, need_inout=True) + m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False) if m_ins.exists(): + m_ins = m_ins.filter(need_inout=False) m_ins_list = [(mi.material_in, mi.batch if mi.batch else mi.batch, mi.count_use, None, mi) for mi in m_ins.all()] for item in m_ins: mbd_qs = MlogbDefect.get_defect_qs_from_mlogb(item) @@ -257,10 +258,11 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): if material_out or is_fix: # 需要入车间库存 - mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False, need_inout=True) + mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False) stored_notok = need_store_notok stored_mgroup = need_store_notok - if mlogb_out_qs.exists(): + 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()] if need_store_notok: for item in mlogb_out_qs: @@ -400,8 +402,9 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): if material_out or is_fix: # 产物退回 # 有多个产物的情况 # 需要考虑不合格品退回的情况 - mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False, need_inout=True) + mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False) 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()] @@ -495,8 +498,9 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): m_ins_list = [] m_ins_bl_list = [] into_wm_mgroup = process.into_wm_mgroup - m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False, need_inout=True) + m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False) if m_ins.exists(): + m_ins = m_ins.filter(need_inout=True) for mi in m_ins.all(): m_ins_list.append((mi.material_in, mi.batch, mi.count_use, None, mi)) for item in m_ins: