fix: mlog_submit tracking获取方式

This commit is contained in:
caoqianming 2025-02-24 17:21:28 +08:00
parent 14cad30b2e
commit 63004f81ca
1 changed files with 7 additions and 8 deletions

View File

@ -202,7 +202,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.count = wm.count - mi_count
wm.update_by = user
wm.save()
if material_in.tracking == Material.MA_TRACKING_SINGLE:
if mi_ma.tracking == Material.MA_TRACKING_SINGLE:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b)
if mlogbws.count() != mi_count:
raise ParseError("日志与明细数量不一致,操作失败")
@ -224,12 +224,11 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.material_ofrom = mi_.material_ofrom
wm.update_by = user
wm.save()
if material_in.tracking == Material.MA_TRACKING_SINGLE:
if material.tracking == Material.MA_TRACKING_SINGLE:
raise ParseError("加工前不良的物料暂不支持单件追踪")
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
m_outs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False)
@ -239,7 +238,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
m_outs_list = [(mo.material_out, mo.batch if mo.batch else mlog.batch, mo.count_ok, mlog.count_real_eweight, None, mo) for mo in m_outs.all()]
if need_store_notok:
for item in m_outs:
if tracking == Material.MA_TRACKING_SINGLE:
if item.material_out == Material.MA_TRACKING_SINGLE:
# 获取所有主要的不合格项
bw_qs = Mlogbw.objects.filter(mlogb=item)
defectIds= Ftest.objects.filter(mlogbw_ftest__in=bw_qs).exclude(defect_main=None).values_list("defect_main__id", flat=True).distinct()
@ -305,7 +304,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.batch_ofrom = mlog_or_b.batch_ofrom
wm.material_ofrom = mlog_or_b.material_ofrom
wm.save()
if material_out.tracking == Material.MA_TRACKING_SINGLE:
if mo_ma.tracking == Material.MA_TRACKING_SINGLE:
if notok_sign_or_defect:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=notok_sign_or_defect)
else:
@ -364,7 +363,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
for mo in m_outs.all()]
if stored_notok:
for item in m_outs:
if material_out.tracking == Material.MA_TRACKING_SINGLE:
if item.material_out.tracking == Material.MA_TRACKING_SINGLE:
# 获取所有主要的不合格项
bw_qs = Mlogbw.objects.filter(mlogb=item)
defectIds= Ftest.objects.filter(mlogbw_ftest__in=bw_qs).exclude(defect_main=None).values_list("defect_main__id", flat=True).distinct()
@ -426,7 +425,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
elif wm.count >= 0:
wm.update_by = user
wm.save()
if material_out.tracking == Material.MA_TRACKING_SINGLE:
if mo_ma.tracking == Material.MA_TRACKING_SINGLE:
if notok_sign_or_defect:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=notok_sign_or_defect)
else:
@ -466,7 +465,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.count = wm.count + mi_count
wm.update_by = user
wm.save()
if material_in.tracking == Material.MA_TRACKING_SINGLE:
if mi_ma.tracking == Material.MA_TRACKING_SINGLE:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b)
if mlogbws.count() != mi_count:
raise ParseError("日志与明细数量不一致,操作失败")