fix(review/flow): 章节退回联动作废标书(置rejected重派合成)+取消旧交付确认待办+G段cancelled待办重发——修甘肃实测bug:章节退回重写后文档停passed,新正文永远进不了交付物,待办僵尸指向旧版
This commit is contained in:
parent
1da6be3687
commit
bede609b9e
@ -1386,7 +1386,9 @@ async def reconcile_project(sor, project_id, project_name=""):
|
||||
await sor.sqlExe("COMMIT", {})
|
||||
return acts + ["trimmed: delivery_confirm 已裁剪,标书直接置 delivered,项目完成"]
|
||||
ht = await find_human_task(sor, project_id, HT_DELIVERY_CONFIRM)
|
||||
if not ht:
|
||||
# cancelled/rejected 的旧待办视为不存在(2026-09-16:章节退回重写时联动作废
|
||||
# 过旧待办,重合成后必须重发新版确认待办,否则卡 waiting 死锁)
|
||||
if not ht or ht.get("status") in ("cancelled", "rejected"):
|
||||
hid = await create_human_task(
|
||||
sor, project_id, HT_DELIVERY_CONFIRM, "标书评分通过,请确认交付",
|
||||
"标书已通过评分门限,请人工复核用印/密封/份数/递交后确认交付。")
|
||||
|
||||
@ -163,6 +163,26 @@ async def review_chapter(chapter_id, score, max_score="", comments="", detail=""
|
||||
who=who, agent_id=agent_id,
|
||||
detail="%.2f/%.2f revise=%d" % (sc, ms, revise))
|
||||
|
||||
# ── 标书状态联动作废(2026-09-16 甘肃项目实测 bug)──
|
||||
# 章节退回重写时,若 bid_documents 已合成且停在 draft/reviewing/passed,
|
||||
# 对账器 E 段只对「无文档 or 文档 rejected」派合成任务 → 重写后的新正文
|
||||
# 永远进不了交付物(甘肃 bid_v1 即此状:章节被退回、文档仍 passed、
|
||||
# 待办仍指向旧版)。退回即把当前标书置 rejected,全章 approved 后
|
||||
# 自动重派合成(prev_version 递增出新版),形成完整闭环。
|
||||
try:
|
||||
await sor.sqlExe(
|
||||
"UPDATE bid_documents SET status='rejected', updated_at=NOW() "
|
||||
"WHERE project_id=${pid}$ AND status IN ('draft','reviewing','passed')",
|
||||
{"pid": pid})
|
||||
# 交付确认待办同步取消(指向旧版标书,留着=僵尸待办误导用户确认旧版)
|
||||
await sor.sqlExe(
|
||||
"UPDATE pipeline_human_tasks SET status='cancelled', updated_at=NOW() "
|
||||
"WHERE project_id=${pid}$ AND task_type=${tt}$ AND status='pending'",
|
||||
{"pid": pid, "tt": "bid_delivery_confirm"})
|
||||
await sor.sqlExe("COMMIT", {})
|
||||
except Exception as e: # noqa: BLE001
|
||||
logger.warning("章节退回联动标书作废失败 pid=%s: %s", pid, e)
|
||||
|
||||
if revise > th["max_revise"]:
|
||||
# 2026-09-16 标题级去重:多章各自达上限各发一条(旧代码类型级 dedup,
|
||||
# 第 2~N 章升级信号被第一条 general pending 吞掉——甘肃项目 1/2.1.5/2.2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user