优化
This commit is contained in:
@@ -17,7 +17,8 @@
|
|||||||
## 全流程公共契约
|
## 全流程公共契约
|
||||||
|
|
||||||
- [头程下单到尾程出库全流程操作手册](头程下单到尾程出库全流程操作手册.md):从客户头程下单、国内收货测量、分柜装柜和国内出仓,贯通跨区尾程建单、海外接柜入仓、排车、PDA 拣货与尾程出库的角色、操作、状态、编号、门禁和异常处理。
|
- [头程下单到尾程出库全流程操作手册](头程下单到尾程出库全流程操作手册.md):从客户头程下单、国内收货测量、分柜装柜和国内出仓,贯通跨区尾程建单、海外接柜入仓、排车、PDA 拣货与尾程出库的角色、操作、状态、编号、门禁和异常处理。
|
||||||
- [头程下单到尾程出库现状流程全景清单](头程下单到尾程出库现状流程全景清单.md):以 F01~F40 盘点现有主链、并行流程、条件分支和异常流,明确操作人、入口/出口状态、单据、编号、数据交接和评审项;应先评审本清单,再进入优化。
|
- [头程下单到尾程出库现状流程全景清单(历史 AS-IS)](头程下单到尾程出库现状流程全景清单.md):保留旧版现状盘点和代码证据,不作为当前报关/送港流程依据;当前基线以[头程到尾程流程节点梳理(重构版)](头程到尾程流程节点梳理.md)为准。
|
||||||
|
- [头程到尾程流程节点梳理](头程到尾程流程节点梳理.md):以“头程下单、海运(货柜)、尾程入库和派送”三大展示块为上层,映射 F01~F40 后台实施节点、客户进度投影、后台对象、明细动作、交接门禁和异常模型,作为端到端节点评审主表。
|
||||||
- [头程到尾程分阶段流程](头程到尾程分阶段流程/README.md):F01~F40 六个阶段现状文档已全部完成,逐阶段记录操作、字段、状态、数据流、异常、完成判定和上下游交接条件,可按阶段评审并进入优化。
|
- [头程到尾程分阶段流程](头程到尾程分阶段流程/README.md):F01~F40 六个阶段现状文档已全部完成,逐阶段记录操作、字段、状态、数据流、异常、完成判定和上下游交接条件,可按阶段评审并进入优化。
|
||||||
- [头程到尾程 AI 流程优化上下文包](头程到尾程AI流程优化上下文包.md):统一 AI 分析所需的术语、流程变体、RACI、阶段合同、阻断分类、问题证据、指标口径、优化卡模板和完成定义。
|
- [头程到尾程 AI 流程优化上下文包](头程到尾程AI流程优化上下文包.md):统一 AI 分析所需的术语、流程变体、RACI、阶段合同、阻断分类、问题证据、指标口径、优化卡模板和完成定义。
|
||||||
- [头程下单到尾程出库流程易用性与数据流转优化方案](头程下单到尾程出库流程易用性与数据流转优化方案.md):基于已走通主链梳理现状操作问题,提出统一进度、下一动作、操作回执、数据归属、跨区可观测、PDA 易用性、P0-P2 优先级和验收指标。
|
- [头程下单到尾程出库流程易用性与数据流转优化方案](头程下单到尾程出库流程易用性与数据流转优化方案.md):基于已走通主链梳理现状操作问题,提出统一进度、下一动作、操作回执、数据归属、跨区可观测、PDA 易用性、P0-P2 优先级和验收指标。
|
||||||
|
|||||||
+8
-7
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
国内货柜履约以国内头程后程作业为范围,完成从排柜、订舱、拖车和仓内拣货,到装柜证据齐全并进入 `LOADED`/装柜完成的业务闭环。`DELIVERED`/派送完成由到达海外仓后的可信回传推进,不属于国内国内货柜履约操作范围。
|
国内货柜履约以国内头程后程作业为范围,完成从排柜、订舱、拖车和仓内拣货,到装柜证据齐全并进入 `LOADED`/装柜完成的业务闭环。`DELIVERED`/派送完成由到达海外仓后的可信回传推进,不属于国内国内货柜履约操作范围。
|
||||||
|
|
||||||
> 范围更正:国内货柜履约只维护订舱和出仓前所需的船名航次、港口、ETD/ETA 等资料。柜子确认离开国内仓库后的 `CarrierScheduleQuery`、六家船公司查询、每 3 天/最多 3 次、来源/过期标识和后续定时船节点查询整体归海外仓业务,见 `../海外仓业务/README.md`。国内货柜履约不再建设或验收这套查询。
|
> 范围更正:国内货柜履约维护订舱、拖车、离仓、送港、进港、甩柜/改配和实际开船前的船次状态。承运船舶实际 `VESSEL_DEPARTED` 后的 `CarrierScheduleQuery`、六家船公司查询、每 3 天/最多 3 次、来源/过期标识和后续定时船节点查询整体归海外仓业务,见 `../海外仓业务/README.md`。国内货柜履约不重复建设开船后的定时查询。
|
||||||
|
|
||||||
## 当前主体模型与开工禁令
|
## 当前主体模型与开工禁令
|
||||||
|
|
||||||
@@ -12,14 +12,15 @@
|
|||||||
|
|
||||||
## 文档
|
## 文档
|
||||||
|
|
||||||
|
- **当前流程基线**:[头程到尾程流程节点梳理(重构版)](../头程到尾程流程节点梳理.md):以“头程下单、海运(货柜)、尾程入库和派送”三大块定义客户展示节点、后台管理节点、真实明细节点,并明确“物理装柜 `LOADED` → 报关线与送港线并行 → 客户确认后整柜正式申报 → 进港/甩柜 → 实际开船进入海运”的顺序。
|
||||||
- [报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md):对照客户工作台新增原型、业务退税流程与当前代码,梳理客户资料包、平台统一申报、客户报价查询的接入边界和待确认规则。
|
- [报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md):对照客户工作台新增原型、业务退税流程与当前代码,梳理客户资料包、平台统一申报、客户报价查询的接入边界和待确认规则。
|
||||||
- [国内货柜履约闭环审计报告(2026-08-08)](国内货柜履约闭环审计报告-2026-08-08.md):基于当前代码、接口、自动化和测试环境证据的闭环审计,列出阻断项、优先级和 GO 准入标准。
|
- [历史审计报告(2026-08-08)](国内货柜履约闭环审计报告-2026-08-08.md):旧口径审计记录,仅用于追溯当时的代码和测试证据,不作为当前流程或开发门禁依据。
|
||||||
- [国内货柜履约装柜闭环产品确认表(2026-08-08)](国内货柜履约装柜闭环产品确认表-2026-08-08.md):提供给产品直接填写的纯业务确认表,不包含技术实现细节。
|
- [历史产品确认表(2026-08-08)](国内货柜履约装柜闭环产品确认表-2026-08-08.md):旧口径讨论记录,不作为当前业务规则依据。
|
||||||
- [国内货柜履约装柜闭环开发前确认单(2026-08-08)](国内货柜履约装柜闭环开发前确认单-2026-08-08.md):用于产品确认直接开发前的状态、门禁、PDA 取证、冲正和验收细节。
|
- [历史开发前确认单(2026-08-08)](国内货柜履约装柜闭环开发前确认单-2026-08-08.md):旧口径状态、门禁和验收记录,不直接作为当前开发任务输入。
|
||||||
- [国内货柜履约开发规划:国内出仓](国内货柜履约开发规划.md)
|
- [国内货柜履约开发规划:国内出仓](国内货柜履约开发规划.md)
|
||||||
- [国内货柜履约开发进度表](国内货柜履约开发进度表.md):参考订单与客户采用“大任务 → 详细任务 → 里程碑 → 未确认事项 → 开工准入 → 验收”结构维护。
|
- [国内货柜履约开发进度表](国内货柜履约开发进度表.md):参考订单与客户采用“大任务 → 详细任务 → 里程碑 → 未确认事项 → 开工准入 → 验收”结构维护。
|
||||||
- [虫虫出海国内货柜履约开发进度表(Excel)](虫虫出海国内货柜履约开发进度表.xlsx):可筛选、可下拉维护并使用公式汇总的项目进度工作簿。
|
- [虫虫出海国内货柜履约开发进度表(Excel)](虫虫出海国内货柜履约开发进度表.xlsx):可筛选、可下拉维护并使用公式汇总的项目进度工作簿。
|
||||||
- [国内货柜履约需求确认表](国内货柜履约需求确认表.md):集中跟踪 P3-Q1~P3-Q13、负责人和最终结论。
|
- [国内货柜履约需求确认表](国内货柜履约需求确认表.md):集中跟踪 P3-Q1~P3-Q17、负责人和最终结论。
|
||||||
- [国内货柜履约开工门禁](国内货柜履约开工门禁.md):维护已确认范围、跨端硬边界和局部阻断项;模块指引引用本文件,不重复维护阶段状态。
|
- [国内货柜履约开工门禁](国内货柜履约开工门禁.md):维护已确认范围、跨端硬边界和局部阻断项;模块指引引用本文件,不重复维护阶段状态。
|
||||||
- [国内货柜履约页面与原型清单](国内货柜履约页面与原型清单.md):按管理后台、企业客户端和 PDA 维护页面范围及原型状态。
|
- [国内货柜履约页面与原型清单](国内货柜履约页面与原型清单.md):按管理后台、企业客户端和 PDA 维护页面范围及原型状态。
|
||||||
- [国内货柜履约验收任务拆分与待确认清单](国内货柜履约验收任务拆分与待确认清单.md):真实 HTTP/真机验收覆盖、coverageGap 解除条件和并行任务入口。
|
- [国内货柜履约验收任务拆分与待确认清单](国内货柜履约验收任务拆分与待确认清单.md):真实 HTTP/真机验收覆盖、coverageGap 解除条件和并行任务入口。
|
||||||
@@ -27,11 +28,11 @@
|
|||||||
|
|
||||||
## 当前状态
|
## 当前状态
|
||||||
|
|
||||||
国内货柜履约已进入分模块部署联调。已确认不新建独立出仓单,现有订单列表/详情承载主状态;支持一单多柜、一个柜拼多个订单,并采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。进入 `LOADED`/装柜完成前,订舱完成、拖车完成、报关放行回执、PDA 拣货完成及五类证据完整均为服务端硬门禁;`LOADED` 后错误统一线下人工处理,国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED`。当前不能因子链路已通过而宣告整期完成,最终结论以真实 HTTP 全链路验收为准。
|
国内货柜履约已进入分模块部署联调。已确认不新建独立出仓单,现有订单列表/详情承载主状态;支持一单多柜、一个柜拼多个订单,并采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。`LOADED`/装柜完成只校验真实柜号、PDA 拣货与数量守恒、五类证据和未解决异常。装柜完成后,报关线按“客户资料→报关行回执→客户确认/打回重做→所有客户通过→整柜正式申报→查验/放行”推进;送港线独立记录拖车、离仓、进港、甩柜和改配。两条线谁先到都保留事实,只有实际开船才进入海运节点。客户费用确认不阻断排柜和装柜,未确认的当前有效已发布费用版本在装柜完成后按已装范围记录系统默认确认。`LOADED` 后错误统一线下人工处理,国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED`。当前不能因子链路已通过而宣告整期完成,最终结论以真实 HTTP 全链路验收为准。
|
||||||
|
|
||||||
柜子出仓后的船公司/船节点查询已重新归入海外仓业务。国内货柜履约报关首版不做系统对接,全部由人工整理、线下提交和人工上传回执。仓库初始化角色包括操作员、拣货员、理货员,具体权限矩阵由 IAM 契约任务落表。
|
柜子出仓后的船公司/船节点查询已重新归入海外仓业务。国内货柜履约报关首版不做系统对接,全部由人工整理、线下提交和人工上传回执。仓库初始化角色包括操作员、拣货员、理货员,具体权限矩阵由 IAM 契约任务落表。
|
||||||
|
|
||||||
P3-Q1~P3-Q13 均已确认;P3-Q4 采用 uni-app 开发并支持在线更新,Android 广播扫描已接入。P3-Q5 复用入库测量与计费实时库存、当前位置和可用量接口,不扩展完整 WMS。
|
P3-Q1~P3-Q17 均已确认;P3-Q4 采用 uni-app 开发并支持在线更新,Android 广播扫描已接入。P3-Q5 复用入库测量与计费实时库存、当前位置和可用量接口,不扩展完整 WMS。
|
||||||
|
|
||||||
### PDA 当前确认口径(2026-08-10)
|
### PDA 当前确认口径(2026-08-10)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 国内货柜履约 Wave 1 开发任务卡
|
# 国内货柜履约 Wave 1 开发任务卡
|
||||||
|
|
||||||
|
> **历史版本声明(2026-09-24)**:本文是旧版低风险任务拆分,不能直接作为当前开发排期或门禁依据。当前流程改为“柜前资料预收集 → 物理装柜 `LOADED` → 按最终实装清单正式报关 → 有效放行回执后 `DEPARTED_WAREHOUSE`”,费用确认不阻断装柜,装柜完成时按已装范围对当前有效已发布费用版本执行系统默认确认。当前开发范围以 [头程到尾程流程节点梳理(重构版)](../头程到尾程流程节点梳理.md)、[报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md) 和最新需求确认表为准。
|
||||||
|
|
||||||
整理日期:2026-08-09
|
整理日期:2026-08-09
|
||||||
用途:产品确认后用于研发排期和任务分派。
|
用途:产品确认后用于研发排期和任务分派。
|
||||||
当前范围:只做低风险基础能力;不提前实现未确认的主状态机规则。
|
当前范围:只做低风险基础能力;不提前实现未确认的主状态机规则。
|
||||||
|
|||||||
+40
-37
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
> 创建日期:2026-07-28
|
> 创建日期:2026-07-28
|
||||||
> 状态:已进入分模块开发规划
|
> 状态:已进入分模块开发规划
|
||||||
> 流程依据:[出仓流程](参考资料/出仓流程.png)中的头程物流“03 出仓”;用户已于 2026-08-08 确认国内国内货柜履约以 `LOADED`/装柜完成为阶段终点
|
> 流程依据:[出仓流程](参考资料/出仓流程.png)中的头程物流“03 出仓”;当前以 `LOADED` 作为物理装柜节点,报关线和送港线在装柜后并行,实际开船后进入海运节点。
|
||||||
> 前置阶段:[订单与客户文档](../订单与客户/README.md) · [入库测量与计费文档](../入库测量与计费/README.md)
|
> 前置阶段:[订单与客户文档](../订单与客户/README.md) · [入库测量与计费文档](../入库测量与计费/README.md)
|
||||||
|
|
||||||
> 2026-08-10 产品确认版:国内货柜履约不新建独立出仓单;支持一单多柜、一个柜拼多个订单,采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。`LOADED` 硬门禁为订舱完成、拖车完成、报关放行回执、PDA 拣货完成和五类证据完整;`LOADED` 后错误线下人工处理。五类证据各至少 1 张有效照片,同类型多张追加,PDA 仅现场拍照,后台操作员和理货员可人工上传,照片无限期保留且客户不可见。
|
> 2026-08-10 产品确认版;2026-09-24 按最新流程更正:国内货柜履约不新建独立出仓单;支持一单多柜、一个柜拼多个订单,采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。`LOADED` 仅校验真实柜号、PDA 拣货、数量守恒和五类证据;装柜后报关线按“客户资料→报关行回执→客户确认/打回重做→所有客户通过→整柜正式申报→查验/放行”推进,送港线独立记录离仓、进港、甩柜和改配,实际开船才进入海运。费用确认不阻断排柜和装柜;装柜完成后对已装范围的当前有效已发布费用版本执行系统默认确认,保留客户/系统来源。`LOADED` 后错误线下人工处理。五类证据各至少 1 张有效照片,同类型多张追加,PDA 仅现场拍照,后台操作员和理货员可人工上传,照片无限期保留且客户不可见。
|
||||||
|
|
||||||
> 当前范围更正:原 `P3-PORT-01`、六家船公司官网查询及 `CarrierScheduleQuery` 是柜子确认离开国内仓库后的业务,整体重新归入海外仓业务。国内货柜履约仅保存订舱与出仓前所需的船名航次、港口和 ETD/ETA 等资料,不建设或验收出仓后的定时节点查询。
|
> 当前范围更正:国内货柜履约保留 `DEPARTED_WAREHOUSE`、`PORT_RECEIVED`、`ROLLED_OVER` 和实际开船前的船次/港口事实;承运船舶真实 `VESSEL_DEPARTED` 后的六家船公司官网查询、`CarrierScheduleQuery` 和定时节点查询归入海外仓业务。国内侧不以预计 ETD 提前展示海运中。
|
||||||
|
|
||||||
> 主体模型与硬约束:国内货柜履约只实现“平台—客户”两级,业务 `tenant_id > 0` / `tenantId` 当前表示客户 ID;`tenant_id=0` 是平台身份、平台 RBAC 和平台公共仓储资源技术作用域,客户往来单位、订单、文件和费用归属客户 `tenant_id>0`。禁止新增租户主表、租户选择器、客户所属租户配置、租户切换、租户级 RBAC 或租户级配置,禁止把现有 `tenant_id` 改义为上级租户 ID;历史类名、路径和字段继续兼容。
|
> 主体模型与硬约束:国内货柜履约只实现“平台—客户”两级,业务 `tenant_id > 0` / `tenantId` 当前表示客户 ID;`tenant_id=0` 是平台身份、平台 RBAC 和平台公共仓储资源技术作用域,客户往来单位、订单、文件和费用归属客户 `tenant_id>0`。禁止新增租户主表、租户选择器、客户所属租户配置、租户切换、租户级 RBAC 或租户级配置,禁止把现有 `tenant_id` 改义为上级租户 ID;历史类名、路径和字段继续兼容。
|
||||||
|
|
||||||
@@ -20,16 +20,15 @@
|
|||||||
```text
|
```text
|
||||||
智能排柜 → 订舱 → 预约拖车
|
智能排柜 → 订舱 → 预约拖车
|
||||||
↓
|
↓
|
||||||
PDA 拣货 → 装柜并上传货柜/铅封照片
|
PDA 拣货 → 装柜并上传五类证据
|
||||||
↓
|
↓
|
||||||
客户上传报关资料 → 平台整理提交报关代理 → 上传回执供客户下载
|
`LOADED`/装柜完成
|
||||||
↓
|
├─ 报关:通知报关行 → 客户资料 → 报关行回执 → 客户确认/打回重做
|
||||||
维护订舱与出仓前所需的船名航次、港口和预计时间
|
│ → 所有客户通过 → 整柜正式申报 → 查验/放行
|
||||||
↓
|
└─ 送港:拖车 → 离仓 → 送港/进港 → 甩柜/改配(如发生)→ 实际开船
|
||||||
国内国内货柜履约完成:`LOADED`/装柜完成
|
|
||||||
```
|
```
|
||||||
|
|
||||||
国内货柜履约完成标准是同一订单/柜次已完成排柜和 PDA 拣货,空仓、半仓、满仓、锁仓、带锁码照五类证据各至少 1 张有效照片已真实上传,锁码文本已保存,服务端门禁通过并将订单推进为 `LOADED`/装柜完成。`DELIVERED`/派送完成必须等货物到达海外仓后由海外仓可信回传推进,不是国内国内货柜履约人工操作。
|
国内货柜履约的装柜完成标准是同一订单/柜次已完成排柜和 PDA 拣货,空仓、半仓、满仓、锁仓、带锁码照五类证据各至少 1 张有效照片已真实上传,锁码文本已保存,数量守恒且服务端门禁通过后推进为 `LOADED`/装柜完成。`LOADED` 后报关线和送港线同时启动;客户确认不阻断送港,进港不代表报关完成,容量不足记录甩柜;只有承运船舶实际开航后才进入海运节点。`DELIVERED`/派送完成必须等货物到达海外仓后由海外仓可信回传推进,不是国内国内货柜履约人工操作。
|
||||||
|
|
||||||
### 原型动作覆盖
|
### 原型动作覆盖
|
||||||
|
|
||||||
@@ -42,8 +41,8 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
| 5. 拍货柜及铅封照上传 | 装柜及柜封证据 | P3-LOAD-01、P3-LOAD-02 | 已确认五类证据各至少 1 张有效照片、同类型可多张,锁码文本必填 |
|
| 5. 拍货柜及铅封照上传 | 装柜及柜封证据 | P3-LOAD-01、P3-LOAD-02 | 已确认五类证据各至少 1 张有效照片、同类型可多张,锁码文本必填 |
|
||||||
| 6. 客户上传报关资料 | 报关资料协同 | P3-CUS-01 | 已覆盖 |
|
| 6. 客户上传报关资料 | 报关资料协同 | P3-CUS-01 | 已覆盖 |
|
||||||
| 7. 整理给到报关代理报关 | 报关资料协同 | P3-CLEAR-01 | 已覆盖 |
|
| 7. 整理给到报关代理报关 | 报关资料协同 | P3-CLEAR-01 | 已覆盖 |
|
||||||
| 8. 回执上传到系统供客户下载 | 报关回执与客户下载 | P3-CLEAR-01、P3-CUS-02 | 已覆盖,首版由授权人员人工上传放行回执 |
|
| 8. 回执上传并由客户确认 | 报关行回执与客户确认 | P3-CLEAR-01、P3-CUS-02 | 待补齐多轮回执、客户确认/打回和整柜正式提交 |
|
||||||
| 9. 出仓后查询港务/船节点 | 海外仓业务船节点定时查询 | 原 P3-PORT-01、P3-CUS-02 对应查询部分 | 已重新归入海外仓业务,不是国内货柜履约动作或验收项 |
|
| 9. 送港、甩柜与实际开船 | 送港/船次事实 | P3-TRUCK-01、P3-CUS-02 | 装柜后与报关线并行;实际开船后进入海运节点 |
|
||||||
|
|
||||||
## 二、阶段边界
|
## 二、阶段边界
|
||||||
|
|
||||||
@@ -54,8 +53,9 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
- 预约拖车、车辆司机、到仓装柜和离仓记录。
|
- 预约拖车、车辆司机、到仓装柜和离仓记录。
|
||||||
- PDA 任务领取、扫码拣货、部分拣货、异常、复核和幂等提交。
|
- PDA 任务领取、扫码拣货、部分拣货、异常、复核和幂等提交。
|
||||||
- 装柜、柜号、铅封号及货柜/铅封照片证据。
|
- 装柜、柜号、铅封号及货柜/铅封照片证据。
|
||||||
- 客户上传报关资料、平台审核补件、整理并提交报关代理。
|
- `LOADED` 后通知报关行,客户上传报关资料、平台审核补件、线下发送报关行。
|
||||||
- 报关回执上传、版本、客户可见范围和授权下载。
|
- 报关行回执上传、版本、客户确认/打回重做、客户可见范围和授权下载;所有客户确认后才提交整柜资料正式申报。
|
||||||
|
- 装柜后送港、进港、甩柜/改配和实际开船事实。
|
||||||
- 装柜完成门禁、确认、时间线和站内通知;`LOADED` 后纠错走线下人工流程。
|
- 装柜完成门禁、确认、时间线和站内通知;`LOADED` 后纠错走线下人工流程。
|
||||||
|
|
||||||
### 明确不纳入国内货柜履约
|
### 明确不纳入国内货柜履约
|
||||||
@@ -65,7 +65,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
- GPS 实时跟车、电子铅封、称重设备、摄像头 OCR 和 IoT 自动采集。
|
- GPS 实时跟车、电子铅封、称重设备、摄像头 OCR 和 IoT 自动采集。
|
||||||
- 自动报关、关税计算、退税、完整清关业务和自动单证识别。
|
- 自动报关、关税计算、退税、完整清关业务和自动单证识别。
|
||||||
- 海上运输、海外清关、目的港提柜、海外仓入库和末端派送。
|
- 海上运输、海外清关、目的港提柜、海外仓入库和末端派送。
|
||||||
- 柜子确认离开国内仓库后的 `CarrierScheduleQuery`、船公司查询、定时船节点和到港跟踪;整体归海外仓业务。
|
- 承运船舶真实 `VESSEL_DEPARTED` 后的 `CarrierScheduleQuery`、船公司查询、定时船节点和海上到港跟踪;整体归海外仓业务。国内侧保留送港、进港和甩柜事实。
|
||||||
- 无人工确认的全自动排柜、自动订舱和不可逆业务操作。
|
- 无人工确认的全自动排柜、自动订舱和不可逆业务操作。
|
||||||
|
|
||||||
## 三、参与角色与数据边界
|
## 三、参与角色与数据边界
|
||||||
@@ -87,7 +87,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
|
|
||||||
## 四、流程与状态设计
|
## 四、流程与状态设计
|
||||||
|
|
||||||
原型以 1 至 9 编号表达动作顺序。产品确认后,订舱、拖车、报关放行、PDA 拣货和证据完整是进入 `LOADED` 的强制前置;智能排柜、订舱、拖车和资料整理可按子流程并行,但服务端不得绕过门禁。PDA 单柜次单作业员,不实现多人并行或任务接管。
|
原图以 1 至 9 编号表达展示动作顺序。按本轮确认,费用确认不阻断排柜或装柜;`LOADED` 只校验物理装柜事实,装柜后报关线和送港线并行,客户确认不阻断送港,进港不代表报关完成,实际开船才进入海运。PDA 单柜次单作业员,不实现多人并行或任务接管。
|
||||||
|
|
||||||
### 1. 现有订单的国内货柜履约主状态
|
### 1. 现有订单的国内货柜履约主状态
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `WAIT_SPLIT` | 待分柜 | 入库测量与计费已完成,等待排柜/预装 |
|
| `WAIT_SPLIT` | 待分柜 | 入库测量与计费已完成,等待排柜/预装 |
|
||||||
| `LOADING` | 装柜中 | 预装已确认,PDA 执行拣货和装柜证据上传 |
|
| `LOADING` | 装柜中 | 预装已确认,PDA 执行拣货和装柜证据上传 |
|
||||||
| `LOADED` | 装柜完成 | 订舱、拖车、报关放行回执、PDA 拣货完成,且五类证据各至少 1 张有效照片和锁码文本已通过服务端门禁 |
|
| `LOADED` | 装柜完成 | 真实柜号、PDA 拣货与数量守恒、五类证据各至少 1 张有效照片和锁码文本已通过服务端门禁;装柜后同时启动报关线和送港线 |
|
||||||
| `DELIVERED` | 派送完成 | 货物到达海外仓后由海外仓可信回传推进;属于国内货柜履约之后的只读状态 |
|
| `DELIVERED` | 派送完成 | 货物到达海外仓后由海外仓可信回传推进;属于国内货柜履约之后的只读状态 |
|
||||||
|
|
||||||
### 2. 子流程状态
|
### 2. 子流程状态
|
||||||
@@ -103,8 +103,8 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
- 订舱:待订舱、订舱中、已订舱、订舱失败、已取消。
|
- 订舱:待订舱、订舱中、已订舱、订舱失败、已取消。
|
||||||
- 拖车:待预约、已预约、车辆已到仓、装柜中、已离仓、改约、已取消。
|
- 拖车:待预约、已预约、车辆已到仓、装柜中、已离仓、改约、已取消。
|
||||||
- 拣货:待分配、待拣货、拣货中、待复核、已完成、异常挂起、已取消。
|
- 拣货:待分配、待拣货、拣货中、待复核、已完成、异常挂起、已取消。
|
||||||
- 报关:资料待上传、资料待审核、待补件、待提交、已提交代理、回执待上传、回执已上传、已退回、已取消;有效放行回执是 `LOADED` 硬门禁,首版由授权人员人工上传。
|
- 报关:`LOADED` 后待通知报关、客户资料待上传/审核、已发报关行、回执待客户确认、客户已确认、客户打回待重做、所有客户已确认、整柜正式申报、查验、放行/退回;回执上传不等于客户确认,客户确认不等于海关放行。
|
||||||
- 出仓前船期资料:待维护、已确认、信息变更;出仓后节点和“已开船”等运输事实归海外仓业务。
|
- 送港/船期:待送港、已离仓、送港中、已进港、甩柜/改配、待开船;只有实际 `VESSEL_DEPARTED` 后进入海运节点。
|
||||||
|
|
||||||
主状态由服务端根据已确认的必要子流程推进。客户端不得通过传任意目标状态跳过拣货复核、装柜证据或已配置的装柜完成门禁。
|
主状态由服务端根据已确认的必要子流程推进。客户端不得通过传任意目标状态跳过拣货复核、装柜证据或已配置的装柜完成门禁。
|
||||||
|
|
||||||
@@ -127,10 +127,10 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
|
|
||||||
### 3. 订舱与出仓前船期资料
|
### 3. 订舱与出仓前船期资料
|
||||||
|
|
||||||
- 国内货柜履约只维护订舱和装柜/出仓交接所需的预计开船、到港等静态资料,不执行出仓后的船公司或船节点查询。
|
- 国内货柜履约维护订舱、送港、进港、甩柜/改配和实际开船前的状态;承运船舶实际开航后由海外仓业务执行船公司和船节点查询。
|
||||||
- 船公司/订舱代理、航线、订舱号、船名航次、起运港、目的港、截单、截关、截港、ETD 和 ETA 暂列为候选字段。
|
- 船公司/订舱代理、航线、订舱号、船名航次、起运港、目的港、截单、截关、截港、ETD 和 ETA 暂列为候选字段。
|
||||||
- 订舱失败、改船、甩柜、船期延误和取消暂列为候选异常场景,按业务确认结果实现。
|
- 订舱失败、改船、甩柜、船期延误和取消暂列为候选异常场景,按业务确认结果实现。
|
||||||
- 六家船公司来源、每 3 天/最多 3 次、最近有效结果和过期标识,以及对应适配层全部移至海外仓业务船节点查询维护。
|
- 六家船公司来源、每 3 天/最多 3 次、最近有效结果和过期标识,以及对应适配层在 `VESSEL_DEPARTED` 后由海外仓业务船节点查询维护。
|
||||||
- 国内货柜履约页面展示的 ETD/ETA 必须明确为订舱或人工确认快照,不得伪装成出仓后的实时查询结果。
|
- 国内货柜履约页面展示的 ETD/ETA 必须明确为订舱或人工确认快照,不得伪装成出仓后的实时查询结果。
|
||||||
- 建议关键信息变更保留旧值、新值、原因,并向授权用户发送站内提醒。
|
- 建议关键信息变更保留旧值、新值、原因,并向授权用户发送站内提醒。
|
||||||
|
|
||||||
@@ -165,18 +165,20 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
|
|
||||||
### 7. 报关资料协同
|
### 7. 报关资料协同
|
||||||
|
|
||||||
- 客户按资料清单上传发票、箱单、合同、委托书和申报要素等文件。
|
- `LOADED` 后按最终实装清单建立每个客户/入仓码的报关案例;客户按资料清单上传发票、箱单、合同、委托书和申报要素等文件。
|
||||||
- 资料清单可按国家/地区、渠道和货物类型配置,并保存订单使用的清单版本。
|
- 资料清单可按国家/地区、渠道和货物类型配置,并保存订单使用的清单版本。
|
||||||
- 平台报关专员审核完整性,可退回具体文件并记录补件原因和时限。
|
- 平台报关专员审核完整性,可退回具体文件并记录补件原因和时限。
|
||||||
- 提交报关代理时生成提交批次,冻结该批次关联的文件版本。
|
- 资料发送报关行时记录 roundNo 和发送时间,报关行回执上传后发对应客户确认;客户打回则重新上传、重新发送并生成新回执版本。
|
||||||
|
- 柜内所有客户确认后才生成整柜正式提交批次,冻结该批次关联的文件版本并交报关行正式申报。
|
||||||
- 首版采用系统内整理加线下提交,不直接对接海关单一窗口。
|
- 首版采用系统内整理加线下提交,不直接对接海关单一窗口。
|
||||||
|
|
||||||
### 8. 报关回执与客户下载
|
### 8. 报关回执与客户下载
|
||||||
|
|
||||||
- 授权人员人工上传代理回传的报关回执并关联提交批次;有效放行回执是装柜完成硬门禁,回执类型、版本和操作者可追溯。
|
- 授权人员人工上传报关行回传的每轮回执并关联客户报关案例;回执类型、版本、roundNo、操作者和客户确认/打回结果可追溯。
|
||||||
- 替换文件产生新版本,不覆盖原记录;退单或补件形成明确任务。
|
- 替换文件产生新版本,不覆盖原记录;退单或补件形成明确任务。
|
||||||
- 客户只能下载本企业且标记为客户可见的回执。
|
- 客户只能下载本企业且标记为客户可见的回执。
|
||||||
- 文件下载使用授权地址并记录审计,不暴露内部存储路径。
|
- 文件下载使用授权地址并记录审计,不暴露内部存储路径。
|
||||||
|
- 所有客户确认后,平台向报关行提交整柜资料;报关行正式申报后另行记录查验、不查验放行、补件/退回等海关结果。
|
||||||
|
|
||||||
### 9. 装柜完成确认与海外回传边界
|
### 9. 装柜完成确认与海外回传边界
|
||||||
|
|
||||||
@@ -246,8 +248,8 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
| P3-M2 订舱与拖车 | 订舱、出仓前船期资料、拖车预约和异常处理可用 | 服务商与权限可用 |
|
| P3-M2 订舱与拖车 | 订舱、出仓前船期资料、拖车预约和异常处理可用 | 服务商与权限可用 |
|
||||||
| P3-M3 PDA 拣货 | 在线任务、持久化草稿、批量提交、差异、复核和幂等可用 | 服务端任务与库存契约可用 |
|
| P3-M3 PDA 拣货 | 在线任务、持久化草稿、批量提交、差异、复核和幂等可用 | 服务端任务与库存契约可用 |
|
||||||
| P3-M4 装柜封柜 | 柜号、铅封和照片证据完整,门禁生效 | 文件能力与必传清单确认 |
|
| P3-M4 装柜封柜 | 柜号、铅封和照片证据完整,门禁生效 | 文件能力与必传清单确认 |
|
||||||
| P3-M5 报关协同 | 客户上传、平台审核、补件、提交和回执下载闭环 | 报关资料清单确认 |
|
| P3-M5 报关协同 | `LOADED` 后客户资料、报关行回执、客户确认/打回重做、所有客户通过、整柜正式申报和查验/放行闭环 | 报关资料清单确认 |
|
||||||
| P3-M6 装柜完成 | 订舱、拖车、放行回执、PDA 拣货、五类证据和锁码文本满足门禁后进入 `LOADED`/装柜完成 | 装柜完成硬门禁已确认 |
|
| P3-M6 装柜完成及并行送港 | 真实柜号、PDA 拣货、数量守恒、五类证据和锁码文本满足门禁后进入 `LOADED`;随后并行推进送港/进港/甩柜和报关线,实际开船才进入海运 | 装柜完成、报关线和送港线分开 |
|
||||||
| P3-M7 联调验收 | 跨端、设备、安全、弱网、性能、迁移和发布完成 | P3-M1 至 P3-M6 验收通过 |
|
| P3-M7 联调验收 | 跨端、设备、安全、弱网、性能、迁移和发布完成 | P3-M1 至 P3-M6 验收通过 |
|
||||||
|
|
||||||
## 九、建议开发任务
|
## 九、建议开发任务
|
||||||
@@ -259,18 +261,18 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
| P3-DSP-01 | 后台 | 订单国内货柜履约编排 | 在现有订单列表/详情中接入柜次、子流程、异常、时间线和门禁操作 | P0 | P3-BASE-02 |
|
| P3-DSP-01 | 后台 | 订单国内货柜履约编排 | 在现有订单列表/详情中接入柜次、子流程、异常、时间线和门禁操作 | P0 | P3-BASE-02 |
|
||||||
| P3-PLAN-01 | 公共 | 排柜规则 | 按已确认规则实现输入、约束、偏好和冲突判断 | P0 | P3-BASE-02、P3-Q1 |
|
| P3-PLAN-01 | 公共 | 排柜规则 | 按已确认规则实现输入、约束、偏好和冲突判断 | P0 | P3-BASE-02、P3-Q1 |
|
||||||
| P3-PLAN-02 | 后台 | 智能排柜 | 按已确认范围实现建议、人工确认和追溯 | P0 | P3-PLAN-01 |
|
| P3-PLAN-02 | 后台 | 智能排柜 | 按已确认范围实现建议、人工确认和追溯 | P0 | P3-PLAN-01 |
|
||||||
| P3-BOOK-01 | 后台 | 订舱 | 订舱和经确认的船名航次、港口、变更及异常;订舱完成是 `LOADED` 门禁 | P0 | P3-DSP-01 |
|
| P3-BOOK-01 | 后台 | 订舱 | 订舱和经确认的船名航次、港口、变更及异常;订舱/拖车服务送港线,不作为 `LOADED` 的报关前置 | P0 | P3-DSP-01 |
|
||||||
| 原 P3-PORT-01 | 后台/服务端 | 出仓后船节点查询 | 已重新归入海外仓业务,不作为国内货柜履约交付或验收项;沿用现有 `CarrierScheduleQuery`,不得重复实现 | 海外仓业务 | P3-BOOK-01、确认国内出仓 |
|
| P3-PORT-01 | 后台/服务端 | 送港、进港与甩柜 | 记录 `DEPARTED_WAREHOUSE`、`PORT_RECEIVED`、`ROLLED_OVER`、改配船次和客户通知;不以预计 ETD 推进海运 | P0 | P3-BOOK-01、P3-TRUCK-01 |
|
||||||
| P3-TRUCK-01 | 后台 | 拖车预约 | 服务商、车辆司机、时间窗、到离仓和异常 | P0 | P3-DSP-01 |
|
| P3-TRUCK-01 | 后台 | 拖车预约 | 服务商、车辆司机、时间窗、到离仓、进港和异常 | P0 | P3-DSP-01 |
|
||||||
| P3-PICK-01 | 公共 | 拣货任务 | 按排柜方案生成任务、明细、差异和复核规则 | P0 | P3-PLAN-02 |
|
| P3-PICK-01 | 公共 | 拣货任务 | 按排柜方案生成任务、明细、差异和复核规则 | P0 | P3-PLAN-02 |
|
||||||
| P3-PDA-01 | PDA | 在线扫码拣货 | 进入任务标记拣货中、扫描草稿、部分/跳拣异常原因和批量提交 | P0 | P3-PICK-01 |
|
| P3-PDA-01 | PDA | 在线扫码拣货 | 进入任务标记拣货中、扫描草稿、部分/跳拣异常原因和批量提交 | P0 | P3-PICK-01 |
|
||||||
| P3-PDA-02 | PDA/服务端 | 草稿与提交安全 | 作业员+任务+柜次持久化草稿、幂等重试、版本冲突、成功/放弃清理 | P0 | P3-PDA-01 |
|
| P3-PDA-02 | PDA/服务端 | 草稿与提交安全 | 作业员+任务+柜次持久化草稿、幂等重试、版本冲突、成功/放弃清理 | P0 | P3-PDA-01 |
|
||||||
| P3-LOAD-01 | 后台 | 装柜封柜 | 柜号、锁码文本、装柜节点、五类多图证据和门禁复核 | P0 | P3-PICK-01 |
|
| P3-LOAD-01 | 后台 | 装柜封柜 | 柜号、锁码文本、装柜节点、五类多图证据和门禁复核 | P0 | P3-PICK-01 |
|
||||||
| P3-LOAD-02 | PDA/Admin/服务端 | 柜封拍照上传 | PDA 现场拍摄、Admin 人工上传、五类证据多图追加、真实文件上传、预览、失败重试、作废和提交 | P0 | P3-LOAD-01、文件能力可用 |
|
| P3-LOAD-02 | PDA/Admin/服务端 | 柜封拍照上传 | PDA 现场拍摄、Admin 人工上传、五类证据多图追加、真实文件上传、预览、失败重试、作废和提交 | P0 | P3-LOAD-01、文件能力可用 |
|
||||||
| P3-CUS-01 | 客户端 | 报关资料 | 清单、上传、补件、版本和进度查看 | P0 | 文件能力可用 |
|
| P3-CUS-01 | 客户端 | 报关资料与客户确认 | `LOADED` 后清单、上传、补件、回执查看、确认/打回和轮次进度 | P0 | 文件能力可用 |
|
||||||
| P3-CLEAR-01 | 后台 | 报关协同 | 人工审核、补件、线下提交代理、人工上传放行回执和版本审计 | P0 | P3-CUS-01 |
|
| P3-CLEAR-01 | 后台 | 报关协同 | 通知报关行、人工审核、回执轮次、客户确认汇总、所有客户通过后整柜正式提交、查验/放行记录 | P0 | P3-CUS-01 |
|
||||||
| P3-CUS-02 | 客户端 | 回执及出仓前船期资料 | 回执下载、订舱预计开船/到港快照和变更时间线;出仓后查询展示归海外仓业务 | P0 | P3-BOOK-01、P3-CLEAR-01 |
|
| P3-CUS-02 | 客户端 | 回执及送港/船期资料 | 回执确认、打回重做、送港/进港/甩柜和实际开船前状态展示 | P0 | P3-BOOK-01、P3-CLEAR-01 |
|
||||||
| P3-GATE-01 | 服务端 | 装柜完成门禁 | 校验订舱、拖车、报关放行回执、PDA 拣货、五类证据和锁码文本,幂等推进 `LOADED`;`LOADED` 后仅线下人工处理 | P0 | P3-PICK-01、P3-LOAD-01、P3-LOAD-02 |
|
| P3-GATE-01 | 服务端 | 装柜完成与并行分支门禁 | 校验真实柜号、PDA 拣货、数量守恒、五类证据和锁码文本,幂等推进 `LOADED`;随后分别创建报关案例和送港任务,实际开船才推进海运 | P0 | P3-PICK-01、P3-LOAD-01、P3-LOAD-02 |
|
||||||
| P3-OVERSEAS-01 | 服务端 | 海外仓派送完成回传 | 只接受海外仓可信回传,校验身份、签名、时间窗、防重放和幂等,推进 `DELIVERED` | P1/后续阶段 | 海外仓契约 |
|
| P3-OVERSEAS-01 | 服务端 | 海外仓派送完成回传 | 只接受海外仓可信回传,校验身份、签名、时间窗、防重放和幂等,推进 `DELIVERED` | P1/后续阶段 | 海外仓契约 |
|
||||||
| P3-NOTIFY-01 | 公共 | 通知异常 | 站内通知、阻塞、责任人、时限和失败补偿 | P1 | 核心流程完成 |
|
| P3-NOTIFY-01 | 公共 | 通知异常 | 站内通知、阻塞、责任人、时限和失败补偿 | P1 | 核心流程完成 |
|
||||||
| P3-TEST-01 | 公共 | 自动化测试 | 权限、排柜、幂等、并发、文件、门禁和状态测试 | P0 | 所有 P0 模块 |
|
| P3-TEST-01 | 公共 | 自动化测试 | 权限、排柜、幂等、并发、文件、门禁和状态测试 | P0 | 所有 P0 模块 |
|
||||||
@@ -305,11 +307,12 @@ PDA 拣货 → 装柜并上传货柜/铅封照片
|
|||||||
| P3-Q5 | 拣货是否依赖实时库存和库位可用量? | 已确认依赖入库测量与计费实时库存、当前位置和可用量接口;不扩展完整 WMS |
|
| P3-Q5 | 拣货是否依赖实时库存和库位可用量? | 已确认依赖入库测量与计费实时库存、当前位置和可用量接口;不扩展完整 WMS |
|
||||||
| P3-Q6 | 柜封照片有哪些必传角度和留存期限? | 已确认:五类各至少 1 张、同类型可多张追加、后台操作员/理货员可上传、拣货员仅 PDA 现场采集、错图作废、无限期保留、客户不可见 |
|
| P3-Q6 | 柜封照片有哪些必传角度和留存期限? | 已确认:五类各至少 1 张、同类型可多张追加、后台操作员/理货员可上传、拣货员仅 PDA 现场采集、错图作废、无限期保留、客户不可见 |
|
||||||
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 已确认首版人工维护清单和版本,不接自动报关 |
|
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 已确认首版人工维护清单和版本,不接自动报关 |
|
||||||
| P3-Q8 | 报关代理如何接收资料和返回回执? | 已确认线下提交,授权人员人工上传回执 |
|
| P3-Q8 | 报关代理如何接收资料和返回回执? | 已确认 `LOADED` 后线下提交;授权人员人工上传每轮回执,客户确认/打回,所有客户通过后再提交整柜资料 |
|
||||||
| P3-Q9 | 原型中的“港务信息”具体指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 当前更正:国内货柜履约只维护订舱与出仓前船期资料;六家船公司及出仓后节点查询整体归海外仓业务 |
|
| P3-Q9 | 原型中的“港务信息”具体指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 当前更正:国内货柜履约维护送港、进港、甩柜/改配和实际开船前状态;只有实际开船后进入海运节点查询 |
|
||||||
| P3-Q10 | 进入装柜完成后发现错误如何处理? | 已确认线下人工处理,当前不提供在线冲正 |
|
| P3-Q10 | 进入装柜完成后发现错误如何处理? | 已确认线下人工处理,当前不提供在线冲正 |
|
||||||
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 已确认订舱、拖车、报关放行、PDA 拣货和五类证据为 `LOADED` 硬门禁;单柜次单作业员 |
|
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 费用确认不阻断排柜/装柜;`LOADED` 只校验物理装柜、PDA、数量和证据;报关线和送港线并行,客户确认不阻断送港,进港不代表报关完成;单柜次单作业员 |
|
||||||
| P3-Q12 | “报关回执”具体包含哪些类型,海关放行是否为国内出仓硬门禁? | 已确认有效放行回执为 `LOADED` 硬门禁,首版人工上传 |
|
| P3-Q12 | “报关回执”具体包含哪些类型,海关放行如何与客户确认衔接? | 已确认:回执人工上传并发客户确认;客户打回则重做并生成新回执;所有客户通过后才整柜正式申报,查验/放行单独记录 |
|
||||||
|
| P3-Q17 | 送港和报关是否互相等待?甩柜何时发生? | 已确认:`LOADED` 后两条线同时启动;送港可先到港,报关可先完成客户确认;船舱不足记录甩柜/改配,实际开船才进入海运 |
|
||||||
| P3-Q13 | 国内货柜履约终点以什么状态为准? | 已确认为 `LOADED`/装柜完成;`DELIVERED`/派送完成由海外仓回传,不属于国内国内货柜履约 |
|
| P3-Q13 | 国内货柜履约终点以什么状态为准? | 已确认为 `LOADED`/装柜完成;`DELIVERED`/派送完成由海外仓回传,不属于国内国内货柜履约 |
|
||||||
|
|
||||||
## 十二、建议实施顺序
|
## 十二、建议实施顺序
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## 一、国内货柜履约目标
|
## 一、国内货柜履约目标
|
||||||
|
|
||||||
国内货柜履约承接入库测量与计费到仓、实测、差异处理、处理单元编码和当前位置记录,完成智能排柜、订舱、拖车预约、PDA 拣货、装柜拍照、报关协同、港务信息查询,并将现有订单推进到 `LOADED`/装柜完成。
|
国内货柜履约承接入库测量与计费到仓、实测、差异处理、处理单元编码和当前位置记录,完成智能排柜、订舱、拖车预约、PDA 拣货、装柜拍照,并在 `LOADED` 后分别推进报关客户确认闭环和送港/进港/甩柜;只有承运船舶实际开航才进入海运节点。
|
||||||
|
|
||||||
当前验收基线已确认为 `LOADED`/装柜完成。`DELIVERED`/派送完成只能在货物到达海外仓后由海外仓可信回传推进,不属于国内国内货柜履约操作和验收范围。
|
当前验收基线已确认为 `LOADED`/装柜完成。`DELIVERED`/派送完成只能在货物到达海外仓后由海外仓可信回传推进,不属于国内国内货柜履约操作和验收范围。
|
||||||
|
|
||||||
@@ -24,8 +24,8 @@
|
|||||||
| T06 | 拖车预约 | 服务商、车辆司机、预约时间窗、到离仓节点和异常 | 联调中 | 80% | 2026-08-10 | 待排期 | Firstleg/Admin | 预约生命周期和服务中心串联已通过,最终 LOADED 门禁待 PDA |
|
| T06 | 拖车预约 | 服务商、车辆司机、预约时间窗、到离仓节点和异常 | 联调中 | 80% | 2026-08-10 | 待排期 | Firstleg/Admin | 预约生命周期和服务中心串联已通过,最终 LOADED 门禁待 PDA |
|
||||||
| T07 | PDA 拣货与复核 | 在线进入任务、持久化扫描草稿、批量提交、部分拣货、异常、幂等和单人作业 | 已阻塞 | 45% | 2026-08-10 | 待排期 | Firstleg/PDA | `pick` 第二处真实 S0500 未收口;原子 batch、库存快照、失败整批回滚未实现 |
|
| T07 | PDA 拣货与复核 | 在线进入任务、持久化扫描草稿、批量提交、部分拣货、异常、幂等和单人作业 | 已阻塞 | 45% | 2026-08-10 | 待排期 | Firstleg/PDA | `pick` 第二处真实 S0500 未收口;原子 batch、库存快照、失败整批回滚未实现 |
|
||||||
| T08 | 装柜及柜封证据 | 装柜节点、柜号、铅封号、PDA 现场拍照、后台角色上传、多图追加、作废和复核 | 联调中 | 80% | 2026-08-10 | 待排期 | Firstleg/Admin/PDA | 五类证据、多图追加、作废和硬门禁已通过;终态仍依赖 PDA |
|
| T08 | 装柜及柜封证据 | 装柜节点、柜号、铅封号、PDA 现场拍照、后台角色上传、多图追加、作废和复核 | 联调中 | 80% | 2026-08-10 | 待排期 | Firstleg/Admin/PDA | 五类证据、多图追加、作废和硬门禁已通过;终态仍依赖 PDA |
|
||||||
| T09 | 报关资料与回执 | 人工资料清单、后台审核补件、线下提交代理、人工上传放行回执 | 联调中 | 70% | 2026-08-10 | 待排期 | Firstleg/Admin | 人工清单和资料版本已通过;LOADED 子订单关联受 PDA 失败级联阻断 |
|
| T09 | 装柜后报关资料与客户确认 | `LOADED` 后通知报关行;客户资料→报关行回执→客户确认/打回重做→所有客户通过→整柜正式申报→查验/放行 | 联调中 | 70% | 2026-09-24 | 待排期 | Firstleg/Admin | 多轮回执、客户确认和整柜提交仍待实现 |
|
||||||
| T10 | 装柜完成门禁 | 校验订舱、拖车、报关放行、PDA 拣货、五类证据和锁码文本,推进 `LOADED` | 已阻塞 | 70% | 2026-08-10 | 待排期 | Firstleg | 门禁逐项读取和 fail-closed 已通过,真实推进 `LOADED` 等 PDA 修复 |
|
| T10 | 装柜完成与送港/开船门禁 | `LOADED` 校验物理装柜;送港线独立校验订舱/拖车、离仓、进港和甩柜;实际开船才进入海运 | 已阻塞 | 70% | 2026-09-24 | 待排期 | Firstleg | 报关线和送港线并行口径已确认,真实推进与 PDA 修复仍待完成 |
|
||||||
| T11 | 客户端国内货柜履约协同 | 装柜进度、柜次、回执、预计开船/到港和变更时间线 | 待开始 | 0% | 待排期 | 待排期 | 待分配 | 客户不查看装柜照片和锁码;依赖 T05、T09、T10 |
|
| T11 | 客户端国内货柜履约协同 | 装柜进度、柜次、回执、预计开船/到港和变更时间线 | 待开始 | 0% | 待排期 | 待排期 | 待分配 | 客户不查看装柜照片和锁码;依赖 T05、T09、T10 |
|
||||||
| T12 | 联调测试与发布 | 跨端联调、自动化测试、PDA 真机、安全、弱网、迁移、验收和发布 | 联调中 | 70% | 2026-08-10 | 待排期 | 总控/测试 | Admin、Firstleg 已分模块部署并持续真实 HTTP 验收;PDA S0500、batch 契约和真机验收未收口 |
|
| T12 | 联调测试与发布 | 跨端联调、自动化测试、PDA 真机、安全、弱网、迁移、验收和发布 | 联调中 | 70% | 2026-08-10 | 待排期 | 总控/测试 | Admin、Firstleg 已分模块部署并持续真实 HTTP 验收;PDA S0500、batch 契约和真机验收未收口 |
|
||||||
|
|
||||||
@@ -43,8 +43,8 @@
|
|||||||
| P3-T06-00 | T06 | 后台/服务端 | 拖车预约 | 服务商、车辆司机、时间窗、到离仓和异常;完成状态供门禁校验 | P0 | 联调中 | 80% | P3-T03-00 | Firstleg/Admin | 预约、附件、历史及服务中心链路已通过真实接口 |
|
| P3-T06-00 | T06 | 后台/服务端 | 拖车预约 | 服务商、车辆司机、时间窗、到离仓和异常;完成状态供门禁校验 | P0 | 联调中 | 80% | P3-T03-00 | Firstleg/Admin | 预约、附件、历史及服务中心链路已通过真实接口 |
|
||||||
| P3-T07-00 | T07 | PDA/后台/服务端 | PDA 拣货与复核 | 按单柜次单作业员实现在线草稿、批量提交、异常、幂等和实时库存校验 | P0 | 已阻塞 | 45% | P3-T04-00 | Firstleg/PDA | 广播扫描已接入;真实 pick S0500 与原子 batch 契约仍待收口 |
|
| P3-T07-00 | T07 | PDA/后台/服务端 | PDA 拣货与复核 | 按单柜次单作业员实现在线草稿、批量提交、异常、幂等和实时库存校验 | P0 | 已阻塞 | 45% | P3-T04-00 | Firstleg/PDA | 广播扫描已接入;真实 pick S0500 与原子 batch 契约仍待收口 |
|
||||||
| P3-T08-00 | T08 | PDA/后台/服务端 | 装柜及柜封证据 | 实现五类多图追加、角色上传、作废和无限期留存,客户不可见 | P0 | 联调中 | 80% | P3-T07-00 | Firstleg/Admin/PDA | 五类证据与安全边界已通过,真机拍照和终态待验收 |
|
| P3-T08-00 | T08 | PDA/后台/服务端 | 装柜及柜封证据 | 实现五类多图追加、角色上传、作废和无限期留存,客户不可见 | P0 | 联调中 | 80% | P3-T07-00 | Firstleg/Admin/PDA | 五类证据与安全边界已通过,真机拍照和终态待验收 |
|
||||||
| P3-T09-00 | T09 | 客户端/后台/服务端 | 报关资料与回执 | 实现人工清单、补件、线下提交记录、人工放行回执上传 | P0 | 联调中 | 70% | P3-T02-00 | Firstleg/Admin | 人工协同接口已部署,最终子订单关联受 PDA 失败级联阻断 |
|
| P3-T09-00 | T09 | 客户端/后台/服务端 | 报关资料与客户确认闭环 | 实现客户案例、报关行回执轮次、确认/打回重做、所有客户通过后整柜正式提交、查验/放行记录 | P0 | 联调中 | 70% | P3-T02-00 | Firstleg/Admin | 人工协同接口已部署,客户确认闭环仍待实现 |
|
||||||
| P3-T10-00 | T10 | 后台/服务端 | 装柜完成门禁 | 实现订舱/拖车/放行/PDA/证据硬门禁并推进 `LOADED` | P0 | 已阻塞 | 70% | P3-T07-00、P3-T08-00、P3-T09-00 | Firstleg | 门禁读取已通过;推进 LOADED 受 PDA 主链阻断 |
|
| P3-T10-00 | T10 | 后台/服务端 | 装柜完成与送港/开船事实 | 实现物理 `LOADED`、送港/进港、甩柜/改配和实际开船分层事实,不以报关确认阻断送港 | P0 | 已阻塞 | 70% | P3-T07-00、P3-T08-00、P3-T09-00 | Firstleg | 门禁读取已通过;推进 LOADED 受 PDA 主链阻断 |
|
||||||
| P3-T11-00 | T11 | 客户端/服务端 | 客户端国内货柜履约协同 | 展示柜次、装柜进度、客户可见回执和船期;不返回照片与锁码 | P0 | 待开始 | 0% | P3-T05-00、P3-T09-00、P3-T10-00 | 待分配 | - |
|
| P3-T11-00 | T11 | 客户端/服务端 | 客户端国内货柜履约协同 | 展示柜次、装柜进度、客户可见回执和船期;不返回照片与锁码 | P0 | 待开始 | 0% | P3-T05-00、P3-T09-00、P3-T10-00 | 待分配 | - |
|
||||||
| P3-T12-00 | T12 | 公共 | 联调测试与发布 | 维护定向/全量真实 HTTP、PDA 真机、安全和发布回归 | P0 | 联调中 | 70% | P3-T02-00~P3-T11-00 | 总控/测试 | 已进入分模块部署验收;不得用 mock、历史资源或 coverage gap 伪装通过 |
|
| P3-T12-00 | T12 | 公共 | 联调测试与发布 | 维护定向/全量真实 HTTP、PDA 真机、安全和发布回归 | P0 | 联调中 | 70% | P3-T02-00~P3-T11-00 | 总控/测试 | 已进入分模块部署验收;不得用 mock、历史资源或 coverage gap 伪装通过 |
|
||||||
| P3-T01-PROTO-01 | T01 | 公共 | 原型盘点 | 盘点流程图、后台、企业客户端和 PDA 中与国内货柜履约相关的页面及交互 | P0 | 已完成 | 100% | - | 待分配 | 2026-07-28 已完成首次盘点,来源为 `docs/悦` |
|
| P3-T01-PROTO-01 | T01 | 公共 | 原型盘点 | 盘点流程图、后台、企业客户端和 PDA 中与国内货柜履约相关的页面及交互 | P0 | 已完成 | 100% | - | 待分配 | 2026-07-28 已完成首次盘点,来源为 `docs/悦` |
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
| P3-M2 订单国内货柜履约编排 | 现有订单、柜次、排柜、订舱、港务和拖车可关联追溯 | 联调中 | 待排期 |
|
| P3-M2 订单国内货柜履约编排 | 现有订单、柜次、排柜、订舱、港务和拖车可关联追溯 | 联调中 | 待排期 |
|
||||||
| P3-M3 仓内出仓 | PDA 拣货、复核、装柜和柜封证据闭环 | 已阻塞 | 待排期 |
|
| P3-M3 仓内出仓 | PDA 拣货、复核、装柜和柜封证据闭环 | 已阻塞 | 待排期 |
|
||||||
| P3-M4 报关协同 | 客户资料、后台审核、提交代理、回执上传下载闭环 | 联调中 | 待排期 |
|
| P3-M4 报关协同 | 客户资料、后台审核、提交代理、回执上传下载闭环 | 联调中 | 待排期 |
|
||||||
| P3-M5 装柜完成 | 订舱、拖车、放行回执、PDA 和证据门禁满足后进入 `LOADED`;后续错误线下处理 | 已阻塞 | 待排期 |
|
| P3-M5 装柜完成及并行分支 | 真实柜号、PDA、数量守恒和五类证据门禁满足后进入 `LOADED`;随后并行推进报关客户确认闭环和送港/进港/甩柜,实际开船才进入海运 | 已阻塞 | 待排期 |
|
||||||
| P3-M6 国内货柜履约上线 | 联调、真机、安全、测试、验收和生产发布完成 | 进行中 | 待排期 |
|
| P3-M6 国内货柜履约上线 | 联调、真机、安全、测试、验收和生产发布完成 | 进行中 | 待排期 |
|
||||||
|
|
||||||
## 七、未确认事项(需求确认进度)
|
## 七、未确认事项(需求确认进度)
|
||||||
@@ -118,8 +118,8 @@
|
|||||||
| P3-Q8 | 模块阻断 | 报关代理接收资料和返回回执的方式 | 已确认 | 线下提交、人工上传回执 |
|
| P3-Q8 | 模块阻断 | 报关代理接收资料和返回回执的方式 | 已确认 | 线下提交、人工上传回执 |
|
||||||
| P3-Q9 | 开工阻断 | 港务信息的业务含义、字段和维护方 | 已确认 | 六家船公司查询、三日周期、三次上限、过期标识 |
|
| P3-Q9 | 开工阻断 | 港务信息的业务含义、字段和维护方 | 已确认 | 六家船公司查询、三日周期、三次上限、过期标识 |
|
||||||
| P3-Q10 | 模块阻断 | 装柜完成后的错误处理和冲正方式 | 已确认 | 线下人工处理,不提供在线冲正 |
|
| P3-Q10 | 模块阻断 | 装柜完成后的错误处理和冲正方式 | 已确认 | 线下人工处理,不提供在线冲正 |
|
||||||
| P3-Q11 | 开工阻断 | 九个动作的强制前置和并行关系 | 已确认 | 订舱/拖车/放行/PDA/证据为硬门禁;单柜次单人 |
|
| P3-Q11 | 开工阻断 | 九个动作的强制前置和并行关系 | 已确认 | `LOADED` 后报关线和送港线并行;客户确认不阻断送港,进港不代表报关完成;单柜次单人 |
|
||||||
| P3-Q12 | 开工阻断 | 报关回执类型及海关放行是否为装柜完成硬门禁 | 已确认 | 有效放行回执为硬门禁,人工上传 |
|
| P3-Q12 | 开工阻断 | 报关行回执、客户确认、正式申报和海关结果 | 已确认 | 回执必须发客户确认,打回则重做;所有客户通过后才整柜正式申报,查验/放行单独记录 |
|
||||||
| P3-Q13 | 开工阻断 | 国内货柜履约终点 | 已确认 | `LOADED`/装柜完成;`DELIVERED` 由海外仓回传,移出国内货柜履约验收 |
|
| P3-Q13 | 开工阻断 | 国内货柜履约终点 | 已确认 | `LOADED`/装柜完成;`DELIVERED` 由海外仓回传,移出国内货柜履约验收 |
|
||||||
|
|
||||||
## 八、开工准入记录
|
## 八、开工准入记录
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
|
|
||||||
| 准入编号 | 准入条件 | 当前状态 | 责任方 | 完成证据 |
|
| 准入编号 | 准入条件 | 当前状态 | 责任方 | 完成证据 |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| P3-GO-01 | P3-Q1~P3-Q13 均形成产品结论 | 已完成 | 产品、业务 | `国内货柜履约需求确认表.md` 已同步最终结论 |
|
| P3-GO-01 | P3-Q1~P3-Q17 均形成产品结论 | 已完成 | 产品、业务 | `国内货柜履约需求确认表.md` 已同步最终结论 |
|
||||||
| P3-GO-02 | 确认结论已同步开发规划、进度表、页面清单和验收范围 | 已完成 | 产品、项目负责人 | README、进度表、页面清单和验收口径已按确认版同步 |
|
| P3-GO-02 | 确认结论已同步开发规划、进度表、页面清单和验收范围 | 已完成 | 产品、项目负责人 | README、进度表、页面清单和验收口径已按确认版同步 |
|
||||||
| P3-GO-03 | 关键缺失原型已补齐并评审,包括订单装柜完成门禁、客户端国内货柜履约页面和 PDA 五类多图拍照 | 进行中 | 产品、设计、业务 | 页面清单中的关键页面达到已确认状态 |
|
| P3-GO-03 | 关键缺失原型已补齐并评审,包括订单装柜完成门禁、客户端国内货柜履约页面和 PDA 五类多图拍照 | 进行中 | 产品、设计、业务 | 页面清单中的关键页面达到已确认状态 |
|
||||||
| P3-GO-04 | T02 公共契约完成,入库测量与计费输入、状态机、权限、数据模型、接口、错误码和审计口径稳定 | 进行中 | 前后端、架构/技术负责人 | 主体契约已部署;PDA 原子 batch 契约仍缺 |
|
| P3-GO-04 | T02 公共契约完成,入库测量与计费输入、状态机、权限、数据模型、接口、错误码和审计口径稳定 | 进行中 | 前后端、架构/技术负责人 | 主体契约已部署;PDA 原子 batch 契约仍缺 |
|
||||||
|
|||||||
@@ -6,14 +6,15 @@
|
|||||||
|
|
||||||
- 已确认规则可进入契约、数据、接口、页面和测试拆分,不需要等待整期所有模块完成。
|
- 已确认规则可进入契约、数据、接口、页面和测试拆分,不需要等待整期所有模块完成。
|
||||||
- 订单继续承载国内货柜履约主状态,不新建独立出仓单;支持父订单、子订单与柜次关系,以及一单多柜和多订单拼柜。
|
- 订单继续承载国内货柜履约主状态,不新建独立出仓单;支持父订单、子订单与柜次关系,以及一单多柜和多订单拼柜。
|
||||||
- 智能排柜、订舱与船期、拖车预约、PDA 在线拣货、五类装柜证据、人工报关回执和 `LOADED` 服务端门禁按需求确认表执行。
|
- 智能排柜、订舱与船期、拖车预约、PDA 在线拣货、五类装柜证据、`LOADED` 后客户报关确认闭环、送港/甩柜和实际开船按本轮确认流程执行。
|
||||||
- 国内货柜履约的国内终点为 `LOADED`;`DELIVERED` 只由海外仓可信回传推进。
|
- 国内货柜履约的国内终点为 `LOADED`;`DELIVERED` 只由海外仓可信回传推进。
|
||||||
|
|
||||||
## 跨端硬边界
|
## 跨端硬边界
|
||||||
|
|
||||||
- `LOADED` 前必须由服务端校验订舱完成、拖车完成、有效报关放行回执、PDA 拣货完成和五类有效证据完整;国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED`。
|
- `LOADED` 前必须由服务端校验真实柜号、PDA 拣货与数量守恒、五类有效证据和未解决异常。`LOADED` 后报关线和送港线分别校验:报关线按客户资料、报关行回执、客户确认/打回、所有客户通过、整柜正式申报和海关结果推进;送港线按订舱/拖车、离仓、进港、甩柜和实际开船推进。客户确认不阻断送港,进港不代表报关完成。国内 Admin/PDA 不提供在线冲正或手工推进 `DELIVERED`。
|
||||||
- PDA 正式作业仅在线;单柜次只允许一名作业员,不支持多人并行、任务接管或换班释放。进入任务即由服务端标记拣货中,扫描草稿按作业员、任务和柜次隔离,提交时批量写入。
|
- PDA 正式作业仅在线;单柜次只允许一名作业员,不支持多人并行、任务接管或换班释放。进入任务即由服务端标记拣货中,扫描草稿按作业员、任务和柜次隔离,提交时批量写入。
|
||||||
- 每类证据至少一张有效照片,允许同类型追加;错误照片只能作废并保留审计。客户不可见照片与锁码。
|
- 每类证据至少一张有效照片,允许同类型追加;错误照片只能作废并保留审计。客户不可见照片与锁码。
|
||||||
|
- 报关在 `LOADED` 后正式启动:每个客户经历资料上传、报关行回执、客户确认或打回重做,所有客户通过后才提交整柜资料给报关行正式申报;送港线独立记录拖车、进港、甩柜和实际开船。费用确认不阻断排柜/装柜,装柜完成后对已装范围的当前有效已发布费用版本记录系统默认确认,来源和客户主动确认必须分开审计。
|
||||||
- 前端页面、菜单和路由只能在对应服务端契约、权限和数据模型稳定后发布;原型中的完整 WMS、海外仓及未确认能力不属于国内货柜履约默认范围。
|
- 前端页面、菜单和路由只能在对应服务端契约、权限和数据模型稳定后发布;原型中的完整 WMS、海外仓及未确认能力不属于国内货柜履约默认范围。
|
||||||
|
|
||||||
## 局部阻断项
|
## 局部阻断项
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 国内货柜履约装柜闭环产品确认表
|
# 国内货柜履约装柜闭环产品确认表
|
||||||
|
|
||||||
|
> **历史版本声明(2026-09-24)**:本文仅保留 2026-08-08 的原始讨论记录,其中“装柜完成即结束”和报关/离仓关系等内容已被当前流程替代。当前规则以 [头程到尾程流程节点梳理(重构版)](../头程到尾程流程节点梳理.md)、[报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md) 和最新需求确认表为准:`LOADED` 只表示物理装柜完成;正式报关在装柜完成后按最终实装清单执行,放行回执参与 `DEPARTED_WAREHOUSE` 离仓门禁。
|
||||||
|
|
||||||
> 确认方式:产品只需在“产品确认”一列填写“同意”,或写明修改后的规则。
|
> 确认方式:产品只需在“产品确认”一列填写“同意”,或写明修改后的规则。
|
||||||
> 会议目标:本表确认后直接进入开发,不再补完整高保真原型。
|
> 会议目标:本表确认后直接进入开发,不再补完整高保真原型。
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 国内货柜履约装柜闭环开发前确认单
|
# 国内货柜履约装柜闭环开发前确认单
|
||||||
|
|
||||||
|
> **历史版本声明(2026-09-24)**:本文是旧版“以 `LOADED` 作为国内履约终点”的开发前确认材料,旧规则已被本轮新流程替代。当前按三大业务块梳理;`LOADED` 只表示物理装柜完成,正式报关在装柜完成后按最终实装清单执行,放行回执、订舱、拖车和异常门禁用于推进 `DEPARTED_WAREHOUSE`。费用确认不阻断装柜,当前有效已发布费用版本在 `LOADED` 时按已装载范围默认确认。开发以 [头程到尾程流程节点梳理(重构版)](../头程到尾程流程节点梳理.md)、[报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md) 和当前确认记录为准。
|
||||||
|
|
||||||
> 整理日期:2026-08-08
|
> 整理日期:2026-08-08
|
||||||
> 用途:产品、业务、仓库、研发在直接开发前确认最小闭环细节
|
> 用途:产品、业务、仓库、研发在直接开发前确认最小闭环细节
|
||||||
> 当前建议:不补完整高保真原型,确认本清单后直接开发
|
> 当前建议:不补完整高保真原型,确认本清单后直接开发
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 虫虫出海国内货柜履约闭环审计报告
|
# 虫虫出海国内货柜履约闭环审计报告
|
||||||
|
|
||||||
|
> **历史记录声明(2026-09-24)**:本文记录的是 2026-08-08 的旧口径和旧审计结论,不再作为当前流程或开发门禁依据。当前统一采用三大业务块和“装柜完成后正式报关”的新流程:`LOADED` 只确认物理装柜完成;装柜完成后按最终实装清单正式报送,取得有效回执/放行结果后,结合订舱、拖车和异常门禁推进 `DEPARTED_WAREHOUSE`。费用确认不阻断装柜,装柜完成时对当前有效已发布版本按已装载范围默认确认。当前规则以 [头程到尾程流程节点梳理(重构版)](../头程到尾程流程节点梳理.md)、[报关资料与船期价格接入梳理](报关资料与船期价格接入梳理.md) 和本轮确认记录为准。
|
||||||
|
|
||||||
> 审计日期:2026-08-08
|
> 审计日期:2026-08-08
|
||||||
> 审计范围:入库测量与计费终点→智能排柜→订舱→拖车→PDA 拣货→装柜/柜封证据→`LOADED`/装柜完成
|
> 审计范围:入库测量与计费终点→智能排柜→订舱→拖车→PDA 拣货→装柜/柜封证据→`LOADED`/装柜完成
|
||||||
> 审计对象:Admin、Client、PDA、`baiyue-firstleg` 后端、OpenAPI/SQL、自动化测试与现有测试环境报告
|
> 审计对象:Admin、Client、PDA、`baiyue-firstleg` 后端、OpenAPI/SQL、自动化测试与现有测试环境报告
|
||||||
|
|||||||
@@ -22,13 +22,16 @@
|
|||||||
| P3-Q5 | 拣货是否依赖实时库存和库位可用量? | 默认使用入库测量与计费处理单元和当前位置;如需完整库存,单独评估 WMS 范围 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | PDA 拣货必须依赖实时库存和库位可用量;首版复用入库测量与计费处理单元、当前位置和可用量接口,超量、库存不足和库位不可用由服务端拒绝;不扩展完整 WMS | 入库测量与计费及国内货柜履约契约、拣货、库存边界 |
|
| P3-Q5 | 拣货是否依赖实时库存和库位可用量? | 默认使用入库测量与计费处理单元和当前位置;如需完整库存,单独评估 WMS 范围 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | PDA 拣货必须依赖实时库存和库位可用量;首版复用入库测量与计费处理单元、当前位置和可用量接口,超量、库存不足和库位不可用由服务端拒绝;不扩展完整 WMS | 入库测量与计费及国内货柜履约契约、拣货、库存边界 |
|
||||||
| P3-Q6 | 柜封照片有哪些必传类型、数量、采集方式、处理规则和留存期限? | 五类证据、角色和留存按确认版直接进入契约 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 空仓、半仓、满仓、锁仓、带锁码照五类各至少 1 张有效照片,同类型可无限追加;PDA 只能现场拍照;后台操作员和理货员可人工上传;拣货员只负责 PDA 现场采集,不开放后台人工上传;错图不硬删除,按原因、操作人、时间作废;带锁码照必须填写锁码文本;照片无限期保留,客户不可见照片和锁码 | 装柜、PDA 拍照、Admin 上传、文件存储、订单后程门禁 |
|
| P3-Q6 | 柜封照片有哪些必传类型、数量、采集方式、处理规则和留存期限? | 五类证据、角色和留存按确认版直接进入契约 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 空仓、半仓、满仓、锁仓、带锁码照五类各至少 1 张有效照片,同类型可无限追加;PDA 只能现场拍照;后台操作员和理货员可人工上传;拣货员只负责 PDA 现场采集,不开放后台人工上传;错图不硬删除,按原因、操作人、时间作废;带锁码照必须填写锁码文本;照片无限期保留,客户不可见照片和锁码 | 装柜、PDA 拍照、Admin 上传、文件存储、订单后程门禁 |
|
||||||
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 清单配置化,并保存业务使用的清单版本 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 首版不对接海关或代理系统;按人工维护资料清单、收集/补件并保存版本,具体清单可配置 | 客户资料、报关审核、文件版本 |
|
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 清单配置化,并保存业务使用的清单版本 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 首版不对接海关或代理系统;按人工维护资料清单、收集/补件并保存版本,具体清单可配置 | 客户资料、报关审核、文件版本 |
|
||||||
| P3-Q8 | 报关代理如何接收资料并返回回执? | 首版系统内整理、线下提交,正式接口后续评估 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | 全部人工处理:平台整理资料后线下交代理,授权人员人工上传代理回执;系统记录提交批次、回执版本和时间,不建设自动对接 | 报关协同、回执上传 |
|
| P3-Q8 | 报关代理如何接收资料并返回回执? | 首版系统内整理、线下提交,正式接口后续评估 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10;2026-09-24 更正 | `LOADED` 后平台按客户/入仓码收集资料并线下发给报关行;授权人员上传每轮报关行回执,发给对应客户确认。客户打回后重新上传、重新发报关行并生成新回执,直到该客户确认;记录资料版本、回执版本、roundNo、发送时间和确认/打回审计 | 报关协同、客户确认、回执上传 |
|
||||||
| P3-Q9 | “港务信息”指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 国内货柜履约只维护订舱与出仓前船期资料 | 已重新归期 | 已确认 | 产品/业务 | 2026-08-19 | 柜子确认离开国内仓库后的船公司/货物跟踪查询、每 3 天最多 3 次、来源、更新时间和过期标识整体归海外仓业务;国内货柜履约不建设或验收该查询 | 国内货柜履约订舱资料、海外仓业务船节点查询 |
|
| P3-Q9 | “港务信息”指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 国内货柜履约只维护订舱与出仓前船期资料 | 已重新归期 | 已确认 | 产品/业务 | 2026-08-19 | 柜子确认离开国内仓库后的船公司/货物跟踪查询、每 3 天最多 3 次、来源、更新时间和过期标识整体归海外仓业务;国内货柜履约不建设或验收该查询 | 国内货柜履约订舱资料、海外仓业务船节点查询 |
|
||||||
| P3-Q10 | 订单进入“装柜完成”后发现错误如何处理? | 仅保留线下人工处理和审计,不建设在线冲正 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | `LOADED` 后不提供在线冲正/回退入口,统一线下人工处理;系统保留原状态和审计记录,不由国内 Admin/PDA 推进 `DELIVERED` | 装柜完成门禁、权限、审计 |
|
| P3-Q10 | 订单进入“装柜完成”后发现错误如何处理? | 仅保留线下人工处理和审计,不建设在线冲正 | 模块阻断 | 已确认 | 产品/业务 | 2026-08-10 | `LOADED` 后不提供在线冲正/回退入口,统一线下人工处理;系统保留原状态和审计记录,不由国内 Admin/PDA 推进 `DELIVERED` | 装柜完成门禁、权限、审计 |
|
||||||
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 统一门禁按已确认前置执行;PDA 单柜次单人作业 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | 订舱完成、拖车完成、报关资料完成且有放行回执、PDA 拣货完成及五类证据完整均为进入 `LOADED` 的强制门禁;PDA 单柜次单人作业,不做多人并行;进入任务即拣货中,提交时批量写入 | 全流程、状态机、PDA、页面进度 |
|
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 统一门禁按已确认前置执行;PDA 单柜次单人作业 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10;2026-09-24 更正 | 费用确认不阻断排柜、预装、PDA 或装柜。进入 `LOADED` 只校验物理装柜、PDA、数量、真实柜号和五类证据;`LOADED` 后报关线和送港线同时启动,客户报关确认不阻断送港,送港/进港也不替代客户确认;只有实际开船前才汇合检查报关结果、港口和船次条件;PDA 单柜次单人作业 | 全流程、状态机、PDA、报关、送港、页面进度 |
|
||||||
| P3-Q12 | 报关回执包含哪些类型,海关放行是否为装柜完成硬门禁? | 有效放行回执作为硬门禁,首版人工上传 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10 | 首版回执由人工上传;必须存在有效放行回执才能通过 `LOADED` 门禁。回执类型和版本可追溯,具体字段按人工业务单据映射 | 报关状态、装柜完成门禁、客户回执 |
|
| P3-Q12 | 报关回执包含哪些类型,客户确认和海关放行如何衔接? | 首版人工上传回执并保留版本 | 开工阻断 | 已确认 | 产品/业务 | 2026-08-10;2026-09-24 更正 | `LOADED` 后按客户/入仓码收集资料并发送报关行;报关行回执发对应客户确认,客户打回则重新上传、重新发送并生成新回执;所有客户确认后才向报关行提交整柜资料并正式申报;之后分别记录查验、不查验放行、补件/退回等海关结果。回执上传不等于客户确认,客户确认也不等于海关放行 | 报关状态、客户回执、整柜申报、海关结果 |
|
||||||
| P3-Q13 | 国内货柜履约终点以什么状态为准? | 国内系统以能掌控的最后环节为终点 | 开工阻断 | 已确认 | 用户当前对话确认 | 2026-08-08 | 国内货柜履约终点为 `LOADED`/装柜完成;`DELIVERED`/派送完成只能在到达海外仓后由海外仓可信回传推进,不属于国内国内货柜履约操作和验收范围 | 阶段边界、状态、里程碑、验收、海外仓回传 |
|
| P3-Q13 | 国内货柜履约终点以什么状态为准? | 国内系统以能掌控的最后环节为终点 | 开工阻断 | 已确认 | 用户当前对话确认 | 2026-08-08 | 国内货柜履约终点为 `LOADED`/装柜完成;`DELIVERED`/派送完成只能在到达海外仓后由海外仓可信回传推进,不属于国内国内货柜履约操作和验收范围 | 阶段边界、状态、里程碑、验收、海外仓回传 |
|
||||||
| P3-Q14 | 订舱、渠道柜次、放舱与智能排柜的先后关系是什么? | 线下已订妥的订舱在创建时完整登记五项真实运输快照并直接确认;放舱不覆盖首次快照 | 开工阻断 | 已确认 | 用户当前对话确认 | 2026-08-12 | 订舱创建请求必须携带提单号、船名、航次、预计开船时间、预计到港时间五项真实运输数据,并直接进入 `CONFIRMED`;渠道、箱型和数量同时确定,系统按箱型需求数量生成绑定渠道的稳定内部柜次。未放舱不影响候选查询、智能推荐、人工调整和保存装柜计划;同一柜次只能装同渠道入库单,服务端禁止跨渠道混装。`RELEASED` 仅作为后续放舱/PDA 门禁,不补录、不覆盖首次五项运输快照;真实集装箱号可在放舱时或之后录入 | 订舱、柜次、智能排柜、预装、PDA、运输信息 |
|
| P3-Q14 | 订舱、渠道柜次、放舱与智能排柜的先后关系是什么? | 线下已订妥的订舱在创建时完整登记五项真实运输快照并直接确认;放舱不覆盖首次快照 | 开工阻断 | 已确认 | 用户当前对话确认 | 2026-08-12 | 订舱创建请求必须携带提单号、船名、航次、预计开船时间、预计到港时间五项真实运输数据,并直接进入 `CONFIRMED`;渠道、箱型和数量同时确定,系统按箱型需求数量生成绑定渠道的稳定内部柜次。未放舱不影响候选查询、智能推荐、人工调整和保存装柜计划;同一柜次只能装同渠道入库单,服务端禁止跨渠道混装。`RELEASED` 仅作为后续放舱/PDA 门禁,不补录、不覆盖首次五项运输快照;真实集装箱号可在放舱时或之后录入 | 订舱、柜次、智能排柜、预装、PDA、运输信息 |
|
||||||
|
| P3-Q15 | 客户未确认费用是否阻断排柜、装柜?装柜完成后如何处理? | 费用作为并行事实,装柜完成时对当前有效版本做系统默认确认 | 模块阻断 | 已确认 | 用户当前对话确认 | 2026-09-24 | 客户费用确认不阻断排柜、预装、PDA 或装柜。装柜完成后,针对本次已装范围的当前有效且已发布费用版本,若客户未确认则记录“系统默认确认(装柜完成)”;保留客户确认与 `SYSTEM_AUTO_AT_LOADED` 来源、版本、柜次/入仓码、时间和幂等标识。没有有效费用版本不得伪造确认;部分装载不确认余量或整张未完成订单 | 费用版本、装柜完成、客户进度、审计、部分装载 |
|
||||||
|
| P3-Q16 | 报关资料何时收集、何时正式报送? | 装柜后通知报关,按客户确认轮次完成后正式提交 | 模块阻断 | 已确认 | 用户当前对话确认 | 2026-09-24 | `LOADED` 后以最终实装清单通知报关行,按客户/入仓码收集资料并发送报关行;回执发客户确认,打回则重新上传、重新发送并产生新回执,循环至所有客户通过;全部客户确认后再提交整柜资料给报关行确认,由报关行正式申报;海关查验/不查验放行等结果单独记录。送港线与报关线并行,谁先到都保留事实 | 客户资料、回执轮次、客户确认、整柜申报、送港/海运 |
|
||||||
|
| P3-Q17 | 送港和报关是否互相等待?甩柜何时发生? | 两条线并行,实际开船才进入海运 | 开工阻断 | 已确认 | 用户当前对话确认 | 2026-09-24 | `LOADED` 后可同时安排拖车、送港和报关;送港可先到港,报关也可先完成客户确认/正式申报。船舱不足记录 `ROLLED_OVER`,保存原船次、改配船次、滚动次数和通知;只有承运船舶真实开航才写 `VESSEL_DEPARTED`/海运节点 | 送港、船次、甩柜、海运节点 |
|
||||||
|
|
||||||
### 2.1 PDA 已确认子决策
|
### 2.1 PDA 已确认子决策
|
||||||
|
|
||||||
@@ -52,9 +55,10 @@
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| P3-D1 | 2026-08-08 | 国内货柜履约不新建独立出仓单,现有订单列表承载全部主状态;柜次、订舱、拖车、拣货、证据和报关作为订单关联子对象 | 取消出仓单页面和数据模型规划,改为增强现有订单列表/详情及服务端统一编排 |
|
| P3-D1 | 2026-08-08 | 国内货柜履约不新建独立出仓单,现有订单列表承载全部主状态;柜次、订舱、拖车、拣货、证据和报关作为订单关联子对象 | 取消出仓单页面和数据模型规划,改为增强现有订单列表/详情及服务端统一编排 |
|
||||||
| P3-D2 | 2026-08-10 | 订单拆分采用“父订单→子订单→柜次”;已装载数量形成子订单,未装载数量自动生成后续子订单;支持一单多柜和多订单拼柜 | 后端必须保留父子订单、柜次、数量分摊和整体时间线;不得把未装载部分静默丢弃 |
|
| P3-D2 | 2026-08-10 | 订单拆分采用“父订单→子订单→柜次”;已装载数量形成子订单,未装载数量自动生成后续子订单;支持一单多柜和多订单拼柜 | 后端必须保留父子订单、柜次、数量分摊和整体时间线;不得把未装载部分静默丢弃 |
|
||||||
| P3-D3 | 2026-08-10 | `LOADED` 的硬门禁包含订舱完成、拖车完成、报关放行回执、PDA 拣货完成和五类证据完整;`LOADED` 后错误线下人工处理 | 统一门禁服务负责校验,国内页面不提供在线冲正或 `DELIVERED` 操作 |
|
| P3-D3 | 2026-08-10;2026-09-24 更正 | `LOADED` 只表示物理装柜完成,门禁包含真实柜号、PDA 拣货、数量守恒和五类证据;装柜后报关线、送港线独立推进,报关客户确认不阻断送港,进港不代表报关完成;实际开船前再校验报关结果、港口和船次条件;`LOADED` 后错误线下人工处理 | 统一门禁服务分别维护物理装柜、报关案例、送港/进港、甩柜和实际开船事实;国内页面不提供在线冲正或 `DELIVERED` 操作 |
|
||||||
| P3-D4 | 2026-08-10;2026-08-19 更正归期 | 船公司官网查询:每 3 天一次、最多 3 次,保存来源、更新时间和过期标识 | 该能力及首批六家来源整体归海外仓业务,国内货柜履约只保留订舱与出仓前船期资料 |
|
| P3-D4 | 2026-08-10;2026-08-19 更正归期 | 船公司官网查询:每 3 天一次、最多 3 次,保存来源、更新时间和过期标识 | 该能力及首批六家来源整体归海外仓业务,国内货柜履约只保留订舱与出仓前船期资料 |
|
||||||
| P3-D5 | 2026-08-10 | 初始化仓库常用角色:操作员、拣货员、理货员;按最小权限授予拣货、证据上传和查看能力 | 角色初始化由 IAM/统一 SQL 任务实现,具体权限矩阵在技术契约评审中落表 |
|
| P3-D5 | 2026-08-10 | 初始化仓库常用角色:操作员、拣货员、理货员;按最小权限授予拣货、证据上传和查看能力 | 角色初始化由 IAM/统一 SQL 任务实现,具体权限矩阵在技术契约评审中落表 |
|
||||||
|
| P3-D6 | 2026-09-24 | 费用确认不阻断排柜和装柜;装柜完成后对已装范围的当前有效已发布版本执行系统默认确认,来源与客户主动确认分开审计;`LOADED` 后报关采用“报关行回执→客户确认/打回重做→所有客户通过→整柜正式申报→查验/放行”,送港线并行并单独记录甩柜和实际开船 | 同步费用版本、部分装载、客户报关案例、回执轮次、整柜申报、送港/船次和客户/后台节点;该规则覆盖旧的“装柜完成不得代替客户自动确认”和“报关/送港单线串行”口径 |
|
||||||
|
|
||||||
## 四、建议确认顺序
|
## 四、建议确认顺序
|
||||||
|
|
||||||
@@ -73,7 +77,7 @@
|
|||||||
|
|
||||||
### 5.2 会议输入
|
### 5.2 会议输入
|
||||||
|
|
||||||
- 本确认表中的 P3-Q1~P3-Q13。
|
- 本确认表中的 P3-Q1~P3-Q17。
|
||||||
- `国内货柜履约开发规划.md` 的流程、状态、里程碑和任务骨架。
|
- `国内货柜履约开发规划.md` 的流程、状态、里程碑和任务骨架。
|
||||||
- `国内货柜履约页面与原型清单.md` 中已有参考原型和待补页面。
|
- `国内货柜履约页面与原型清单.md` 中已有参考原型和待补页面。
|
||||||
- 入库测量与计费输出契约、目标 PDA 信息、文件存储能力及报关/港务协作现状。
|
- 入库测量与计费输出契约、目标 PDA 信息、文件存储能力及报关/港务协作现状。
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
| 五类装柜证据 | 空仓、半仓、满仓、锁仓、带锁码照均上传真实文件并按客户/柜次绑定 | `phase3-loading.mjs` |
|
| 五类装柜证据 | 空仓、半仓、满仓、锁仓、带锁码照均上传真实文件并按客户/柜次绑定 | `phase3-loading.mjs` |
|
||||||
| 同类型多图 | 同一证据类型追加第二张真实图片,原记录与新增记录同时保持有效 | `phase3-loading.mjs` |
|
| 同类型多图 | 同一证据类型追加第二张真实图片,原记录与新增记录同时保持有效 | `phase3-loading.mjs` |
|
||||||
| 锁码门禁 | 缺少锁码照片或锁码文本为空时,完成装柜请求被拒绝 | `phase3-loading.mjs` |
|
| 锁码门禁 | 缺少锁码照片或锁码文本为空时,完成装柜请求被拒绝 | `phase3-loading.mjs` |
|
||||||
| 统一装柜门禁 | 订舱未完成、拖车未完成、报关无有效放行回执、PDA 未完成或五类证据不完整时,真实 `LOADED` 请求均被拒绝 | `service-center-flow.mjs` / `phase3-loading.mjs` |
|
| 统一装柜门禁 | 真实柜号缺失、PDA 未完成、数量不守恒或五类证据不完整时,真实 `LOADED` 请求被拒绝;`LOADED` 后分别验收客户报关回执确认闭环和送港/进港/甩柜事实,任何一条线都不反向阻断物理装柜 | `service-center-flow.mjs` / `phase3-loading.mjs` |
|
||||||
| 订单/柜次聚合 | 一单多柜、一个柜多订单、父子订单数量分摊及未装数量自动生成子订单可追溯 | `phase3-order-aggregate.mjs`(待补) |
|
| 订单/柜次聚合 | 一单多柜、一个柜多订单、父子订单数量分摊及未装数量自动生成子订单可追溯 | `phase3-order-aggregate.mjs`(待补) |
|
||||||
| 出仓后船节点查询 | 已重新归入海外仓业务,不属于国内货柜履约验收 | 海外仓业务沿用现有 `CarrierScheduleQuery` 设计验收入口,不再补 `phase3-vessel-tracking.mjs` |
|
| 实际开船后船节点查询 | 只有承运船舶真实开航后才进入海运节点;送港、进港和甩柜属于国内货柜履约并行线 | 海外仓业务沿用现有 `CarrierScheduleQuery` 设计验收入口,不再用预计 ETD 或 `DEPARTED_WAREHOUSE` 提前推进海运 |
|
||||||
| 仓库角色 | 操作员、拣货员、理货员初始化、最小权限和跨客户隔离 | `phase3-role-contract.mjs`(待补) |
|
| 仓库角色 | 操作员、拣货员、理货员初始化、最小权限和跨客户隔离 | `phase3-role-contract.mjs`(待补) |
|
||||||
| 伪造与交叉归属 | 不存在 `fileId`、其他证据类型的 `fileId` 不能绑定 | `phase3-loading.mjs` |
|
| 伪造与交叉归属 | 不存在 `fileId`、其他证据类型的 `fileId` 不能绑定 | `phase3-loading.mjs` |
|
||||||
|
|
||||||
|
|||||||
+150
-69
@@ -1,99 +1,180 @@
|
|||||||
# 报关资料与船期价格接入梳理
|
# 报关资料与船期价格接入梳理
|
||||||
|
|
||||||
本文梳理企业客户端新增的“报关资料”“船期价格”独立入口,及其与当前客户上传资料、平台整柜报关的关系。当前阶段用于产品和业务评审,区分原型展示、已有系统事实与建议接入方式;尚未确认的规则不作为开发验收口径。
|
本文是企业客户端“报关资料”“船期价格”入口的产品与接口评审稿。文中明确区分三类内容:
|
||||||
|
|
||||||
## 结论与业务边界
|
- **已确认**:可进入开发和验收口径。
|
||||||
|
- **建议**:用于收敛模型,业务确认前不得作为验收承诺。
|
||||||
|
- **待确认**:必须在对应开发门禁前形成结论、负责人和日期。
|
||||||
|
|
||||||
| 入口 | 面向谁 | 建议承载的对象和动作 | 权威数据 |
|
**基线**:以用户 2026-09-24 对本流程的直接确认和本联合评审稿为准;旧版需求表、README 和开发规划中与本流程冲突的门禁必须修改,不能继续作为上位约束。
|
||||||
|
|
||||||
|
## 先锁定的范围
|
||||||
|
|
||||||
|
国内货柜履约的物理装柜节点为 `LOADED`。`LOADED` 后同时启动两条独立流程:
|
||||||
|
|
||||||
|
1. **报关线**:通知报关行,收集每个客户资料,发送报关行,接收报关行回执并发客户确认;客户认为不正确时打回、重新上传、重新发送并生成新回执,循环至柜内所有客户均确认;全部确认后,再将整柜资料提交报关行确认,由报关行正式申报,记录查验、不查验放行或其他海关结果。
|
||||||
|
2. **送港线**:安排拖车、从仓库发运、送港、进港;港口容量不足时记录甩柜和改配船次。送港线可以早于或晚于报关线完成,`PORT_RECEIVED` 不等于海运中,只有船舶真实开航后才进入海运节点。
|
||||||
|
|
||||||
|
两条线互不作为 `LOADED` 的前置,也不要求一条线完成后才能启动另一条线。首期不对接海关单一窗口或报关代理系统,由授权人员人工录入报关行回执、客户确认和海关结果。
|
||||||
|
|
||||||
|
费用确认是并行事实,不阻断排柜、预装、PDA 或装柜。装柜完成后,对应已实装范围若客户仍未确认当前有效且已发布费用版本,系统记录“系统默认确认(装柜完成)”;不伪造客户点击,保留 `SYSTEM_AUTO_AT_LOADED` 来源、费用版本、柜次/入仓码、时间和幂等标识。没有有效费用版本时不得生成零额或伪造确认,须保留费用异常待办。
|
||||||
|
|
||||||
|
出仓后的实际装船、提单、舱单、结关、退税正式资料和船公司节点查询属于后续或海外仓业务事实,不作为本期国内货柜履约页面、接口和验收范围。若国内页面需要展示,只能消费已确认的跨服务只读快照,并单独定义事件、来源、更新时间和责任边界。
|
||||||
|
|
||||||
|
## 入口与权威数据
|
||||||
|
|
||||||
|
| 入口 | 本期职责 | 权威数据 | 当前状态 |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 客户端“报关资料” | 当前企业成员 | 查看本企业退税订单/入仓码的资料进度,提交、补正资料,核对平台转发的预录单,下载已交付的退税文件 | Firstleg 报关业务;文件由 File 保存 |
|
| 客户端“报关资料” | `LOADED` 后查看本企业资料包,上传/替换/补件,查看报关行回执并确认或打回 | Firstleg 报关协同;文件由 File 服务保存 | **目标新增独立入口** |
|
||||||
| 客户端订单中的“上传资料” | 当前企业成员 | 从订单进入同一份客户报关资料包,预选当前订单/入仓码;作为快捷入口 | 与独立“报关资料”共用同一业务对象和接口 |
|
| 订单中的“上传资料” | 带订单和入仓码上下文进入同一资料包 | 与独立入口共用 packageId 和接口 | **现有快捷入口** |
|
||||||
| 平台整柜报关工作台 | 平台客服、报关操作员 | 按真实货柜汇总各客户资料,逐票核对,组织合并申报,线下交报关行,回填预录、申报、放行与完成凭证 | Firstleg 柜级聚合和申报记录 |
|
| 平台整柜报关工作台 | 按实际装柜清单通知报关行,管理客户资料、回执轮次、全部确认、整柜正式提交和海关结果 | Firstleg 柜级报关与提交批次 | **已有四态,需收敛新投影** |
|
||||||
| 客户端“船期价格” | 当前企业成员 | 查询适用于本企业的有效渠道、参考船期、最晚进仓、时效和估价;可从结果去下单 | Firstleg 当前生效价格簿及服务端估价 |
|
| 客户端“船期价格” | 查询当前企业可见的有效渠道、参考船期、最晚进仓、参考时效和估价 | 生效价格簿及服务端估价 | **建议新增独立入口** |
|
||||||
| 平台“船期价格表” | 平台定价人员 | 上传、核对、发布公共或客户专属价格簿 | Firstleg 价格簿版本 |
|
| 平台“船期价格表” | 上传、解析、核对、发布公共或客户专属价格簿 | Firstleg 价格簿版本 | **已有平台能力** |
|
||||||
|
|
||||||
“报关资料”是客户侧资料协作入口,不代替平台统一申报;“船期价格”是下单前报价查询,不代表某个已订舱货柜的实时船司节点。客户独立入口与订单快捷入口应读取同一份数据,避免出现两套上传历史或互相矛盾的状态。
|
平台端应写“按申报组整理并线下提交”。在跨客户合并规则确认前,默认禁止把不同客户放入同一正式报关单;不得在结论表中把待决规则写成既定能力。
|
||||||
|
|
||||||
## 资料来源和当前实现
|
## 当前实现事实
|
||||||
|
|
||||||
- 业务文件《出口退税报关全流程》提出客户提交、客服接收与核对、报关行预录、客户确认、正式申报、审单/放行、查验/甩柜、装船/结关及退税资料交付。它描述目标业务流程,其中“报关单在申报前提交”“放行后查验”“装柜完成即可加急提供退税资料”等表述仍需业务解释。
|
1. 客户端当前通过订单接口查询报关资料,现状主要只对服务端确认已完成装柜的退税订单开放;本目标稿调整为 `LOADED` 后启动本柜报关批次,按客户/入仓码收集资料、接收报关行回执、提交客户确认并支持打回重做。资料可上传、替换、改关联、删除并保留版本;每轮发送和回执都要留痕,客户确认后才进入该客户的 `CUSTOMER_CONFIRMED`。对应接口和权限见 [customs-v1.yaml](C:/Users/BY-OY/Desktop/code/chongchong-global/baiyue-firstleg/src/main/resources/openapi/customs-v1.yaml:48)。
|
||||||
- 外部原型 `C:/Users/BY-OY/Desktop/样式/官网头程下单 2/官网头程下单/优化调整.html` 在客户工作台左侧增加“船期价格”“报关资料”。“报关资料”目前是共用列表模板和三条演示记录,列出资料编号、关联订单、审核状态、资料类型、申报品名、文件数量、提交时间;新增、详情、处理按钮只弹提示,并未给出真实表单和状态流。“船期价格”有目的仓/渠道列表及重量、体积、目的仓查询区,原型价格由脚本生成,估价算法是有体积即选 CBM,否则选 KG,仅可作为交互参考。
|
2. 当前柜级状态为 WAITING_CUSTOMER_DOCUMENTS → READY_TO_START → DECLARING → COMPLETED;目标需要增加客户确认轮次、整柜正式提交、查验/放行和送港子状态。资料关联以 loadingPlanId、柜级聚合、客户报关案例和整票入仓码为根。
|
||||||
- 当前客户端仅在订单列表的“上传资料”队列和订单操作中开放报关弹框,且仅对服务端确认已装柜的退税订单开放。弹框能上传任意文件、将一份文件关联同柜本企业一个或多个入仓码、替换/删除并查看版本;开始报关后只读,整柜完成后可下载平台回传文件。
|
3. 当前 COMPLETED 会发布报关完成事件并参与离仓门禁。目标契约改为“客户资料确认轮次”“整柜正式提交”“海关查验/放行”分开;报关线和送港线独立维护,不能让某一条线的完成事件直接代替另一条线。
|
||||||
- 当前平台按已完成装柜计划生成整柜报关聚合。状态仅有待客户资料、可开始、报关中、已完成;客户资料覆盖齐全后平台开始并冻结,混合/退税柜逐份上传一对一完成文件,全买单柜可人工确认完成。完成状态参与国内离仓门禁,但不表示海关已结关。
|
4. 全买单柜已有独立的二次确认接口和导出契约,本期继续保留;需要补齐其在客户确认轮次、整柜正式申报、海关结果和送港/开船状态中的位置。
|
||||||
- 当前价格簿已有公共和客户专属生效版本,客户专属优先,缺失才取公共。客户端已有按起运仓查询可选渠道、按指定渠道及目的地估价的接口;平台有价格簿上传、解析、仓库映射和发布页面。现有客户端没有原型要求的跨渠道价格列表或下载价格表入口。
|
5. 客户端现有价格接口为按起运仓查询渠道,以及按指定渠道估算参考费用。/estimate 只返回基础参考费用,不含复杂附加费和最终结算调整;pricingTaxMode 不等同于订单 taxMode。见 [fba-pricing-v1.yaml](C:/Users/BY-OY/Desktop/code/chongchong-global/baiyue-firstleg/firstleg/src/main/resources/openapi/fba-pricing-v1.yaml:130)。
|
||||||
|
6. 仓库内原型与页面索引仍将报关上传、回执下载和出仓前船期资料列为待原型或部分参考;外部个人电脑路径不能作为唯一事实来源。页面范围需同步 [国内货柜履约页面与原型清单.md](C:/Users/BY-OY/Desktop/code/chongchong-global/docs/国内货柜履约/国内货柜履约页面与原型清单.md:30)。
|
||||||
|
|
||||||
## 报关资料如何接入
|
7. **费用默认确认目前是目标变更,不是现有实现。** 当前装柜完成逻辑只会自动发送/发布费用,不能把 `SENT` 直接当成客户确认;现有费用锁定也主要依赖客户确认时间。实现本轮目标时必须增加确认来源和幂等审计,并改为“客户确认或装柜默认确认 + 已装柜完成后才最终锁定”。部分装载只能确认本次已装范围,余量不能被顺手确认。
|
||||||
|
|
||||||
### 业务对象
|
8. **本轮报关/送港并行模型目前也是目标变更。** 当前代码的四态报关和离仓门禁不能直接证明已具备 `customerCustomsCase`、`roundNo`、报关行回执确认、客户打回重做、所有客户汇总、`ROLLED_OVER` 和 `VESSEL_DEPARTED` 事实;开发必须把这些作为新契约实现,不能只在现有页面上增加状态文案。
|
||||||
|
|
||||||
建议把客户报送与平台申报分开建模,同时让它们在同一柜内关联:
|
## 报关资料模型
|
||||||
|
|
||||||
1. **客户资料包**:归属客户,关联订单及入仓码,记录资料清单版本、每类文件及版本、提交人/时间、补件要求、客服核对结果。客户能看到本企业的资料包;在关联真实柜次前也能先提交,不再被“装柜完成”限制。
|
### 0. `LOADED` 后报关线与送港线
|
||||||
2. **柜内申报组**:归属平台及真实货柜,固定本次申报覆盖的客户资料包/入仓码、合并关系和报关行。一个柜可有多个申报组;跨客户是否允许归到同一个正式报关单,需业务明确后才能设门禁。申报组保存预录单版本、客户确认、正式报关单号、回执和异常历史。
|
|
||||||
3. **货柜报关总览**:汇总柜内全部应报关的实际装柜货物、退税/买单票数、缺件数、申报组和海关结果。当前 `containerBookingId` 继续作为货柜关联键;客户界面只展示自己的订单、入仓码和资料,不泄露同柜其他客户信息。
|
|
||||||
|
|
||||||
客户资料包与实际装柜覆盖要分阶段校验:提前上传时按订单/入仓码归属校验;排柜后展示拟入柜关系;开始正式申报前以实际装柜清单核对覆盖、数量和版本并冻结申报快照。分柜、换柜、部分装柜时不能静默沿用旧柜的覆盖结论。
|
| 线路 | 触发时点 | 顺序 | 结果 |
|
||||||
|
|
||||||
### 建议流转和责任人
|
|
||||||
|
|
||||||
| 阶段 | 责任人 | 系统应记录的关键事实 | 客户可见结果 |
|
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 提交与补件 | 客户 | 清单项、文件版本、订单/入仓码范围、提交时间 | 待平台接收、待补件或已提交 |
|
| 报关线 | `LOADED` 事件产生后 | 通知报关行 → 收集每个客户资料 → 发报关行 → 接收回执 → 发客户确认 → 打回则重传重发并生成新回执 → 所有客户确认 → 整柜资料交报关行确认 → 正式申报 → 查验/放行 | 客户确认轮次、整柜正式申报、海关结果 |
|
||||||
| 接收与逐票核对 | 客服 | 接收时间、核对结论、问题项和退回原因 | 核对中、待补件、资料已核对 |
|
| 送港线 | `LOADED` 事件产生后 | 安排拖车 → 仓库离开 → 送港 → 进港 → 等待船次;装不下时甩柜/改配 | `DEPARTED_WAREHOUSE`、`PORT_RECEIVED`、`ROLLED_OVER`、实际开船 |
|
||||||
| 组单与交报关行 | 平台 | 申报组、合并范围、报关行、交付批次/时间及附件 | 已提交报关行;只显示本企业相关部分 |
|
|
||||||
| 预录单核对 | 报关行线下反馈;客服上传;客户确认 | 预录单版本、建议/修改点、客户确认人和时间;修改后重新确认 | 待确认预录单、已确认或待修改 |
|
|
||||||
| 正式申报与海关反馈 | 平台据凭证录入,未来可对接 | 申报时间、报关单号、回执、退单/补件/查验/放行事实 | 报关中、待补件、查验中、已放行 |
|
|
||||||
| 船运与退税交付 | 平台及已有船运事实 | 实际装船、提单、舱单/结关凭证、交付文件和时间 | 已装船、已结关、可下载正式资料 |
|
|
||||||
|
|
||||||
页面状态应由这些事实投影生成,不能只靠人工把一个总状态从“报关中”改为“已完成”。资料审核、申报、海关结果、船运和资料交付应分别展示;退单、查验、甩柜等异常保留可追溯的子状态与处理记录,不覆盖已有事实。
|
两条线路可以先后不同。客户资料未确认只阻断报关线的整柜正式提交,不阻断送港;已进港也不代表报关完成或已经进入海运。只有船舶真实开航后,才写入海运起点。
|
||||||
|
|
||||||
### 现有实现的影响
|
客户确认是每个客户报关案例的完成条件;海关放行是整柜正式申报后的外部结果,不能用上传回执或任意“完成文件”代替。
|
||||||
|
|
||||||
- 客户端:在 `first-leg` 业务域新增独立列表/详情路由,订单上的“上传资料”改为带订单上下文进入同一资料包。列表按登录企业查询,支持订单号/入仓码、资料状态、提交时间筛选;待办数由服务端返回,原型中的角标“2”不能写死。
|
### 1. 客户报关案例与资料包
|
||||||
- 平台端:在整柜报关工作台增加柜内客户资料矩阵、客服核对、申报组、预录单与回执时间线;货柜详情保留报关入口,列表应能按缺件、待核对、待客户确认、待申报、异常筛选。买单柜继续单独展示,不把它伪装成有退税客户资料。
|
|
||||||
- 服务端:当前 `fl_customs_customer_document` 的“任意文件 + 多入仓码”版本能力可作为文件基础,但需要类型化清单、前置资料包、客服核对与申报组;现有 `WAITING_CUSTOMER_DOCUMENTS → READY_TO_START → DECLARING → COMPLETED` 不能表达新流程。Controller、DTO、OpenAPI、初始化 SQL、权限和状态投影必须按新契约同步收敛。
|
|
||||||
- 文件与权限:客户只管理本企业未冻结资料;平台能按柜查看和处理,正式申报、回执录入与结果发布使用独立写权限。文件下载继续经受控入口校验归属,不暴露 File 内部 ID 作为业务编号。
|
|
||||||
- 既有离仓门禁:当前整柜 `COMPLETED` 才自动尝试确认国内离仓。新流程需明确“放行/可离仓”与“开船后结关/正式退税资料完成”是两个不同时间点,避免把结关或文件交付误设为国内离仓前置条件。调整时同步核对 `CustomsAutoDispatchCoordinator`、出仓门禁和船节点事实。
|
|
||||||
|
|
||||||
## 船期价格如何接入
|
报关资料主流程在 `LOADED` 后启动。每个客户/入仓码在本柜建立一个 `customerCustomsCase`,再挂载稳定的 `packageId` 和文件版本。案例至少记录:订单/子订单、入仓码或入仓明细、实际装载数量、资料清单版本、每个清单项的文件版本、报关行发送时间、回执版本、客户确认/打回人和时间、打回原因、当前 `roundNo`、客户可见范围和审计记录。
|
||||||
|
|
||||||
客户端独立页建议展示“当前企业适用的有效报价”,并把渠道报价与实际订舱区分:
|
资料包不能只关联整票入仓码。已确认支持一单多柜、拆批和父订单—子订单关系,因此每个关联项还要保存实际装载数量、单位、子订单/装柜明细引用和快照版本。换柜、拆柜或部分装柜时,只重算受影响客户案例,不能静默沿用旧回执轮次。
|
||||||
|
|
||||||
| 原型字段/动作 | 建议接入来源 | 需要注意 |
|
### 2. 实际装柜绑定快照
|
||||||
|
|
||||||
|
资料包与 loadingPlanId、containerBookingId 的关系应通过绑定记录表达,而不是覆盖原资料包。绑定记录至少保存实际装柜明细、数量/UOM、客户、订单、入仓码、柜次和绑定版本。`LOADED` 后开始本轮报关时冻结该快照;换柜、拆柜或部分装柜必须使受影响案例的资料绑定和回执轮次失效并生成新版本,不能静默沿用旧覆盖结论。
|
||||||
|
|
||||||
|
### 3. 申报组与柜级总览
|
||||||
|
|
||||||
|
申报组归属一次实际装柜和一次整柜正式提交,记录成员客户案例、合并关系、报关代理、每轮回执、客户确认结果、正式提交时间、正式业务编号、查验/放行结果和异常历史。跨客户合并在业务确认前默认拒绝;若未来开放,必须增加授权、客户可见投影、组成员冻结快照和取消/重组规则。
|
||||||
|
|
||||||
|
柜级总览仅供平台使用,汇总实际装柜行、退税/买单行、缺件、提交批次和门禁结果。客户端接口必须按当前企业裁剪返回,不返回同柜其他客户的名称、数量、资料包 ID、申报组 ID 或异常细节。
|
||||||
|
|
||||||
|
### 4. 买单、退税和混合柜完成条件
|
||||||
|
|
||||||
|
三类柜不能用一条“缺回执即阻断”的规则代替:
|
||||||
|
|
||||||
|
| 柜型 | `LOADED` 前 | `LOADED` 后报关线 | 完成条件与开船影响 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 全买单 | 装柜物理门禁独立判断 | 按最终实装买单明细建立客户案例;平台可执行 `complete-all-buy` 生成资料,但仍需将报关行回执发给对应客户确认;全部客户确认后提交整柜资料 | 客户确认完成后才允许整柜正式提交;正式申报后的查验/放行单独记录,不能把二次确认直接当成海关放行 |
|
||||||
|
| 退税柜 | 装柜物理门禁独立判断 | 对每个参与入仓码收集/补件,发送报关行,逐份接收回执并让对应客户确认;打回则重做当前案例 | 所有客户案例确认后才允许整柜正式提交;正式申报后的查验/放行单独记录 |
|
||||||
|
| 混合柜 | 装柜物理门禁独立判断 | 买单行和退税行分别建立客户案例并完成回执确认;同柜批次统一保存成员快照 | 两类成员全部确认后才允许整柜正式提交;不得把买单导出明细冒充客户确认或海关放行 |
|
||||||
|
|
||||||
|
同一客户多个入仓码可以共享其授权资料;跨客户物理拼柜不等于允许跨客户正式合报。跨客户合并仍默认禁止,必须有独立授权和客户可见隔离契约。
|
||||||
|
|
||||||
|
## 状态、事实与门禁
|
||||||
|
|
||||||
|
建议把状态拆成独立事实面,页面总状态只做投影:
|
||||||
|
|
||||||
|
| 事实面 | 建议状态 | 说明 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 渠道、起运仓、目的仓、包税方式、单位、单价 | 生效价格簿的渠道和费率行 | 客户专属优先,否则公共;只展示当前企业可用范围,不向客户端暴露其他客户价格 |
|
| 客户报关案例 | WAITING_DOCUMENTS、SENT_TO_BROKER、RECEIPT_PENDING_CUSTOMER_CONFIRM、CUSTOMER_CONFIRMED、NEEDS_RESUBMIT、INVALIDATED | 每轮 `roundNo` 保存资料版本、发送时间、报关行回执、客户确认/打回原因;回执上传不等于客户确认 |
|
||||||
| 参考时效、最晚进仓、船期、附加费说明 | 生效价格簿渠道快照 | 当前多为文本,标记“参考”;不要当作已订舱 ETD 或实际船节点 |
|
| 整柜申报批次 | WAITING_ALL_CUSTOMER_CONFIRM、ALL_CUSTOMERS_CONFIRMED、FORMAL_SUBMITTED_TO_BROKER、DECLARED、INSPECTION、NO_INSPECTION、RELEASED、REJECTED | 所有客户案例确认后才允许整柜正式提交;首期由授权人员人工记录报关行确认和海关结果 |
|
||||||
| 重量、体积、目的仓的查询结果 | Firstleg 服务端统一候选筛选及逐渠道估价 | 当前 `/estimate` 只能估算指定渠道;列表页若要一次返回多个可比渠道,需新增批量查询/估价契约,避免浏览器自行计算或逐行扇出 |
|
| 送港/船期事实 | PORT_DELIVERY_PENDING、DEPARTED_WAREHOUSE、IN_TRANSIT_TO_PORT、PORT_RECEIVED、ROLLED_OVER、VESSEL_DEPARTED | 与报关案例独立;进港和甩柜不等于海运中,只有真实开船才进入海运节点 |
|
||||||
| 预估运费 | 服务端价格模型、计费方式和客户生效版本 | 原型“有体积就按 CBM”不适用于所有价格模型;结果显示计费量、单位、币种、价格版本和参考说明 |
|
| 装柜门禁 | PASS/BLOCKED | 只判断是否满足 LOADED 的已确认前置 |
|
||||||
| 下载价格表 | 由服务端生成当前企业可见价格快照 | 是否开放原始 XLSX、导出字段及客户专属信息边界待确认;不能直接下载平台上传的全部原件 |
|
|
||||||
|
|
||||||
原型中“价格优选”“时间优选”若进入正式产品,价格排序需基于同币种、同计费口径的完整估价;时效若只有“约 25–30 天”等自由文本,应先统一可比较的数值规则。没有可信比较基础时只展示渠道和参考信息,不给出误导性排名。
|
上述是建议投影,稳定编码、退回/重开规则和责任人必须在开发前确认。当前四态不能直接承担新流程;收敛时应明确旧状态的映射和删除时点,不保留双协议。
|
||||||
|
|
||||||
这页是客户查询报价的入口。平台现有价格簿页面继续负责价格发布;实际货柜船期来自订舱及后续船节点,不由价格簿反向覆盖。客户从报价页去创建订单时,可携带渠道、起运仓和目的仓作为表单预选,但创建时仍由服务端重验当前生效版本和渠道资格。
|
物理 `LOADED` 门禁必须明确校验以下事实:
|
||||||
|
|
||||||
## 建议实施顺序
|
1. 真实柜号、预装计划和数量版本完整;
|
||||||
|
2. PDA 拣货和复核完成,整批提交成功;
|
||||||
|
3. 空仓、半仓、满仓、锁仓、带锁码照五类证据各有至少一张有效照片,锁码文本已保存;
|
||||||
|
4. 数量守恒、无未解决 PDA 异常。
|
||||||
|
|
||||||
1. **先统一模型和用词**:确认资料包、申报组、柜级总览、放行、结关、交付的定义,以及客户/平台分别可见的状态;确定资料清单和合并规则。产出状态图、权限矩阵和文件类型清单。
|
`LOADED` 后分别创建报关案例和送港任务。报关案例的整柜正式提交只校验所有客户 `CUSTOMER_CONFIRMED`;送港只校验装柜完成、真实柜号、订舱/拖车等运输条件。两条线可以先后不同。到港后如船舱不足记录 `ROLLED_OVER`;只有实际 `VESSEL_DEPARTED` 才进入海运节点。报关放行、送港和甩柜不能反向作为 `LOADED` 的前置。
|
||||||
2. **打通客户资料入口**:让独立“报关资料”页和订单快捷入口共用前置资料包;允许装柜前提交,平台能够接收、逐票核对并要求补件。此阶段先解决提交时点与资料完整性。
|
|
||||||
3. **接入统一申报协作**:平台按真实装柜清单组单、交报关行、上传预录单,客户确认后记录正式申报及海关反馈;核对离仓门禁的触发事实。
|
|
||||||
4. **补齐异常与交付**:退单、查验、甩柜、改配、结关、正式资料交付与通知按已确认规则接入,保留每次修改和凭证历史。
|
|
||||||
5. **上线船期价格查询**:先基于生效价格簿提供客户可见列表和服务端批量估价,再根据已确认的导出、排序和展示规则完善页面。
|
|
||||||
|
|
||||||
## 业务待确认
|
每个写动作都需要 Idempotency-Key、expectedVersion、规范化请求哈希、乐观锁冲突码、审计事件和结果回放。上传、替换、改关联、补件、审核、提交批次、回执上传和门禁确认不得仅靠前端推进。
|
||||||
|
|
||||||
1. **提交时点**:客户最晚何时提交?装柜前已上传资料在换柜/拆柜时如何重新关联,谁负责确认最终申报范围?
|
## 权限、文件与接口边界
|
||||||
2. **资料清单**:业务文档列出的“发票、箱单、合同、报关单”中,申报前的“报关单”实际指客户提供的哪种单据?清单是否随客户、国家、渠道和货物类型变化?
|
|
||||||
3. **合并规则**:同客户同柜多票何时自动合并,何时允许分组;跨客户是否绝对不能同一报关单;合并申报的业务编号和取消/重组规则是什么?
|
现有报关接口使用 merchant:order:view/edit 和 platform:firstleg:customs:list/manage。新增独立入口前必须确认是复用还是拆分为报关专用权限,并落到客户端路由、导航、Controller、OpenAPI x-permission、IAM 初始化 SQL 和服务端对象级校验:
|
||||||
4. **预录确认**:客户确认的是整份预录单文件,还是金额、重量、品名、HS 编码等结构化字段?修改后谁重新发起确认?
|
|
||||||
5. **报关行与海关回传**:首期是否仍由客服线下收发、人工录入并上传凭证;报关单号能否从可信接口取得,若不能则不得写“系统自动抓取”?
|
- 客户查看、上传/替换、补件确认和下载分别校验当前企业、订单/子订单、入仓明细和客户可见标记;不能信任请求中的 tenantId、订单 ID 或入仓码。
|
||||||
6. **放行、查验、甩柜顺序**:业务文档将查验和甩柜列在放行后,应确认实际可发生的时点、放行是否撤销、漏装与改配是否需要重新申报,以及异常关闭条件。
|
- 平台查看、审核/退回、生成提交批次、上传回执和发布结果分别授权;列表权限只包含详情只读,写权限独立。
|
||||||
7. **退税交付**:装柜后可加急提供的具体文件是什么,需如何标记“预提供”;正式可用于退税的文件清单及结关判定由谁确认?
|
- File 文件类型、业务 ID、客户归属、版本、冻结和下载审计必须定义。现有 LOADING_LIST_CUSTOMS_SOURCE/RESULT 不能直接覆盖资料包、提交批次和回执的新类别。
|
||||||
8. **全买单柜**:是否继续走独立简化流程,哪些申报和海关节点仍需记录?
|
- File 上传成功但业务写入失败、业务写入成功但 File 失败、替换/作废和重试都要有补偿或可重放规则;不能产生越权文件或孤儿记录。
|
||||||
9. **船期价格**:客户是否能下载完整价格表;价格“优选”和时效“优选”如何比较;公开报价的有效期、币种、附加费范围与实际结算提示如何表述?
|
|
||||||
|
独立客户列表、详情、待办计数和平台筛选必须补充明确的路径、分页、稳定排序、筛选参数、空态/无权限响应和错误码。不能只写“新增列表”或继续复用单订单查询接口。
|
||||||
|
|
||||||
|
## 船期价格接入
|
||||||
|
|
||||||
|
### 展示边界
|
||||||
|
|
||||||
|
客户页只展示当前企业可见的有效价格簿快照:渠道、起运仓、目的地、pricingTaxMode、计费单位、单价、币种、参考船期、最晚进仓、参考时效、附加费说明、价格簿版本和更新时间。价格簿中的预计船期是参考文本,不是已订舱 ETD、实际开船或到港节点;时区、有效期、来源和过期展示必须明确。
|
||||||
|
|
||||||
|
客户专属与公共价格按版本作用域选择:先选择当前企业专属 ACTIVE 版本;只有不存在专属 ACTIVE 版本时才选择公共 ACTIVE 版本,不能按单条费率缺行再逐行回退。页面展示业务版本号或生效时间,不直接把内部 priceBookVersionId 当作用户可见编号。
|
||||||
|
|
||||||
|
### 批量估价契约
|
||||||
|
|
||||||
|
若要跨渠道列表展示,服务端新增批量估价契约,至少定义:起运仓、目的类型/目的地、渠道候选、重量、体积、pricingTaxMode、版本快照、批量上限、超时、无命中错误、计费量、单位、币种、基础金额、未包含附加费、舍入规则和排序规则。不得由浏览器自行计算或逐渠道扇出。
|
||||||
|
|
||||||
|
“价格优选”只有在币种、目的地、税模式、计费口径和附加费范围可比时才允许启用;否则只展示参考结果。订单创建时必须重新校验渠道资格和生效版本,明确旧报价失效、金额变化和重新报价的用户提示,不把客户端显示金额当成最终结算金额。
|
||||||
|
|
||||||
|
价格导出如需上线,应另定义客户可见字段、公共/专属价格隔离、导出审计、快照版本、文件保留期限和下载权限;在这些规则确认前不纳入本期上线。
|
||||||
|
|
||||||
|
## 实施顺序与进入条件
|
||||||
|
|
||||||
|
1. **冻结业务规则**:确认客户资料清单、回执轮次、打回重做、所有客户确认、整柜正式申报、查验/放行、甩柜/改配和跨客户合并;已确认规则以[需求确认表](C:/Users/BY-OY/Desktop/code/chongchong-global/docs/国内货柜履约/国内货柜履约需求确认表.md:24)为准。
|
||||||
|
2. **先做服务端契约**:完成 customerCustomsCase、资料版本、报关行回执轮次、客户确认、整柜申报批次、送港/进港/甩柜/开船事实、状态投影、权限、幂等、审计、File 类别和初始化 SQL;同步更新 OpenAPI、Gateway、IAM 和相关消费者。
|
||||||
|
3. **接入客户入口**:独立列表/详情与订单快捷入口共用 packageId;仅在 `LOADED` 后进入本柜报关案例,覆盖资料上传、报关行回执查看、确认、打回、重新上传和新回执版本。
|
||||||
|
4. **接入平台协同**:`LOADED` 后按最终实装快照通知报关行,逐客户处理资料和回执,全部客户确认后提交整柜资料;人工记录正式申报、查验、不查验放行和其他结果。送港线独立接入拖车、进港、甩柜和实际开船。
|
||||||
|
5. **接入船期价格**:先复用有效价格簿和单渠道参考估价,再实现批量估价;批量列表、排序和导出必须先通过接口和价格可比性评审。
|
||||||
|
|
||||||
|
## 待确认事项
|
||||||
|
|
||||||
|
| 问题 | 阻断范围 | 需要形成的结论 |
|
||||||
|
|---|---|---|
|
||||||
|
| 同一入仓明细部分装到多个柜的数量和单位 | 绑定快照、门禁 | 子订单/装柜明细引用和数量分摊规则 |
|
||||||
|
| 跨客户合并正式报关单是否允许 | 申报组、权限、客户隔离 | 默认禁止或授权合并的完整契约 |
|
||||||
|
| 资料清单具体项目、条件规则和版本生效方式 | 清单、审核、补件 | 首版人工维护清单及版本负责人 |
|
||||||
|
| 报关行回执字段、客户确认/打回原因和回执轮次 | 客户案例、整柜提交 | 回执版本、roundNo、确认人、打回重做规则 |
|
||||||
|
| 海关查验、不查验放行、扣货/补件等正式结果 | 整柜申报批次、客户展示 | 结果类型、凭证、来源、客户可见范围和责任人 |
|
||||||
|
| 送港、进港、甩柜、改配船次和实际开船事件 | 送港线、海运节点 | 事实字段、重试规则、客户通知和船次历史 |
|
||||||
|
| 价格比较、导出、报价有效期和金额变化提示 | 客户报价页、下单 | 统一币种/税模式/附加费和失效处理 |
|
||||||
|
|
||||||
|
## 最低验收矩阵
|
||||||
|
|
||||||
|
- 客户 A 无法查询、上传、替换或下载客户 B 的资料、回执、价格和导出文件。
|
||||||
|
- 独立入口与订单快捷入口返回同一 packageId、版本历史和待办结果,不产生双历史。
|
||||||
|
- 同一幂等键同请求只产生一次记录;同键不同请求、版本冲突、并发换柜和重复回执均返回明确业务错误。
|
||||||
|
- `LOADED` 后每个客户案例都能经历“资料上传→报关行回执→客户确认”;打回后只重开对应案例,重新上传、重新发送并产生新回执轮次,其他客户历史不被覆盖。
|
||||||
|
- 所有客户案例均 `CUSTOMER_CONFIRMED` 后,平台才允许生成整柜正式提交;正式提交后分别验收查验、不查验放行和其他海关结果。
|
||||||
|
- 缺 PDA 结果、缺五类证据、真实柜号或数量不守恒时,`LOADED` 门禁失败;送港线单独验收离仓、进港和甩柜;只有真实开船才进入海运节点,报关线不作为送港启动前置。
|
||||||
|
- 全买单柜、退税柜和混合柜分别验证状态、权限、导出、回执和门禁结果。
|
||||||
|
- 价格无命中、失效版本、跨渠道批量估价、不同币种/税模式、附加费说明和订单创建重验均有可验证结果。
|
||||||
|
- 页面覆盖加载、空态、失败、无权限、过期和数据冲突;客户端按 1920×1080、100% 缩放人工验收。
|
||||||
|
|
||||||
## 接入核对入口
|
## 接入核对入口
|
||||||
|
|
||||||
- 客户导航与订单:`apps/client-web/src/modules/first-leg/routes.ts`、`views/FirstLegOrdersView.vue`、`components/CustomsDocumentsDialog.vue`、`api/customs.ts`。
|
- 客户端订单与现有报关:apps/client-web/src/modules/first-leg/routes.ts、views/FirstLegOrdersView.vue、components/CustomsDocumentsDialog.vue、api/customs.ts。
|
||||||
- 平台整柜报关:`apps/admin-web/src/modules/container-loading/components/ContainerCustomsPanel.vue`;后端 `baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/customs/container/`、`src/main/resources/openapi/customs-v1.yaml`、`src/main/resources/db/phase3-container-customs-schema.sql`。
|
- 客户端导航和新页面:apps/client-web/src/navigation/clientNavigation.ts 及对应页面注册、权限和 release 配置。
|
||||||
- 报价:`apps/admin-web/src/modules/fba-pricing/carrier-rates/`;后端 `MerchantPriceBookController`、`MerchantPriceBookService`、`PriceBookDtos`、`fba-pricing-v1.yaml`;客户端现有 `apps/client-web/src/modules/first-leg/api/firstLeg.ts`。
|
- 平台整柜报关:apps/admin-web/src/modules/container-loading/components/ContainerCustomsPanel.vue、api/platformContainerCustoms.ts。
|
||||||
- 离仓与船节点:`CustomsAutoDispatchCoordinator`、`OutboundDispatchService`、`portschedule/`;报价文本、订舱预计时间和实际船节点各自保留事实来源。
|
- 后端报关:baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/customs/container/、[customs-v1.yaml](C:/Users/BY-OY/Desktop/code/chongchong-global/baiyue-firstleg/firstleg/src/main/resources/openapi/customs-v1.yaml:1)、phase3-container-customs-schema.sql。
|
||||||
|
- 报价:apps/client-web/src/modules/first-leg/api/firstLeg.ts、apps/admin-web/src/modules/fba-pricing/carrier-rates/、[fba-pricing-v1.yaml](C:/Users/BY-OY/Desktop/code/chongchong-global/baiyue-firstleg/firstleg/src/main/resources/openapi/fba-pricing-v1.yaml:130)。
|
||||||
|
- 国内边界、状态和门禁:[国内货柜履约 README](C:/Users/BY-OY/Desktop/code/chongchong-global/docs/国内货柜履约/README.md:3)、[国内货柜履约开发规划](C:/Users/BY-OY/Desktop/code/chongchong-global/docs/国内货柜履约/国内货柜履约开发规划.md:166)、[国内货柜履约需求确认表](C:/Users/BY-OY/Desktop/code/chongchong-global/docs/国内货柜履约/国内货柜履约需求确认表.md:24)。
|
||||||
|
|||||||
+35
-36
@@ -5,7 +5,7 @@
|
|||||||
> 当前口径:以现行服务端模块指引、页面入口和代码状态机为准。历史设计与当前实现冲突的地方集中列在第 11 节,旧文档不能直接作为操作依据。
|
> 当前口径:以现行服务端模块指引、页面入口和代码状态机为准。历史设计与当前实现冲突的地方集中列在第 11 节,旧文档不能直接作为操作依据。
|
||||||
> 不在主链内展开:换标、仓储转运、货物废弃、退货换标、异常退回、客户回访、海外采购和本土散板;这些能力在第 9 节说明如何接入出库。
|
> 不在主链内展开:换标、仓储转运、货物废弃、退货换标、异常退回、客户回访、海外采购和本土散板;这些能力在第 9 节说明如何接入出库。
|
||||||
|
|
||||||
> 完整现状流程目录:见[《头程下单到尾程出库现状流程全景清单》](头程下单到尾程出库现状流程全景清单.md)。该清单以 F01~F40 覆盖主链、并行流程、条件分支和异常流;本文侧重一票主链如何实际操作。
|
> 当前流程基线:见[《头程到尾程流程节点梳理(重构版)》](头程到尾程流程节点梳理.md)。[《头程下单到尾程出库现状流程全景清单》](头程下单到尾程出库现状流程全景清单.md)仅保留旧版 AS-IS 证据;本文侧重一票主链如何按最新报关/送港并行流程实际操作。
|
||||||
|
|
||||||
## 1. 一张图看完整主链
|
## 1. 一张图看完整主链
|
||||||
|
|
||||||
@@ -23,10 +23,11 @@
|
|||||||
创建模拟柜/订舱 → 智能或人工排柜 → 预装确认
|
创建模拟柜/订舱 → 智能或人工排柜 → 预装确认
|
||||||
↓
|
↓
|
||||||
国内 PDA 拣货装柜 → 五类证据和铅封 → 装柜完成 LOADED
|
国内 PDA 拣货装柜 → 五类证据和铅封 → 装柜完成 LOADED
|
||||||
|
├─ 报关线:通知报关行 → 客户资料 → 报关行回执 → 客户确认/打回重做
|
||||||
|
│ → 所有客户通过 → 整柜正式申报 → 查验/放行
|
||||||
|
└─ 送港线:拖车 → 离仓 → 送港/进港 → 甩柜/改配(如发生)→ 实际开船
|
||||||
↓
|
↓
|
||||||
整柜出口报关完成 → 系统自动收敛或平台确认国内出仓
|
实际开船后进入海运节点:装船/离港 → 在途 → 到目的港 → 卸船 → 可提柜
|
||||||
↓
|
|
||||||
船节点:离开国内仓 → 起运港 → 装船 → 在途 → 到目的港 → 卸船 → 可提柜
|
|
||||||
↓
|
↓
|
||||||
装柜完成事件跨区 → 海外生成 PENDING_ASSIGNMENT 尾程订单
|
装柜完成事件跨区 → 海外生成 PENDING_ASSIGNMENT 尾程订单
|
||||||
↓
|
↓
|
||||||
@@ -43,9 +44,10 @@
|
|||||||
|
|
||||||
主链有三个不能混淆的“出库/出仓”:
|
主链有三个不能混淆的“出库/出仓”:
|
||||||
|
|
||||||
1. 国内装柜完成:入库单为 `LOADED`,表示货已经装入国内出口柜,不等于柜已离开国内仓。
|
1. 国内装柜完成:入库单为 `LOADED`,表示货已经装入国内出口柜;同时启动报关线和送港线。
|
||||||
2. 国内出仓:整柜通过报关等门禁并确认离仓,系统开始船节点跟踪。
|
2. 国内送港:送港线记录拖车、仓库离开、进港和甩柜;客户报关确认不阻断送港,进港不等于报关完成。
|
||||||
3. 海外尾程出库:海外仓库存经排车/PDA 作业离仓,出库单为 `OUTBOUNDED`。
|
3. 海运起点:承运船舶真实开航后才进入海运节点,预计 ETD 不推进海运中。
|
||||||
|
4. 海外尾程出库:海外仓库存经排车/PDA 作业离仓,出库单为 `OUTBOUNDED`。
|
||||||
|
|
||||||
### 1.1 操作与交接总表
|
### 1.1 操作与交接总表
|
||||||
|
|
||||||
@@ -63,10 +65,10 @@
|
|||||||
| 8 | 国内履约运营 / Admin | 创建模拟柜,选择候选,人工/智能排柜 | 生成稳定柜次、预装计划、分配明细和容量占用 | 订舱/柜务运营 |
|
| 8 | 国内履约运营 / Admin | 创建模拟柜,选择候选,人工/智能排柜 | 生成稳定柜次、预装计划、分配明细和容量占用 | 订舱/柜务运营 |
|
||||||
| 9 | 订舱/柜务运营 / Admin | 建订舱草稿、补资料、放舱,关联柜次并录入真实柜号 | 冻结订舱和运输快照,建立订舱需求与柜次分配关系 | 国内履约运营 |
|
| 9 | 订舱/柜务运营 / Admin | 建订舱草稿、补资料、放舱,关联柜次并录入真实柜号 | 冻结订舱和运输快照,建立订舱需求与柜次分配关系 | 国内履约运营 |
|
||||||
| 10 | 国内履约运营 / Admin | 核对预装清单并确认 | 固化预装快照,生成或开放国内 PDA 任务 | 国内 PDA |
|
| 10 | 国内履约运营 / Admin | 核对预装清单并确认 | 固化预装快照,生成或开放国内 PDA 任务 | 国内 PDA |
|
||||||
| 11 | 国内 PDA | 扫箱/整托拣货,批量提交,拍四步照片和铅封,完成装柜 | 计划 `COMPLETED`、入库单 `LOADED`,发布最终实装事件 | 报关/出仓运营 |
|
| 11 | 国内 PDA | 扫箱/整托拣货,批量提交,拍五类证据和锁码,完成装柜 | 计划 `COMPLETED`、入库单 `LOADED`,发布最终实装事件并启动报关/送港两条线 | 报关/送港运营 |
|
||||||
| 12 | 报关运营 / Admin | 上传出口报关资料并完成报关 | 报关状态完成;系统自动尝试收敛国内出仓门禁 | 出仓运营/系统 |
|
| 12 | 报关运营 / Admin、Client | `LOADED` 后收集客户资料、发报关行、上传回执、发客户确认;打回则重做,所有客户通过后提交整柜正式申报 | 每客户确认轮次可追溯;整柜正式申报后记录查验/放行,不把回执上传当成客户确认 | 报关运营/客户 |
|
||||||
| 13 | 出仓运营 / Admin | 自动未收敛时,在柜次门禁面板点击“确认离仓” | 整柜进入已离仓事实,自动建船节点任务和 `DEPARTED_WAREHOUSE` | 船务/海外运营 |
|
| 13 | 送港运营 / Admin | 独立安排拖车、离仓、送港和进港;容量不足记录甩柜/改配 | 写入 `DEPARTED_WAREHOUSE`、`PORT_RECEIVED` 或 `ROLLED_OVER`,不等待报关客户确认 | 船务/海外运营 |
|
||||||
| 14 | 船务 / Admin、第三方 | 查看自动轨迹,缺失时按权限补录真实节点 | 实际节点单调推进;到 `PICKUP_READY` 后开放海外 PDA 候选 | 海外计划运营、海外 PDA |
|
| 14 | 船务 / Admin、第三方 | 只在承运船舶真实开航后查看/补录船节点 | 写入 `VESSEL_DEPARTED` 并进入海运节点;到 `PICKUP_READY` 后开放海外 PDA 候选 | 海外计划运营、海外 PDA |
|
||||||
| 15 | 海外计划运营 / Admin | 在尾程订单按柜预览阻断项并确认转换入仓计划 | `PENDING_ASSIGNMENT → INBOUND_PLANNED`;逐票建计划并生成/绑定托盘资源 | 海外 PDA |
|
| 15 | 海外计划运营 / Admin | 在尾程订单按柜预览阻断项并确认转换入仓计划 | `PENDING_ASSIGNMENT → INBOUND_PLANNED`;逐票建计划并生成/绑定托盘资源 | 海外 PDA |
|
||||||
| 16 | 海外 PDA | 选柜锁定,拍车牌/封签/开柜照片,确认签收 | 建立柜级收货会话,冻结实际接柜仓和操作员 | 海外 PDA |
|
| 16 | 海外 PDA | 选柜锁定,拍车牌/封签/开柜照片,确认签收 | 建立柜级收货会话,冻结实际接柜仓和操作员 | 海外 PDA |
|
||||||
| 17 | 海外 PDA | FBA 按 SKU+箱数收货,OVERSEAS 按箱唛逐箱收货,完成整柜 | 尾程进入 `INBOUND_COMPLETED`;生成库存余额、仓位、托盘、流水并回写国内 | 海外排车运营 |
|
| 17 | 海外 PDA | FBA 按 SKU+箱数收货,OVERSEAS 按箱唛逐箱收货,完成整柜 | 尾程进入 `INBOUND_COMPLETED`;生成库存余额、仓位、托盘、流水并回写国内 | 海外排车运营 |
|
||||||
@@ -239,43 +241,37 @@
|
|||||||
|
|
||||||
装柜证据:
|
装柜证据:
|
||||||
|
|
||||||
- 空仓、半仓、满仓、锁仓四步照片;
|
- 空仓、半仓、满仓、锁仓、带锁码照五类证据和锁码文本;
|
||||||
- 带有效铅封号的铅封证据;
|
|
||||||
- 同类可追加,错误证据作废并保留审计,不硬删除历史。
|
- 同类可追加,错误证据作废并保留审计,不硬删除历史。
|
||||||
|
|
||||||
最终完成门禁:全部计划明细核平、五类有效证据齐全、铅封号存在且真实柜号已就绪。完成后装柜计划为 `COMPLETED`,来源入库单为 `LOADED`。
|
最终完成门禁:全部计划明细核平、五类有效证据齐全、铅封号存在且真实柜号已就绪。完成后装柜计划为 `COMPLETED`,来源入库单为 `LOADED`。
|
||||||
|
|
||||||
### 6.3 出口报关与国内出仓
|
### 6.3 报关线与送港线
|
||||||
|
|
||||||
入口:Admin → 货柜管理 → 柜次详情/国内出仓。
|
入口:Admin → 货柜管理 → 柜次详情;客户确认入口为 Client → 头程订单 → 报关资料。
|
||||||
|
|
||||||
当前整柜出仓门禁:
|
**报关线**按客户案例推进:
|
||||||
|
|
||||||
| 门禁 | 要求 |
|
1. `LOADED` 后通知报关行,按客户/入仓码收集资料并发送;
|
||||||
|---|---|
|
2. 授权人员上传报关行本轮回执,客户查看并确认;
|
||||||
| 扣货 | 柜内入库单均未被扣货 |
|
3. 客户打回时保存原因,重新上传/替换资料,重新发送报关行并生成新回执轮次;
|
||||||
| 入库单 | 所有绑定入库单为 `LOADED` |
|
4. 柜内所有客户均确认后,冻结整柜资料并提交报关行正式申报;
|
||||||
| 装柜计划 | `COMPLETED` |
|
5. 记录查验、不查验放行、补件/退回等海关结果。
|
||||||
| 国内 PDA | 拣货任务 `COMPLETED` |
|
|
||||||
| 订舱 | 已放舱并分配当前柜次,状态 `RELEASED` |
|
|
||||||
| 装柜证据 | 四步照片和有效铅封齐全 |
|
|
||||||
| 出口报关 | 整柜报关 `COMPLETED` |
|
|
||||||
|
|
||||||
拖车状态和独立船期当前只作为参考,不属于服务端硬门禁。出口报关完成后,系统会在全部门禁满足时自动尝试确认离仓;若未自动收敛,平台可在“国内出仓门禁”面板点击“确认离仓”。
|
**送港线**独立推进:
|
||||||
|
|
||||||
成功结果:
|
1. 校验 `LOADED`、真实柜号、订舱和拖车条件,安排车辆离仓、送港和进港;
|
||||||
|
2. 写入唯一 `DEPARTED_WAREHOUSE` 和 `PORT_RECEIVED` 事实;
|
||||||
|
3. 船舱不足时写入 `ROLLED_OVER`,保存原船次、改配船次、滚动次数和客户通知;
|
||||||
|
4. 送港线不等待客户报关确认,报关线也不等待送港完成。
|
||||||
|
|
||||||
- 整柜出仓状态进入 `WAITING_FOR_LOADING`(现有内部编码,业务含义是已确认离开国内仓);
|
只有承运船舶真实开航才写入 `VESSEL_DEPARTED` 并进入海运节点。预计 ETD、已离仓或已进港不能显示为海运中。
|
||||||
- 只写一次整柜离仓历史;
|
|
||||||
- 自动创建唯一船节点查询任务和第一条实际 `DEPARTED_WAREHOUSE`;
|
|
||||||
- 尝试完成同订舱关联的国内拖车单;
|
|
||||||
- 已产生实际离仓节点后不得撤销。
|
|
||||||
|
|
||||||
## 7. 阶段四:海运节点、跨区尾程建单和海外入仓
|
## 7. 阶段四:海运节点、跨区尾程建单和海外入仓
|
||||||
|
|
||||||
### 7.1 船节点推进
|
### 7.1 船节点推进
|
||||||
|
|
||||||
船节点任务由国内出仓自动创建,不能由操作员另造一套。标准实际节点按以下顺序单调推进:
|
船节点任务在承运船舶真实开航后幂等创建,不能由操作员另造一套。标准实际节点按以下顺序单调推进:
|
||||||
|
|
||||||
`DEPARTED_WAREHOUSE → AT_ORIGIN_PORT → LOADED_ON_VESSEL → DEPARTED_ORIGIN_PORT → IN_TRANSIT → ARRIVED_DESTINATION_PORT → DISCHARGED_FROM_VESSEL → PICKUP_READY → PICKED_UP → EMPTY_RETURNED`
|
`DEPARTED_WAREHOUSE → AT_ORIGIN_PORT → LOADED_ON_VESSEL → DEPARTED_ORIGIN_PORT → IN_TRANSIT → ARRIVED_DESTINATION_PORT → DISCHARGED_FROM_VESSEL → PICKUP_READY → PICKED_UP → EMPTY_RETURNED`
|
||||||
|
|
||||||
@@ -481,8 +477,8 @@ OVERSEAS:
|
|||||||
|
|
||||||
1. 费用不再阻断待分柜。旧测量文档把“发送费用给客户”写成入库成功节点;当前 Firstleg 口径是测量审核通过后直接进入 `WAIT_SPLIT`,费用独立版本化。
|
1. 费用不再阻断待分柜。旧测量文档把“发送费用给客户”写成入库成功节点;当前 Firstleg 口径是测量审核通过后直接进入 `WAIT_SPLIT`,费用独立版本化。
|
||||||
2. 跨区事件不自动建海外入仓计划。旧海外验收手册曾写“装柜完成事件直接生成入仓计划”;当前只生成 `PENDING_ASSIGNMENT` 尾程订单,平台必须按柜预览并确认转换。
|
2. 跨区事件不自动建海外入仓计划。旧海外验收手册曾写“装柜完成事件直接生成入仓计划”;当前只生成 `PENDING_ASSIGNMENT` 尾程订单,平台必须按柜预览并确认转换。
|
||||||
3. 国内出仓硬门禁不含拖车和独立船期。当前服务端硬门禁是未扣货、入库单 `LOADED`、装柜计划/PDA完成、订舱 `RELEASED`、装柜证据与出口报关完成;拖车和独立船期仅展示参考。
|
3. `LOADED` 只校验物理装柜。报关线按客户回执确认、整柜正式申报和海关结果推进;送港线按拖车、离仓、进港和甩柜推进,两条线互不替代。
|
||||||
4. 国内出仓既有自动收敛也保留人工入口。出口报关完成后系统会自动尝试确认;未收敛时平台可在柜次或国内出仓页手工确认,二者共享同一服务端门禁与幂等结果。
|
4. 只有实际开船才进入海运节点。`DEPARTED_WAREHOUSE` 和 `PORT_RECEIVED` 是送港事实,`ROLLED_OVER` 是船次异常,预计 ETD 不推进海运中。
|
||||||
5. 真实柜号最迟时点存在历史指引差异。当前代码允许在 `EDITING/LOADING` 补录,但最终 PDA 完成前必须存在;为避免页面入口差异,正式操作统一要求预装确认前补齐。
|
5. 真实柜号最迟时点存在历史指引差异。当前代码允许在 `EDITING/LOADING` 补录,但最终 PDA 完成前必须存在;为避免页面入口差异,正式操作统一要求预装确认前补齐。
|
||||||
6. 尾程主状态与子单状态分开。入仓后主流程固定在 `INBOUND_COMPLETED`,排车、出库、派送、换标和转运的精确状态保存在子单,不得互相覆盖。
|
6. 尾程主状态与子单状态分开。入仓后主流程固定在 `INBOUND_COMPLETED`,排车、出库、派送、换标和转运的精确状态保存在子单,不得互相覆盖。
|
||||||
|
|
||||||
@@ -510,7 +506,10 @@ OVERSEAS:
|
|||||||
- [ ] 模拟柜、订舱、真实柜号、预装计划和订单分配关系一致
|
- [ ] 模拟柜、订舱、真实柜号、预装计划和订单分配关系一致
|
||||||
- [ ] 国内 PDA 全部拣货,五类证据和铅封齐全
|
- [ ] 国内 PDA 全部拣货,五类证据和铅封齐全
|
||||||
- [ ] 装柜计划 `COMPLETED`,来源入库单 `LOADED`
|
- [ ] 装柜计划 `COMPLETED`,来源入库单 `LOADED`
|
||||||
- [ ] 整柜出口报关完成,国内出仓成功并生成船节点任务
|
- [ ] 每个客户完成“资料→报关行回执→客户确认”,打回客户已重新上传、重新发送并生成新回执
|
||||||
|
- [ ] 所有客户确认后,整柜资料已提交报关行正式申报,并记录查验/放行结果
|
||||||
|
- [ ] 送港线已记录 `DEPARTED_WAREHOUSE`、`PORT_RECEIVED` 或 `ROLLED_OVER`
|
||||||
|
- [ ] 承运船舶实际开航后才生成 `VESSEL_DEPARTED` 和船节点任务
|
||||||
- [ ] 实际船节点到 `PICKUP_READY` 后海外 PDA 才看到柜号
|
- [ ] 实际船节点到 `PICKUP_READY` 后海外 PDA 才看到柜号
|
||||||
- [ ] 海外只先生成 `PENDING_ASSIGNMENT` 尾程订单,平台按柜转换计划成功
|
- [ ] 海外只先生成 `PENDING_ASSIGNMENT` 尾程订单,平台按柜转换计划成功
|
||||||
- [ ] 海外 PDA 三类签收照片齐全,FBA/OVERSEAS 按正确模式实收
|
- [ ] 海外 PDA 三类签收照片齐全,FBA/OVERSEAS 按正确模式实收
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 头程下单到尾程出库现状流程全景清单
|
# 头程下单到尾程出库现状流程全景清单
|
||||||
|
|
||||||
|
> **历史现状声明(2026-09-24)**:本文记录旧版 AS-IS 盘点,报关/送港的单线门禁、柜前资料和“四步证据”等内容不再作为当前业务依据。当前流程以 [头程到尾程流程节点梳理(重构版)](头程到尾程流程节点梳理.md)、[报关资料与船期价格接入梳理](国内货柜履约/报关资料与船期价格接入梳理.md) 和最新需求确认表为准:`LOADED` 后报关线与送港线并行,客户回执确认完成后整柜正式申报,甩柜独立记录,实际开船才进入海运节点。
|
||||||
|
|
||||||
> 文档性质:现状流程盘点(AS-IS),先描述现在业务怎么走,不在本文讨论页面改版或技术优化。
|
> 文档性质:现状流程盘点(AS-IS),先描述现在业务怎么走,不在本文讨论页面改版或技术优化。
|
||||||
> 覆盖起点:企业具备下单资格。
|
> 覆盖起点:企业具备下单资格。
|
||||||
> 主链终点:海外仓完成尾程出库;为保证交接完整,附带记录派送、异常退回和国内最终完成回写。
|
> 主链终点:海外仓完成尾程出库;为保证交接完整,附带记录派送、异常退回和国内最终完成回写。
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 头程到尾程 AI 流程优化上下文包
|
# 头程到尾程 AI 流程优化上下文包
|
||||||
|
|
||||||
|
> **规则基线声明(2026-09-24)**:本文中的旧状态表和阶段合同可能保留历史口径,不能覆盖当前流程。当前分析必须先采用 [头程到尾程流程节点梳理(重构版)](头程到尾程流程节点梳理.md) 和 [报关资料与船期价格接入梳理](国内货柜履约/报关资料与船期价格接入梳理.md):`LOADED` 后报关线、送港线并行,客户逐轮确认后整柜正式申报,送港可甩柜,实际开船后才进入海运节点。
|
||||||
|
|
||||||
> 用途:给 AI、产品、业务和技术提供同一份优化输入规范。本文不替代六阶段现状文档,也不直接改变状态机;它定义分析顺序、术语、证据、指标、输出格式和实施门禁,防止 AI 只根据局部页面提出脱离业务事实的建议。
|
> 用途:给 AI、产品、业务和技术提供同一份优化输入规范。本文不替代六阶段现状文档,也不直接改变状态机;它定义分析顺序、术语、证据、指标、输出格式和实施门禁,防止 AI 只根据局部页面提出脱离业务事实的建议。
|
||||||
|
|
||||||
## 1. 第二轮完整性审计结论
|
## 1. 第二轮完整性审计结论
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
当前六个阶段的现状基线均已完成。下一步按阶段组织业务、产品、运营、国内仓、海外仓和技术评审;每阶段确认后,再将评审结论转入易用性和数据流转优化方案。
|
当前六个阶段的现状基线均已完成。下一步按阶段组织业务、产品、运营、国内仓、海外仓和技术评审;每阶段确认后,再将评审结论转入易用性和数据流转优化方案。
|
||||||
|
|
||||||
|
端到端节点评审先使用[《头程到尾程流程节点梳理》](../头程到尾程流程节点梳理.md)。该主表保留 F01~F40 稳定编号,统一阶段出口、客户进度投影、后台对象、数据交接和异常门禁;本目录的六份阶段文档继续承载各节点的现状操作与字段细节。
|
||||||
|
|
||||||
## 分阶段计划
|
## 分阶段计划
|
||||||
|
|
||||||
| 阶段 | 范围 | 对应全景流程 | 文档 |
|
| 阶段 | 范围 | 对应全景流程 | 文档 |
|
||||||
|
|||||||
+58
-46
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
> 对应全景流程:F14~F23。
|
> 对应全景流程:F14~F23。
|
||||||
> 阶段起点:入库单主状态为 `WAIT_SPLIT`,不存在有效 HOLD。
|
> 阶段起点:入库单主状态为 `WAIT_SPLIT`,不存在有效 HOLD。
|
||||||
> 阶段终点:整柜满足国内出仓门禁,产生唯一实际 `DEPARTED_WAREHOUSE` 节点并开始出仓后的船节点查询。
|
> 阶段终点:装柜后完成送港线的仓库离开/进港事实,报关线保留客户确认、正式申报和海关结果;实际开船 `VESSEL_DEPARTED` 由阶段四承接。
|
||||||
> 本阶段复用订单、入库单、柜次和装柜计划,不新建独立“出仓单”。
|
> 本阶段复用订单、入库单、柜次和装柜计划,不新建独立“出仓单”。`LOADED` 后报关线和送港线并行;费用确认是并行事实,装柜完成后对已装范围的当前有效费用版本执行系统默认确认。
|
||||||
|
|
||||||
## 1. 阶段目标和边界
|
## 1. 阶段目标和边界
|
||||||
|
|
||||||
@@ -15,12 +15,12 @@
|
|||||||
4. 模拟柜与订舱柜型需求、真实集装箱号关联;
|
4. 模拟柜与订舱柜型需求、真实集装箱号关联;
|
||||||
5. 预装确认、动态增减和普通散货托盘标签;
|
5. 预装确认、动态增减和普通散货托盘标签;
|
||||||
6. 国内 PDA 拣货、整托装柜和异常闭环;
|
6. 国内 PDA 拣货、整托装柜和异常闭环;
|
||||||
7. 四步装柜照片、铅封照片与铅封号;
|
7. 空仓、半仓、满仓、锁仓、带锁码照五类装柜证据与锁码文本;
|
||||||
8. 装柜完成、部分装载分片和跨区交接快照;
|
8. 装柜完成、部分装载分片和跨区交接快照;
|
||||||
9. 客户资料、整柜出口报关与放行;
|
9. `LOADED` 后通知报关行、客户资料收集、回执确认、整柜正式申报和海关结果;
|
||||||
10. 国内出仓门禁、离仓确认和拖车费用归集。
|
10. 送港、进港、甩柜/改配、实际离仓和拖车费用归集。
|
||||||
|
|
||||||
`LOADED` 表示货物已经完成实际装柜,不等于柜子已经离开国内仓。报关放行等条件在国内出仓环节统一校验;国内 Admin/PDA 不得把订单推进到海外派送完成 `DELIVERED`。
|
`LOADED` 表示货物已经完成实际装柜。此时同时触发报关线和送港线:报关线收集客户资料、发送报关行、处理回执和客户确认;送港线安排拖车、离仓和进港。两条线谁先到都保留各自事实,客户未确认不阻断送港,已进港不代表报关完成。容量不足时记录甩柜和改配船次;只有实际开船后才进入海运节点。国内 Admin/PDA 不得把订单推进到海外派送完成 `DELIVERED`。
|
||||||
|
|
||||||
## 2. 角色、终端和对象
|
## 2. 角色、终端和对象
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
- 柜型规格、国内中转仓、有效渠道和供应商主档可用;
|
- 柜型规格、国内中转仓、有效渠道和供应商主档可用;
|
||||||
- 操作员理解模拟柜、真实柜号、订舱和拖车是不同对象;
|
- 操作员理解模拟柜、真实柜号、订舱和拖车是不同对象;
|
||||||
- 同柜不可拆组、已占用数量和版本冲突均以服务端返回为准;
|
- 同柜不可拆组、已占用数量和版本冲突均以服务端返回为准;
|
||||||
- 费用仍可并行维护,但已经确认/发送或客户已确认版本不得被静默改写。
|
- 费用仍可并行维护,客户未确认不阻断排柜、预装、PDA 或装柜;装柜完成后对已装范围的当前有效已发布版本记录系统默认确认。客户确认和系统默认确认来源分开审计;缺少有效费用版本不伪造确认,部分装载不得把余量一起确认。
|
||||||
|
|
||||||
## 4. F14 模拟柜与智能排柜
|
## 4. F14 模拟柜与智能排柜
|
||||||
|
|
||||||
@@ -225,13 +225,13 @@ PDA 装柜完成不推进拖车状态。只有订舱要求的全部柜型数量
|
|||||||
|
|
||||||
## 10. F20 装柜证据与铅封
|
## 10. F20 装柜证据与铅封
|
||||||
|
|
||||||
PDA 按现场顺序拍摄:
|
PDA 按现场要求采集五类证据:
|
||||||
|
|
||||||
1. `PHOTO_STEP_1`:装柜初始/空柜;
|
1. `EMPTY`:空仓照片;
|
||||||
2. `PHOTO_STEP_2`:装载过程;
|
2. `HALF`:半仓照片;
|
||||||
3. `PHOTO_STEP_3`:接近完成;
|
3. `FULL`:满仓照片;
|
||||||
4. `PHOTO_STEP_4`:满柜/关门前;
|
4. `LOCKED`:锁仓照片;
|
||||||
5. `SEAL`:带有效铅封号的封柜照片。
|
5. `SEAL`:带有效铅封号的带锁码照片。
|
||||||
|
|
||||||
每类至少一张有效照片,同类允许追加。PDA 仅允许现场相机拍摄;有权限的 Admin 操作员/理货员可人工补充,普通拣货员不开放后台上传。
|
每类至少一张有效照片,同类允许追加。PDA 仅允许现场相机拍摄;有权限的 Admin 操作员/理货员可人工补充,普通拣货员不开放后台上传。
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ PDA 点击“完成装柜”时,服务端重新校验:
|
|||||||
- 真实集装箱号存在;
|
- 真实集装箱号存在;
|
||||||
- 所有普通箱码或一件代发整托均核平;
|
- 所有普通箱码或一件代发整托均核平;
|
||||||
- 没有未解决异常;
|
- 没有未解决异常;
|
||||||
- 四步照片和带铅封号的 `SEAL` 完整;
|
- 空仓、半仓、满仓、锁仓、带锁码照五类证据和锁码文本完整;
|
||||||
- 计划明细、已拣数量和最终实装数量守恒。
|
- 计划明细、已拣数量和最终实装数量守恒。
|
||||||
|
|
||||||
校验通过后:
|
校验通过后:
|
||||||
@@ -260,45 +260,53 @@ PDA 点击“完成装柜”时,服务端重新校验:
|
|||||||
|
|
||||||
## 12. F22 客户资料与整柜出口报关
|
## 12. F22 客户资料与整柜出口报关
|
||||||
|
|
||||||
### 12.1 客户上传资料
|
### 12.1 F22-A `LOADED` 后通知报关并建立客户案例
|
||||||
|
|
||||||
入口:Client → 头程订单 → 报关资料。
|
入口:`LOADED` 事件 → Admin/Client → 报关资料。
|
||||||
|
|
||||||
客户只可对本企业订单上传退税/报关资料,选择资料类型并填写说明。文件归属、订单归属和客户身份由服务端校验,文件名不能代替合法文件 ID。
|
1. 装柜完成后按最终实装清单通知报关行,建立本柜报关批次和每个客户/入仓码的 `customerCustomsCase`;
|
||||||
|
2. 客户上传本企业资料,平台校验客户、订单、入仓码、实际装载数量和文件归属;
|
||||||
|
3. 平台将资料发送给报关行,记录发送时间、资料版本和 `roundNo`;
|
||||||
|
4. 报关行返回本轮回执,平台保存文件和回执字段,并向对应客户展示确认任务。
|
||||||
|
|
||||||
### 12.2 平台整柜报关
|
柜前可以存在资料准备或历史附件,但不创建本柜正式客户确认轮次,也不能显示“已通知报关”。客户资料缺失只形成报关线补件待办,不阻断送港线。
|
||||||
|
|
||||||
入口:Admin → 柜次详情 → 出口报关。
|
### 12.2 F22-B 报关行回执与客户确认循环
|
||||||
|
|
||||||
1. 查看柜内所有入仓码及其资料覆盖情况;
|
客户查看报关行回执后有两个结果:
|
||||||
2. 对退税资料逐项核对,缺件时联系对应客户补充;
|
|
||||||
3. 开始报关时冻结当前参与资料和版本;
|
|
||||||
4. 线下向报关代理提交;首版不做外部系统直连;
|
|
||||||
5. 完成后为每份退税资料上传一一对应的完成文件;
|
|
||||||
6. 全买单柜由平台确认买单,并从导出中心获取最终实装买单明细;
|
|
||||||
7. 点击完成整柜报关,写入放行结果和历史。
|
|
||||||
|
|
||||||
报关完成后系统立即尝试国内出仓;若其他门禁尚未齐全,保留明确阻断项并由受控补偿重试,不能伪装为已离仓。
|
1. **确认**:当前客户案例进入 `CUSTOMER_CONFIRMED`,保存确认人、确认时间、回执版本和幂等键;
|
||||||
|
2. **打回**:当前案例进入 `NEEDS_RESUBMIT`,保存打回原因;客户重新上传/替换资料,平台重新发送报关行,报关行生成新回执,`roundNo` 加一后再次发客户确认。
|
||||||
|
|
||||||
## 13. F23 国内出仓
|
客户打回只重开对应客户案例,不重置其他客户已经确认的轮次。直到柜内所有客户案例都为 `CUSTOMER_CONFIRMED`,才允许进入整柜正式提交。
|
||||||
|
|
||||||
|
### 12.3 F22-C 所有客户通过后的整柜正式申报
|
||||||
|
|
||||||
|
1. 平台检查所有客户案例均已确认,冻结本柜最终实装和资料版本,生成整柜正式申报批次;
|
||||||
|
2. 将整柜资料提交报关行确认,报关行完成正式申报;首版不做外部系统直连,保留人工提交和审计记录;
|
||||||
|
3. 海关结果独立记录为查验、免查验放行、补件/退回、扣货等,不把客户确认回执直接当成海关放行;
|
||||||
|
4. 报关线的任一结果都不覆盖送港线的离仓、进港、甩柜事实。送港线可以先到港,报关线也可以先完成客户确认或正式申报。
|
||||||
|
|
||||||
|
## 13. F23 送港、进港与甩柜
|
||||||
|
|
||||||
### 13.1 出仓硬门禁
|
### 13.1 出仓硬门禁
|
||||||
|
|
||||||
整柜所有关联入库单逐项检查:
|
送港线的离仓/进港门禁逐项检查:
|
||||||
|
|
||||||
- 无有效 HOLD;
|
- 无有效 HOLD;
|
||||||
- 入库单为 `LOADED`;
|
- 入库单为 `LOADED`;
|
||||||
- 装柜计划为 `COMPLETED`;
|
- 装柜计划为 `COMPLETED`;
|
||||||
- PDA 柜次任务为 `COMPLETED`;
|
- PDA 柜次任务为 `COMPLETED`;
|
||||||
- 订舱已 `RELEASED` 且分配当前柜次;
|
- 订舱已 `RELEASED` 且分配当前柜次;
|
||||||
- 四步照片与有效铅封完整;
|
- 五类证据与有效锁码文本完整;
|
||||||
- 整柜报关已完成并放行。
|
- 送港任务和当前船次分配完整;
|
||||||
|
- 报关客户确认或海关结果不作为仓库离开、送港和进港的前置。
|
||||||
|
|
||||||
独立拖车状态和独立船期字段提供调度参考,但不是当前确认离仓的硬门禁。拖车在全部订舱柜次离仓后自动完成。
|
订舱、拖车、仓库离开和港口进场属于送港线事实。报关线可以先完成客户确认或正式申报,也可以晚于进港;两条线各自展示阻断项。容量不足时记录 `ROLLED_OVER`,保存原船次、滚动次数、新船次、预计开船时间和客户通知。
|
||||||
|
|
||||||
### 13.2 自动与人工确认离仓
|
### 13.2 自动与人工确认离仓
|
||||||
|
|
||||||
报关完成或其他门禁变化时系统自动尝试收敛。未自动完成时,平台在柜次/国内出仓页面:
|
送港状态变化或其他送港门禁满足时系统自动尝试收敛。未自动完成时,平台在柜次/送港页面:
|
||||||
|
|
||||||
1. 打开门禁清单;
|
1. 打开门禁清单;
|
||||||
2. 逐项处理未通过原因;
|
2. 逐项处理未通过原因;
|
||||||
@@ -309,13 +317,13 @@ PDA 点击“完成装柜”时,服务端重新校验:
|
|||||||
成功后系统:
|
成功后系统:
|
||||||
|
|
||||||
- 写入整柜唯一国内离仓事实;
|
- 写入整柜唯一国内离仓事实;
|
||||||
- 创建 `CarrierScheduleQuery`;
|
|
||||||
- 写入实际 `DEPARTED_WAREHOUSE` 节点;
|
- 写入实际 `DEPARTED_WAREHOUSE` 节点;
|
||||||
- 触发出仓后船节点查询;
|
- 写入 `PORT_RECEIVED` 或 `ROLLED_OVER`;
|
||||||
|
- 维护船次和开船前等待,不把预计 ETD 记成海运在途;
|
||||||
- 检查并尝试完成订舱级拖车;
|
- 检查并尝试完成订舱级拖车;
|
||||||
- 保持跨区交接事件可重试且不重复建单。
|
- 保持跨区交接事件可重试且不重复建单。
|
||||||
|
|
||||||
实际离仓节点产生后禁止撤销。发现错误转入线下和后续阶段异常处理,不提供修改历史伪装未离仓的能力。
|
实际离仓和进港节点产生后禁止撤销。发现错误转入线下和后续阶段异常处理,不提供修改历史伪装未离仓或未进港的能力。报关线的客户打回、重新发送和海关查验单独记录,不回滚送港事实。
|
||||||
|
|
||||||
## 14. 状态和动作总表
|
## 14. 状态和动作总表
|
||||||
|
|
||||||
@@ -325,8 +333,9 @@ PDA 点击“完成装柜”时,服务端重新校验:
|
|||||||
| 装柜计划 | `EDITING → LOADING → COMPLETED` | 预装调整/PDA 作业/最终完成 |
|
| 装柜计划 | `EDITING → LOADING → COMPLETED` | 预装调整/PDA 作业/最终完成 |
|
||||||
| 订舱 | `DRAFT → RELEASED` | 补齐资料并放舱 |
|
| 订舱 | `DRAFT → RELEASED` | 补齐资料并放舱 |
|
||||||
| 拖车 | 非终态 → `COMPLETED` | 所有要求柜次实际离仓后自动完成 |
|
| 拖车 | 非终态 → `COMPLETED` | 所有要求柜次实际离仓后自动完成 |
|
||||||
| 报关 | 资料收集 → 已冻结办理中 → 已完成/放行 | 客户上传、平台开始、上传回执并完成 |
|
| 报关 | `WAITING_DOCUMENTS → SENT_TO_BROKER → RECEIPT_PENDING_CUSTOMER_CONFIRM → CUSTOMER_CONFIRMED / NEEDS_RESUBMIT → ALL_CUSTOMERS_CONFIRMED → FORMAL_SUBMITTED → INSPECTION/RELEASED` | 装柜后通知报关行;回执必须经对应客户确认,打回则新资料/新回执轮次 |
|
||||||
| 国内出仓 | 等待门禁 → 可出仓 → 已离仓 | 自动尝试或平台确认 |
|
| 送港 | `PORT_DELIVERY_PENDING → DEPARTED_WAREHOUSE → IN_TRANSIT_TO_PORT → PORT_RECEIVED / ROLLED_OVER` | 独立安排拖车和进港;容量不足记录甩柜和改配,不等待报关客户确认 |
|
||||||
|
| 海运 | `WAITING_SAILING → VESSEL_DEPARTED → IN_TRANSIT` | 只有承运船舶真实开航才进入海运节点 |
|
||||||
|
|
||||||
主状态只表达阶段结果。订舱、拖车、PDA、证据和报关保持关联子状态,页面应汇聚展示,但不能互相覆盖。
|
主状态只表达阶段结果。订舱、拖车、PDA、证据和报关保持关联子状态,页面应汇聚展示,但不能互相覆盖。
|
||||||
|
|
||||||
@@ -358,8 +367,11 @@ WAIT_SPLIT 入库单/已封托托盘
|
|||||||
→ 预装确认/动态调整
|
→ 预装确认/动态调整
|
||||||
→ PDA 实装 + 五类证据
|
→ PDA 实装 + 五类证据
|
||||||
→ COMPLETED / LOADED + 数量分片 + 跨区快照
|
→ COMPLETED / LOADED + 数量分片 + 跨区快照
|
||||||
→ 整柜报关放行
|
├─ 报关线:通知报关 → 客户资料 → 报关行回执 → 客户确认/打回重做
|
||||||
→ 国内离仓 + DEPARTED_WAREHOUSE + 船节点查询任务
|
│ → 所有客户通过 → 整柜正式申报 → 查验/放行
|
||||||
|
└─ 送港线:拖车 → DEPARTED_WAREHOUSE → PORT_RECEIVED
|
||||||
|
→ 甩柜/改配(如发生)→ 等待实际开船
|
||||||
|
→ VESSEL_DEPARTED → 海运节点查询
|
||||||
```
|
```
|
||||||
|
|
||||||
阶段完成必须同时满足:
|
阶段完成必须同时满足:
|
||||||
@@ -367,14 +379,14 @@ WAIT_SPLIT 入库单/已封托托盘
|
|||||||
- [ ] 最终柜次、装柜计划、订舱、真实柜号关联可追溯
|
- [ ] 最终柜次、装柜计划、订舱、真实柜号关联可追溯
|
||||||
- [ ] 全部实装箱/托盘/SKU 与入库单数量守恒
|
- [ ] 全部实装箱/托盘/SKU 与入库单数量守恒
|
||||||
- [ ] PDA 任务完成且无未解决异常
|
- [ ] PDA 任务完成且无未解决异常
|
||||||
- [ ] 四步照片、铅封照片和铅封号完整有效
|
- [ ] 五类证据和锁码文本完整有效
|
||||||
- [ ] 装柜计划 `COMPLETED`,实装入库单 `LOADED`
|
- [ ] 装柜计划 `COMPLETED`,实装入库单 `LOADED`
|
||||||
- [ ] 部分装载时已装子单和余量子单正确
|
- [ ] 部分装载时已装子单和余量子单正确
|
||||||
- [ ] 整柜报关已完成并放行
|
- [ ] 报关线已为每个客户建立案例,回执、确认/打回和每轮资料版本可追溯
|
||||||
- [ ] 所有入库单无 HOLD
|
- [ ] 送港线已记录唯一国内离仓历史;如已进港,存在 `PORT_RECEIVED`,如甩柜,存在原船次/改配船次历史
|
||||||
- [ ] 唯一国内离仓历史存在
|
- [ ] 客户全部确认后才允许整柜正式提交;正式申报后的查验/放行结果单独记录
|
||||||
- [ ] 第一条实际 `DEPARTED_WAREHOUSE` 存在
|
- [ ] 船舶实际开航后才写入 `VESSEL_DEPARTED` 并启动海运节点查询
|
||||||
- [ ] 船节点查询任务和跨区事件可幂等重试
|
- [ ] 跨区事件可幂等重试;送港线和报关线任一先完成都不覆盖另一条线
|
||||||
|
|
||||||
## 17. 易用性与数据流评审问题
|
## 17. 易用性与数据流评审问题
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# 阶段四:海运、目的港与尾程入仓计划
|
# 阶段四:海运、目的港与尾程入仓计划
|
||||||
|
|
||||||
> 对应全景流程:F24~F27。
|
> 对应全景流程:F24~F27。
|
||||||
> 阶段起点:柜次已确认国内离仓,存在实际 `DEPARTED_WAREHOUSE` 节点和可查询的真实订舱/柜次。
|
> 阶段起点:柜次已完成送港/进港或甩柜处理,并产生承运船舶实际 `VESSEL_DEPARTED`/`DEPARTED_ORIGIN_PORT` 节点;真实 `DEPARTED_WAREHOUSE` 和 `PORT_RECEIVED` 属于阶段三送港线事实。
|
||||||
> 阶段终点:跨区尾程订单完整生成,整柜每票入仓计划及托盘/库位资源已生成或有明确资源失败待办,订单进入 `INBOUND_PLANNED`。
|
> 阶段终点:跨区尾程订单完整生成,整柜每票入仓计划及托盘/库位资源已生成或有明确资源失败待办,订单进入 `INBOUND_PLANNED`。
|
||||||
> 本阶段同时维护船舶/货柜轨迹和尾程业务准备,但两类状态不得互相冒充。
|
> 本阶段同时维护船舶/货柜轨迹和尾程业务准备,但两类状态不得互相冒充。
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
本阶段完成四条相互关联但独立的链路:
|
本阶段完成四条相互关联但独立的链路:
|
||||||
|
|
||||||
1. 从国内离仓开始查询并保存十个标准船节点;
|
1. 从承运船舶实际开航开始查询并保存十个标准船节点;
|
||||||
2. 管理目的港清关、海外码头车队、提柜、预计到仓和还空;
|
2. 管理目的港清关、海外码头车队、提柜、预计到仓和还空;
|
||||||
3. 将国内最终实装快照可靠投递到海外区域并创建尾程订单;
|
3. 将国内最终实装快照可靠投递到海外区域并创建尾程订单;
|
||||||
4. 按整柜维护每票计划并转换为可执行的海外入仓计划和资源。
|
4. 按整柜维护每票计划并转换为可执行的海外入仓计划和资源。
|
||||||
@@ -35,9 +35,9 @@
|
|||||||
|
|
||||||
## 3. 阶段前置检查
|
## 3. 阶段前置检查
|
||||||
|
|
||||||
- 柜次存在真实集装箱号、订舱、提单号和国内离仓事实;
|
- 柜次存在真实集装箱号、订舱、提单号、送港/进港事实和实际开船节点;
|
||||||
- 装柜完成事件包含最终实装订单、入仓单、目的类型、箱数及必要托盘/SKU/箱唛快照;
|
- 装柜完成事件包含最终实装订单、入仓单、目的类型、箱数及必要托盘/SKU/箱唛快照;
|
||||||
- 国内四步照片和铅封证据已经冻结;
|
- 国内五类装柜证据和锁码文本已经冻结;
|
||||||
- 接柜海外仓是 Warehouse 中 `ACTIVE + OVERSEAS + RECEIVING` 的平台共享物理仓;
|
- 接柜海外仓是 Warehouse 中 `ACTIVE + OVERSEAS + RECEIVING` 的平台共享物理仓;
|
||||||
- FBA 目的仓是 Warehouse 有效公共主档,不能用接柜仓或国内仓代替;
|
- FBA 目的仓是 Warehouse 有效公共主档,不能用接柜仓或国内仓代替;
|
||||||
- 船司/轨迹查询标识足以唯一指向目标订舱和柜次;
|
- 船司/轨迹查询标识足以唯一指向目标订舱和柜次;
|
||||||
@@ -47,9 +47,11 @@
|
|||||||
|
|
||||||
### 4.1 查询任务创建
|
### 4.1 查询任务创建
|
||||||
|
|
||||||
国内出仓确认事务幂等创建 `CarrierScheduleQuery`。任务必须绑定真实订舱、柜次以及可用的船司、船名航次、提单号或柜号,不创建脱离业务单据的孤立轮询任务。
|
承运船舶实际开航事务幂等创建 `CarrierScheduleQuery`。任务必须绑定真实订舱、柜次以及可用的船司、船名航次、提单号或柜号,不创建脱离业务单据的孤立轮询任务。送港、进港、甩柜和客户报关确认在阶段三分别记录,不能用预计 ETD 提前创建“海运中”展示。
|
||||||
|
|
||||||
首个实际节点由国内出仓写入:
|
标准节点保留国内送港事实,但海运查询的起点是实际开船:
|
||||||
|
|
||||||
|
`DEPARTED_WAREHOUSE`、`AT_ORIGIN_PORT` 和 `LOADED_ON_VESSEL` 可以作为送港/装船历史补录;客户的“海运中”节点和定时船节点查询以真实 `DEPARTED_ORIGIN_PORT`/`VESSEL_DEPARTED` 为起点。
|
||||||
|
|
||||||
```text
|
```text
|
||||||
10 DEPARTED_WAREHOUSE 已离开国内仓
|
10 DEPARTED_WAREHOUSE 已离开国内仓
|
||||||
|
|||||||
+463
@@ -0,0 +1,463 @@
|
|||||||
|
# 头程到尾程流程节点梳理(重构版)
|
||||||
|
|
||||||
|
> 版本: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 |
|
||||||
|
| 阶段二:国内到仓与测量 | F08~F13 | 箱码、实测、费用和一件代发组托事实准备完成 | 普通订单/一件代发均进入 `WAIT_SPLIT` | Firstleg、Warehouse、Finance、File |
|
||||||
|
| 阶段三:国内装柜与出仓 | F14~F23 | 完成分柜、订舱、PDA、装柜证据、报关和国内离仓 | `LOADED`,并产生 `DEPARTED_WAREHOUSE` | Firstleg、File、Event Bridge |
|
||||||
|
| 阶段四:海运与尾程计划 | 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` 后的报关线和送港线可以并行;报关行回执、客户确认、正式申报、查验/放行、送港、甩柜和开船分别记录。真正阻断某一条线的条件以该线的服务端门禁和阶段交接表为准。
|
||||||
|
|
||||||
|
端到端主链如下。换标、转运、废弃、退货、异常退回是受控分支,不应把分支节点直接塞进主链状态。
|
||||||
|
|
||||||
|
```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
|
||||||
|
下单 → 审核 → 到仓 → 测量 → 客户确认 → 报关资料 → 排柜 → 订舱 → 国内拖车 → 装柜
|
||||||
|
```
|
||||||
|
|
||||||
|
当前流程文档把它拆为:
|
||||||
|
|
||||||
|
- F01~F07:客户准入、下单、提交、审核和正式入库单;
|
||||||
|
- F08~F13:到仓、测量、费用、HOLD、一件代发组托;
|
||||||
|
- F14~F23:排柜、订舱、拖车、PDA、装柜、报关和国内出仓。
|
||||||
|
|
||||||
|
这不是业务冲突,而是展示粒度不同。三大块可以保持“头程下单”这个产品名称,但后台必须保留 F01~F23 的对象和门禁。
|
||||||
|
|
||||||
|
### 4.2 客户确认在原图中像硬门禁,当前规则是并行事实
|
||||||
|
|
||||||
|
原图的顺序是:
|
||||||
|
|
||||||
|
```text
|
||||||
|
计算数据推客户 → 待客户确认 → 已确认数据 → 上传报关资料/排柜
|
||||||
|
```
|
||||||
|
|
||||||
|
当前规则是:
|
||||||
|
|
||||||
|
- F09/F10 负责实测和测量审核;
|
||||||
|
- F11 负责费用试算、发布和客户确认;
|
||||||
|
- 费用确认是版本化并行事实,不自动阻断 `WAIT_SPLIT`;
|
||||||
|
- 目标规则为:装柜完成后,当前有效费用已由客户确认或系统默认确认时冻结;缺失费用不能伪造确认。
|
||||||
|
|
||||||
|
**本轮已确认:不阻断。** 装柜前显示“费用待确认”并行待办;装柜完成后未确认的执行系统默认确认,展示“费用已确认(装柜默认确认)”。已由客户确认的保留“客户确认”。确认对象须包含费用版本;实际计费数据、未确认费用、报关资料不互相代确认。缺少有效版本、未发送版本和部分装载范围见第 10 节。
|
||||||
|
|
||||||
|
### 4.3 报关资料从装柜完成后正式启动
|
||||||
|
|
||||||
|
原图把“上传报关资料”放在排柜前,这与当前实际操作不一致。当前主流程是 `LOADED` 后通知报关行,再启动客户资料收集和回执确认:
|
||||||
|
|
||||||
|
| 节点 | 发生时间 | 作用 |
|
||||||
|
|---|---|---|
|
||||||
|
| 装柜完成通知报关 | `LOADED` 事件产生后 | 以最终实装清单通知报关行,建立本柜报关批次 |
|
||||||
|
| 客户资料与回执确认 | 通知报关后 | 收集每个客户资料,发送报关行;报关行出回执后发客户确认,客户打回则重新上传并生成新回执 |
|
||||||
|
| 整柜正式申报 | 柜内所有客户均确认后 | 将整柜资料提交报关行确认,由报关行正式申报;随后记录查验、不查验放行或其他海关结果 |
|
||||||
|
|
||||||
|
柜前可以存在资料准备或历史附件,但不进入本柜正式回执确认轮次,也不能显示为已通知报关。客户资料确认、整柜正式申报、海关放行、送港和开船分别记录。
|
||||||
|
|
||||||
|
### 4.4 “装柜完成”和“国内出仓”必须分开
|
||||||
|
|
||||||
|
原图中“装柜完成”后直接进入报关、海运。当前流程明确区分两条线:
|
||||||
|
|
||||||
|
- `LOADED`:货物实际装入集装箱,装柜计划、PDA、照片、铅封和实装数量通过门禁;
|
||||||
|
- 报关线:装柜后通知报关行,收集并发送客户资料,处理报关行回执、客户确认/打回,所有客户确认后再提交整柜资料,记录查验或放行;
|
||||||
|
- 送港线:装柜后安排拖车、送港、进港;即使先送港,也不能把“已进港”当成已开船;容量不足时记录甩柜并保留换船历史;
|
||||||
|
- 海运实际节点:只有承运船舶真实开航后,才从送港/报关结果进入海运在途节点。
|
||||||
|
|
||||||
|
这几类事实可以位于同一个“海运(货柜)”业务块,但客户当前节点不能全部叫“海运中”:报关处理中、送港中、已进港、甩柜和待开船分别展示,实际开船后才显示海运在途。预计 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