角色业务范围收紧工单与模板;报价日期不当费用;未选舱不迁已报价;另开一票可清违禁 hold

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
linmianxun
2026-10-15 21:00:01 +08:00
co-authored by Cursor
parent a0c705683f
commit 277cdc1c28
39 changed files with 2083 additions and 217 deletions
+8 -2
View File
@@ -304,12 +304,18 @@ class MemoryLedger:
}
def update_facts(self, *, work_order_no: str, facts: dict[str, str]) -> dict[str, Any]:
"""选定线路后写回起运港等询价事实。"""
"""选定线路后写回起运港等询价事实。空值不删已有键,与主账合并语义一致。"""
with self._lock:
ticket = self._tickets.get(work_order_no)
if ticket is None:
return {"ok": False, "error": "ticket_not_found"}
ticket.facts = dict(facts)
merged = dict(ticket.facts or {})
for key, raw in (facts or {}).items():
name = str(key or "").strip()
val = str(raw or "").strip()
if name and val:
merged[name] = val
ticket.facts = merged
return {"ok": True}
def void_quote_files(self, *, work_order_no: str) -> dict[str, Any]: