feat: ftestwork_submit 时根据工段配置生成不合格品

This commit is contained in:
caoqianming 2025-02-18 11:09:49 +08:00
parent b062d7ef6b
commit f5229ab8cb
1 changed files with 29 additions and 27 deletions

View File

@ -67,33 +67,35 @@ def ftestwork_submit(ins:FtestWork, user: User):
raise ParseError("不合格数不可大于批次数量") raise ParseError("不合格数不可大于批次数量")
# 生成不合格的 # 生成不合格的
count_notok_json = ins.count_notok_json process = wm.material.process
for k, v in count_notok_json.items(): if process.store_notok:
if v > 0: count_notok_json = ins.count_notok_json
notok_sign = k.replace('count_n_', '') for k, v in count_notok_json.items():
astate = WMaterial.WM_NOTOK if v > 0:
if NotOkOption.get_extra_info(notok_sign)['cate'] == 'ok_b': notok_sign = k.replace('count_n_', '')
astate = WMaterial.WM_OK astate = WMaterial.WM_NOTOK
wm_n, new_create = WMaterial.objects.get_or_create( if NotOkOption.get_extra_info(notok_sign)['cate'] == 'ok_b':
material=wm.material, astate = WMaterial.WM_OK
batch=wm.batch, wm_n, new_create = WMaterial.objects.get_or_create(
mgroup=wm.mgroup, material=wm.material,
belong_dept=wm.belong_dept, batch=wm.batch,
notok_sign=notok_sign, mgroup=wm.mgroup,
state=astate, belong_dept=wm.belong_dept,
defaults={ notok_sign=notok_sign,
'count': v, state=astate,
'material': wm.material, defaults={
'batch': wm.batch, 'count': v,
'mgroup': wm.mgroup, 'material': wm.material,
'belong_dept': wm.belong_dept, 'batch': wm.batch,
'notok_sign': notok_sign, 'mgroup': wm.mgroup,
'state': astate, 'belong_dept': wm.belong_dept,
} 'notok_sign': notok_sign,
) 'state': astate,
if not new_create: }
wm_n.count = wm_n.count + v )
wm_n.save() if not new_create:
wm_n.count = wm_n.count + v
wm_n.save()
else: else:
wm:WMaterial = ins.wm wm:WMaterial = ins.wm
# 此时调用了qct表 # 此时调用了qct表