优化
This commit is contained in:
@@ -16,12 +16,21 @@
|
|||||||
|
|
||||||
## 全流程公共契约
|
## 全流程公共契约
|
||||||
|
|
||||||
- [头程下单到尾程出库全流程操作手册](头程下单到尾程出库全流程操作手册.md):从客户头程下单、国内收货测量、分柜装柜和国内出仓,贯通跨区尾程建单、海外接柜入仓、排车、PDA 拣货与尾程出库的角色、操作、状态、编号、门禁和异常处理。
|
### 当前流程入口(收尾变更只看这里)
|
||||||
- [头程下单到尾程出库现状流程全景清单(历史 AS-IS)](头程下单到尾程出库现状流程全景清单.md):保留旧版现状盘点和代码证据,不作为当前报关/送港流程依据;当前基线以[头程到尾程流程节点梳理(重构版)](头程到尾程流程节点梳理.md)为准。
|
|
||||||
- [头程到尾程流程节点梳理](头程到尾程流程节点梳理.md):以“头程下单、海运(货柜)、尾程入库和派送”三大展示块为上层,映射 F01~F40 后台实施节点、客户进度投影、后台对象、明细动作、交接门禁和异常模型,作为端到端节点评审主表。
|
- [头程到尾程流程节点梳理](头程到尾程流程节点梳理.md):三大业务块、主流程、客户进度/后台节点/真实明细三层映射,以及 F01~F40 关键节点总表。
|
||||||
- [头程到尾程分阶段流程](头程到尾程分阶段流程/README.md):F01~F40 六个阶段现状文档已全部完成,逐阶段记录操作、字段、状态、数据流、异常、完成判定和上下游交接条件,可按阶段评审并进入优化。
|
- [头程到尾程分阶段流程](头程到尾程分阶段流程/README.md):把三大块拆成六个详细阶段,按阶段查字段、页面操作、权限和异常。
|
||||||
- [头程到尾程 AI 流程优化上下文包](头程到尾程AI流程优化上下文包.md):统一 AI 分析所需的术语、流程变体、RACI、阶段合同、阻断分类、问题证据、指标口径、优化卡模板和完成定义。
|
- [国内货柜履约 README](国内货柜履约/README.md):货柜范围和装柜完成后的报关协同、送港并行关系。
|
||||||
- [头程下单到尾程出库流程易用性与数据流转优化方案](头程下单到尾程出库流程易用性与数据流转优化方案.md):基于已走通主链梳理现状操作问题,提出统一进度、下一动作、操作回执、数据归属、跨区可观测、PDA 易用性、P0-P2 优先级和验收指标。
|
- [报关资料与船期价格接入梳理](国内货柜履约/报关资料与船期价格接入梳理.md):报关资料、报关行回执、客户确认/打回、正式申报、海关结果和船期价格专题。
|
||||||
|
|
||||||
|
### 历史与参考(保留,不作为日常流程入口)
|
||||||
|
|
||||||
|
- [头程下单到尾程出库全流程操作手册](头程下单到尾程出库全流程操作手册.md)
|
||||||
|
- [头程下单到尾程出库现状流程全景清单](头程下单到尾程出库现状流程全景清单.md)
|
||||||
|
- [头程到尾程 AI 流程优化上下文包](头程到尾程AI流程优化上下文包.md)
|
||||||
|
- [头程下单到尾程出库流程易用性与数据流转优化方案](头程下单到尾程出库流程易用性与数据流转优化方案.md)
|
||||||
|
|
||||||
|
以上文件继续保留,分别用于历史现状、操作说明和方案追溯;开发规划、进度、门禁和验收记录也按业务域保留,不再与当前节点总表同步改写。
|
||||||
- [跨区域认证与服务通信契约](跨区域认证与服务通信契约.md):统一账号、国内/海外 Token、双区域 API、JWKS、Outbox/Inbox 与服务身份边界。
|
- [跨区域认证与服务通信契约](跨区域认证与服务通信契约.md):统一账号、国内/海外 Token、双区域 API、JWKS、Outbox/Inbox 与服务身份边界。
|
||||||
- [双区域部署与 Nacos 规划](双区域部署与Nacos规划.md):开发/测试同机共置、生产国内/海外独立控制面、Nacos、数据库及 Event Bridge 部署边界。
|
- [双区域部署与 Nacos 规划](双区域部署与Nacos规划.md):开发/测试同机共置、生产国内/海外独立控制面、Nacos、数据库及 Event Bridge 部署边界。
|
||||||
- [平台、客户层级与权限契约](平台客户层级与权限契约.md):平台/客户两级产品语义、列表包含详情的只读权限和跨层同步要求。
|
- [平台、客户层级与权限契约](平台客户层级与权限契约.md):平台/客户两级产品语义、列表包含详情的只读权限和跨层同步要求。
|
||||||
|
|||||||
+31
-43
@@ -1,53 +1,41 @@
|
|||||||
# 国内货柜履约文档
|
# 国内货柜履约
|
||||||
|
|
||||||
国内货柜履约以国内头程后程作业为范围,完成从排柜、订舱、拖车和仓内拣货,到装柜证据齐全并进入 `LOADED`/装柜完成的业务闭环。`DELIVERED`/派送完成由到达海外仓后的可信回传推进,不属于国内国内货柜履约操作范围。
|
本目录负责国内分柜、订舱、拖车、拣货、装柜、装柜后的报关协同、送港、进港和甩柜事实。主流程已经开发完成,当前只在这里查找收尾变更涉及的货柜节点;开发规划和验收记录保留用于追溯,不作为当前流程入口。
|
||||||
|
|
||||||
> 范围更正:国内货柜履约维护订舱、拖车、离仓、送港、进港、甩柜/改配和实际开船前的船次状态。承运船舶实际 `VESSEL_DEPARTED` 后的 `CarrierScheduleQuery`、六家船公司查询、每 3 天/最多 3 次、来源/过期标识和后续定时船节点查询整体归海外仓业务,见 `../海外仓业务/README.md`。国内货柜履约不重复建设开船后的定时查询。
|
## 当前流程入口
|
||||||
|
|
||||||
## 当前主体模型与开工禁令
|
- [头程到尾程流程节点梳理](../头程到尾程流程节点梳理.md):三大业务块总览和 F01-F40 节点总表。
|
||||||
|
- [阶段三:国内货柜履约与出仓](../头程到尾程分阶段流程/阶段三-国内货柜履约与出仓.md):分柜、订舱、拖车、拣货、装柜、报关和国内出仓的详细操作。
|
||||||
|
- [阶段四:海运、目的港与尾程计划](../头程到尾程分阶段流程/阶段四-海运目的港与尾程计划.md):实际开船后的海运、目的港和尾程计划衔接。
|
||||||
|
- [报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md):报关资料、报关行回执、客户确认/打回、正式申报、海关结果和船期价格专题。
|
||||||
|
|
||||||
- 国内货柜履约继续按业务单租户、“平台—客户”两级开发,客户之间严格隔离。Java 与接口中的业务 `tenant_id > 0` / `tenantId` 当前表示客户 ID;`tenant_id=0` 是平台身份、平台 RBAC 和平台公共仓库、快递公司、托盘、库位等公共资源技术作用域。客户往来单位、订单、文件和费用仍归属客户 `tenant_id>0`。
|
## 货柜关键节点
|
||||||
- 国内货柜履约不得新增租户主表、租户选择器、客户所属租户配置、租户切换、租户级 RBAC 或租户级配置,也不得把当前 `tenant_id` 从客户 ID 改义为上级租户 ID。
|
|
||||||
- `tenant`、`Tenant*`、`merchant`、接口路径和字段属于历史兼容命名,继续保留;真实租户能力必须等未来独立需求、数据迁移和跨服务契约方案确认后再实施。
|
|
||||||
|
|
||||||
## 文档
|
```text
|
||||||
|
分柜/订舱/拖车 → 拣货 → 装柜完成(LOADED)
|
||||||
|
├─ 报关协同:资料 → 报关行回执 → 客户确认/打回重做
|
||||||
|
│ → 全部客户确认 → 整柜提交 → 正式申报 → 海关结果
|
||||||
|
└─ 送港运输:离仓 → 送港 → 进港 → 甩柜/改配(如发生)
|
||||||
|
↓
|
||||||
|
船舶实际开航后进入海运节点
|
||||||
|
```
|
||||||
|
|
||||||
- **当前流程基线**:[头程到尾程流程节点梳理(重构版)](../头程到尾程流程节点梳理.md):以“头程下单、海运(货柜)、尾程入库和派送”三大块定义客户展示节点、后台管理节点、真实明细节点,并明确“物理装柜 `LOADED` → 报关线与送港线并行 → 客户确认后整柜正式申报 → 进港/甩柜 → 实际开船进入海运”的顺序。
|
报关协同和送港运输在装柜完成后分别启动,谁先完成都保留真实事实。报关行回执、客户确认、正式申报、海关放行、进港、甩柜和实际开船分别记录,不能用其中一个节点代替另一个节点。
|
||||||
- [报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md):对照客户工作台新增原型、业务退税流程与当前代码,梳理客户资料包、平台统一申报、客户报价查询的接入边界和待确认规则。
|
|
||||||
- [历史审计报告(2026-08-08)](国内货柜履约闭环审计报告-2026-08-08.md):旧口径审计记录,仅用于追溯当时的代码和测试证据,不作为当前流程或开发门禁依据。
|
|
||||||
- [历史产品确认表(2026-08-08)](国内货柜履约装柜闭环产品确认表-2026-08-08.md):旧口径讨论记录,不作为当前业务规则依据。
|
|
||||||
- [历史开发前确认单(2026-08-08)](国内货柜履约装柜闭环开发前确认单-2026-08-08.md):旧口径状态、门禁和验收记录,不直接作为当前开发任务输入。
|
|
||||||
- [国内货柜履约开发规划:国内出仓](国内货柜履约开发规划.md)
|
|
||||||
- [国内货柜履约开发进度表](国内货柜履约开发进度表.md):参考订单与客户采用“大任务 → 详细任务 → 里程碑 → 未确认事项 → 开工准入 → 验收”结构维护。
|
|
||||||
- [虫虫出海国内货柜履约开发进度表(Excel)](虫虫出海国内货柜履约开发进度表.xlsx):可筛选、可下拉维护并使用公式汇总的项目进度工作簿。
|
|
||||||
- [国内货柜履约需求确认表](国内货柜履约需求确认表.md):集中跟踪 P3-Q1~P3-Q17、负责人和最终结论。
|
|
||||||
- [国内货柜履约开工门禁](国内货柜履约开工门禁.md):维护已确认范围、跨端硬边界和局部阻断项;模块指引引用本文件,不重复维护阶段状态。
|
|
||||||
- [国内货柜履约页面与原型清单](国内货柜履约页面与原型清单.md):按管理后台、企业客户端和 PDA 维护页面范围及原型状态。
|
|
||||||
- [国内货柜履约验收任务拆分与待确认清单](国内货柜履约验收任务拆分与待确认清单.md):真实 HTTP/真机验收覆盖、coverageGap 解除条件和并行任务入口。
|
|
||||||
- `参考资料/出仓流程.png`:本期 9 个核心动作及业务终点的原始参考图。
|
|
||||||
|
|
||||||
## 当前状态
|
费用确认属于头程下单块的并行事项,不阻断排柜、拣货或装柜;装柜完成时仍未确认的当前有效费用按系统默认确认并保留来源。这个默认确认只适用于费用,不适用于报关资料的客户确认。
|
||||||
|
|
||||||
国内货柜履约已进入分模块部署联调。已确认不新建独立出仓单,现有订单列表/详情承载主状态;支持一单多柜、一个柜拼多个订单,并采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。`LOADED`/装柜完成只校验真实柜号、PDA 拣货与数量守恒、五类证据和未解决异常。装柜完成后,报关线按“客户资料→报关行回执→客户确认/打回重做→所有客户通过→整柜正式申报→查验/放行”推进;送港线独立记录拖车、离仓、进港、甩柜和改配。两条线谁先到都保留事实,只有实际开船才进入海运节点。客户费用确认不阻断排柜和装柜,未确认的当前有效已发布费用版本在装柜完成后按已装范围记录系统默认确认。`LOADED` 后错误统一线下人工处理,国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED`。当前不能因子链路已通过而宣告整期完成,最终结论以真实 HTTP 全链路验收为准。
|
## 冻结记录(只用于追溯)
|
||||||
|
|
||||||
柜子出仓后的船公司/船节点查询已重新归入海外仓业务。国内货柜履约报关首版不做系统对接,全部由人工整理、线下提交和人工上传回执。仓库初始化角色包括操作员、拣货员、理货员,具体权限矩阵由 IAM 契约任务落表。
|
- [国内货柜履约开发规划](国内货柜履约开发规划.md)
|
||||||
|
- [国内货柜履约开发进度表](国内货柜履约开发进度表.md)
|
||||||
|
- [国内货柜履约需求确认表](国内货柜履约需求确认表.md)
|
||||||
|
- [国内货柜履约开工门禁](国内货柜履约开工门禁.md)
|
||||||
|
- [国内货柜履约页面与原型清单](国内货柜履约页面与原型清单.md)
|
||||||
|
- [国内货柜履约验收任务拆分与待确认清单](国内货柜履约验收任务拆分与待确认清单.md)
|
||||||
|
- [历史审计报告(2026-08-08)](国内货柜履约闭环审计报告-2026-08-08.md)
|
||||||
|
- [历史产品确认表(2026-08-08)](国内货柜履约装柜闭环产品确认表-2026-08-08.md)
|
||||||
|
- [历史开发前确认单(2026-08-08)](国内货柜履约装柜闭环开发前确认单-2026-08-08.md)
|
||||||
|
- [历史 Wave1 开发任务卡(2026-08-09)](国内货柜履约Wave1开发任务卡-2026-08-09.md)
|
||||||
|
- [国内货柜履约开发进度表(Excel)](虫虫出海国内货柜履约开发进度表.xlsx)
|
||||||
|
|
||||||
P3-Q1~P3-Q17 均已确认;P3-Q4 采用 uni-app 开发并支持在线更新,Android 广播扫描已接入。P3-Q5 复用入库测量与计费实时库存、当前位置和可用量接口,不扩展完整 WMS。
|
以上记录不删除、不回写。若要调整当前流程,修改总览、对应阶段或报关专题,并同步实际接口/权限契约;不要为同一节点再次改动冻结记录。
|
||||||
|
|
||||||
### PDA 当前确认口径(2026-08-10)
|
|
||||||
|
|
||||||
- Android 扫描广播方式已接入;PDA 采用 uni-app 开发并支持在线更新,按既定发布安排完成真机验收。
|
|
||||||
- 正式作业仅支持在线:进入任务即标记“拣货中”,扫描保存在绑定作业员+任务+柜次的设备持久化草稿,点击提交时批量写后端。
|
|
||||||
- 允许部分拣货或跳拣,但每个未完成项必须填写异常原因;存在未解决异常时不能完成或进入 `LOADED`。
|
|
||||||
- 重复提交返回原结果,版本冲突提示员工刷新重试。
|
|
||||||
- PDA 只能现场拍照,Admin 可人工上传;五类证据各至少 1 张有效照片,可同类型多张追加,错图只作废不硬删除。
|
|
||||||
- 单柜次只允许一名作业员作业,不做多人并行和任务接管;进入任务即标记“拣货中”,扫描草稿按作业员+任务+柜次隔离,点击提交时批量写入后端。
|
|
||||||
- 后台操作员、理货员可按权限人工上传证据;拣货员只负责 PDA 现场拍照,不开放后台人工上传。照片无限期保留,客户不可见照片和锁码。
|
|
||||||
|
|
||||||
### 发布与真实验收状态(2026-08-10)
|
|
||||||
|
|
||||||
- Admin 已部署 `b593d72`:智能装柜、预装清单、装柜清单均可访问真实接口;预装/装柜清单不再要求选择仓库,详情仍使用列表行返回的真实仓库归属。
|
|
||||||
- Firstleg 已部署 `3bfc11a`:修复 PDA 拣货时库位分配状态提前变更的问题;真实复跑仍发现 PDA `pick` 第二处 `S0500`,当前仍阻断 PDA 复核、装柜完成、报关 LOADED 关联和最终门禁,不能标记国内货柜履约闭环完成。
|
|
||||||
- 验收 fixture 顺序已核实为 `orders → inbound-measurement → phase3-container-loading → phase3-loading → phase3-customs → phase3-port-schedules → phase3-loading-finalize`;脚本保留真实失败,不以 mock、历史资源或 coverage gap 伪装通过。
|
|
||||||
- PDA“点击提交时批量写入后端”的原子 batch 契约尚未实现;当前页面仍不能证明整批事务、批次幂等、服务端库存快照和失败整批回滚已具备。
|
|
||||||
- ZIM hCaptcha、COSCO 动态页继续按产品确认的人工兜底保留为 `MANUAL_REQUIRED`,不作为自动查询 PASS。
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# 报关资料与船期价格接入梳理
|
# 报关资料与船期价格接入梳理
|
||||||
|
|
||||||
本文是企业客户端“报关资料”“船期价格”入口的产品与接口评审稿。文中明确区分三类内容:
|
> **当前用途:报关与船期价格专题参考。** 主流程和节点关系以[头程到尾程流程节点梳理](../头程到尾程流程节点梳理.md)为准;本文保留资料字段、回执轮次、价格口径和接口查找信息,供收尾变更定位。
|
||||||
|
>
|
||||||
|
> 文中“目标、实施顺序、进入条件、待确认事项”等段落属于原评审记录。开发已经完成后,不再据此重新拆开发任务;若与当前确认不一致,以总览和最新业务确认修正对应专题段落。
|
||||||
|
|
||||||
- **已确认**:可进入开发和验收口径。
|
本文是企业客户端“报关资料”“船期价格”入口的专题评审记录。当前使用时只取已确认的流程、资料和价格口径;“建议”和“待确认”保留为历史评审痕迹,不再自动生成开发任务或验收门禁。
|
||||||
- **建议**:用于收敛模型,业务确认前不得作为验收承诺。
|
|
||||||
- **待确认**:必须在对应开发门禁前形成结论、负责人和日期。
|
|
||||||
|
|
||||||
**基线**:以用户 2026-09-24 对本流程的直接确认和本联合评审稿为准;旧版需求表、README 和开发规划中与本流程冲突的门禁必须修改,不能继续作为上位约束。
|
**当前基线**:以最新用户确认和[头程到尾程流程节点梳理](../头程到尾程流程节点梳理.md)为准。旧版需求表、README、开发规划和本文件中的历史建议若发生冲突,先在当前入口记录收尾变更,再决定是否需要修改专题细节。
|
||||||
|
|
||||||
## 先锁定的范围
|
## 先锁定的范围
|
||||||
|
|
||||||
|
|||||||
+24
-30
@@ -1,38 +1,32 @@
|
|||||||
# 头程到尾程分阶段流程文档
|
# 头程到尾程分阶段流程
|
||||||
|
|
||||||
本目录把“头程下单 → 尾程出库”拆成六个可独立评审、以后也可独立优化的阶段。各阶段统一描述现状操作和数据流,不在流程确认前直接决定改版方案。
|
本目录是端到端流程的分段查找入口。主流程已经开发完成,当前只用于收尾变更:总览和节点关系看[《头程到尾程流程节点梳理》](../头程到尾程流程节点梳理.md),字段、页面操作、权限和异常细节在对应阶段文件维护。
|
||||||
|
|
||||||
当前六个阶段的现状基线均已完成。下一步按阶段组织业务、产品、运营、国内仓、海外仓和技术评审;每阶段确认后,再将评审结论转入易用性和数据流转优化方案。
|
## 三大业务块与六个分段
|
||||||
|
|
||||||
端到端节点评审先使用[《头程到尾程流程节点梳理》](../头程到尾程流程节点梳理.md)。该主表保留 F01~F40 稳定编号,统一阶段出口、客户进度投影、后台对象、数据交接和异常门禁;本目录的六份阶段文档继续承载各节点的现状操作与字段细节。
|
| 业务块 | 分段 | 节点范围 | 详细文档 |
|
||||||
|
|
||||||
## 分阶段计划
|
|
||||||
|
|
||||||
| 阶段 | 范围 | 对应全景流程 | 文档 |
|
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 阶段一 | 客户准入、基础资料、单票/批量下单、提交、审核、订单交接 | F01~F07 | [阶段一:客户准入与头程下单](阶段一-客户准入与头程下单.md) |
|
| **头程下单** | 阶段一:客户准入与头程下单 | F01-F07 | [打开阶段一](阶段一-客户准入与头程下单.md) |
|
||||||
| 阶段二 | 国内到仓、箱码、测量、称重、费用、扣货、一件代发组托 | F08~F13 | [阶段二:国内到仓、测量计费与组托](阶段二-国内到仓测量计费与组托.md) |
|
| **头程下单** | 阶段二:国内到仓、测量计费与组托 | F08-F13 | [打开阶段二](阶段二-国内到仓测量计费与组托.md) |
|
||||||
| 阶段三 | 模拟柜、排柜、订舱、拖车、预装、国内 PDA、报关、出仓 | F14~F23 | [阶段三:国内货柜履约与出仓](阶段三-国内货柜履约与出仓.md) |
|
| **海运(货柜)** | 阶段三:国内货柜履约与出仓 | F14-F23 | [打开阶段三](阶段三-国内货柜履约与出仓.md) |
|
||||||
| 阶段四 | 海运节点、目的港、跨区尾程建单、尾程入仓计划 | F24~F27 | [阶段四:海运、目的港与尾程入仓计划](阶段四-海运目的港与尾程计划.md) |
|
| **海运(货柜)** | 阶段四:海运、目的港与尾程计划 | F24-F27 | [打开阶段四](阶段四-海运目的港与尾程计划.md) |
|
||||||
| 阶段五 | 海外接柜、实收、库存、暂扣和库内服务 | F28~F33 | [阶段五:海外接柜、库存与库内服务](阶段五-海外接柜库存与库内服务.md) |
|
| **尾程入库和派送** | 阶段五:海外接柜、库存与库内服务 | F28-F33 | [打开阶段五](阶段五-海外接柜库存与库内服务.md) |
|
||||||
| 阶段六 | 海外排车、转派送、PDA 出库、派送、异常和最终回写 | F34~F40 | [阶段六:海外排车、出库、派送与最终回写](阶段六-海外排车出库派送与回写.md) |
|
| **尾程入库和派送** | 阶段六:海外排车、出库、派送与最终回写 | F34-F40 | [打开阶段六](阶段六-海外排车出库派送与回写.md) |
|
||||||
|
|
||||||
## 每阶段统一模板
|
## 修改时只看这三层
|
||||||
|
|
||||||
1. 阶段目标、起点和终点;
|
1. **总览层**:三大块、客户进度和节点关系变化,改总览节点梳理。
|
||||||
2. 角色、终端和权限边界;
|
2. **分段层**:某一段的页面操作、字段、权限、状态或异常,改对应阶段文件。
|
||||||
3. 前置主数据和检查项;
|
3. **专题层**:报关资料、报关行回执、客户确认、送港/甩柜和船期价格,改[报关资料与船期价格接入梳理](../国内货柜履约/报关资料与船期价格接入梳理.md),并回看总览中的 F22/F23。
|
||||||
4. 页面逐步操作;
|
|
||||||
5. 字段与条件必填规则;
|
|
||||||
6. 状态机、可用动作和不可逆节点;
|
|
||||||
7. 单据、编号、快照和数据归属;
|
|
||||||
8. 同步/异步调用和上下游交接;
|
|
||||||
9. 正常流、条件分支和异常恢复;
|
|
||||||
10. 阶段完成判定与评审清单。
|
|
||||||
|
|
||||||
总览入口:
|
## 跨段交接
|
||||||
|
|
||||||
- [现状流程全景清单](../头程下单到尾程出库现状流程全景清单.md)
|
- 阶段二完成后进入阶段三的分柜;费用确认是并行事项,不阻断排柜、拣货和装柜。
|
||||||
- [一票主链操作手册](../头程下单到尾程出库全流程操作手册.md)
|
- 阶段三的装柜完成(`LOADED`)后,报关协同和送港运输同时启动,谁先完成都保留真实事实。
|
||||||
- [易用性与数据流转优化草案](../头程下单到尾程出库流程易用性与数据流转优化方案.md)
|
- 报关协同必须经过“客户资料 → 报关行回执 → 客户确认/打回重做”,柜内所有客户确认后才提交整柜资料并正式申报。
|
||||||
- [AI 流程优化上下文包](../头程到尾程AI流程优化上下文包.md)
|
- 送港完成、进港或甩柜都不等于海运中;承运船舶实际开航后才进入阶段四的海运节点。
|
||||||
|
- 阶段四形成海外接柜输入后,阶段五负责实收、入库和库存,阶段六负责出库、派送、签收和异常回写。
|
||||||
|
|
||||||
|
## 旧文档的使用范围
|
||||||
|
|
||||||
|
全流程操作手册、现状全景清单、AI 优化上下文、开发规划、进度表、开工门禁和验收任务继续保留,用于追溯历史决策和实现记录;它们不是当前节点维护入口。新增规则只写入总览、对应阶段或专题文件,避免同一流程在多份历史文档中重复修改。
|
||||||
|
|||||||
+63
-437
@@ -1,463 +1,89 @@
|
|||||||
# 头程到尾程流程节点梳理(重构版)
|
# 头程到尾程流程节点梳理
|
||||||
|
|
||||||
> 版本:V4 · 三大业务块与报关流程重构 · 2026-09-24
|
> **当前用途:收尾变更的流程入口。** 主流程已经开发完成,本文件只保留三大业务块、关键节点和节点之间的关系,便于查找和修改。开发规划、进度、门禁和历史评审不在这里继续维护。
|
||||||
>
|
>
|
||||||
> 依据:用户提供的《头程到尾程流程节点梳理》节点图,以及本轮确认的目标流程。旧版六阶段文档和旧门禁表仅作为待修改材料,不作为本版业务规则来源。
|
> **维护原则:** 客户看到的是进度投影,后台看到的是业务对象节点,明细节点记录真实操作和结果。三者使用同一组业务事实,不另建一套客户状态。
|
||||||
>
|
|
||||||
> 文档性质:三大业务块的产品节点基线。本文同时定义客户展示节点、后台管理节点和真实明细节点;内部技术编号只用于迁移追踪,不改变三大块的产品结构。
|
|
||||||
>
|
|
||||||
> 配套:[报关资料与船期价格接入梳理](国内货柜履约/报关资料与船期价格接入梳理.md)。本轮“报送”包含装柜后通知报关、客户资料收集、报关行回执、客户确认/打回重做、所有客户通过后的整柜正式申报和海关结果记录。
|
|
||||||
|
|
||||||
## 本轮已确认规则
|
## 一、三大业务块
|
||||||
|
|
||||||
1. **费用不阻断物流主链。** 客户未确认不阻断排柜、拣货或装柜。装柜完成后仍未确认的费用执行系统默认确认;已有客户确认保留原来源,不改成系统确认。默认确认不是客户点击,必须分别展示并保存来源、版本和触发时间。
|
| 业务块 | 覆盖范围 | 对外主要进度 | 后台主要对象 | 分段详情 |
|
||||||
2. **装柜后报关和送港分两条并行线。** `LOADED` 后才通知报关行进入正式协同;客户资料、报关行回执、客户确认、整柜提交、海关查验/放行必须逐层记录。送港线可同时安排拖车、送港和进港,先后顺序不固定;送港完成不等于开船,报关完成也不等于已经开船。
|
|
||||||
3. **两个主题一起交付。** 资料清单、费用确认结果、报送进度必须由相同业务事实生成客户/后台节点,不交付仅有节点文案或仅有孤立上传页的半条流程。
|
|
||||||
|
|
||||||
以上为用户 2026-09-24 的确认。费用缺版本、部分装载的费用作用范围、正式申报合并条件等细项见第 10 节;不能把这些未确认细项当作用户已同意。
|
|
||||||
|
|
||||||
## 1. 先给结论
|
|
||||||
|
|
||||||
原图表达的是同一业务的三层展示映射,这个结构保留。需要补齐的是各节点的开始/完成条件和与报送的衔接:
|
|
||||||
|
|
||||||
1. **步骤名称与完成结果需要区分。** “装柜完成”可作为未来里程碑,但排柜/订舱时不能把它标成已完成;执行中显示“装柜准备/装柜中”。
|
|
||||||
2. **编号需要可追溯。** PNG 有两个编号 10,缺少 15,22 是空明细行,23/24 放在 19 前。保留原行映射,F 编号仅用于查找既有流程,不作为客户需要理解的新编号。
|
|
||||||
3. **缺少数据交接。** 没有明确订单号、入仓码、柜次号、真实柜号、尾程订单、入仓计划、库存、出库单和派送单在哪个节点生成、冻结或交接。
|
|
||||||
4. **缺少门禁和异常恢复。** “异常”只有一个总类,没有区分资料缺失、状态未就绪、权限、版本冲突、库存冲突、外部等待和跨区失败,也没有说明谁处理、如何恢复。
|
|
||||||
|
|
||||||
本次比较基于用户提供的 PNG。仓库中的旧 SVG 不作为这张图片的替代来源;F01~F40 用于引用既有流程目录,不表示 40 个客户展示节点,也不意味着每一项都是必经动作。
|
|
||||||
|
|
||||||
本版采用三层结构:
|
|
||||||
|
|
||||||
- **客户进度**:只作为从权威状态计算出的只读展示,不单独写入第二套主状态;
|
|
||||||
- **后台业务对象/状态**:由 Order、Firstleg、Lastleg、Warehouse、Finance、File 等权威服务维护;
|
|
||||||
- **明细动作/业务事实**:客户上传、审核、扫码、称重、排柜、装柜、签收等具体操作,必须产生可追溯的结果和下一阶段输入。
|
|
||||||
|
|
||||||
## 2. 端到端阶段边界
|
|
||||||
|
|
||||||
| 阶段 | 节点范围 | 阶段目标 | 阶段出口 | 主要权威服务 |
|
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| 阶段一:客户与订单 | F01~F07 | 企业具备下单资格,订单审核通过并生成正式国内入库单 | `APPROVED` + 固定 `inboundCode` + `WAIT_MEASURE` | IAM/Auth、Order、Warehouse、Finance |
|
| **头程下单** | 客户下单、审核、国内到仓、测量、计费、确认、组托 | 待下单 → 审核中 → 待到仓/测量 → 待分柜 | 订单、入仓单、测量记录、费用记录、托盘 | [阶段一](头程到尾程分阶段流程/阶段一-客户准入与头程下单.md)、[阶段二](头程到尾程分阶段流程/阶段二-国内到仓测量计费与组托.md) |
|
||||||
| 阶段二:国内到仓与测量 | F08~F13 | 箱码、实测、费用和一件代发组托事实准备完成 | 普通订单/一件代发均进入 `WAIT_SPLIT` | Firstleg、Warehouse、Finance、File |
|
| **海运(货柜)** | 分柜、订舱、拖车、拣货、装柜、报关协同、送港、进港、甩柜、实际开船、目的港和尾程计划 | 待分柜 → 装柜中 → 报关确认中/送港中 → 待开船 → 海运中 → 待入仓 | 柜次、装柜任务、报关批次、送港任务、船次、尾程入仓计划 | [阶段三](头程到尾程分阶段流程/阶段三-国内货柜履约与出仓.md)、[阶段四](头程到尾程分阶段流程/阶段四-海运目的港与尾程计划.md)、[报关专题](国内货柜履约/报关资料与船期价格接入梳理.md) |
|
||||||
| 阶段三:国内装柜与出仓 | F14~F23 | 完成分柜、订舱、PDA、装柜证据、报关和国内离仓 | `LOADED`,并产生 `DEPARTED_WAREHOUSE` | Firstleg、File、Event Bridge |
|
| **尾程入库和派送** | 海外接柜、拆柜实收、入库、库存服务、排车、出库、派送、签收、异常回写 | 待接柜 → 入库中 → 待派送 → 出库/派送中 → 已签收/异常 | 接柜任务、入库单、库存、出库单、派送单、异常单 | [阶段五](头程到尾程分阶段流程/阶段五-海外接柜库存与库内服务.md)、[阶段六](头程到尾程分阶段流程/阶段六-海外排车出库派送与回写.md) |
|
||||||
| 阶段四:海运与尾程计划 | F24~F27 | 保存船节点、完成目的港协作,并生成海外尾程计划 | `PENDING_ASSIGNMENT` → `INBOUND_PLANNED` | Firstleg、Integration、Lastleg、Warehouse Overseas |
|
|
||||||
| 阶段五:海外接柜与库存 | F28~F33 | 完成接柜、实收、入库、库存和库内服务 | `INBOUND_COMPLETED` + 可用库存 | Lastleg、Warehouse Overseas、File |
|
|
||||||
| 阶段六:排车、出库与派送 | F34~F40 | 完成排车、出库、派送、异常回收和国内最终回写 | `OUTBOUNDED` → `DELIVERED` → Order `COMPLETED` | Lastleg、Order、Firstleg、客服 |
|
|
||||||
|
|
||||||
表中的编号用于定位和验收,不表示每个动作都必须串行。阶段二的费用,以及 `LOADED` 后的报关线和送港线可以并行;报关行回执、客户确认、正式申报、查验/放行、送港、甩柜和开船分别记录。真正阻断某一条线的条件以该线的服务端门禁和阶段交接表为准。
|
三大块是客户和产品的展示分组;F01~F40 是后台查找和验收用的内部编号,不代表客户必须看到 40 个节点,也不代表所有动作严格串行。
|
||||||
|
|
||||||
端到端主链如下。换标、转运、废弃、退货、异常退回是受控分支,不应把分支节点直接塞进主链状态。
|
## 二、主流程
|
||||||
|
|
||||||
```mermaid
|
|
||||||
flowchart LR
|
|
||||||
A[客户准入与下单\nF01-F07] --> B[国内到仓测量计费\nF08-F13]
|
|
||||||
B --> C[分柜装柜与国内出仓\nF14-F23]
|
|
||||||
C --> D[海运目的港与尾程计划\nF24-F27]
|
|
||||||
D --> E[海外接柜入仓与库存\nF28-F33]
|
|
||||||
E --> F[海外排车出库派送\nF34-F40]
|
|
||||||
B -.一件代发组托.-> C
|
|
||||||
E -.换标/转运/废弃/退货.-> F
|
|
||||||
F -.异常退回.-> E
|
|
||||||
```
|
|
||||||
|
|
||||||
## 3. 三大业务块与现行六阶段的关系
|
|
||||||
|
|
||||||
你们的产品展示可以固定为三大块,六阶段继续作为后台实施和验收拆分。两者是不同层级:三大块回答“客户现在在哪一段”,六阶段回答“哪个服务、哪个对象、哪个节点在执行”。
|
|
||||||
|
|
||||||
| 产品展示块 | 客户看到的范围 | 对应现行 F 节点 | 推荐块边界 | 块出口 |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| 头程下单 | 客户下单、订单审核、国内到仓、测量、计费、确认、组托、等待分柜 | F01~F13 | 从企业具备下单资格到订单具备排柜条件 | 普通订单 `WAIT_SPLIT`;一件代发完成封托后 `WAIT_SPLIT` |
|
|
||||||
| 海运(货柜) | 排柜、订舱、拖车、装柜、报关、国内出仓、海运、目的港清关/提柜、尾程计划 | F14~F27 | 从建立柜次到海外尾程计划准备完成 | `INBOUND_PLANNED`;船节点另有 `PICKUP_READY` 等事实 |
|
|
||||||
| 尾程入库和派送 | 海外接柜、拆柜实收、入库、库存服务、排车、出库、派送、异常和回写 | F28~F40 | 从海外 PDA 认领待收柜到派送完成和订单最终回写 | `DELIVERED`;全部有效入库单完成后 Order `COMPLETED` |
|
|
||||||
|
|
||||||
因此,原图的“国内头程”不能直接等同于第一大块:它把 F14~F23 的国内货柜履约也放进了同一视觉区域。建议产品上仍使用三大块,但把“国内到仓/测量/计费/组托”归入“头程下单”,从“排柜”开始进入“海运(货柜)”。
|
|
||||||
|
|
||||||
三大块内部继续显示三种信息:
|
|
||||||
|
|
||||||
| 展示层 | 图中对应列 | 正确用途 | 是否写入独立状态 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 产品阶段 | `阶段` | 头程下单、海运(货柜)、尾程入库和派送 | 否,作为导航/分组 |
|
|
||||||
| 客户进度 | `客户进度节点` | 展示客户当前所处的大步骤、下一步和阻断原因 | 否,由 Order/Firstleg/Lastleg 状态投影 |
|
|
||||||
| 后台管理节点 | `后台管理节点` | 展示当前业务对象的状态栈,例如订舱、装柜计划、派送单 | 各对象按自己的权威服务维护 |
|
|
||||||
| 真实明细节点 | `明细节点` | 展示具体动作、时间、操作者、业务号、证据和结果 | 产生事实、审计和事件 |
|
|
||||||
| 异常节点 | `异常节点` | 展示 blockerCode、负责人和恢复动作 | 作为正交阻断,不覆盖主状态 |
|
|
||||||
|
|
||||||
## 4. 原图与当前流程的差异
|
|
||||||
|
|
||||||
### 4.1 “头程下单”范围不一致
|
|
||||||
|
|
||||||
原图第一段从“客户下单”一直画到“装柜完成”,把以下内容放在一个“国内头程”里:
|
|
||||||
|
|
||||||
```text
|
```text
|
||||||
下单 → 审核 → 到仓 → 测量 → 客户确认 → 报关资料 → 排柜 → 订舱 → 国内拖车 → 装柜
|
头程下单
|
||||||
|
客户下单 → 订单审核 → 国内到仓 → 测量/计费 → 费用确认(不阻断)→ 组托/待分柜
|
||||||
|
↓
|
||||||
|
海运(货柜)
|
||||||
|
分柜/订舱/拖车 → 拣货 → 装柜完成(LOADED)
|
||||||
|
├─ 报关协同:客户资料 → 报关行回执 → 客户确认/打回重做 → 全部客户通过
|
||||||
|
│ → 整柜资料交报关行 → 正式申报 → 查验或不查验放行
|
||||||
|
└─ 送港运输:离仓 → 送港 → 进港 → (容量不足时)甩柜/改配
|
||||||
|
↓
|
||||||
|
船舶实际开航后进入海运节点
|
||||||
|
↓
|
||||||
|
目的港清关/提柜 → 尾程入仓计划
|
||||||
|
↓
|
||||||
|
尾程入库和派送
|
||||||
|
海外接柜 → 拆柜实收 → 入库/库存 → 排车 → 出库 → 派送 → 签收/异常回写
|
||||||
```
|
```
|
||||||
|
|
||||||
当前流程文档把它拆为:
|
## 三、关键节点总表
|
||||||
|
|
||||||
- F01~F07:客户准入、下单、提交、审核和正式入库单;
|
| 编号 | 业务块 | 客户进度节点 | 后台管理节点 | 真实明细节点 | 完成结果或分支 |
|
||||||
- F08~F13:到仓、测量、费用、HOLD、一件代发组托;
|
|---|---|---|---|---|---|
|
||||||
- F14~F23:排柜、订舱、拖车、PDA、装柜、报关和国内出仓。
|
| F01-F07 | 头程下单 | 待下单、审核中、已审核 | 企业、订单、审核任务 | 填写、提交、补件、审核、生成入仓单 | 审核通过后进入国内履约 |
|
||||||
|
| F08-F10 | 头程下单 | 待到仓、测量中、待确认 | 入仓单、测量记录 | 到仓收货、扫码、称重、测量、审核 | 形成可排柜的实测数据 |
|
||||||
|
| F11-F13 | 头程下单 | 费用待确认、待组托、待分柜 | 费用版本、确认记录、托盘 | 计费、推送、客户确认、组托/封托 | 费用不阻断主链;装柜完成时未确认的当前有效费用按系统默认确认留痕 |
|
||||||
|
| F14-F20 | 海运(货柜) | 待分柜、订舱中、装柜准备/进行中 | 柜次、装柜计划、拖车任务、拣货任务 | 分柜、订舱、排车、拣货、拍照、铅封、数量核对 | 通过装柜门禁后才能完成装柜 |
|
||||||
|
| F21 | 海运(货柜) | 国内已装柜 | 装柜任务已完成 | 实际柜号、实装数量、装柜证据确认 | 产生 `LOADED`;同时启动报关协同和送港运输两条线 |
|
||||||
|
| F22 | 海运(货柜) | 报关确认中、待补资料、已提交报关 | 客户报关案例、报关批次 | 收集资料、发报关行、接收回执、客户确认或打回、重新上传和重发 | 柜内所有客户确认后,才能提交整柜资料并正式申报;客户确认不等于海关放行 |
|
||||||
|
| F23 | 海运(货柜) | 送港中、已进港、待开船、已甩柜 | 送港/拖车任务、港口和船次事实 | 离仓、送港、进港、甩柜、改配 | 与报关线独立,先后顺序不固定;进港不等于开船 |
|
||||||
|
| F24 | 海运(货柜) | 海运中 | 船次实际状态 | 承运船舶实际开航、船期回写 | 只有实际开航后进入海运节点 |
|
||||||
|
| F25-F27 | 海运(货柜) | 目的港处理中、待海外接柜 | 目的港清关/提柜、尾程订单、入仓计划 | 清关、提柜、创建尾程计划 | 形成海外接柜输入,不等于已经入库 |
|
||||||
|
| F28-F33 | 尾程入库和派送 | 待接柜、入库中、库存可用 | 接柜任务、入库单、库存 | 接柜、拆柜、收货核对、上架、盘点及库内服务 | 实收核平并入账后形成可用库存 |
|
||||||
|
| F34-F37 | 尾程入库和派送 | 待派送、出库处理中、已出库 | 排车、出库单、派送单 | 生成出库/派送单、拣货、复核、发车 | 出库和签收分开记录 |
|
||||||
|
| F38-F40 | 尾程入库和派送 | 派送中、已签收、异常 | 派送单、签收和异常单 | 送达、签收、拒收/部分拒收、退回、最终回写 | 异常保留原事实和恢复结果;全部有效分片完成后订单收口 |
|
||||||
|
|
||||||
这不是业务冲突,而是展示粒度不同。三大块可以保持“头程下单”这个产品名称,但后台必须保留 F01~F23 的对象和门禁。
|
## 四、必须保持的流程关系
|
||||||
|
|
||||||
### 4.2 客户确认在原图中像硬门禁,当前规则是并行事实
|
### 1. 装柜完成后是两条并行线
|
||||||
|
|
||||||
原图的顺序是:
|
`LOADED` 只表示货物已经实际装入集装箱并完成装柜记录。之后同时产生:
|
||||||
|
|
||||||
```text
|
- **报关协同线**:通知报关行,按客户/入仓码收集资料;报关行生成回执后发客户确认。客户打回时,只重做对应客户的资料、发送和回执,直到柜内所有客户都确认。全部确认后,将整柜资料交报关行确认,再记录正式申报和海关结果。
|
||||||
计算数据推客户 → 待客户确认 → 已确认数据 → 上传报关资料/排柜
|
- **送港运输线**:安排拖车、离仓、送港和进港;船舱不足时记录甩柜和改配。送港可以早于或晚于报关协同完成。
|
||||||
```
|
|
||||||
|
|
||||||
当前规则是:
|
两条线互不作为对方的完成前置。报关行回执、客户确认、正式申报、海关放行、进港、甩柜和实际开船是不同事实,不能合并成一个“报关完成”或“海运中”。
|
||||||
|
|
||||||
- F09/F10 负责实测和测量审核;
|
### 2. 费用确认不阻断装柜主链
|
||||||
- F11 负责费用试算、发布和客户确认;
|
|
||||||
- 费用确认是版本化并行事实,不自动阻断 `WAIT_SPLIT`;
|
|
||||||
- 目标规则为:装柜完成后,当前有效费用已由客户确认或系统默认确认时冻结;缺失费用不能伪造确认。
|
|
||||||
|
|
||||||
**本轮已确认:不阻断。** 装柜前显示“费用待确认”并行待办;装柜完成后未确认的执行系统默认确认,展示“费用已确认(装柜默认确认)”。已由客户确认的保留“客户确认”。确认对象须包含费用版本;实际计费数据、未确认费用、报关资料不互相代确认。缺少有效版本、未发送版本和部分装载范围见第 10 节。
|
费用确认是头程下单块中的并行事项。客户未确认时可以继续排柜、拣货和装柜;装柜完成后仍未确认的当前有效费用按系统默认确认,并保留“系统默认确认”的来源和时间。系统默认确认不能用于报关资料的客户确认。
|
||||||
|
|
||||||
### 4.3 报关资料从装柜完成后正式启动
|
### 3. 异常附着在主节点上
|
||||||
|
|
||||||
原图把“上传报关资料”放在排柜前,这与当前实际操作不一致。当前主流程是 `LOADED` 后通知报关行,再启动客户资料收集和回执确认:
|
查验、扣货、资料打回、甩柜、拒收和跨区回写失败都应保留发生在哪个主节点、责任人、处理结果和恢复时间。异常可以阻断对应分支,但不要用“异常”覆盖主流程已经发生的事实。
|
||||||
|
|
||||||
| 节点 | 发生时间 | 作用 |
|
## 五、三层节点的使用口径
|
||||||
|
|
||||||
|
| 层级 | 解决的问题 | 示例 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 装柜完成通知报关 | `LOADED` 事件产生后 | 以最终实装清单通知报关行,建立本柜报关批次 |
|
| 客户进度节点 | 客户现在处于哪一段、下一步做什么 | 报关确认中、送港中、海运中、入库中 |
|
||||||
| 客户资料与回执确认 | 通知报关后 | 收集每个客户资料,发送报关行;报关行出回执后发客户确认,客户打回则重新上传并生成新回执 |
|
| 后台管理节点 | 哪个业务对象正在处理、由谁处理 | 报关批次待客户确认、送港任务已进港、派送单已出库 |
|
||||||
| 整柜正式申报 | 柜内所有客户均确认后 | 将整柜资料提交报关行确认,由报关行正式申报;随后记录查验、不查验放行或其他海关结果 |
|
| 真实明细节点 | 事实何时发生、凭什么证明 | 上传资料、回执版本、客户确认、离仓时间、进港记录、签收凭证 |
|
||||||
|
|
||||||
柜前可以存在资料准备或历史附件,但不进入本柜正式回执确认轮次,也不能显示为已通知报关。客户资料确认、整柜正式申报、海关放行、送港和开船分别记录。
|
客户页面只展示与自身相关的进度和资料;后台详情保留完整明细;异常作为附加状态展示,不另建一条互相矛盾的主流程。
|
||||||
|
|
||||||
### 4.4 “装柜完成”和“国内出仓”必须分开
|
## 六、查找和修改规则
|
||||||
|
|
||||||
原图中“装柜完成”后直接进入报关、海运。当前流程明确区分两条线:
|
1. **改流程关系或客户节点**:先改本文件,再检查对应阶段文档的名称和链接。
|
||||||
|
2. **改单个阶段的字段、页面操作或权限**:只改对应的六份阶段文档和实际契约,不回写历史开发规划。
|
||||||
- `LOADED`:货物实际装入集装箱,装柜计划、PDA、照片、铅封和实装数量通过门禁;
|
3. **改报关资料、回执确认或船期价格**:以[报关资料与船期价格接入梳理](国内货柜履约/报关资料与船期价格接入梳理.md)为专题入口,同时核对本文件中的 F22/F23 关系。
|
||||||
- 报关线:装柜后通知报关行,收集并发送客户资料,处理报关行回执、客户确认/打回,所有客户确认后再提交整柜资料,记录查验或放行;
|
4. **开发规划、进度、开工门禁、验收任务、旧审计和优化方案**:保留原文作为追溯资料,标记为冻结,不作为当前流程入口。
|
||||||
- 送港线:装柜后安排拖车、送港、进港;即使先送港,也不能把“已进港”当成已开船;容量不足时记录甩柜并保留换船历史;
|
5. **新增或调整节点时**:先判断它属于客户进度、后台对象还是明细事实;只有确实改变三大块关系时才改总表,避免在多份文档复制同一段流程。
|
||||||
- 海运实际节点:只有承运船舶真实开航后,才从送港/报关结果进入海运在途节点。
|
|
||||||
|
|
||||||
这几类事实可以位于同一个“海运(货柜)”业务块,但客户当前节点不能全部叫“海运中”:报关处理中、送港中、已进港、甩柜和待开船分别展示,实际开船后才显示海运在途。预计 ETD 不能自动点亮已开船节点。
|
|
||||||
|
|
||||||
### 4.5 “清关/提柜/到仓”在原图中被压成连续动作
|
|
||||||
|
|
||||||
原图的“清关 → 海外提柜/送仓 → 入库”容易让人误以为提柜就等于到仓。当前规则区分:
|
|
||||||
|
|
||||||
- `PICKUP_READY`:目的港清关完成并可提柜;
|
|
||||||
- `PICKED_UP`:码头实际提柜;
|
|
||||||
- 预计到仓:平台按柜级日期维护并锁定;
|
|
||||||
- 实际到仓:海外 PDA 第一次开始收货时产生的 `receiving_at`;
|
|
||||||
- `INBOUND_COMPLETED`:全柜实收核平、库存入账和托盘/库位完成。
|
|
||||||
|
|
||||||
因此三大块里可以展示“海运中/待入库”,但不能用“已提柜”推进客户的“已入库”。
|
|
||||||
|
|
||||||
### 4.6 尾程入库和派送的细节比原图更多
|
|
||||||
|
|
||||||
原图的“入库”覆盖了待拆柜、海外拆柜收货和入库;“派送”覆盖了转派送、出库、拣货、发车和签收。当前流程还必须保留:
|
|
||||||
|
|
||||||
- F26/F27:跨区尾程订单和入仓计划转换;
|
|
||||||
- F30:库存余额、托盘、库位和库存流水;
|
|
||||||
- F31~F33:盘点、移库、暂扣、换标、转运、废弃和退货库存;
|
|
||||||
- F35:排车转换为车辆级出库单和目的地级派送单;
|
|
||||||
- F37:一件代发、换标、转运和退货独立出库;
|
|
||||||
- F39:拒收/部分拒收后的异常退回和原出库库存恢复。
|
|
||||||
|
|
||||||
这些节点可以在客户页面折叠到“入库处理中”“库存服务”“派送处理中”,但不能从后台真实明细中删除。
|
|
||||||
|
|
||||||
### 4.7 原图的异常列需要变成可执行的阻断模型
|
|
||||||
|
|
||||||
原图只有“查验/甩柜”“查验/扣货”“拒收、部分拒收”等零散异常。当前统一模型要求每个异常带有:
|
|
||||||
|
|
||||||
```text
|
|
||||||
blockerCode / 责任人 / 恢复动作 / 是否可重试 / 业务号 / 发现时间 / 证据
|
|
||||||
```
|
|
||||||
|
|
||||||
例如:
|
|
||||||
|
|
||||||
| 原图异常 | 当前应落的异常模型 |
|
|
||||||
|---|---|
|
|
||||||
| 查验/甩柜 | `EXTERNAL_WAIT` 或 `BUSINESS_HOLD`,关联柜次、船节点、资料和处理人 |
|
|
||||||
| 查验/扣货 | `BUSINESS_HOLD`,阻断后续物理履约,解除必须有凭证 |
|
|
||||||
| PDA 无法提交 | `STATE_NOT_READY`、`VERSION_CONFLICT` 或 `ASYNC_RETRYABLE`,不能只显示“失败” |
|
|
||||||
| 拒收/部分拒收 | F39 异常单,退回数量来自原出库事实,并恢复对应库存 |
|
|
||||||
| 跨区消费失败 | `ASYNC_RETRYABLE` 或 `ASYNC_PERMANENT`,保留 Inbox/Outbox 和死信证据 |
|
|
||||||
|
|
||||||
## 5. 客户进度投影
|
|
||||||
|
|
||||||
客户看到的是“当前进度”和“下一步动作”,后台继续保留各单据自己的精确状态。客户进度不能覆盖订单、入库单、柜次、尾程订单或派送单的权威状态。
|
|
||||||
|
|
||||||
| 权威事实 | 客户进度展示 | 下一步动作 | 说明 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| `DRAFT` | 草稿 | 完善并提交订单 | 不生成入仓码,不进入物理履约 |
|
|
||||||
| `SUBMITTED/PENDING_REVIEW` | 待平台审核 | 等待审核或补充资料 | 页面展示阻断原因,不允许客户修改受限字段 |
|
|
||||||
| `APPROVED/WAIT_MEASURE` | 待入仓/待测量 | 送仓或等待仓库测量 | 正式入库单和入仓码已存在 |
|
|
||||||
| `MEASURING/MEASURE_PENDING` | 测量处理中 | 等待测量审核 | 设备原值、人工修正和证据分开保存 |
|
|
||||||
| `WAIT_PALLETIZE` | 待组托 | 一件代发国内清点、归托、封托 | 仅一件代发路径使用 |
|
|
||||||
| `WAIT_SPLIT` | 待分柜 | 等待排柜或平台安排柜次 | 费用是并行事实,不把订单退回计费状态 |
|
|
||||||
| `LOADING` | 装柜中 | 等待 PDA 拣货、证据和装柜完成 | 不能显示为已装柜 |
|
|
||||||
| `LOADED` | 国内已装柜 | 同时处理“报关确认中”和“送港中”两条子进度 | 真实柜号、实装快照和证据已冻结 |
|
|
||||||
| `DEPARTED_WAREHOUSE` / `PORT_RECEIVED` | 已送港/待开船 | 查看港口、船次和甩柜状态 | 已进港不等于已开船 |
|
|
||||||
| `VESSEL_DEPARTED` / 海运实际节点 | 海运中 | 查看船节点和目的港进度 | 只有真实开船后才进入;不是海外已入仓 |
|
|
||||||
| `PENDING_ASSIGNMENT/INBOUND_PLANNED` | 海外待接柜 | 等待提柜、到仓和接柜 | 已建尾程单不代表已有库存 |
|
|
||||||
| `INBOUND_COMPLETED` | 海外已入仓 | 查看库存或发起后续服务 | 实收和库存流水完成 |
|
|
||||||
| `WAIT_OUTBOUND/OUTBOUNDED` | 出库处理中/已出库 | 等待派送或查看出库结果 | 出库和签收必须分开 |
|
|
||||||
| `DELIVERING` | 派送中 | 等待签收资料 | 仅发车不能完成派送 |
|
|
||||||
| `DELIVERED` | 已签收 | 等待其他分片/其他目的地完成 | 单票派送完成,不代表整单完成 |
|
|
||||||
| Order `COMPLETED` | 全部完成 | 无 | 同一订单全部有效入库单均完成后才推进 |
|
|
||||||
|
|
||||||
异常、待补件、外部等待、异步处理中应作为同一进度下的阻断徽标或下一动作,不得把“异常”替代主状态。
|
|
||||||
|
|
||||||
## 6. 节点总表
|
|
||||||
|
|
||||||
### 6.1 阶段一:客户与订单(F01~F07)
|
|
||||||
|
|
||||||
| 编号 | 客户进度 | 后台对象/状态 | 明细动作 | 关键输出与下一节点 | 主要门禁/异常 | 责任端 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| F01 | 待准入 | 企业资料、成员和资格 | 注册、维护企业资料、上传资质、平台审核 | 企业具备下单资格 | 资料未审核只能保存,不能提交订单 | Client/Admin/IAM |
|
|
||||||
| F02 | 可下单准备 | 仓库、渠道、价格、目的仓主数据 | 维护国内收货仓、目的仓、渠道、价格和客户资格 | 下单页读取当前有效主数据 | 主数据停用、Finance 不可用或权限不足时提交失败 | Admin/Warehouse/Finance |
|
|
||||||
| F03 | 草稿 | Order `DRAFT` | 单票选择履约类型、交货方式、仓库、渠道、目的地和货物 | 草稿订单,可继续编辑 | 客户范围来自登录态;不接受页面传入客户 ID 作为授权 | Client/Order |
|
|
||||||
| F04 | 批量草稿 | 批量导入任务 | 下载动态模板、上传 XLSX、逐行校验 | 部分成功或整批原子创建 `DRAFT` | 模板过期、行错误、文件超限;不绕过提交门禁 | Client/Order |
|
|
||||||
| F05 | 待审核 | Order `SUBMITTED/PENDING_REVIEW` | 客户提交订单,服务端重查资格、资金、仓库、渠道和货物 | 生成固定 `inboundCode` 和时间线 | 重复提交返回原结果,不重复生成入仓码 | Client/Order/Finance |
|
|
||||||
| F06 | 草稿/可取消 | Order 编辑或取消动作 | 修改草稿、按状态取消、查看取消原因 | 更新草稿或 `CANCELLED` | 已进入物理履约后不能客户自助取消 | Client/Order |
|
|
||||||
| F07 | 已审核 | Order `APPROVED`;Firstleg 正式入库单 | 平台审核、有限申报修订、创建正式入库单和箱码 | 固定 `inboundCode`,进入 `WAIT_MEASURE` | 不得修改客户、订单号、入仓码、货物行身份 | Admin/Order/Firstleg |
|
|
||||||
|
|
||||||
### 6.2 阶段二:国内到仓、测量与组托(F08~F13)
|
|
||||||
|
|
||||||
| 编号 | 客户进度 | 后台对象/状态 | 明细动作 | 关键输出与下一节点 | 主要门禁/异常 | 责任端 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| F08 | 待入仓/到仓中 | 国内入库单、稳定箱码 | 按入仓码定位,逐箱核对到货、缺箱、多箱和错码 | 实际到仓箱码事实 | 不得临时造箱码;错码先隔离 | Admin/仓库/Firstleg |
|
|
||||||
| F09 | 测量处理中 | 测量批次和称重证据 | 设备或人工采集长宽高、重量、图片、OCR 原值和修正原因 | `MEASURE_PENDING` 测量批次 | 重复事件幂等;有效称重证据和单位必须完整 | 设备/Admin/Firstleg/File |
|
|
||||||
| F10 | 待审核/待分柜 | 测量审核、计费来源 | 审核箱数、尺寸、重量、证据,生成初始计费快照 | 普通进入 `WAIT_SPLIT`;一件代发进入 `WAIT_PALLETIZE` | 审核不通过需回到测量修正;不能直接放行带病数据 | Admin/Firstleg |
|
|
||||||
| F11 | 费用处理中 | 费用版本、价格簿、确认来源 | 试算、调整、审核、发布、客户确认或装柜默认确认 | 形成可追溯费用版本和确认来源 | 费用不阻断 `WAIT_SPLIT`;客户未确认不阻断排柜/装柜,装柜完成后只确认对应已装范围的当前有效已发布版本 | Admin/Client/Finance |
|
|
||||||
| F12 | 国内异常/HOLD | HOLD 记录和解除记录 | 发起扣货、上传凭证、按权限解除 | 阻断或恢复后续物理履约 | 已拣货、装柜或出仓后禁止普通 HOLD/解除 | Admin/Firstleg/File |
|
|
||||||
| F13 | 一件代发待组托 | `WAIT_PALLETIZE`、DP 托盘 | PDA 扫箱、清点 SKU、归托、封托,形成来源托盘 | 全部封托核平后进入 `WAIT_SPLIT` | 开放托盘、SKU 不完整、数量不一致时不能完成 | PDA/Admin/Firstleg |
|
|
||||||
|
|
||||||
### 6.3 阶段三:国内分柜、装柜与出仓(F14~F23)
|
|
||||||
|
|
||||||
| 编号 | 客户进度 | 后台对象/状态 | 明细动作 | 关键输出与下一节点 | 主要门禁/异常 | 责任端 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| F14 | 待分柜 | 模拟柜、`containerBookingId`、预装计划 | 创建模拟柜、选择柜型/容量/限重,智能或人工排柜 | 柜次、预装明细和分配版本 | 校验剩余数量、柜型、重量、渠道、组锁和版本 | Admin/Firstleg |
|
|
||||||
| F15 | 待订舱 | 订舱草稿 | 维护提单号、船名、航次、ETD/ETA、运输条款和附件 | 订舱 `RELEASED` | 资料不完整不得放舱;订舱不替代柜次 | Admin/Firstleg |
|
|
||||||
| F16 | 待拖车/拖车中 | 国内订舱级拖车单 | 选择供应商、维护计划装柜时间、提柜/送柜资料和邮件 | 拖车任务及费用事实 | 不与目的港拖车或海外派送排车混用;发信失败可重试 | Admin/Firstleg |
|
|
||||||
| F17 | 待真实柜号 | 柜次与订舱分配 | 关联放舱需求,录入并校验真实 `containerNo` | 柜次具备正式作业身份 | 柜号唯一、柜型/容量/仓库/渠道必须一致 | Admin/Firstleg |
|
|
||||||
| F18 | 预装确认 | 预装计划 `EDITING/LOADING` | 核对入仓码、箱数、托盘,确认预装,受控增减明细 | PDA 任务和任务版本 | 已拣数量不可减少;变更使旧 PDA 版本失效 | Admin/Firstleg |
|
|
||||||
| F19 | 装柜中 | PDA 拣货任务 | 领取任务、按箱码扫描;一件代发按 DP 整托扫描;批量提交 | 扫描草稿和服务端拣货结果 | `S0500`、批量契约、版本冲突、库存快照或回滚失败均阻断终态 | 国内 PDA/Firstleg |
|
|
||||||
| F20 | 装柜中 | 装柜证据、铅封 | 上传空仓、半仓、满仓、锁仓、带锁码照五类证据及锁码文本 | 冻结证据和铅封事实 | 每类至少一张有效照片;错误图片作废不硬删 | PDA/Admin/File |
|
|
||||||
| F21 | 国内已装柜 | 装柜计划 `COMPLETED`、入库单 `LOADED` | 服务端复核实装数量、柜号、证据、异常和版本,必要时执行一次分片;对已装范围触发费用默认确认,并同时通知报关线和送港线 | 最终实装箱码/托盘/SKU 快照,写跨区 Outbox,费用保留 `SYSTEM_AUTO_AT_LOADED` 或客户确认来源 | 数量守恒;有未解决异常、缺证据或缺真实柜号时拒绝;无有效费用版本不得伪造确认;不等待报关客户确认或送港完成 | PDA/Admin/Firstleg |
|
|
||||||
| F22 | 报关确认中/待重做/查验中 | 报关资料包、客户确认轮次、整柜申报批次 | `LOADED` 后通知报关行;逐客户收集资料、发送报关行、接收回执、发客户确认;客户打回则重传资料并生成新回执;全部客户通过后提交整柜资料,记录正式申报、查验或放行 | 客户资料确认、整柜正式申报、查验/放行事实 | 客户未确认只阻断报关线的整柜提交,不阻断送港;回执上传不等于客户确认;查验/放行不回写覆盖客户确认轮次 | Client/Admin/Firstleg/File |
|
|
||||||
| F23 | 送港中/已进港/甩柜待处理 | 送港任务、港口进场、船次分配、甩柜记录 | `LOADED` 后独立安排拖车、送港和进港;容量不足时记录甩柜、改配船次和客户通知;实际离仓只记录事实 | `DEPARTED_WAREHOUSE`、`PORT_RECEIVED`、`ROLLED_OVER`,满足条件后等待实际开船 | 不等待客户报关确认才允许送港;进港不等于开船;预计 ETD 不得推进海运在途 | Admin/Firstleg/Carrier |
|
|
||||||
|
|
||||||
### 6.4 阶段四:海运、目的港与尾程计划(F24~F27)
|
|
||||||
|
|
||||||
| 编号 | 客户进度 | 后台对象/状态 | 明细动作 | 关键输出与下一节点 | 主要门禁/异常 | 责任端 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| F24 | 待开船/海运中 | `VESSEL_DEPARTURE`、`CarrierScheduleQuery`、标准船节点 | 送港和报关条件具备后,只有承运船舶实际开航才写入海运起点;继续保存装船、离港、在途、到港等预计/实际时间 | `VESSEL_DEPARTED` 后的海运轨迹事实 | 只用 `actualAt` 推进;甩柜、查验、未放行或港口异常保持独立阻断;实际还空后停止查询 | Admin/Firstleg/Integration |
|
|
||||||
| F25 | 目的港处理中 | 清关、码头拖车、提柜、预计到仓、还空 | 维护清关资料、选择海外车队、发送提柜邮件、确认提柜和还空 | `PICKUP_READY`、`PICKED_UP`、预计到仓和还空事实 | 预计到仓不等于实际到仓;车队邮件顺序投递且可重试 | Admin/Firstleg |
|
|
||||||
| F26 | 海外待接柜 | 尾程订单、`PENDING_ASSIGNMENT`、`FIRST_LEG` 在途库存 | 生产 `FIRST_LEG_LOADING_PLAN_COMPLETED` V3,Event Bridge 投递,Lastleg Inbox 幂等消费 | 同柜尾程订单和冻结实装快照 | 事件 ID、版本、来源、哈希和业务键校验;整柜事务失败则整体回滚 | Firstleg/Event Bridge/Lastleg |
|
|
||||||
| F27 | 待生成入仓计划 | 柜级工作台、`INBOUND_PLANNED` | 按 `sourceContainerBookingId` 聚合,维护每票托数/属性,整柜原子转换 | 每票入仓计划、预计到仓快照和资源锁 | 不能用前端分页拼柜;预计到仓缺失或计划不全时阻断 | 海外 Admin/Lastleg/Warehouse Overseas |
|
|
||||||
|
|
||||||
### 6.5 阶段五:海外接柜、入仓与库存服务(F28~F33)
|
|
||||||
|
|
||||||
| 编号 | 客户进度 | 后台对象/状态 | 明细动作 | 关键输出与下一节点 | 主要门禁/异常 | 责任端 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| F28 | 待接柜/接柜中 | 柜级收货会话 | 海外 PDA 认领待收柜、核对柜号和国内装柜照片、上传海外签收照片 | 收货会话开始,产生实际到仓时间候选 | 仓库由 Token 固定;PDA 不接收仓库 ID,不允许切换柜号 | 海外 PDA/Lastleg |
|
|
||||||
| F29 | 入仓处理中 | 各入仓码实收批次 | FBA 按箱数、海外仓逐箱、Dropship 按来源托盘/SKU 实收 | 每票实收数量和异常差异 | 不同收货形态不能混用;差异必须有原因和证据 | 海外 PDA/Lastleg |
|
|
||||||
| F30 | 海外入仓 | 收货会话、库存流水、`INBOUND_COMPLETED` | 卸柜、核平所有计划、写库存余额/位置/托盘、发布整柜完成事件 | 可用海外库存、实际到仓时间和国内回写 | 全柜全部计划核平后只发布一次完成事件 | 海外 PDA/Lastleg/Warehouse Overseas |
|
|
||||||
| F31 | 库存可用 | 库存、托盘、库位、盘点流水 | 查询、盘点、整托移库、托盘组拆换绑、库存调整 | 可追溯库存余额和位置事实 | 客户、仓库、托盘和库存来源严格隔离;库存变更必须有流水 | Admin/PDA/Lastleg/Warehouse Overseas |
|
|
||||||
| F32 | 库存暂扣 | 暂扣记录、库存资格 | 对单票库存发起暂扣、解除和查看原因 | 阻断或恢复排车/出库资格 | 暂扣只阻断对应票,不影响同柜其他客户;必须保留凭证和审计 | Admin/Lastleg/File |
|
|
||||||
| F33 | 库内服务中 | 换标、转运、废弃、退货库存单据 | 客户申请、平台审核、PDA/仓库执行、生成新库存或待出库资格 | 受控进入排车或独立出库 | 不得把库存服务直接改成派送完成;退货库存与异常退回库存分开 | Client/Admin/PDA/Lastleg |
|
|
||||||
|
|
||||||
### 6.6 阶段六:海外排车、出库、派送与收口(F34~F40)
|
|
||||||
|
|
||||||
| 编号 | 客户进度 | 后台对象/状态 | 明细动作 | 关键输出与下一节点 | 主要门禁/异常 | 责任端 |
|
|
||||||
|---|---|---|---|---|---|---|
|
|
||||||
| F34 | 待排车 | 排车草稿/正式排车、库存锁 | 选择合格托盘、车型、目的地,创建预排并转正式排车 | `PENDING_DEPARTURE` 排车单 | 服务端重查库存、托盘、客户、仓库和草稿锁,不能跨客户拼单 | 海外 Admin/Lastleg |
|
|
||||||
| F35 | 待出库 | 车辆级出库单、目的地级派送单 | 排车转派送,生成 `WAIT_OUTBOUND` 和 `WAIT_DELIVERY` | 出库/派送单、费用和 BOL 绑定 | 同一排车幂等;未转派送不能发车;费用不能重复生成 | 海外 Admin/Lastleg |
|
|
||||||
| F36 | 拣货/待发车 | PDA 拣货任务、排车状态 | 扫托盘、核对箱数、完成拣货、执行发车 | `READY_TO_DEPART` → `DEPARTED`,出库 `OUTBOUNDED` | 不重复扣库存;库存版本冲突、漏托、车辆资料缺失时阻断发车 | 海外 PDA/Lastleg |
|
|
||||||
| F37 | 独立出库 | 一件代发、换标、转运、退货出库单 | 按箱唛/SKU/托盘执行独立出库,完成数量核平 | 独立出库 `OUTBOUNDED` | 整托失败整托回滚;退货出库不能与异常退回恢复库存混用 | Admin/海外 PDA/Lastleg |
|
|
||||||
| F38 | 派送中/已签收 | 派送单 `WAIT_DELIVERY/DELIVERING/DELIVERED` | 开始派送、上传签收资料、按目的地单票完成派送 | `DELIVERED`,写 `OVERSEAS_DELIVERY_COMPLETED` | 无有效签收资料不能人工完成;一车多目的地不能互相代完成 | Admin/Client/Lastleg/File |
|
|
||||||
| F39 | 异常退回 | 异常单、原出库来源、退回入库 | 创建拒收/部分拒收,按原出库事实选择退回数量,重新入仓 | 派送 `RETURNED`,库存恢复并写流水 | 退回数量不得超过原拣货;库存恢复、异常完成和回写必须同事务 | Admin/Lastleg/Warehouse Overseas |
|
|
||||||
| F40 | 已完成/需回访 | 客户回访、国内入库单/Order 完成 | 记录回访和附件;消费海外完成事件,按全部有效入库单推进国内状态 | 入库单 `DELIVERED`;全部完成后 Order `COMPLETED` | 重复事件不重复推进;部分装载或其他目的地未完成时订单不能完成 | Admin/客服/Firstleg/Order |
|
|
||||||
|
|
||||||
## 7. 关键业务对象与数据交接
|
|
||||||
|
|
||||||
### 7.1 编号关系
|
|
||||||
|
|
||||||
```text
|
|
||||||
订单号 orderNo
|
|
||||||
└─ 入仓码 inboundCode(订单提交时生成,贯穿国内与海外)
|
|
||||||
└─ 国内入库单 sourceInboundId
|
|
||||||
├─ 稳定箱码 boxCode / 箱唛
|
|
||||||
├─ 柜次 containerBookingId / cabinetNo
|
|
||||||
│ └─ 真实集装箱号 containerNo
|
|
||||||
├─ 海外尾程订单 sourceContainerBookingId + sourceInboundId
|
|
||||||
│ └─ 入仓计划 planNo
|
|
||||||
│ └─ 库存、托盘、库位
|
|
||||||
└─ 海外出库单 outboundNo
|
|
||||||
└─ 派送单 deliveryNo
|
|
||||||
```
|
|
||||||
|
|
||||||
业务人员使用业务编号定位;内部数据库 ID 只用于接口关联和诊断,不回退到页面展示。
|
|
||||||
|
|
||||||
### 7.2 服务权威边界
|
|
||||||
|
|
||||||
| 事实 | 权威服务 | 其他服务如何使用 |
|
|
||||||
|---|---|---|
|
|
||||||
| 客户、成员、登录态、权限 | Auth/IAM | 其他服务只消费认证身份和授权结果 |
|
|
||||||
| 订单、订单主状态、客户申报快照 | Order | Firstleg 通过固定 `inboundCode` 建立履约关系 |
|
|
||||||
| 国内入库、箱码、测量、柜次、订舱、拖车、装柜、报关、国内出仓 | Firstleg | Admin/Client/PDA 通过正式 API 操作 |
|
|
||||||
| 国内/海外共享仓库主数据 | Warehouse | 海外服务引用 `warehouseId`,不复制主档 |
|
|
||||||
| 海外尾程订单、计划、库存、排车、出库、派送 | Lastleg | 海外 Gateway 暴露给 Admin/Client/PDA |
|
|
||||||
| 海外库位、实物托盘、资源锁 | Warehouse Overseas | Lastleg 通过契约申请和引用 |
|
|
||||||
| 费用、资金和账单 | Finance | 订单和测量只保存费用来源/版本 |
|
|
||||||
| 文件元数据、文件归属、权限和哈希 | File | 业务单据只保存合法文件引用 |
|
|
||||||
|
|
||||||
### 7.3 跨区域交接
|
|
||||||
|
|
||||||
| 交接事实 | 事件/方式 | 结果 |
|
|
||||||
|---|---|---|
|
|
||||||
| 国内装柜完成 | `FIRST_LEG_LOADING_PLAN_COMPLETED` V3 Outbox → Lastleg Inbox | 创建 `PENDING_ASSIGNMENT` 尾程订单、冻结实装快照和 `FIRST_LEG` 在途库存 |
|
|
||||||
| 国内实际离仓/送港 | `DEPARTED_WAREHOUSE`、`PORT_RECEIVED` | 保存仓库离开和港口进场事实;不直接进入海运在途 |
|
|
||||||
| 船舶实际开航 | `VESSEL_DEPARTED` 船节点事实 | 启动海运船节点查询;不直接生成海外库存 |
|
|
||||||
| 海外卸柜完成 | `OVERSEAS_CONTAINER_UNLOADED` | 写实际到仓/卸柜事实、还空预警和相关回写 |
|
|
||||||
| 海外派送签收 | `OVERSEAS_DELIVERY_COMPLETED` | Firstleg 推进对应入库单 `DELIVERED`;全部有效入库单完成后 Order `COMPLETED` |
|
|
||||||
|
|
||||||
所有事件必须包含事件 ID、版本、来源/目标区域、业务主键、聚合版本、Payload 哈希、幂等记录、重试和死信信息。浏览器不直接伪造跨区事件。
|
|
||||||
|
|
||||||
## 8. 统一门禁与异常模型
|
|
||||||
|
|
||||||
### 8.1 阶段交接硬门禁
|
|
||||||
|
|
||||||
| 交接 | 必须满足 |
|
|
||||||
|---|---|
|
|
||||||
| 订单 → 国内测量 | 企业资格、订单审核、正式入库单、固定入仓码和稳定箱码 |
|
|
||||||
| 测量 → 分柜 | 测量审核通过、数量和证据完整、无有效 HOLD;一件代发完成封托 |
|
|
||||||
| 分柜 → PDA | 柜次/预装计划、真实柜号、订舱需求、任务版本和数量分配完整 |
|
|
||||||
| PDA → `LOADED` | 箱/整托核平、原子批量成功、无未解决异常、空仓/半仓/满仓/锁仓/带锁码照五类证据和锁码文本有效 |
|
|
||||||
| `LOADED` → 报关协同 | 最终实装快照、报关批次和通知报关事件已生成;不等待送港,也不要求客户先确认 |
|
|
||||||
| `LOADED` → 送港 | 真实柜号、订舱/拖车任务和装柜物理门禁通过;不等待客户报关确认 |
|
|
||||||
| 客户资料确认 → 整柜正式申报 | 柜内所有客户均确认当前报关行回执;每次打回都完成新资料版本和新回执轮次 |
|
|
||||||
| 送港/报关 → 船舶开航 | 已进港、承运船次有效,且港口/船公司要求的报关结果和 HOLD 条件满足;任一支线先完成不改变另一支线状态 |
|
|
||||||
| `LOADED` → 海外尾程 | 真实柜次、最终实装快照、事件身份和跨区契约校验通过;先创建尾程订单和在途快照 |
|
|
||||||
| 船舶开航 → 海运事实 | 只接受承运方真实 `actualAt`;预计 ETD、已送港或已进港不得点亮海运在途 |
|
|
||||||
| 尾程订单 → 入仓计划 | 整柜聚合完整、预计到仓日期一致、每票计划和海外资源可处理 |
|
|
||||||
| 入仓 → 可用库存 | 柜级签收、实收差异处理、库存流水、托盘/库位和全部计划核平 |
|
|
||||||
| 排车 → 发车 | 出库/派送单已生成、库存锁有效、PDA 拣货核平、车辆资料完整 |
|
|
||||||
| 派送 → `DELIVERED` | 对应派送单有效签收资料已保存,来源和目的地匹配 |
|
|
||||||
|
|
||||||
### 8.2 统一阻断字段
|
|
||||||
|
|
||||||
每个不可继续节点至少返回:
|
|
||||||
|
|
||||||
```text
|
|
||||||
blockerCode
|
|
||||||
category
|
|
||||||
message
|
|
||||||
ownerRole
|
|
||||||
recoveryAction
|
|
||||||
deepLink
|
|
||||||
retryable
|
|
||||||
detectedAt
|
|
||||||
```
|
|
||||||
|
|
||||||
建议分类:`DATA_MISSING`、`STATE_NOT_READY`、`PERMISSION_DENIED`、`VERSION_CONFLICT`、`RESOURCE_CONFLICT`、`BUSINESS_HOLD`、`EXTERNAL_WAIT`、`ASYNC_PROCESSING`、`ASYNC_RETRYABLE`、`ASYNC_PERMANENT`、`IRREVERSIBLE`。
|
|
||||||
|
|
||||||
### 8.3 不可逆节点
|
|
||||||
|
|
||||||
| 节点 | 处理原则 |
|
|
||||||
|---|---|
|
|
||||||
| 已产生实际拣货/装柜事实 | 不通过普通取消或状态回退抹除历史,走专用异常或线下处理 |
|
|
||||||
| `LOADED` | 国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED` |
|
|
||||||
| 国内实际离仓 | 只能追加新的实际节点或异常事实,不回写成未离仓 |
|
|
||||||
| 海外库存已入账 | 通过库存事务、退回或调整单据处理,不直接改余额 |
|
|
||||||
| 已发车/已出库 | 不能靠取消恢复库存,必须走对应异常流程 |
|
|
||||||
| 已签收 | 不提供普通人工完成/撤销,异常需关联原派送事实 |
|
|
||||||
|
|
||||||
## 9. 开发拆分建议
|
|
||||||
|
|
||||||
### 第一组:先做国内 `LOADED` 纵向切片
|
|
||||||
|
|
||||||
覆盖 `F14 → F23`,同时补齐其上游最小输入 `F08 → F13`:
|
|
||||||
|
|
||||||
- 修复国内 PDA `pick` 的 `S0500`;
|
|
||||||
- 实现原子批量提交、幂等、版本冲突、库存快照和整批回滚;
|
|
||||||
- 完成空仓、半仓、满仓、锁仓、带锁码照五类证据、锁码文本、作废和证据门禁;
|
|
||||||
- 完成 `LOADED` 后通知报关、客户资料收集、报关行回执、客户确认/打回重做、整柜正式申报、查验/放行和送港/甩柜/开船两条线;
|
|
||||||
- 实现费用默认确认:只针对已装范围的当前有效已发布版本,区分客户确认与 `SYSTEM_AUTO_AT_LOADED`,无有效版本不得伪造确认;
|
|
||||||
- 真实 HTTP、PDA 真机和客户隔离验收通过后,才标记国内切片完成。
|
|
||||||
|
|
||||||
### 第二组:并行冻结跨区契约
|
|
||||||
|
|
||||||
只冻结节点、事件和消费者需要的最小合同,不等待海外所有页面完成:
|
|
||||||
|
|
||||||
- `FIRST_LEG_LOADING_PLAN_COMPLETED` 的事件版本、业务键、实装快照和幂等;
|
|
||||||
- Lastleg `PENDING_ASSIGNMENT`、柜级聚合和 `INBOUND_PLANNED` 转换;
|
|
||||||
- `OVERSEAS_CONTAINER_UNLOADED` 与 `OVERSEAS_DELIVERY_COMPLETED` 的回写边界;
|
|
||||||
- Gateway、服务身份、重试和死信证据。
|
|
||||||
|
|
||||||
### 第三组:再做海外接柜到派送
|
|
||||||
|
|
||||||
按 `F28 → F30 → F34 → F38 → F40` 贯通主链,再按需接入 `F31~F33` 和 `F39` 分支。海外船节点 `F24~F25` 与尾程作业保持独立状态,避免用“已清关/已提柜”冒充“已入仓”。
|
|
||||||
|
|
||||||
## 10. 进入开发前需要确认的事项
|
|
||||||
|
|
||||||
| 优先级 | 事项 | 不确认的影响 | 建议负责人 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| P0 | 全买单/退税/混合柜的客户确认、正式申报和海关结果 | 影响报关行回执轮次、客户打回、整柜提交、查验/放行和验收 | 产品 + 报关运营 |
|
|
||||||
| P0 | 部分装载、换柜、拆柜的数量/UOM 和分片规则 | 影响子入库单、实装快照、库存和最终完成 | 产品 + Firstleg |
|
|
||||||
| P0 | 国内报关资料包、回执轮次和客户确认的生命周期 | 影响 File 类型、权限、报送批次、打回重做和整柜正式申报 | 产品 + 报关运营 + File |
|
|
||||||
| P0 | 送港、进港、甩柜和实际开船的事实模型 | 影响送港线、船次改配、客户通知和海运起点;不反向阻断 `LOADED` | 产品 + 船务运营 |
|
|
||||||
| P0 | 跨客户申报组是否允许合并、谁有授权、如何拆回客户 | 影响数据隔离、报关导出和回执归属 | 产品 + 权限负责人 |
|
|
||||||
| P1 | 最晚提交时间、未绑定资料保留期和换柜后的资料重绑 | 影响资料包提醒和异常任务 | 产品 + 运营 |
|
|
||||||
| P1 | 批量价格展示、可比口径、报价失效和导出权限 | 影响价格快照、客户隔离和批量接口 | 产品 + 财务 |
|
|
||||||
| P2 | 正式结关、退税自动化和供应商船期自动查询范围 | 影响海外/国内边界和后续自动化排期 | 产品 + 船务/报关 |
|
|
||||||
|
|
||||||
未确认事项不得写成“已完成”或纳入当前切片的验收承诺;可以保留为阻断项、人工协同或后续扩展。
|
|
||||||
|
|
||||||
## 11. 评审结果记录
|
|
||||||
|
|
||||||
本版相对原图的主要调整:
|
|
||||||
|
|
||||||
- 统一使用 `F01~F40`,去掉重复编号和阶段内跳号造成的歧义;
|
|
||||||
- 将“客户进度”“后台对象/状态”“明细动作”“输出/门禁”拆开;
|
|
||||||
- 将海运、目的港、海外接柜、库存、排车、派送拆成不同节点;
|
|
||||||
- 增加编号、单据、事件和数据交接;
|
|
||||||
- 将异常从单一“异常节点”改为分类阻断和恢复动作;
|
|
||||||
- 明确 `LOADED`、`DEPARTED_WAREHOUSE`、`INBOUND_COMPLETED`、`OUTBOUNDED`、`DELIVERED`、`COMPLETED` 的区别;
|
|
||||||
- 保留一件代发、部分装载、跨客户隔离、库存服务和异常退回等分支;
|
|
||||||
- 将客户进度定义为只读投影,避免建立第二套可写全流程状态机。
|
|
||||||
|
|
||||||
本版可以作为下一轮产品、运营、仓库和技术联合评审的主表。评审时先逐行确认阶段出口、权威服务和硬门禁,再进入页面字段、API、数据库和验收任务拆分。
|
|
||||||
|
|
||||||
## 12. 原图标签到新节点的迁移摘要
|
|
||||||
|
|
||||||
原图标签不直接作为新节点名。以下映射用于评审旧页面、旧流程图和现有任务,标记“拆分”的标签必须回到对应 F 节点确认状态、输出和责任人。
|
|
||||||
|
|
||||||
| 原图标签/动作 | 新节点 | 处置 | 说明 |
|
|
||||||
|---|---|---|---|
|
|
||||||
| 客户下单、委托下单、快速下单 | F03、F05 | 合并并区分入口/提交 | 入口变体不新增主链节点;提交统一生成固定入仓码 |
|
|
||||||
| 换标下单 | F33、F37 | 移到海外分支 | 换标是库存服务和独立出库,不属于客户头程下单主链 |
|
|
||||||
| 预约取货、上门提货 | F03;到仓后 F08 | 拆分 | 平台提货是交货方式;实际到仓仍进入统一箱码收货 |
|
|
||||||
| 入库测量、称重计费 | F09、F10、F11 | 拆分 | 实测事实、测量审核、费用发布/客户确认不能合并 |
|
|
||||||
| 调整差异 | F08、F10 | 拆分 | 到仓差异在 F08,测量审核差异在 F10 |
|
|
||||||
| 指定库位 | F08、F31 | 按仓库拆分 | 国内作业资源和海外库存库位不是同一对象 |
|
|
||||||
| 智能排柜 | F14 | 保留并细化 | 产生柜次、预装计划、数量分配和版本 |
|
|
||||||
| 订舱 | F15 | 保留并细化 | 订舱状态和柜次状态分开维护 |
|
|
||||||
| 预约拖车/托车 | F16、F25 | 按区域拆分 | 国内订舱级拖车与目的港码头拖车不能复用一张单 |
|
|
||||||
| PDA | F19、F36 | 按作业阶段拆分 | 国内装柜 PDA 与海外排车 PDA 的对象、库存和门禁不同 |
|
|
||||||
| 柜/铅封照片 | F20 | 保留并补证据类型 | 五类装柜证据与锁码文本作为 `LOADED` 门禁 |
|
|
||||||
| 客户报关资料、代理报关、回执 | F22 | 合并为报关批次 | 客户文件、平台线下提交、人工回执属于一个可审计批次 |
|
|
||||||
| 完成国内出仓、等待装船、装船发运 | F21、F23、F24 | 拆分 | `LOADED`、实际离仓、船舶实际节点分别代表不同事实 |
|
|
||||||
| 查港务信息 | F24 | 移到海运节点能力 | 查询任务不是客户主状态;只保存标准节点、来源和查询历史 |
|
|
||||||
| BOL、预清、清关资料、清关放行、DO/PU 提柜 | F25 | 收敛到目的港协作 | 国内出口报关继续在 F22,目的港清关和提柜在 F25 |
|
|
||||||
| FBA 预约、尾程备注 | F27 | 待业务确认后落表 | 只能作为入仓计划/目的地属性,不提前生成派送状态 |
|
|
||||||
| 开柜拍照、海外签收 | F28 | 保留并细化 | 柜级接柜会话,绑定实际收货仓和海外照片 |
|
|
||||||
| PDA 打托、实收、入账回写 | F29、F30 | 拆分 | 实收差异、库存入账和国内回写有不同完成条件 |
|
|
||||||
| 派送车队筛选 | F34、F35 | 拆分 | 先生成排车,再转派送生成出库单和派送单 |
|
|
||||||
| 预排车转 BOL | F34、F35 | 拆分 | 排车锁和出库/派送单是不同业务对象 |
|
|
||||||
| PDA 拣货、装车、发车 | F36 | 保留并拆动作 | 拣货成功、核平、发车各有独立门禁,发车不重复扣库存 |
|
|
||||||
| 自提出仓 | F37 | 移到独立出库 | 不经过普通排车主链,仍需独立出库、库存和权限规则 |
|
|
||||||
| 派送、签收回执 | F38 | 保留并补资料门禁 | `DELIVERED` 必须绑定对应目的地的有效签收资料 |
|
|
||||||
| 异常、拒收、部分拒收 | F39 | 独立异常分支 | 退回数量必须来自原出库事实,并在同一事务恢复库存 |
|
|
||||||
| 客户回访、最终回写 | F40 | 保留并收口 | 回访是服务记录;国内最终完成以全部有效入库单完成事件为准 |
|
|
||||||
|
|||||||
Reference in New Issue
Block a user