feat: 通过is_fix支持ftestwork转mlog
This commit is contained in:
parent
9489f80b3f
commit
8f079c9d5d
|
@ -659,11 +659,16 @@ class MlogbInSerializer(CustomModelSerializer):
|
|||
wm_in: WMaterial = attrs['wm_in']
|
||||
if wm_in is None:
|
||||
raise ParseError("请选择相应车间库存!")
|
||||
if is_fix: # 返修或复检
|
||||
if wm_in.state in [WMaterial.WM_NOTOK, WMaterial.WM_REPAIR, WMaterial.WM_REPAIRED]:
|
||||
pass
|
||||
else:
|
||||
raise ParseError('返修或复检不可使用该物料')
|
||||
elif wm_in.state != WMaterial.WM_OK:
|
||||
raise ParseError('非合格品不可使用')
|
||||
if wm_in.state in [WMaterial.WM_OK, WMaterial.WM_REPAIR, WMaterial.WM_REPAIRED]:
|
||||
if is_fix and wm_in.state not in [WMaterial.WM_REPAIR, WMaterial.WM_REPAIRED]:
|
||||
raise ParseError('需要使用返修品')
|
||||
else:
|
||||
raise ParseError('非合格/返修品不可使用')
|
||||
if mtask and mlog.route != mtask.route:
|
||||
raise ParseError('工序不匹配')
|
||||
route = mlog.route
|
||||
|
@ -689,9 +694,10 @@ class MlogbInSerializer(CustomModelSerializer):
|
|||
if mlog.is_fix:
|
||||
if mlog.material_in is None:
|
||||
mlog.material_in = ins.material_in
|
||||
mlog.material_out = ins.material_in
|
||||
mlog.save(update_fields="material_in")
|
||||
elif mlog.material_in != ins.material_in:
|
||||
raise ParseError('返修记录必须使用同一物料')
|
||||
raise ParseError('该记录必须使用同一物料')
|
||||
|
||||
if mlogbdefect is not None and ins.material_in.tracking == Material.MA_TRACKING_BATCH:
|
||||
mlogb_defect_objects = [
|
||||
|
|
Loading…
Reference in New Issue