修复变更、增加筛选条件

This commit is contained in:
andy
2026-09-11 21:22:14 +08:00
parent 712ec51d68
commit e06afc8c33
137 changed files with 35872 additions and 275 deletions

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.173",
"current_extension_version": "0.5.177",
"historical_test_marker": "TEST-202609",
"scope": "/System/Business/",
"erp_session_keepalive": {
@@ -159,8 +159,8 @@
],
"not_live_validated": [
"independent order date/customer/group/product/non-four-passenger-count/room types other than SGL/TWN/itinerary/OP/sales/flight/pickup ordinary updates",
"arrangement update outside one exact unconfirmed hotel row, plus confirmed, ticketed, realized, self-loss or cancel states",
"hotel resource/room_type/start_date/remark update and every arrangement status update",
"arrangement update without an exact existing record, plus confirmed, ticketed, realized, self-loss or cancel states",
"direct edits of linked room_type/item, original-date edits in replacement commands, and every arrangement status update",
"vehicle end-date/change operations",
"sequence-based partial passenger import, identifier-only ownership date fallback, and nonblank post-save projection are engineering-validated in 0.5.91; the original two-row ERP write is awaiting read-only reconciliation under this build",
"per-date passenger/arrangement/export coverage for every batch-created object"
@@ -257,9 +257,11 @@
"side_effect_policy": "no_external",
"allowed_modes_by_action": {
"arrangement_hotel": ["create", "update", "clear"],
"all_other_arrangement_actions": ["create", "clear"]
"all_other_arrangement_actions": ["create", "update", "clear"]
},
"create_mode": "create_in_empty_slot_0_only",
"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",
"slot_guard": ["resource row id is 0/empty", "resource hidden id is 0/empty", "payment reference yf0 is 0/empty", "audit fields are empty", "existing slot remark/item is empty"],
"clear_guard": ["same resolved resource id", "same persisted remark", "same date/item/quantity/status", "non-guide target.row_id from create requery", "payment reference is 0/empty", "audit and realized flags are empty"],
@@ -274,6 +276,7 @@
"date_window": "operation target dates; explicit historical test context remains restricted to 2026-09",
"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"],
"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"]
@@ -292,6 +295,7 @@
"page_derived_only": ["dianhua0 (唯一导游候选联动值)", "dengji0 (唯一导游候选联动值)"]
},
"arrangement_vehicle": {
"vehicle_type_filter": "Optional arrangement.vehicle_type for create/update; normalized substring AND supplier query on the same native candidate, unique result only; omitted retains legacy lookup. Filter is not a direct item edit or original-row selector. Revalidate before mutation; local regression passed, production acceptance pending.",
"page": "/System/Business/teams_cheliang.asp",
"action": "DoInfo_cheliang",
"fields": {
@@ -324,6 +328,16 @@
"native_callback_guard": "after update_CZR(0), restore the frozen remark and recheck every preserved field before submit",
"requery": ["fresh teams_jiudian.asp", "fresh PrintGridLists team summary"]
},
"date_selected_update": {
"validation": "repository regression passed; current production ERP write acceptance pending",
"input": "Program 安排酒店变更: group_no, original start_date/end_date, new resource and room_count",
"target": "exactly one persisted row matching both original dates; freeze native slot_index, row_id and current snapshot",
"allowed_changes": ["resource", "ERP-linked room_type and native hotel fields", "room_count", "explicit remark"],
"current_state": "未安排 or 未确认; no payment or audit state",
"preserved_fields": ["row_id", "start_date", "end_date", "status", "remark", "payment and audit fields", "all other arrangement rows"],
"native_callback_guard": "select hotel through that row's native SelectBox mapping; restore remark, retain record id, verify other rows unchanged before save",
"requery": ["same native row id and selected slot", "new hotel id/name and linked room type", "dates, room count, status and remark", "fresh PrintGridLists team summary"]
},
"fields": {
"resource.name": "danwei0",
"resource.id": "danweiid0",
@@ -338,6 +352,7 @@
"arrangement_transport": {
"page": "/System/Business/teams_piao.asp",
"action": "DoInfo_piao",
"ticket_description_filter": "Optional arrangement.ticket_description for create/update; normalized description substring AND supplier query on the same native candidate, unique result only. Omission retains native first-match behavior. Keyword is separate from ERP-derived item and original-date selection; revalidate before mutation. No new database migration; real ERP acceptance pending.",
"fields": {
"supplier.name": "danwei0",
"supplier.id": "danweiid0",