2026-09-18 16:48:32 +08:00
|
|
|
|
# 阶段三:国内货柜履约与出仓
|
|
|
|
|
|
|
|
|
|
|
|
> 对应全景流程:F14~F23。
|
|
|
|
|
|
> 阶段起点:入库单主状态为 `WAIT_SPLIT`,不存在有效 HOLD。
|
2026-09-24 13:43:53 +08:00
|
|
|
|
> 阶段终点:装柜后完成送港线的仓库离开/进港事实,报关线保留客户确认、正式申报和海关结果;实际开船 `VESSEL_DEPARTED` 由阶段四承接。
|
|
|
|
|
|
> 本阶段复用订单、入库单、柜次和装柜计划,不新建独立“出仓单”。`LOADED` 后报关线和送港线并行;费用确认是并行事实,装柜完成后对已装范围的当前有效费用版本执行系统默认确认。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
## 1. 阶段目标和边界
|
|
|
|
|
|
|
|
|
|
|
|
本阶段把可分柜货物转化为可追溯的真实整柜离仓事实,覆盖:
|
|
|
|
|
|
|
|
|
|
|
|
1. 模拟柜、智能推荐、人工分配和同柜不可拆组;
|
|
|
|
|
|
2. 海运订舱草稿、资料补齐和放舱;
|
|
|
|
|
|
3. 订舱级国内拖车预约;
|
|
|
|
|
|
4. 模拟柜与订舱柜型需求、真实集装箱号关联;
|
|
|
|
|
|
5. 预装确认、动态增减和普通散货托盘标签;
|
|
|
|
|
|
6. 国内 PDA 拣货、整托装柜和异常闭环;
|
2026-09-24 13:43:53 +08:00
|
|
|
|
7. 空仓、半仓、满仓、锁仓、带锁码照五类装柜证据与锁码文本;
|
2026-09-18 16:48:32 +08:00
|
|
|
|
8. 装柜完成、部分装载分片和跨区交接快照;
|
2026-09-24 13:43:53 +08:00
|
|
|
|
9. `LOADED` 后通知报关行、客户资料收集、回执确认、整柜正式申报和海关结果;
|
|
|
|
|
|
10. 送港、进港、甩柜/改配、实际离仓和拖车费用归集。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
`LOADED` 表示货物已经完成实际装柜。此时同时触发报关线和送港线:报关线收集客户资料、发送报关行、处理回执和客户确认;送港线安排拖车、离仓和进港。两条线谁先到都保留各自事实,客户未确认不阻断送港,已进港不代表报关完成。容量不足时记录甩柜和改配船次;只有实际开船后才进入海运节点。国内 Admin/PDA 不得把订单推进到海外派送完成 `DELIVERED`。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
## 2. 角色、终端和对象
|
|
|
|
|
|
|
|
|
|
|
|
| 角色 | 终端 | 主要操作 |
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
| 排柜操作员 | Admin | 创建模拟柜、搜索候选、推荐/人工加入、调整预装 |
|
|
|
|
|
|
| 订舱操作员 | Admin | 建订舱草稿、维护运输资料、上传文件、放舱 |
|
|
|
|
|
|
| 国内调度 | Admin | 建订舱级拖车预约、选择供应商、维护时间和附件 |
|
|
|
|
|
|
| 仓库主管 | Admin | 预装确认、真实柜号补录、任务和证据监督 |
|
|
|
|
|
|
| PDA 拣货员 | 国内 PDA | 领取唯一柜次任务、扫码、异常、拍照、完成装柜 |
|
|
|
|
|
|
| 报关操作员 | Admin | 汇总整柜资料、开始报关、上传完成文件、完成报关 |
|
|
|
|
|
|
| 企业操作员 | Client | 上传本客户退税/报关资料、查看本企业进度和回执 |
|
|
|
|
|
|
| 出仓操作员 | Admin | 查看组合门禁,必要时人工确认离仓 |
|
|
|
|
|
|
|
|
|
|
|
|
核心对象:
|
|
|
|
|
|
|
|
|
|
|
|
| 对象 | 业务作用 | 稳定标识 |
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
| 入库单 | 每票/分片货物履约主体 | `inboundId`、入仓码 |
|
|
|
|
|
|
| 模拟柜/柜次 | 多票货物共享的装载容器 | `containerBookingId`、`cabinetNo` |
|
|
|
|
|
|
| 装柜计划 | 柜次唯一预装/PDA 作业聚合 | `loadingPlanId` |
|
|
|
|
|
|
| 海运订舱 | 船司运输和柜型需求聚合 | `oceanBookingId`、`OB-yyMMdd-####` |
|
|
|
|
|
|
| 拖车预约 | 一个已放舱订舱的国内提柜/送柜任务 | `truckAppointmentId` |
|
|
|
|
|
|
| PDA 任务 | 单柜次单作业员的现场任务 | `taskId`、任务版本 |
|
|
|
|
|
|
| 整柜报关 | 柜次级资料冻结和回执 | 柜次及报关记录标识 |
|
|
|
|
|
|
|
|
|
|
|
|
## 3. 前置检查
|
|
|
|
|
|
|
|
|
|
|
|
- 候选入库单已完成阶段二,实际箱数、重量和体积可用;
|
|
|
|
|
|
- 一件代发已按实际托盘封托;
|
|
|
|
|
|
- 当前入库单无有效 HOLD;
|
|
|
|
|
|
- 柜型规格、国内中转仓、有效渠道和供应商主档可用;
|
|
|
|
|
|
- 操作员理解模拟柜、真实柜号、订舱和拖车是不同对象;
|
|
|
|
|
|
- 同柜不可拆组、已占用数量和版本冲突均以服务端返回为准;
|
2026-09-24 13:43:53 +08:00
|
|
|
|
- 费用仍可并行维护,客户未确认不阻断排柜、预装、PDA 或装柜;装柜完成后对已装范围的当前有效已发布版本记录系统默认确认。客户确认和系统默认确认来源分开审计;缺少有效费用版本不伪造确认,部分装载不得把余量一起确认。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
## 4. F14 模拟柜与智能排柜
|
|
|
|
|
|
|
|
|
|
|
|
### 4.1 创建模拟柜
|
|
|
|
|
|
|
|
|
|
|
|
入口:Admin → 国内货柜/智能装柜。
|
|
|
|
|
|
|
|
|
|
|
|
1. 选择正式装柜仓;
|
|
|
|
|
|
2. 选择九类计划渠道组之一;
|
|
|
|
|
|
3. 选择平台有效柜型,核对额定容量和限重;
|
|
|
|
|
|
4. 填写计划日期和必要备注;
|
|
|
|
|
|
5. 提交后系统原子创建稳定柜次、`cabinetNo` 和唯一装柜计划;
|
|
|
|
|
|
6. 此时可以没有真实集装箱号,也不会因创建模拟柜自动产生订舱。
|
|
|
|
|
|
|
|
|
|
|
|
容量和重量当前允许达到柜型额定值的 150%,超过时服务端拒绝。页面显示仅用于预判,最终以服务端重新计算为准。
|
|
|
|
|
|
|
|
|
|
|
|
### 4.2 查询候选
|
|
|
|
|
|
|
|
|
|
|
|
工作台可查询 `PENDING_REVIEW`、`WAIT_MEASURE`、`WAIT_SPLIT`、`LOADING` 等未完成候选。状态是展示维度,能否加入必须看响应中的 `canAssign` 和原因。
|
|
|
|
|
|
|
|
|
|
|
|
- 待审核或待测量订单可提前占位;
|
|
|
|
|
|
- 预装确认和启动 PDA 前,实际作业成员必须进入 `WAIT_SPLIT`;
|
|
|
|
|
|
- 普通订单按剩余箱数分配;
|
|
|
|
|
|
- 一件代发按每个未占用的已封托托盘独立返回和分配,禁止拆托;
|
|
|
|
|
|
- 同柜不可拆组必须成员完整、满箱并原子加入;
|
|
|
|
|
|
- 推荐顺序以入库时间先进先出为基础。
|
|
|
|
|
|
|
|
|
|
|
|
### 4.3 智能推荐和人工加入
|
|
|
|
|
|
|
|
|
|
|
|
智能推荐:设置筛选范围和装载目标,系统逐项校验渠道、仓库、剩余箱数、体积、重量、托盘完整性、组锁和占用,再返回推荐结果。
|
|
|
|
|
|
|
|
|
|
|
|
人工加入:选择候选,填写普通货分配箱数或选择一件代发整托,携带计划版本提交。系统重新校验资格;页面旧结果不能作为写入依据。
|
|
|
|
|
|
|
|
|
|
|
|
一件代发一票多托时逐托展示,其中一托已分配不得隐藏其他未分配托盘。容量不足时跳过整托,不能回退成按箱拆托。
|
|
|
|
|
|
|
|
|
|
|
|
### 4.4 调整与费用影响
|
|
|
|
|
|
|
|
|
|
|
|
- 未产生物理拣货的普通明细可增减或移除;
|
|
|
|
|
|
- 已拣数量是可调整下限;
|
|
|
|
|
|
- 同柜组只有全组都未拣时才能整组移除;
|
|
|
|
|
|
- 单行一件代发只能按该行 `palletId` 整托移除;
|
|
|
|
|
|
- 成员变化需要重算未冻结的柜级/客户级费用;
|
|
|
|
|
|
- 已确认、已发送或客户已确认的费用版本不得直接改写,应按费用规则生成新版本或拒绝。
|
|
|
|
|
|
|
|
|
|
|
|
## 5. F15 海运订舱与放舱
|
|
|
|
|
|
|
|
|
|
|
|
### 5.1 创建草稿
|
|
|
|
|
|
|
|
|
|
|
|
入口:Admin → 海运订舱。
|
|
|
|
|
|
|
|
|
|
|
|
1. 选择启用的国内中转仓;
|
|
|
|
|
|
2. 选择该仓当前有效渠道;
|
|
|
|
|
|
3. 选择 `ACTIVE/BOOKING` 订舱供应商;
|
|
|
|
|
|
4. 填写三类参与方和已知运输资料;
|
|
|
|
|
|
5. 至少维护一项、最多二十项柜型需求,数量为正整数;
|
|
|
|
|
|
6. 保存为 `DRAFT`,系统生成 `OB-yyMMdd-####` 订舱号。
|
|
|
|
|
|
|
|
|
|
|
|
草稿允许资料不完整、替换文件和继续编辑。柜型需求只表达需要多少个什么柜型,不创建真实货柜行。
|
|
|
|
|
|
|
|
|
|
|
|
### 5.2 补齐并放舱
|
|
|
|
|
|
|
|
|
|
|
|
放舱前核对:
|
|
|
|
|
|
|
|
|
|
|
|
- 提单号全局唯一;
|
|
|
|
|
|
- 船名、航次、起运港、目的港、ETD、ETA 和运输条款完整;
|
|
|
|
|
|
- 渠道仍有效;
|
|
|
|
|
|
- 柜型需求与平台规格一致;
|
|
|
|
|
|
- 存在有效 `BOOKING_CONFIRMATION` 或 `BILL_OF_LADING` 文件;
|
|
|
|
|
|
- 订舱供应商仍为有效主档。
|
|
|
|
|
|
|
|
|
|
|
|
点击放舱后状态从 `DRAFT` 进入 `RELEASED`,运输快照永久只读。放舱不要求真实柜号,不得为了通过校验伪造柜号。
|
|
|
|
|
|
|
|
|
|
|
|
## 6. F16 订舱级国内拖车
|
|
|
|
|
|
|
|
|
|
|
|
入口:Admin → 国内拖车预约。
|
|
|
|
|
|
|
|
|
|
|
|
1. 从服务端候选中选择已 `RELEASED`、有提单号和有效订舱文件的订舱;
|
|
|
|
|
|
2. 选择 `ACTIVE/TRUCKING/DOMESTIC` 供应商;
|
|
|
|
|
|
3. 填写计划装柜时间、联系人和附件;
|
|
|
|
|
|
4. 保存/提交预约;
|
|
|
|
|
|
5. 重复创建时返回现有非终态预约,不生成第二张。
|
|
|
|
|
|
|
|
|
|
|
|
拖车单只绑定订舱,不绑定客户、柜次、装柜计划或真实柜号。一个订舱最多一张非终态预约,已有有效完成单不能再次创建收费。
|
|
|
|
|
|
|
|
|
|
|
|
PDA 装柜完成不推进拖车状态。只有订舱要求的全部柜型数量均已关联,并且所有柜均确认国内离仓后,拖车才自动完成。正金额应付拖车费按各柜最终实装体积守恒分摊并发送 Finance;缺供应商归属、有效体积或费用配置时失败关闭,不做伪造均分。
|
|
|
|
|
|
|
|
|
|
|
|
## 7. F17 柜次关联和真实柜号
|
|
|
|
|
|
|
|
|
|
|
|
入口:Admin → 柜次详情 → 关联订舱/补录柜号。
|
|
|
|
|
|
|
|
|
|
|
|
1. 选择已放舱订舱的未满配柜型需求;
|
|
|
|
|
|
2. 选择对应模拟柜;
|
|
|
|
|
|
3. 校验仓库、渠道映射、柜型、容量、限重和需求剩余数量;
|
|
|
|
|
|
4. 录入真实集装箱号;
|
|
|
|
|
|
5. 提交后在原柜次上冻结订舱、需求和柜号快照。
|
|
|
|
|
|
|
|
|
|
|
|
关联不会更换 `containerBookingId`、`cabinetNo`、装柜计划或明细。真实集装箱号在同一订舱内唯一,不同提单可按业务规则复用。
|
|
|
|
|
|
|
|
|
|
|
|
订舱关联、预装确认和任务创建技术上可先于柜号,但正式操作应在 PDA 最终完成前补齐。已有柜号纠正仅限计划 `EDITING`、任务未领取且没有物理作业事实。
|
|
|
|
|
|
|
|
|
|
|
|
## 8. F18 预装确认、动态增减与标签
|
|
|
|
|
|
|
|
|
|
|
|
### 8.1 预装核对与确认
|
|
|
|
|
|
|
|
|
|
|
|
入口:Admin → 预装清单。
|
|
|
|
|
|
|
|
|
|
|
|
1. 打开柜次唯一预装计划;
|
|
|
|
|
|
2. 核对每个入仓码、客户、目的仓、普通箱数或一件代发托盘;
|
|
|
|
|
|
3. 查看容量、重量、已占用和异常提示;
|
|
|
|
|
|
4. 确认所有现场成员已到 `WAIT_SPLIT` 且未 HOLD;
|
|
|
|
|
|
5. 点击计划级确认,生成或开放唯一 PDA 任务;
|
|
|
|
|
|
6. 记录确认快照、操作人和版本。
|
|
|
|
|
|
|
|
|
|
|
|
预装进入 `CONFIRMING/CONFIRMED` 只冻结确认快照,不锁死尚未完成柜次。计划仍为 `EDITING/LOADING` 时可继续增加合法明细;未拣明细可调整,已拣明细保持锁定。
|
|
|
|
|
|
|
|
|
|
|
|
新增或调整后计划和任务版本递增,PDA 旧版本必须刷新再作业。
|
|
|
|
|
|
|
|
|
|
|
|
### 8.2 普通散货托盘标签
|
|
|
|
|
|
|
|
|
|
|
|
普通、非一件代发 FBA 明细在计划 `LOADING/COMPLETED` 且真实柜号有效时生成正式托盘标签:
|
|
|
|
|
|
|
|
|
|
|
|
1. 系统按平台柜次号、FBA 地址内部编号和三位序号生成冻结托盘码;新柜次号为全局连续且不按日期重置的 `D0001`、`D0002`,托盘码不依赖可跨提单复用的真实柜号;
|
|
|
|
|
|
2. 地址内部编号从 Warehouse 启用主数据读取;
|
|
|
|
|
|
3. 缺编号或同柜重复时拒绝生成;
|
|
|
|
|
|
4. 重复生成必须与已有明细一致;
|
|
|
|
|
|
5. Admin 全部打印或按仓指定张数打印;
|
|
|
|
|
|
6. A4 横版每托一页,标签与海外补打复用同一编号。
|
|
|
|
|
|
|
|
|
|
|
|
该标签与阶段二一件代发 `DP` 托盘不同:一件代发托盘在测量后已实际清点封托,装柜时按冻结整托分配。
|
|
|
|
|
|
|
|
|
|
|
|
## 9. F19 国内 PDA 拣货装柜
|
|
|
|
|
|
|
|
|
|
|
|
### 9.1 领取和开始
|
|
|
|
|
|
|
|
|
|
|
|
入口:国内 PDA → 拣货装柜。
|
|
|
|
|
|
|
|
|
|
|
|
1. 操作员选择当前作业仓;
|
|
|
|
|
|
2. 打开或扫描柜次任务;
|
|
|
|
|
|
3. 核对真实柜号、装柜计划和任务版本;
|
|
|
|
|
|
4. 领取任务后绑定当前作业员、任务和柜次;
|
|
|
|
|
|
5. 单柜次只允许一名作业员,不支持多人并行或无审计接管;
|
|
|
|
|
|
6. 进入任务后计划/入库履约按规则进入 `LOADING`。
|
|
|
|
|
|
|
|
|
|
|
|
正式作业当前只支持在线。设备本地草稿按作业员、任务和柜次隔离;批量提交是否具备完整原子事务仍需在优化/验收中持续核实。
|
|
|
|
|
|
|
|
|
|
|
|
### 9.2 普通散货扫码
|
|
|
|
|
|
|
|
|
|
|
|
- 扫描稳定箱码,一箱一码;
|
|
|
|
|
|
- 不能用 SKU、件数、入仓码或自由文本代替箱码;
|
|
|
|
|
|
- 系统核对箱码属于当前入库单、当前任务且尚未处理;
|
|
|
|
|
|
- 连续扫描先进入当前任务草稿,操作员核对后批量提交;
|
|
|
|
|
|
- 重复扫描不重复增加实装数量。
|
|
|
|
|
|
|
|
|
|
|
|
### 9.3 一件代发整托装柜
|
|
|
|
|
|
|
|
|
|
|
|
- 扫描 `DP` 托盘码,或扫描成员箱码定位所属已封托托盘;
|
|
|
|
|
|
- 页面展示托盘、入仓码、箱数和 SKU 汇总;
|
|
|
|
|
|
- 使用 `PICK_PALLET` 一次提交整托;
|
|
|
|
|
|
- 禁止部分拣货、拆托或将同托不同订单成员分开提交;
|
|
|
|
|
|
- 装柜完成按 `palletId` 精确冻结每托箱唛和 SKU,不能按整票模糊复制。
|
|
|
|
|
|
|
|
|
|
|
|
### 9.4 部分拣货、跳拣和异常
|
|
|
|
|
|
|
|
|
|
|
|
允许分批扫描和暂时跳过,但每个未完成项必须选择/填写异常原因。存在未解决异常、缺少处理单元、数量不平或版本冲突时不能完成任务。
|
|
|
|
|
|
|
|
|
|
|
|
提交超时后先查询任务明细和操作结果,禁止更换幂等键盲目重复提交。版本冲突时刷新任务,保留未提交草稿并重新核对。
|
|
|
|
|
|
|
|
|
|
|
|
## 10. F20 装柜证据与铅封
|
|
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
PDA 按现场要求采集五类证据:
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
1. `EMPTY`:空仓照片;
|
|
|
|
|
|
2. `HALF`:半仓照片;
|
|
|
|
|
|
3. `FULL`:满仓照片;
|
|
|
|
|
|
4. `LOCKED`:锁仓照片;
|
|
|
|
|
|
5. `SEAL`:带有效铅封号的带锁码照片。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
每类至少一张有效照片,同类允许追加。PDA 仅允许现场相机拍摄;有权限的 Admin 操作员/理货员可人工补充,普通拣货员不开放后台上传。
|
|
|
|
|
|
|
|
|
|
|
|
证据先上传 File 获得合法文件引用,再绑定柜次/任务。错误图片只能作废,不能硬删除;需保留上传、作废、操作者、时间、文件哈希和幂等记录。照片及铅封号当前不对客户展示。
|
|
|
|
|
|
|
|
|
|
|
|
## 11. F21 装柜完成与分片
|
|
|
|
|
|
|
|
|
|
|
|
PDA 点击“完成装柜”时,服务端重新校验:
|
|
|
|
|
|
|
|
|
|
|
|
- 任务属于当前柜次和仓库且版本一致;
|
|
|
|
|
|
- 真实集装箱号存在;
|
|
|
|
|
|
- 所有普通箱码或一件代发整托均核平;
|
|
|
|
|
|
- 没有未解决异常;
|
2026-09-24 13:43:53 +08:00
|
|
|
|
- 空仓、半仓、满仓、锁仓、带锁码照五类证据和锁码文本完整;
|
2026-09-18 16:48:32 +08:00
|
|
|
|
- 计划明细、已拣数量和最终实装数量守恒。
|
|
|
|
|
|
|
|
|
|
|
|
校验通过后:
|
|
|
|
|
|
|
|
|
|
|
|
1. PDA 任务和装柜计划进入 `COMPLETED`;
|
|
|
|
|
|
2. 实装来源入库单进入 `LOADED`;
|
|
|
|
|
|
3. 生成最终实装箱码、托盘、SKU 和证据快照;
|
|
|
|
|
|
4. 对部分装载执行一次分片;
|
|
|
|
|
|
5. 生成跨区 Outbox,但后续消费必须保持幂等。
|
|
|
|
|
|
|
|
|
|
|
|
部分装载时,已装数量形成当前柜次的 `LOADED` 子入库单,余量形成可继续 `WAIT_SPLIT` 的后续子单;只允许一层分片,所有子项总和必须等于来源数量。客户订单身份和入仓码关联不能丢失。
|
|
|
|
|
|
|
|
|
|
|
|
## 12. F22 客户资料与整柜出口报关
|
|
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
### 12.1 F22-A `LOADED` 后通知报关并建立客户案例
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
入口:`LOADED` 事件 → Admin/Client → 报关资料。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
1. 装柜完成后按最终实装清单通知报关行,建立本柜报关批次和每个客户/入仓码的 `customerCustomsCase`;
|
|
|
|
|
|
2. 客户上传本企业资料,平台校验客户、订单、入仓码、实际装载数量和文件归属;
|
|
|
|
|
|
3. 平台将资料发送给报关行,记录发送时间、资料版本和 `roundNo`;
|
|
|
|
|
|
4. 报关行返回本轮回执,平台保存文件和回执字段,并向对应客户展示确认任务。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
柜前可以存在资料准备或历史附件,但不创建本柜正式客户确认轮次,也不能显示“已通知报关”。客户资料缺失只形成报关线补件待办,不阻断送港线。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
### 12.2 F22-B 报关行回执与客户确认循环
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
客户查看报关行回执后有两个结果:
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
1. **确认**:当前客户案例进入 `CUSTOMER_CONFIRMED`,保存确认人、确认时间、回执版本和幂等键;
|
|
|
|
|
|
2. **打回**:当前案例进入 `NEEDS_RESUBMIT`,保存打回原因;客户重新上传/替换资料,平台重新发送报关行,报关行生成新回执,`roundNo` 加一后再次发客户确认。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
客户打回只重开对应客户案例,不重置其他客户已经确认的轮次。直到柜内所有客户案例都为 `CUSTOMER_CONFIRMED`,才允许进入整柜正式提交。
|
|
|
|
|
|
|
|
|
|
|
|
### 12.3 F22-C 所有客户通过后的整柜正式申报
|
|
|
|
|
|
|
|
|
|
|
|
1. 平台检查所有客户案例均已确认,冻结本柜最终实装和资料版本,生成整柜正式申报批次;
|
|
|
|
|
|
2. 将整柜资料提交报关行确认,报关行完成正式申报;首版不做外部系统直连,保留人工提交和审计记录;
|
|
|
|
|
|
3. 海关结果独立记录为查验、免查验放行、补件/退回、扣货等,不把客户确认回执直接当成海关放行;
|
|
|
|
|
|
4. 报关线的任一结果都不覆盖送港线的离仓、进港、甩柜事实。送港线可以先到港,报关线也可以先完成客户确认或正式申报。
|
|
|
|
|
|
|
|
|
|
|
|
## 13. F23 送港、进港与甩柜
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
### 13.1 出仓硬门禁
|
|
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
送港线的离仓/进港门禁逐项检查:
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
- 无有效 HOLD;
|
|
|
|
|
|
- 入库单为 `LOADED`;
|
|
|
|
|
|
- 装柜计划为 `COMPLETED`;
|
|
|
|
|
|
- PDA 柜次任务为 `COMPLETED`;
|
|
|
|
|
|
- 订舱已 `RELEASED` 且分配当前柜次;
|
2026-09-24 13:43:53 +08:00
|
|
|
|
- 五类证据与有效锁码文本完整;
|
|
|
|
|
|
- 送港任务和当前船次分配完整;
|
|
|
|
|
|
- 报关客户确认或海关结果不作为仓库离开、送港和进港的前置。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
订舱、拖车、仓库离开和港口进场属于送港线事实。报关线可以先完成客户确认或正式申报,也可以晚于进港;两条线各自展示阻断项。容量不足时记录 `ROLLED_OVER`,保存原船次、滚动次数、新船次、预计开船时间和客户通知。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
### 13.2 自动与人工确认离仓
|
|
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
送港状态变化或其他送港门禁满足时系统自动尝试收敛。未自动完成时,平台在柜次/送港页面:
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
1. 打开门禁清单;
|
|
|
|
|
|
2. 逐项处理未通过原因;
|
|
|
|
|
|
3. 全部通过后点击确认离仓;
|
|
|
|
|
|
4. 携带当前版本和幂等键提交;
|
|
|
|
|
|
5. 查看唯一离仓历史和第一条实际节点。
|
|
|
|
|
|
|
|
|
|
|
|
成功后系统:
|
|
|
|
|
|
|
|
|
|
|
|
- 写入整柜唯一国内离仓事实;
|
|
|
|
|
|
- 写入实际 `DEPARTED_WAREHOUSE` 节点;
|
2026-09-24 13:43:53 +08:00
|
|
|
|
- 写入 `PORT_RECEIVED` 或 `ROLLED_OVER`;
|
|
|
|
|
|
- 维护船次和开船前等待,不把预计 ETD 记成海运在途;
|
2026-09-18 16:48:32 +08:00
|
|
|
|
- 检查并尝试完成订舱级拖车;
|
|
|
|
|
|
- 保持跨区交接事件可重试且不重复建单。
|
|
|
|
|
|
|
2026-09-24 13:43:53 +08:00
|
|
|
|
实际离仓和进港节点产生后禁止撤销。发现错误转入线下和后续阶段异常处理,不提供修改历史伪装未离仓或未进港的能力。报关线的客户打回、重新发送和海关查验单独记录,不回滚送港事实。
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
## 14. 状态和动作总表
|
|
|
|
|
|
|
|
|
|
|
|
| 对象 | 关键状态 | 推进动作 |
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
| 入库单 | `WAIT_SPLIT → LOADING → LOADED` | 分配/开始 PDA/完成装柜 |
|
|
|
|
|
|
| 装柜计划 | `EDITING → LOADING → COMPLETED` | 预装调整/PDA 作业/最终完成 |
|
|
|
|
|
|
| 订舱 | `DRAFT → RELEASED` | 补齐资料并放舱 |
|
|
|
|
|
|
| 拖车 | 非终态 → `COMPLETED` | 所有要求柜次实际离仓后自动完成 |
|
2026-09-24 13:43:53 +08:00
|
|
|
|
| 报关 | `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` | 只有承运船舶真实开航才进入海运节点 |
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
主状态只表达阶段结果。订舱、拖车、PDA、证据和报关保持关联子状态,页面应汇聚展示,但不能互相覆盖。
|
|
|
|
|
|
|
|
|
|
|
|
## 15. 异常与恢复
|
|
|
|
|
|
|
|
|
|
|
|
| 场景 | 处理方式 |
|
|
|
|
|
|
|---|---|
|
|
|
|
|
|
| 候选显示可用但提交失败 | 以服务端最新占用/版本为准,刷新后重排 |
|
|
|
|
|
|
| 待测量订单已占位 | 可保留计划占位,确认预装前必须到 `WAIT_SPLIT` |
|
|
|
|
|
|
| 一件代发整托容量不足 | 跳过整托或换柜,禁止拆托 |
|
|
|
|
|
|
| 订舱资料不全 | 保持 `DRAFT`,补齐后再放舱 |
|
|
|
|
|
|
| 放舱后资料错误 | 不原地篡改冻结快照,按业务异常处置 |
|
|
|
|
|
|
| 真实柜号暂缺 | 可先关联/确认,但最终装柜前必须补齐 |
|
|
|
|
|
|
| PDA 旧版本 | 刷新计划,不以旧版本覆盖新增明细 |
|
|
|
|
|
|
| 扫描错箱/重复箱 | 拒绝或提示已处理,核对稳定箱码 |
|
|
|
|
|
|
| 未完成项有异常 | 记录原因并解决,禁止完成任务 |
|
|
|
|
|
|
| 照片错误 | 作废并重拍,不硬删除证据 |
|
|
|
|
|
|
| 部分装载 | 一次分片,已装与余量数量守恒 |
|
|
|
|
|
|
| 报关资料缺失 | 定位对应客户/入仓码补件,办理批次不伪造完成 |
|
|
|
|
|
|
| 出仓门禁未齐 | 展示具体阻断项,条件变化后受控重试 |
|
|
|
|
|
|
| 离仓请求超时 | 查询唯一离仓历史/节点后再处理,不重复写事实 |
|
|
|
|
|
|
|
|
|
|
|
|
## 16. 数据流和阶段完成判定
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
WAIT_SPLIT 入库单/已封托托盘
|
|
|
|
|
|
→ 模拟柜与唯一装柜计划
|
|
|
|
|
|
→ 已放舱订舱 + 真实柜号 + 订舱级拖车
|
|
|
|
|
|
→ 预装确认/动态调整
|
|
|
|
|
|
→ PDA 实装 + 五类证据
|
|
|
|
|
|
→ COMPLETED / LOADED + 数量分片 + 跨区快照
|
2026-09-24 13:43:53 +08:00
|
|
|
|
├─ 报关线:通知报关 → 客户资料 → 报关行回执 → 客户确认/打回重做
|
|
|
|
|
|
│ → 所有客户通过 → 整柜正式申报 → 查验/放行
|
|
|
|
|
|
└─ 送港线:拖车 → DEPARTED_WAREHOUSE → PORT_RECEIVED
|
|
|
|
|
|
→ 甩柜/改配(如发生)→ 等待实际开船
|
|
|
|
|
|
→ VESSEL_DEPARTED → 海运节点查询
|
2026-09-18 16:48:32 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
阶段完成必须同时满足:
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] 最终柜次、装柜计划、订舱、真实柜号关联可追溯
|
|
|
|
|
|
- [ ] 全部实装箱/托盘/SKU 与入库单数量守恒
|
|
|
|
|
|
- [ ] PDA 任务完成且无未解决异常
|
2026-09-24 13:43:53 +08:00
|
|
|
|
- [ ] 五类证据和锁码文本完整有效
|
2026-09-18 16:48:32 +08:00
|
|
|
|
- [ ] 装柜计划 `COMPLETED`,实装入库单 `LOADED`
|
|
|
|
|
|
- [ ] 部分装载时已装子单和余量子单正确
|
2026-09-24 13:43:53 +08:00
|
|
|
|
- [ ] 报关线已为每个客户建立案例,回执、确认/打回和每轮资料版本可追溯
|
|
|
|
|
|
- [ ] 送港线已记录唯一国内离仓历史;如已进港,存在 `PORT_RECEIVED`,如甩柜,存在原船次/改配船次历史
|
|
|
|
|
|
- [ ] 客户全部确认后才允许整柜正式提交;正式申报后的查验/放行结果单独记录
|
|
|
|
|
|
- [ ] 船舶实际开航后才写入 `VESSEL_DEPARTED` 并启动海运节点查询
|
|
|
|
|
|
- [ ] 跨区事件可幂等重试;送港线和报关线任一先完成都不覆盖另一条线
|
2026-09-18 16:48:32 +08:00
|
|
|
|
|
|
|
|
|
|
## 17. 易用性与数据流评审问题
|
|
|
|
|
|
|
|
|
|
|
|
1. 排柜工作台是否充分解释“可提前占位”和“可实际作业”的差别?
|
|
|
|
|
|
2. 推荐结果是否应逐项展示未入选原因、容量影响和费用影响?
|
|
|
|
|
|
3. 模拟柜、柜次编号、真实柜号、订舱号和提单号是否在页面上容易混淆?
|
|
|
|
|
|
4. 订舱、拖车、预装、PDA、报关是否需要一个柜次级总控清单,而不是跨页面查找?
|
|
|
|
|
|
5. 预装确认后仍可动态增减时,如何提示 PDA 版本已过期并保护未提交草稿?
|
|
|
|
|
|
6. PDA 批量提交需要补齐怎样的原子性、离线/弱网和失败整批回滚验收?
|
|
|
|
|
|
7. 五类证据是否要提供拍摄引导轮廓、清晰度检查和缺图计数?
|
|
|
|
|
|
8. 部分装载分片在 Client 应如何展示,避免客户误以为整票已经全部装柜?
|
|
|
|
|
|
9. 报关资料清单、补件责任人、截止时间和回执匹配是否需要结构化待办?
|
|
|
|
|
|
10. 出仓门禁失败是否需要直接跳转到对应处理页面?
|
|
|
|
|
|
11. 拖车不作为出仓硬门禁的现行口径,是否与现场调度责任一致?
|
|
|
|
|
|
12. 实际离仓不可撤销后,错误柜号或错误时间的合规更正流程由谁负责?
|
|
|
|
|
|
|
|
|
|
|
|
## 18. 阶段四交接包
|
|
|
|
|
|
|
|
|
|
|
|
交给阶段四的权威数据包括:
|
|
|
|
|
|
|
|
|
|
|
|
- 柜次、真实集装箱号、订舱号、提单号、船名和航次;
|
|
|
|
|
|
- 起运港、目的港、ETD/ETA 和运输条款快照;
|
|
|
|
|
|
- 最终实装订单、入仓单、箱码、托盘、SKU、重量和体积;
|
|
|
|
|
|
- 装柜五类证据引用和报关完成事实;
|
|
|
|
|
|
- 国内离仓时间和 `DEPARTED_WAREHOUSE` 实际节点;
|
|
|
|
|
|
- 跨区事件版本、事件 ID 和有效载荷哈希;
|
|
|
|
|
|
- `CarrierScheduleQuery` 及后续船节点查询上下文;
|
|
|
|
|
|
- 未冻结费用和拖车应付等并行财务结果。
|
|
|
|
|
|
|
|
|
|
|
|
## 19. 事实来源
|
|
|
|
|
|
|
|
|
|
|
|
- `docs/国内货柜履约/README.md`
|
|
|
|
|
|
- `docs/国内货柜履约/国内货柜履约页面与原型清单.md`
|
|
|
|
|
|
- `docs/头程下单到尾程出库现状流程全景清单.md`
|
|
|
|
|
|
- `docs/统一订单主状态与操作契约.md`
|
|
|
|
|
|
- `apps/admin-web/src/modules/container-loading/`
|
|
|
|
|
|
- `apps/admin-web/src/modules/loading-lists/`
|
|
|
|
|
|
- `apps/pda-uniapp/AGENTS.md`
|
|
|
|
|
|
- `apps/pda-uniapp/pages/picking/picking.vue`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/AGENTS.md`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/resources/openapi/loading-lists-v1.yaml`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/resources/openapi/ocean-bookings-v1.yaml`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/resources/openapi/truck-appointments-v1.yaml`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/resources/openapi/customs-v1.yaml`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/service/SmartLoadingService.java`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/service/LoadingPickService.java`
|
|
|
|
|
|
- `baiyue-firstleg/firstleg/src/main/java/com/baiyue/firstleg/outbound/dispatch/service/OutboundDispatchService.java`
|