fix: wpr_bxerp 数据统计在mlogbw存在才继续

This commit is contained in:
caoqianming 2025-10-28 16:55:36 +08:00
parent dda876092e
commit fa2edf7298
1 changed files with 25 additions and 24 deletions

View File

@ -9,27 +9,28 @@ def main(wprId, mgroup:Mgroup):
data = {} data = {}
mgroup_name = mgroup.name mgroup_name = mgroup.name
mlogbw = Mlogbw.objects.filter(wpr=wpr, mlogb__mlog__submit_time__isnull=False).order_by("-update_time").first() mlogbw = Mlogbw.objects.filter(wpr=wpr, mlogb__mlog__submit_time__isnull=False).order_by("-update_time").first()
data[f"{mgroup_name}_批次号"] = mlogbw.mlogb.batch if mlogbw:
data[f"{mgroup_name}_日期"] = mlogbw.mlogb.mlog.handle_date.strftime("%Y-%m-%d") data[f"{mgroup_name}_批次号"] = mlogbw.mlogb.batch
ftestitems = FtestItem.objects.filter(ftest__mlogbw_ftest__wpr=wpr, data[f"{mgroup_name}_日期"] = mlogbw.mlogb.mlog.handle_date.strftime("%Y-%m-%d")
ftest__mlogbw_ftest__mlogb__mlog__mgroup=mgroup, ftestitems = FtestItem.objects.filter(ftest__mlogbw_ftest__wpr=wpr,
ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False, ftest__mlogbw_ftest__mlogb__mlog__mgroup=mgroup,
ftest__mlogbw_ftest__mlogb__mlog__is_fix=False) ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False,
for ftestitem in ftestitems: ftest__mlogbw_ftest__mlogb__mlog__is_fix=False)
data[f"{mgroup_name}_检测项_{ftestitem.testitem.name}"] = ftestitem.test_val_json for ftestitem in ftestitems:
data[f"{mgroup_name}_检测项_{ftestitem.testitem.name}"] = ftestitem.test_val_json
ftestdefects = FtestDefect.objects.filter(ftest__mlogbw_ftest__wpr=wpr, ftestdefects = FtestDefect.objects.filter(ftest__mlogbw_ftest__wpr=wpr,
ftest__mlogbw_ftest__mlogb__mlog__mgroup=mgroup, ftest__mlogbw_ftest__mlogb__mlog__mgroup=mgroup,
ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False, ftest__mlogbw_ftest__mlogb__mlog__submit_time__isnull=False,
ftest__mlogbw_ftest__mlogb__mlog__is_fix=False) ftest__mlogbw_ftest__mlogb__mlog__is_fix=False)
for ftestdefect in ftestdefects: for ftestdefect in ftestdefects:
data[f"{mgroup_name}_缺陷项_{ftestdefect.defect.name}"] = 1 if ftestdefect.has is True else 0 data[f"{mgroup_name}_缺陷项_{ftestdefect.defect.name}"] = 1 if ftestdefect.has is True else 0
old_data:dict = wpr.data old_data:dict = wpr.data
if old_data: if old_data:
for item in list(old_data.keys()): for item in list(old_data.keys()):
if f'{mgroup_name}_' in item: if f'{mgroup_name}_' in item:
del old_data[item] del old_data[item]
old_data.update(data) old_data.update(data)
wpr.data = old_data wpr.data = old_data
wpr.save(update_fields=["data"]) wpr.save(update_fields=["data"])