This commit is contained in:
2026-09-09 10:18:07 +08:00
parent d3d1ba88db
commit a18775b261
6 changed files with 2530 additions and 5619 deletions
+1 -1
View File
@@ -80,7 +80,7 @@
- 海外库存、库内作业和海外本土业务已有明确服务入口:`gateway-overseas/` 是海外 API 网关,`lastleg-service/` 拥有尾程订单、入仓计划、换标、库存业务、采购和本土卡车;国内 `warehouse-service` 是仓库主数据唯一权威,`warehouse-overseas-service/` 只拥有库位、托盘及资源锁并引用国内 `warehouseId`。不得把海外库存业务塞入国内 `firstleg/` 或 `warehouse/`。
- 国内装柜完成事件只在海外生成 `PENDING_ASSIGNMENT` 尾程订单、冻结快照和 `FIRST_LEG` 在途库存,不自动生成入仓计划。平台通过 `GET /api/platform/v1/last-leg/orders/container-summaries` 按稳定 `sourceContainerBookingId` 服务端聚合全柜订单、入仓码、计划数、未操作数和 `allPlansReady`,在分页前排除全部入仓码均已生成有效独立计划的柜,仅返回仍有入仓码待生成计划的柜;详情 `/{sourceContainerBookingId}` 返回柜内全部订单与计划且不受订单分页截断。`plannedArrivalAt` 只来自装柜完成事件 `estimatedWarehouseArrivalAt` 冻结到 Lastleg `ll_order.estimated_warehouse_at` 的计划到仓事实,不得使用创建时间、预计到港或当前时间替代,并按该时间升序、空值最后排序。确认后调用 `POST /api/platform/v1/last-leg/inbound-plans/convert-container`;服务端一次锁定整柜、每票独立生成一个计划,整批原子且幂等。转换成功才将尾程订单推进为 `INBOUND_PLANNED`,并把库存余额的来源入仓码展示快照替换为各自 `planNo`。
- 尾程订单的 `inboundCode` 只保存并展示真实来源入仓码;换标申请、本土散板等没有入仓关系的海外本土业务保持为空,由页面显示 `—`,不得用换标单号、本土散板单号或内部 ID 冒充入仓码。
- 平台可按单票尾程订单填写完整入库计划(入库仓、预计到仓日期、入仓码、托数、托盘类型、分配/合托/加急和备注),写入时校验订单版本、客户归属、仓库主档和幂等键;暂扣也只作用于该票,暂扣期间该票不得进入排车或出库计划,同柜其他订单不受影响。
- 平台可按单票尾程订单填写完整入库计划(入库仓、预计到仓日期、入仓码、托数、托盘类型、分配/可合托/加急和备注),写入时校验订单版本、客户归属、仓库主档和幂等键;分配、可合托、加急必须随入库单列表和海外 PDA 入仓码作业返回并展示,其中“可合托”只向现场提供选择:合托时扫描同目的仓已使用的托盘码,独立收货时扫描新托盘码,不作为实收或完成门禁。暂扣也只作用于该票,暂扣期间该票不得进入排车或出库计划,同柜其他订单不受影响。
- 尾程订单人工节点固定为国内报关完成、预计/实际开船、预计到港、国外清关完成、实际到港等待卸船、预约提柜和卸柜八行完整快照。第一次保存后该订单永久使用 `MANUAL` 来源,读取和页面展示不得再回退柜级节点,也不得反向修改货柜船节点。
- 目的港码头拖车归 Firstleg 货柜聚合:平台从 Warehouse `ACTIVE + TRUCKING` 供应商中选择车队,依次记录预约提柜、实际提柜和实际还柜;实际提柜/还柜同时复用标准船节点服务写入 `PICKED_UP`/`EMPTY_RETURNED`。海外卸柜完成后由服务端以 `unloadingCompletedAt + 72h` 计算还柜截止时间和超时天/小时,Admin 只展示服务端预警,不在浏览器重复计算。
- 船节点是头程海运在途事实与海外接柜之间的衔接能力,业务聚合继续由 Firstleg 持有;到港/可提柜结果通过明确契约或跨区域事件提供给海外区域,不复制第二套轮询任务。