多行插入问题修复

This commit is contained in:
andy committed 2026-09-14 14:26:32 +08:00
1 parent 4194a200c1
commit 6de4422733
42 files changed
+19853 -109

No files matched your search

+21 -5
View File
@@ -1,7 +1,7 @@
{
"contract_version": "ltjt-lifecycle-v2.9-roster-leader-contact-2026-08",
"current_agent_parse_prompt_version": "ltjt-agent-prompt-v1.8-independent-headcount-categories",
"current_extension_version": "0.5.178",
"current_extension_version": "0.5.180",
"historical_test_marker": "TEST-202609",
"scope": "/System/Business/",
"erp_session_keepalive": {
@@ -259,7 +259,16 @@
"arrangement_hotel": ["create", "update", "clear"],
"all_other_arrangement_actions": ["create", "update", "clear"]
},
"create_mode": "create_in_empty_slot_0_only",
"create_mode": "hotel/vehicle/transport/other select the first complete empty native row; guide remains a single slot and requires change mode when already assigned",
"indexed_create": {
"actions": ["arrangement_hotel", "arrangement_vehicle", "arrangement_transport", "arrangement_other"],
"selection": "first complete empty native row after form readiness; public target is forbidden; drafts or unavailable rows block before write",
"write_guard": "bind lookup/date/quantity/status/remark to the selected row; preserve other row values and nodes; check selected row id and payment/audit state after native validation immediately before POST",
"requery": "preserved records identified by native row id and field digests; exactly one new id and all requested values; support row sorting",
"evidence": "hotel_create remains compatible with 0.5.179; other cost actions use arrangement_create, including stored evidence in read-only reconciliation",
"other": "preserve omitted native quantity and global filing fields; explicit filing only fills blank or equal values; protect ap_qt; digest preserved fields for fresh requery",
"acceptance": "synthetic native form/POST regression; production ERP acceptance pending"
},
"update_mode": "Program-only guide/vehicle/transport/other commands append 变更; unique guide slot 0 or persisted row by original dates, preserve dates and row id; new resource/supplier uses native linkage; optional quantity/remark/filing keys preserve omitted values; current production write acceptance pending",
"update_guards": ["unique original record", "unchanged original identity/date/current fields", "no payment/audit/confirmed/realized state", "other row controls unchanged including checkboxes", "fresh requery of new resource and preserved fields"],
"clear_mode": "clear_exact_current_run_slot_0_only",
@@ -277,8 +286,8 @@
"subpage_identity": "host/list ownership still requires the full created ref (including independent ddid), while native teams*.asp forms prove the target by tdID because they do not carry ddid",
"positive_quantity_required": true,
"preserved_quantity_exception": "other update may retain its existing empty/zero quantity when no new quantity is provided",
"linkage_sequence": "resolved reference/date/item -> wait stable -> quantity/status/remark",
"preflight": ["route-specific minimum serialized control count", "no visible loading indicator", "stable form for at least 1 second", "exact current-run ownership list proof"],
"linkage_sequence": "indexed create: selected row native resource linkage -> date/quantity -> wait stable -> status/remark -> preserve other rows and recheck after native validation",
"preflight": ["indexed cost create: native MaxI and continuous complete rows; guide/update/clear retain their existing count gates", "no visible loading indicator", "stable form for at least 1 second", "exact current-run ownership list proof"],
"requery": ["fresh arrangement subpage GET", "create returns row/resource target", "clear proves target row/resource/marker absent", "native PrintGridLists with Tpage/P_Size/riqi/departure-date/publication-unit/team-number"]
},
"arrangement_guide": {
@@ -319,7 +328,14 @@
"required_fields": ["riqi0", "riqis0", "danwei0", "danweiid0", "fangxing0", "jianshu0", "zt0", "beizhu0", "id0", "yf0", "sh0", "MaxI", "tdID", "ddID", "chufari", "SubmitButton"],
"stable_ms": 1000,
"stability": "connected current form and complete document, no visible loading or pending native jQuery ajax; MaxI, control identities, names, ids, types, disabled/read-only state, select option counts and diagnostic serialized count stable for an observed 1000ms; timeout never implies readiness",
"preserved_gates": ["resource matching", "empty slot 0", "payment and audit state", "exact ERP identity and ownership", "native success response and fresh requery"]
"preserved_gates": ["resource matching", "selected empty native row", "payment and audit state", "exact ERP identity and ownership", "native success response and fresh requery"]
},
"create_row_binding": {
"selection": "first complete empty slot within native MaxI; reject unsaved drafts anywhere in the whole form, duplicate persisted ids or no empty slot",
"projection": "internal plugin-only slot_index; public create target remains forbidden; remap zero-suffixed hotel fields and native SelectBox to the selected row",
"guards": ["full preflight payload hash", "selected resource proof", "other indexed controls unchanged", "selected row id stays empty/0", "financial and audit state clear", "final business values; recheck after native validation before POST"],
"requery": "require persisted before evidence for the same operation; every prior record remains unchanged by native row id; exactly one new persisted id with matching hotel, room type, dates, rooms, status and remark; row sorting supported",
"reconciliation": "pass original preflight hotel_create evidence from the stored result; missing or mismatched evidence cannot resolve success; never retry saving"
},
"live_validated_update": {
"mode": "update",