docs: update booking workflow and TEST verification records

This commit is contained in:
2026-10-23 10:56:39 +08:00
parent 519f141406
commit 1b0f16de1e
2 changed files with 89 additions and 6 deletions
@@ -27,7 +27,7 @@
| 角色 | 终端 | 主要操作 |
|---|---|---|
| 排柜操作员 | Admin | 创建模拟柜、搜索候选、推荐/人工加入、调整预装 |
| 订舱操作员 | Admin | 建订舱草稿、维护运输资料、上传文件、放舱 |
| 订舱操作员 | Admin | 建订舱草稿、维护运输资料、放舱 |
| 国内调度 | Admin | 建订舱级拖车预约、选择供应商、维护时间和附件 |
| 仓库主管 | Admin | 预装确认、真实柜号补录、任务和证据监督 |
| PDA 拣货员 | 国内 PDA | 领取唯一柜次任务、扫码、异常、拍照、完成装柜 |
@@ -118,7 +118,7 @@
6. 录入预报(委)件数、毛重、体积及包装单位、品名、唛头;未确定的数据留空;
7. 保存为 `DRAFT`,系统生成 `OB-yyMMdd-####` 订舱号并留在详情,可继续维护资料、上传文件和打印托运单。
草稿允许资料不完整、替换文件和继续编辑;关系方名称未填时,其已录入的联系人、邮箱、电话、税号和地址仍随草稿保存,放舱前必须补齐三方名称。柜型需求只表达需要多少个什么柜型,不创建真实货柜行。
草稿允许资料不完整和继续编辑;关系方名称未填时,其已录入的联系人、邮箱、电话、税号和地址仍随草稿保存,放舱前必须补齐三方名称。柜型需求只表达需要多少个什么柜型,不创建真实货柜行。
新建页面默认柜型 `40HQ`、整箱 `FCL`,运费条款 `FREIGHT PREPAID`、运输条款 `CY-CY`、包装单位 `CARTONS`,均按实际业务维护。港口、日期、品名、免用箱要求及货量不写样例默认值;包装单位可选 CARTONS、PCS、PALLETS,货量为本订舱总量。
@@ -130,7 +130,7 @@
- 船名、航次、起运港、目的港、ETD、ETA 和运输条款完整;
- 渠道仍有效;
- 柜型需求与平台规格一致;
- 存在有效 `BOOKING_CONFIRMATION` 或 `BILL_OF_LADING` 文件;
- 不要求上传订舱确认文件或提单文件;订舱页面不再展示“订舱资料”模块;
- 订舱供应商仍为有效主档。
点击放舱后状态从 `DRAFT` 进入 `RELEASED`,运输和预报货量快照永久只读;实际货量通过独立受控入口补录。放舱不要求真实柜号,不得为了通过校验伪造柜号。
@@ -139,17 +139,17 @@
- 客服手工录入本订舱的实际件数、毛重(KGS)和体积(CBM),不自动汇总关联柜或覆盖仓库测量事实。未采集保持 NULL;已填写数值必须大于零,件数为整数,重量、体积最多三位小数。
- 草稿保存委/实资料;放舱后仅持有订舱编辑权限的人员可通过 `PUT /api/platform/v1/ocean-bookings/{oceanBookingId}/actual-cargo` 补录或修正三项实值,必须提交当前版本、幂等键和原因,同事务递增版本并记录前后快照、操作人和时间。运输资料、三方关系人、柜型需求、预报货量和文件关联仍冻结。
- 核心资料右侧并排展示发货人、收货人、通知人,下方独立展示船名、航次、提单号。保留仓库、渠道、预计到港、多柜型需求及文件入口。
- 核心资料右侧并排展示发货人、收货人、通知人,下方独立展示船名、航次、提单号。保留仓库、渠道、预计到港及多柜型需求,移除订舱文件入口。
- “打印托运单”读取已保存的委值;“打印提单确认件”读取已保存的实值。两类单据复用现有 A4 PDF 模板和预览/下载,未填字段显示“—”,实值缺失不能回退为委值,也不以柜型容量代替货量。未保存修改须先保存再打印。
- 柜量描述按柜型需求和数量生成,件数英文大写按对应的委/实件数及包装单位生成;品名、唛头及三方联系信息来自已保存资料。没有来源的传真、代理联系人等保持“—”。
- 系统仅生成提单确认件,正式提单由外部提供,通过订舱资料附件上传和下载;不新增正式提单签发模板。附件维护仍遵循草稿可写、放舱冻结的现有边界。
- 系统仅生成提单确认件,正式提单由外部提供;不新增正式提单签发模板。订舱页面移除附件资料模块,放舱及后续拖车预约、派车不依赖订舱附件。
- 不在订舱新增中实现 FBA 同组入仓 30 天校验;该规则须先明确分组与时间事实后单独确认。
## 6. F16 订舱级国内拖车
入口:Admin → 国内拖车预约。
1. 从服务端候选中选择已 `RELEASED`、有提单号和有效订舱文件的订舱;
1. 从服务端候选中选择已 `RELEASED` 且有提单号的订舱(不要求订舱文件);
2. 选择 `ACTIVE/TRUCKING/DOMESTIC` 供应商;
3. 填写计划装柜时间、联系人和附件;
4. 保存/提交预约;
@@ -1,5 +1,55 @@
# 测试环境单机部署与配置契约
## 2026-10-23 TEST 更新至既有灰度:发布准备中,尚未切换
用户确认本轮是将 TEST 新版本更新至既有灰度,不是新建生产环境;两端 PDA H5 由用户自行发布,不属于本轮代发范围。用户另确认灰度现有旧排车单不再继续使用,按灰度测试数据处理;该确认不授权执行删除。用户进一步明确目标为将当前 TEST 版本发布到既有生产并跑通;当前只有自营「经营总览、销量分析、库存分析、数据采集」四页在真实使用,必须保留这些页面的全部数据、账号凭据与采集配置。已启动不部署的生产预构建;尚未执行环境 DDL/DML、删除、服务切换或配置发布。
### 版本范围与候选
灰度当前 13 个后端及 Admin、Client 共 15 个目标容器均 running/healthy。下面为核对时的运行版本,不使用 Jenkins 的最后成功构建替代容器事实。
| 对象 | 当前灰度 | 已验 TEST 来源 / 本次候选 |
| --- | --- | --- |
| Firstleg | `46d359241f27` | TEST `daa5d30d16aa`;可统一至后端候选 `18ef3380363a` |
| Lastleg | `46d359241f27` | `18ef3380363a` |
| IAM、Order、File、Integration、Warehouse Overseas | `46d359241f27` | TEST `de96e47d7494`;可统一至后端候选 |
| Finance、Warehouse | `4dc3d1752e27` | TEST `de96e47d7494`;可统一至后端候选 |
| Gateway、Auth、Print | `4825f782a32f` | TEST `de96e47d7494`;可统一至后端候选 |
| Audit | `7151222836f3` | TEST `de96e47d7494`;可统一至后端候选 |
| Admin | `eb1d75222acf` | `52045e5df25598ca4fe4b787e6802bfc516aabb7` |
| Client | `15b51b613963` | `3ffa706b89e113568dda03a00dd0ed59af1e7a88` |
运行源码比对基准为 `18ef3380363a347fae24723adde1aa129fa34767`;本次冻结发布源为 `3616e9db04bf85e91bb1f0fc6f87663c5e493d3e`,其后续差异仅为 9 个验收脚本、测试及说明文件,应用生产源码未变。逐项比较该提交与各服务当前 TEST 镜像来源的 `src/main`、模块 POM,13 项均无差异;公共模块生产源码、父 POM 与 BOM 亦与对应 TEST 来源一致。灰度至候选存在公共异常处理、JWKS 等直接依赖变化,本次按 13 个保留后端服务及 Admin、Client 准备匹配发布。此源码一致性核对不等于预构建或完整模块测试已通过;旧 Gateway Overseas/Event Bridge 不纳入发布。
### 数据库与权限
- 两环境原始结构差异:TEST 独有 21 表;字段 TEST 独有 348、灰度独有 27、定义不同 19;索引记录 TEST 独有 144、灰度独有 20、定义不同 10;约束记录 TEST 独有 78、灰度独有 5、定义不同 6;外键列记录 TEST 独有 11;触发器定义不同 3。索引/外键按元数据行计数,不代表独立索引或 DDL 条数;新增字段包含新表字段,不能据这些数量自动生成整库同步。
- 对照冻结候选基线,21 张表中需要纳入新建评审的为 **13 张**:Lastleg 的 `ll_delivery_facts_changed`、`ll_dispatch_command`、`ll_dispatch_delivery_arrangement`、`ll_dispatch_draft_command`、`ll_dispatch_history`、`ll_dispatch_item_source`、`ll_fleet_owned_business_command`、`ll_fleet_owned_business_history`、`ll_fleet_owned_business_ownership`、`ll_fleet_owned_business_record`、`ll_return_carton_stock_receipt`,以及 Order 的 `ord_document_sequence`、Warehouse 的 `wh_document_sequence`。
- 另 8 张 TEST 独有表不在冻结基线及目标服务生产源码引用中:`fl_loading_work_pallet`、`fl_loading_work_pallet_carton`、`ll_delivery_fee`、`ll_finance_fee_funding`、`ll_overseas_procurement_outbound`、`ll_storage_rent_lot`、`ll_storage_rent_preparation`、`ll_storage_rent_share`。不因 TEST 存在就复制至灰度。
- 对照冻结源码及生产 SHOW CREATE 收敛后的 DDL 草案:13 张新表、22 张既有表字段调整;新增字段 71、修改字段 16、删除旧字段 27,删除/新增索引 10/13,删除/新增 CHECK 4/5,替换触发器 2。TEST 独有的 `fl_terminal_drayage.actual_pickup_at`、`ll_cargo_discard_application.completed_at/outbound_no`、`ll_order.container_status` 不在当前基线,不复制;TEST 额外放宽的卡车预约币种 CHECK 亦不复制。旧柜次触发器先移除,再调整其引用列,最后按当前源码重建;整个间隔须停止相关业务写入。草案不是已执行结果。
- 灰度旧排车实查为主单 21、草稿 15、明细 24、PDA 任务 21、拣货记录 23、Fleet 派送关联 19;主单状态为 DEPARTED 19、PENDING_DEPARTURE 2。新版要求 `status/stage/review_state`、真实 `trip_id` 和 `cargo_hash` 等,不能仅添加字段宣称旧样本已转换。用户已确认无需继续使用旧单;后续准备有界清理及结构切换清单,须继续核对关联占用、库存和来源,不扩展为全库重置,不设计旧单兼容/回填,本轮未清理。
- 权限资源原始差异 21 项中,仅 **9 项**匹配冻结 IAM 基线:自有业务和外配业务各 `list/edit/upload` 六项,以及排车 `create/depart/loading-complete` 三项。授权按目标种子、角色规则及权限版本同事务维护,不复制 TEST 的账号或角色关联。其余包括 4 项验收专用资源、6 项已暂缓的箱号/产品库常量和 2 项无当前目标引用的旧资源,不自动晋级。
### 配置与运行边界
- 灰度 14 个现行 Nacos Data ID 已只读取得;与 TEST 的 14 个现行 Data ID 比较,10 份内容完全相同,4 份有差异。TEST 另有旧事件桥 Data ID,不复制。
- **File**:灰度保留 `OVERSEAS_INVENTORY_LEDGER`、`FLEET_QUOTE_LIST`、`TRIP_OPERATIONS_LIST` 三类导出注册,TEST 运行配置缺少这些项,但冻结源码仍正式提供;应保留灰度注册,不能按 TEST 缺项删除。
- **Finance**:TEST 增加验收专用收款示例图默认地址,灰度保持自己的配置,不将该示例图当作灰度真实收款配置。
- **Lastleg / Integration**:灰度 Nacos 保持 BUSINESS 及连续采集配置、真实凭据和独占出口交接信息;TEST 为 OFF,另有临时诊断/采集配置。容器环境变量仍显示 OFF/false,不能仅按这些值断言应用已关闭,应以合并配置后的应用运行态复核。发布保留灰度独立配置和凭据,不覆盖为 TEST,不重新发起采集或出口交接。
- 冻结 Compose 对 Lastleg 新增 3 GiB 内存/交换上限、2 CPU 和 1536 MiB JVM 堆;此配置会随通用部署文件进入灰度,须核对当前灰度承载与采集任务,不能仅当作镜像代码变化忽略。
### 当前准备及执行门禁
- 已建立三个正常发布合并请求:后端 #30、Admin #21、Client #15,尚未合并;发布源分别固定为上表两端提交及后端 3616e9db04bf,不随其他对话后续提交漂移。
- 后端生产预构建 #33 正在执行,DEPLOY=false、SKIP_TESTS=false、TEST_SCOPE=MODULE,按既有锁和受限 Maven 入口串行运行;尚不能计为通过。先前 #31 因固定 SHA 的轻量检出、#32 因镜像仓库默认值空,在测试前失败,均未部署。已使用完整检出及上次成功生产发布参数修正;#33 检出核验后,临时 SCM 固定配置已恢复 main。
- 已准备结构、权限、清理三个独立 SQL 文件,尚未执行。清理范围为 23 张非空表的 770 条旧测试记录:21 张排车、15 张草稿、20 张出库及 20 张派送,以及对应 PDA 拣货、锁、派送资料/操作/回访;另含 21 个测试车次、23 个外接预订、5 个运力发布及其关联/历史。另 8 张当前为空的直接关联表仅作零记录前置校验。清理按精确主键、预期数量和外键顺序执行,单事务失败回滚;车辆、司机、仓库主档及自营全表均不在清理范围。该范围仍待用户针对 SQL 和删除的明确授权。
- 权限草案只新增 9 项正式权限,按源码规则授予平台管理员及仓库操作员;同事务递增受影响账号的权限版本,不替换账号、密码或现有权限关系。
- 只读数据前置校验已核对保留记录的非空/字符串长度与退货箱 CHECK,发现违规 0;排车新必填字段不使用伪造默认值,依赖批准后的旧样本清理。DDL 自动提交,不能将清理事务回滚能力误称为整个结构包可事务回滚;执行前须备份受影响表、触发器及原发布配置,并再次核验结构/数量。
- 自营保护基线:库存日事实约 956 万条、库存快照约 8 万条;4 个采集 scope 的配置摘要已保存。只读检查时没有运行中的采集任务或有效 scope 租约,已有 577 个 SUCCEEDED、27 个 DEAD 任务;历史失败不会因发布被标成修复。生产主机 8 CPU、约 30.7 GiB 内存,检查时可用约 10.4 GiB,Lastleg 实占约 1.48 GiB,无 OOM。当前容器无内存限制;候选 3 GiB/1536 MiB 堆约束仍须结合发布后峰值复核。
- 下一步:完成 #33 门禁与镜像预构建;取得精确 SQL/删除授权后备份、停写、执行并逐项核对,再按固定源发布 13 个后端及 Admin/Client。Lastleg 重启期间四个自营页面会短暂不可用,但保留其数据与 BUSINESS 采集配置;不手动重建或重发真实采集任务。PDA H5 由用户发布。灰度实际登录/权限、四页读取和新业务链验收尚未完成。
脱敏证据位于本机受控环境目录 `gray-update-readonly-20261023/`,包括 `jobs.json`、`runtime-{test,gray}.json`、`backend-candidate-parity.json`、`schema-diff.json`、`classified-diff.json`、`permission-classified.json`、`configuration-diff.json`、`gray-dispatch-counts.json`;不保存数据库密码、Token、私钥或 Nacos 原文。证据另含 production-{schema,cleanup,permissions}-plan.json、production-schema-preflight.json、production-selfop-before.json 和 production-capacity.json。准备阶段未修改应用源码或灰度业务数据。
## 2026-10-22—23 18项反馈及请求重放删除:发布及四端浏览器验收完成
- 用户本轮授权全部提交、TEST部署、测试数据库操作、真实HTTP,再以内置浏览器验收Admin/Client 1920×1080、两端PDA 390×848。第19项快递派送不实施;请求重放删除后的失败恢复和重复写入边界已按本节逐项核对。PDA发布及浏览器验收范围为H5,不包含APK/WGT发布或扫描硬件。
@@ -202,6 +252,39 @@
## 2026-10-21 全量验收脚本离线收敛
### 2026-10-23 固定客户复用续验(默认全量 HTTP 已通过)
- Admin 默认全量原始报告保存在后端 `reports/admin-full-20261023-review-r4.json`、`admin-full-20261023-review-r5.json`。r4 为 15739 项断言、15718 通过、21 失败;r5 为 17243 项、17233 通过、10 失败,170 次模块运行、138 个独立模块、9225 次独立请求。后继链路覆盖增加,不将两轮失败差值解释为同一固定断言集合的修复数。r5 请求证据没有创建客户、车辆或司机主档。
- 主流程与跨客户隔离分别复用已指定的两个固定测试客户;第二客户通过正式 OWNER 密码接口恢复登录、核对账号实际归属及 ACTIVE 状态,凭据仅保存在本机环境目录。海外 PDA、车辆司机和采购合作仓复用既有配置;换标托盘、正常订单和履约记录仍为必要业务产物,不自动删除历史。固定客户测试钱包通过正式接口补入测试余额,凭证为 `admin-full-20261023-funding-r2.json`、`admin-full-20261023-funding-r5.json`、`admin-full-20261023-funding-r7.json`,没有执行 SQL 写入或重置。
- Lastleg `#419` SUCCESS,固定源码 `6cd27658f7c4357cd86726cd3fe1e3994eede4cf`;后继 `#420` SUCCESS,固定源码 `85c7cde0409194e3d212e685a88f5c9b603c7d4a`;`#421` SUCCESS,固定源码 `a7f680d69dd7f3c15ea0e26c441e3877ba12599b`,修复转运创建原键重放先被自身占用箱拦截的问题(直接相关后端 51 项通过)。修复合法的分次拣货汇总、转运换标结算时序、全部尾程列表遗漏业务事实、一件代发箱归属及移托后排车仍使用原收货数量的问题。发布复用有效定向结果、跳过重复测试执行,仍编译测试源码;不宣称完整后端模块回归全绿。
- r5 已真实通过 PDA 三箱换标、退货原换标箱出库、原生开船前置及车队出车记录。其剩余失败集中在预约取消后误判释放分配、客户列表错误限定开船页签、C52 使用旧收货数量,以及 F40 未限定本轮 RECEIVED 计划;包含下游连锁阻断。脚本现已按原批次恢复预约、完整读取客户订单分页并限定 F40 计划。后继 `c52-route-recovery-20261023.json` 复用原排车单完成新增/移除/重新加入实托、路线与拒绝边界共 109 次 HTTP 请求;不改写 r5 的失败报告。
- r6 默认全量原始报告 `admin-full-20261023-review-r6.json`:17921 项断言、17912 通过、9 失败,170 次模块运行、138 个独立模块、9453 次独立请求;7 个明确跳过模块、27 个覆盖缺口(零阻断)。没有创建客户、车辆或司机主档。失败涉及转运创建重放、两个换标申请共用操作键、排车提交缺目的仓预约号及 F40 每页数量超过服务端上限;均已按当前合同修复,后继全量尚待验证。
- r6 原转运 `ZY202610230003` 后继定向证据 `r6-transfer-recovery*.json` 验证原关联换标认领、箱标/SKU、拆合托后按库存版本补测、客户确认、新 SKU 出库及原键重放零增量。原出库断言错误检查 `outboundAt`,已按正式详情 `actualShipAt` 修正。原目的仓 ABE3 没有可复用异仓同目的托盘,因此保留 OUTBOUNDED,不创建或修改公共资源;`transfer-target-pool-preflight-20261023.json` 只读验证既有 ABE4 异仓空闲托盘及库位,后继来源造单先按资源选线再核验报价,收货时重新核对占用状态。
- r7 默认全量 `admin-full-20261023-review-r7.json` 为 18535 项、18529 通过、6 失败,170 次模块执行、138 个独立模块、9595 次请求;仍有 7 个明确跳过、27 个非阻断缺口,零客户/车辆/司机主档创建。原转运 ZY202610230007 已实际完成新 SKU 出库、异仓收货及关联换标结算;其余失败涉及废弃把聚合库存当来源余额、散板 Long 版本误判、跨计划混托 BOL 来源关联错误及车辆占用连锁阻断。
- Lastleg #422 SUCCESS,固定源码 `5c5514436eddf8163cfb9f4120299179b12ea911`;BOL 以分配所属计划关联来源行,保留同客户逐来源数量与错误计划拒绝,28 项后端定向测试通过。`r7-bol-fleet-recovery.json` 证明原排车 PC202610230018 已下载有效 PDF,再正式退回并取消本轮零扫码原单释放固定车辆司机。`r7-discard-recovery.json` 以原聚合快照、来源余额详情和唯一流水核验扣减,再完成原废弃客户确认及终态重放(13 次 HTTP、25 项检查)。原 r7 失败报告未改写。
- 最新全部离线合同 `offline-full-20261023-r10-spec.txt` 为 237 个文件(根级 88、Admin 149)、2595 项全部通过,零失败/跳过。第八轮因既有异仓可预留同目的托盘耗尽而中止,未产生完成的全量 JSON;原日志和 `admin-full-20261023-review-r8-aborted.json` 保留 5714 条通过、19 条失败日志及 SHA256,不作为全量统计。
- 环境资源准备另以只读证据核验两只既有公共 IDLE 空托盘的活动库存及排车均为零,经正式接口仅绑定 ABE4,保持原编号、库位、类型、容量、费用、状态和备注;没有新建公共主档或 SQL 写入。证据 `reusable-transfer-pallet-empty-evidence-20261023.json`、`reuse-existing-empty-transfer-pallets-20261023.json`,后继 `transfer-target-pool-preflight-20261023-r2.json` 再次证明可预留。自动全量助手仍只读选择和业务预留,不自动改写公共资源。第九轮发现第八轮强制中止跳过了入口 finally,原 LOADING 故障代理仍覆盖 Firstleg 的 Lastleg 目标地址,故以 `PRODUCER_NOT_DIRECT` 阻断并中止;`admin-full-20261023-review-r9-aborted.json` 保留日志记录,不作为完成的全量报告。`restore-r8-event-fault.json` 按第八轮原 scope 恢复原镜像配置、健康状态并停止该任务代理,原远端状态回查 `prepared=false/restored=true`,未改业务 SQL。
- 总入口新增可选 `--stop-file`,只在模块及前置准备边界停止,仍经过故障配置恢复并保存中止失败报告,避免后续再强杀含故障注入的进程;21 项停止/故障执行器/脚本登记定向检查及最新全部离线 `offline-full-20261023-r11-spec.txt` 的 2596 项全部通过。第十轮 `admin-full-20261023-review-r10.json` 已按停止文件正常结束并完成故障配置清理:18204 项、18200 通过、4 失败,162 次模块运行、130 个独立模块、9164 次请求,明确 `stoppedByRequest=true`,不是完整全量通过。BOL、转运收货结算和废弃原单完整重放已通过;散板已发布本车余位,但 HTTP 字符串版本与 fixture 数字版本直接比较失败,另有固定车辆占用连锁阻断及显式停止记录。
- 散板版本按有效非负安全整数值比较并保持原客户/原单/当前状态校验;`r10-looseboard-recovery.json` 复用原 LB202610230008、CT202610230024 和已发布余位完成承运及原来货 ZY202610230015 创建,未另建商业订单。其后首次响应与重放的 updatedAt 出现纳秒/毫秒差异;后端 `f946285bccb64dae0ed06b03af9451880617700c` 在预订写入 DATETIME(3) 前固定毫秒,新增固定时钟回归并与请求哈希、报价、运费共 13 项定向检查通过,Lastleg #423 SUCCESS。后继全部离线 `offline-full-20261023-r12-spec.txt` 2596 项全过;原来货按当前 PDA 空草稿、生成绑定、原预报箱逐箱清点流程,已完成三箱两托入库及原承运实收确认并加入 CT202610230024;r10-looseboard-recovery-r3.json 保留第一箱已扫码、第二箱被拦截的真实结果。未改写原失败报告。数量修复的 16 项直接相关后端检查有通过证据。页面、第三方及硬件验收不由这些 HTTP 或合成 TEST 测量输入替代。
- 部分扫码后,预约分配资格仅看剩余库位库存,遗漏本明细已拣逐票事实,导致同托后续扫码被错误拦截。修复 f6c83125c95ddf0b9f3a5624cfe3902eaa6c9668 合并本明细已拣与当前实物,发车仍严格只认全部真实已拣;补充混来源、漏扫和全扫回归,后端定向 9 项全过。Lastleg #424 SUCCESS。全部脚本离线 offline-full-20261023-r13-spec.txt 为 237 个文件、2597 项全部通过,零失败/跳过。后继全量前只读复核异仓可预留托盘仍存在、固定客户测试余额 4.90 无需充值;原车次签收和资源释放仍待接续。
- r10-looseboard-recovery-r4.json 已从原单 1 箱接续至 11 箱全部扫码、五张装车资料保存,原装车完成事务因同码 FBA 来源的可选内部目的仓 ID 不同而明确 409 回滚;尚未发车。b92f7fe991963feae4adea4ebd6244632ca522e5 在同组真实仓码及其他目的地字段一致时沿已知内部仓引用核对,仍拒绝两个不同有效仓 ID、仓码或地址冲突;派送分组及服务、持久化 16 项全过。Lastleg #425 SUCCESS。脚本 51 文件修复已提交并推送 139f6b19325aa16c2d66ee9ead02438cc2674ca3,凭据、报告和临时接续程序不入库。
- r10-looseboard-recovery-r5.json 用原 PC202610230024 已明确拒绝的装车请求体及原键接续,验证 11 箱实际发运、装车原键重放及跨操作员拒绝、实际签收、车次结案、独立释放车辆/司机及旧释放键不得释放新占用;47 次 HTTP、89 项检查全部通过,状态 VERIFIED_ORIGINAL_LOOSEBOARD_AND_TRIP_RESOURCES_RELEASED。原 LB202610230008 已签收,未重建原商业订单。后继默认全量 r11 正在运行,不能从这份定向证据推定全量通过。
- r11 默认全量经停止文件正常结束并清理故障环境:17158 项、17155 通过、3 失败,159 次模块运行、127 个独立模块、8377 次请求、6 个明确跳过;三个失败分别为出库客户字段错误断言、主车尚未释放引起的人工矩阵占用及显式停止。正式 OutboundRow 不含 customerId,改为核对关联派送的客户/出库/派车/数量,直接消费者同步到普通换标与 F40。PDA 换标候选错误继承原接柜 planIds,已移除该筛选且缺源必须明确失败;同位置多箱扫码改为原箱标及实际逐 SKU 核验件数,不按箱数推算。
- r11-departed-fulfillment-recovery.json 证明原主车 CT202610230031 已签收、完成客户回访并释放资源;其后 r2/r3 保留 PDA 换标缺派车、件数错误及出库漏新箱标的失败。r4、r5 分别完成原 PDA/客户换标车的真实签收与资源释放,客户原贴标费用结算及主车财务核对通过,但明确保留 WITH_KNOWN_MISSING_MARKS,不把历史漏箱标快照改为通过,也未执行回填。
- 服务端 18ef3380363a347fae24723adde1aa129fa34767 将原换标冻结贡献中的实际箱标传入派送/出库快照;箱标换标使用新箱标,仅换 SKU 保留原实箱标,不把 SKU 标签写成箱标。内部 UnitFact 明确 cartonMark,生产者、冻结消费者和测试同步,61 项后端定向全过;Lastleg #426 SUCCESS。r14 全部离线 2600 项全过,其后逐箱件数用例和源码复测已通过,最新全部离线 offline-full-20261023-r15-spec.txt 为 237 个文件、2601 项全部通过,零失败/跳过,脚本续修已提交推送 2b54e709f820fae760530fe74ba151768d2a420c。后继全量前另核对两只既有 NY 空托的活动库存与排车均零,仅经正式接口绑定目的仓 ABE4,不创建公共主档,证据 reusable-transfer-pallet-empty-evidence-20261023-r12.json、reuse-existing-empty-transfer-pallets-20261023-r12.json。
- 原 r11 各自有车次均已完成实际任务并独立释放;未改变其他批次占用。转运目标复核 transfer-target-pool-preflight-20261023-r12-ready.json 通过,固定客户测试余额 4.87 无需充值。当前源码默认全量 r12 已启动,仍等待其完整结果,不以定向通过或已知漏箱标历史单据的完成替代全量结论。
- r12 默认全量在海外仓生产者前置的一次已完成计划新增明细拒绝探针出现 HTTP=0(TypeError: fetch failed),按停止文件正常清理结束:10019 项、10017 通过、2 失败,146 次模块运行、114 个独立模块、5886 次请求、6 跳过;两项失败为连接中断及显式停止。原 r12-completed-plan-rejection-probe.json 使用独立新拒绝探针对同一原计划返回 A0409、完整前后详情不变,不冒称原请求重放或改写 r12。脚本增加此特定 COMPLETED 拒绝探针的只读核实后原体原键一次重放,记录所有失败诊断;普通业务写入不自动重试,计划变化及未知二次结果保留失败。定向恢复合同通过,最新全部离线 offline-full-20261023-r16-spec.txt 为 237 文件、2604 项全部通过,零失败/跳过,修复已提交推送 3616e9db04bf85e91bb1f0fc6f87663c5e493d3e;后继默认全量 r13 已完整通过,结果见本节末条。
- 最终默认全量 admin-full-20261023-review-r13.json(marker ADMIN-API-20261022213624340)完整结束、退出码 0、success=true/fatal=null:**23844 项全部通过、0 失败,170 次模块运行、138 个独立模块、12100 次请求**。defaultPlanSelected=true、stoppedByRequest=false、非仅准备模式。零客户/车辆/司机主档 POST 创建,继续复用两个指定固定客户;三张本轮 Fleet 车次均 CARGO_COMPLETED_AND_RESOURCES_RELEASED。原散板真实同车签收、PDA 与客户换标新箱标快照、逐箱 SKU 件数、签收与独立资源释放、客户贴标结算、F40 根单与余量及财务链均由此轮证据核验。
- 最终清理只读证据 admin-full-20261023-review-r13-fault-cleanup.json:本轮 LOADING 故障状态 prepared=false/restored=true、代理已停,原配置正文与控制令牌已由 finish 移除;未遗留本轮故障覆盖。脚本提交 3616e9db04bf85e91bb1f0fc6f87663c5e493d3e 已推送;Lastleg #426 固定运行源码 18ef3380363a347fae24723adde1aa129fa34767。最新全部离线 r16:237 个文件、2604 项全过、零失败/跳过。
- 通过范围严格为当前默认 HTTP 计划:7 个明确跳过模块、31 个非阻断覆盖缺口、0 阻断,fullCoverage=false。跳过包含不新增公共主档/账号/费率的既定策略;其余包括外部船司/领星凭据与交互、真实 PDA 包/设备、预约工作清单写操作及三种公开接口无法构造的人工状态。页面、弹框、样式、真机测量与第三方实际效果仍未验收,不把本轮全量脚本通过解释为全部功能无缺口。
### 同日 r1 失败项修复与定向复测(进行中)
- 固定称重托盘池按原规则复用 `TP-001` / `YW-TP-002` 中任一有效托盘;不要求两只同时存在,不新建托盘。费用目录分别核对 112 条正式科目与完整目录中的扩展科目;船期 ETA 允许缺省但拒绝非法时间;仓库操作员权限按当前初始化基线核对。称重图片改为显式环境配置,本轮使用合成测试图片,只验证接口及人工确认,不作为实拍或 OCR 识别效果验收。