feat: 支持消耗物料的检验2

This commit is contained in:
caoqianming 2025-08-01 10:57:18 +08:00
parent 808b8ac229
commit 264083ebd5
1 changed files with 9 additions and 5 deletions

View File

@ -239,11 +239,10 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.save()
if mi_ma.tracking == Material.MA_TRACKING_SINGLE:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b)
if mlogbws.count() != mi_count:
raise ParseError("日志与明细数量不一致,操作失败")
for item in mlogbws:
# if item.ftest:
# raise ParseError("不支持消耗物料的检验")
mlogbws = Mlogbw.objects.filter(Q(ftest=None) | Q(ftest__is_ok=True), mlogb=mlog_or_b)
if mlogbws.count() != mi_count:
raise ParseError("日志与实际使用明细数量不一致,操作失败")
Wpr.change_or_new(wpr=item.wpr, old_wm=wm, ftest=item.ftest)
# 针对加工前不良的暂时额外处理
@ -262,7 +261,12 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.update_by = user
wm.save()
if material.tracking == Material.MA_TRACKING_SINGLE:
raise ParseError("加工前不良的物料暂不支持单件追踪")
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=defect)
mlogbws_count = mlogbws.count()
if mlogbws_count != count:
raise ParseError("日志与加工前不良明细数量不一致,操作失败")
for item in mlogbws:
Wpr.change_or_new(wpr=item.wpr, wm=wm, old_wm=wm, ftest=item.ftest)
mlogb_out_qs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False)