feat:correct_zt_gxerp逐批打印计算结果

cal_zt_big返回计算摘要, 回刷脚本每个大批实时输出良率/白料/口径

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
caoqianming 2026-07-14 10:34:56 +08:00
parent cd3faa0ad7
commit a90351bb93
2 changed files with 7 additions and 5 deletions

View File

@ -499,6 +499,8 @@ def cal_zt_big(big_batch: str):
data["直通_良率"] = None data["直通_良率"] = None
big_bs.data = json.loads(json.dumps(data, cls=MyJSONEncoder)) big_bs.data = json.loads(json.dumps(data, cls=MyJSONEncoder))
big_bs.save(update_fields=["data", "update_time"]) big_bs.save(update_fields=["data", "update_time"])
return {"白料数": big_bs.data.get("直通_白料数"), "总合格数": big_bs.data.get("直通_总合格数"),
"良率": big_bs.data.get("直通_良率"), "口径": big_bs.data.get("直通_口径"), "子批数": len(sub_batches)}
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -52,7 +52,7 @@ def main(since: str = "2026-06-01", fresh: bool = False):
if (ind + 1) % 1000 == 0: if (ind + 1) % 1000 == 0:
print(f"归属解析 {ind + 1}/{total}") print(f"归属解析 {ind + 1}/{total}")
print(f"{len(bigs)} 个大批, 开始计算直通良率") print(f"{len(bigs)} 个大批, 开始计算直通良率", flush=True)
for ind, big in enumerate(bigs): for ind, big in enumerate(bigs):
try: try:
if fresh: if fresh:
@ -62,11 +62,11 @@ def main(since: str = "2026-06-01", fresh: bool = False):
data.pop("直通_白料数", None) data.pop("直通_白料数", None)
big_bs.data = json.loads(json.dumps(data, cls=MyJSONEncoder)) big_bs.data = json.loads(json.dumps(data, cls=MyJSONEncoder))
big_bs.save(update_fields=["data", "update_time"]) big_bs.save(update_fields=["data", "update_time"])
cal_zt_big(big) res = cal_zt_big(big) or {}
print(f"[{ind + 1}/{len(bigs)}] {big} 良率={res.get('良率')} 白料={res.get('白料数')} "
f"合格={res.get('总合格数')} 子批={res.get('子批数')} 口径={res.get('口径')}", flush=True)
except Exception as e: except Exception as e:
print(f"{big} 计算失败: {e}") print(f"[{ind + 1}/{len(bigs)}] {big} 计算失败: {e}", flush=True)
if (ind + 1) % 200 == 0:
print(f"大批 {ind + 1}/{len(bigs)}")
print("done") print("done")