diff --git a/apps/wpm/services.py b/apps/wpm/services.py index 9498971d..6e92f8a2 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -160,8 +160,9 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): material_out: Material = mlog.material_out material_in: Material = mlog.material_in supplier = mlog.supplier # 外协 + is_fix = mlog.is_fix m_ins_list = [] - if material_in: # 需要进行车间库存管理 + if material_in or is_fix: # 需要进行车间库存管理 m_ins_list = [] m_ins_bl_list = [] m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False) @@ -227,7 +228,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): raise ParseError("加工前不良的物料暂不支持单件追踪") - if material_out: # 需要入车间库存 + if material_out or is_fix: # 需要入车间库存 tracking = material_out.tracking into_wm_mgroup = material_out.process.into_wm_mgroup if material_out.process else False need_store_notok = material_out.process.store_notok if material_out.process else False @@ -353,7 +354,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): stored_mgroup = mlog.stored_mgroup is_fix = mlog.is_fix # 先回退产物 - if material_out: # 产物退回 + if material_out or is_fix: # 产物退回 # 有多个产物的情况 # 需要考虑不合格品退回的情况 m_outs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False) @@ -436,7 +437,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): Wpr.change_or_new(wpr=item.wpr, old_wm=wm) # 再生成消耗 - if material_in: # 领用数退回 + if material_in or is_fix: # 领用数退回 m_ins_list = [] m_ins_bl_list = [] into_wm_mgroup = material_in.process.into_wm_mgroup if material_in.process else False