Compare commits

..

No commits in common. "80a3dbd72bdac28a3ab19599b0c300520192c8b2" and "4690a78ac63260875a23c80bb1d312e34e95aa8b" have entirely different histories.

1 changed files with 4 additions and 11 deletions

View File

@ -255,16 +255,12 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
Wpr.change_or_new(wpr=item.wpr, old_wm=wm, ftest=item.ftest)
# 针对加工前不良的暂时额外处理
# 合格B类的需要当合格品
if stored_notok:
for item in m_ins_bl_list:
material, batch, count, defect, mi_ = item
if count <= 0:
raise ParseError('存在非正数!')
c_state = WMaterial.WM_NOTOK
if isinstance(defect, Defect) and defect.okcate == Defect.DEFECT_OK_B:
c_state = WMaterial.WM_OK
lookup = {'batch': batch, 'material': material, 'mgroup': mgroup, 'defect': defect, 'state': c_state}
lookup = {'batch': batch, 'material': material, 'mgroup': mgroup, 'defect': defect, 'state': WMaterial.WM_NOTOK}
wm, is_create = WMaterial.locked_get_or_create(**lookup, defaults={"belong_dept": belong_dept})
wm.count = wm.count + count
if is_create:
@ -274,7 +270,7 @@ 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:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__defect_main=defect)
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=defect)
if mlogbws.count() != count:
raise ParseError("日志与加工前不良明细数量不一致,操作失败")
for item in mlogbws:
@ -582,10 +578,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
material, batch, count, defect, mi_ = item
if count <= 0:
raise ParseError('存在非正数!')
c_state = WMaterial.WM_NOTOK
if isinstance(defect, Defect) and defect.okcate == Defect.DEFECT_OK_B:
c_state = WMaterial.WM_OK
lookup = {'batch': batch, 'material': material, 'mgroup': None, 'defect': defect, 'state': c_state}
lookup = {'batch': batch, 'material': material, 'mgroup': None, 'defect': defect, 'state': WMaterial.WM_NOTOK}
if stored_mgroup:
lookup['mgroup'] = mgroup
else:
@ -600,7 +593,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]):
wm.update_by = user
wm.save()
if material.tracking == Material.MA_TRACKING_SINGLE:
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__defect_main=defect)
mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=defect)
if mlogbws.count() != count:
raise ParseError("日志与加工前不良明细数量不一致,操作失败")
for item in mlogbws: