feat: 优化mlog_submit 返工后产品放在本工段下

This commit is contained in:
caoqianming 2025-12-29 15:09:45 +08:00
parent ec13b8b166
commit 29f4e2f76a
1 changed files with 5 additions and 6 deletions

View File

@ -172,13 +172,15 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
mgroup = mlog.mgroup mgroup = mlog.mgroup
process = mgroup.process process = mgroup.process
into_wm_mgroup = process.into_wm_mgroup stored_mgroup = process.into_wm_mgroup
need_store_notok = process.store_notok need_store_notok = process.store_notok
belong_dept = mgroup.belong_dept belong_dept = mgroup.belong_dept
material_out: Material = mlog.material_out material_out: Material = mlog.material_out
material_in: Material = mlog.material_in material_in: Material = mlog.material_in
supplier = mlog.supplier # 外协 supplier = mlog.supplier # 外协
is_fix = mlog.is_fix is_fix = mlog.is_fix
if is_fix: # 如果是返工,直接放到工段下
stored_mgroup = True
m_ins_list = [] m_ins_list = []
m_ins_bl_list = [] m_ins_bl_list = []
@ -275,8 +277,6 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False) mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False)
stored_mgroup = into_wm_mgroup
stored_notok = need_store_notok
if mlogb_out_qs.exists(): if mlogb_out_qs.exists():
mlogb_out_qs = mlogb_out_qs.filter(need_inout=True) 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()] 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()]
@ -339,7 +339,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
lookup['defect'] = notok_sign_or_defect lookup['defect'] = notok_sign_or_defect
elif notok_sign_or_defect is not None: elif notok_sign_or_defect is not None:
lookup['notok_sign'] = notok_sign_or_defect lookup['notok_sign'] = notok_sign_or_defect
if into_wm_mgroup: if stored_mgroup:
lookup['mgroup'] = mgroup lookup['mgroup'] = mgroup
else: else:
lookup['belong_dept'] = belong_dept lookup['belong_dept'] = belong_dept
@ -529,7 +529,6 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
# 再生成消耗 # 再生成消耗
m_ins_list = [] m_ins_list = []
m_ins_bl_list = [] m_ins_bl_list = []
into_wm_mgroup = process.into_wm_mgroup
m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False) m_ins = Mlogb.objects.filter(mlog=mlog, material_in__isnull=False)
if m_ins.exists(): if m_ins.exists():
m_ins = m_ins.filter(need_inout=True) m_ins = m_ins.filter(need_inout=True)
@ -553,7 +552,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
else: else:
# 针对光子的情况实际上必须需要wm_in # 针对光子的情况实际上必须需要wm_in
lookup = {'batch': mi_batch, 'material': mi_ma, 'mgroup': None, 'state': WMaterial.WM_OK} lookup = {'batch': mi_batch, 'material': mi_ma, 'mgroup': None, 'state': WMaterial.WM_OK}
if into_wm_mgroup: if stored_mgroup:
# 退回到本工段 # 退回到本工段
lookup['mgroup'] = mgroup lookup['mgroup'] = mgroup
else: else: