Files
docs/归档/头程到尾程/头程下单到尾程出库现状流程全景清单.md
2026-09-24 17:02:32 +08:00

585 lines
34 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 头程下单到尾程出库现状流程全景清单
> **历史现状声明(2026-09-24)**:本文记录旧版 AS-IS 盘点,报关/送港的单线门禁、柜前资料和“四步证据”等内容不再作为当前业务依据。当前流程以 [头程到尾程流程节点梳理(重构版)](../../头程到尾程流程节点梳理.md)、[报关资料与船期价格接入梳理](../../国内货柜履约/报关资料与船期价格接入梳理.md) 和最新需求确认表为准:`LOADED` 后报关线与送港线并行,客户回执确认完成后整柜正式申报,甩柜独立记录,实际开船才进入海运节点。
> 文档性质:现状流程盘点(AS-IS),先描述现在业务怎么走,不在本文讨论页面改版或技术优化。
> 覆盖起点:企业具备下单资格。
> 主链终点:海外仓完成尾程出库;为保证交接完整,附带记录派送、异常退回和国内最终完成回写。
> 使用方法:先用第 2 节确认流程是否覆盖,再按第 3~8 节核对操作、状态、单据和数据流。优化讨论统一以后续评审确认的本清单为输入。
## 1. 范围和口径
### 1.1 本文覆盖
- 企业资料、账号权限、下单资格和资金提交门禁;
- 单票下单、批量导入、编辑、提交、取消和平台审核;
- 国内收货、箱码、测量、称重、测量审核、费用与扣货;
- 普通散货和一件代发国内组托分支;
- 模拟柜、智能排柜、订舱、订舱级拖车、真实柜号、预装、国内 PDA、装柜证据;
- 整柜出口报关、国内出仓、船节点、目的港清关提柜和还空;
- 跨区尾程建单、海外入仓计划、海外 PDA 接柜和三种收货形态;
- 海外库存、暂扣、库内作业及会影响出库的服务分支;
- 智能排车、转派送、PDA 拣货、发车和普通/一件代发/换标/转运/退货出库;
- 派送完成、异常退回和国内订单最终回写。
### 1.2 三类时间和三类仓库必须分开
| 容易混淆项 | 正确含义 |
|---|---|
| 预计开船/预计到港 | 订舱和船运节点事实,不是预计到海外仓时间 |
| 预计到仓 | 整柜预计到实际海外接柜仓的时间,入仓计划生成后锁定 |
| 实际到仓 | 海外 PDA 首次开始收货的时间,不是码头提柜时间 |
| 国内来源仓 | 国内收货、测量、拣货和装柜的仓库 |
| 实际海外接柜仓 | 海外 PDA 作业、库存、托盘和库位所在物理仓 |
| FBA/私人目的仓 | 货物最终送达地址,不是实际接柜仓 |
### 1.3 三种“完成”必须分开
1. `LOADED/装柜完成`:国内仓已经把货装进出口柜。
2. 国内出仓完成:整柜已经确认离开国内仓,开始船节点跟踪。
3. `OUTBOUNDED/海外出库完成`:货已经从海外仓出库;后续可能仍在派送中。
## 2. 全量流程目录与覆盖矩阵
### 2.1 订单路径分叉
| 路径 | 国内测量后 | 国内装柜 | 海外实收 | 海外出库 |
|---|---|---|---|---|
| 普通 FBA 散货 | 进入 `WAIT_SPLIT` | 按箱码拣货;按真实柜号+FBA仓生成散货托盘码 | 按入仓码/SKU/托盘输入本次实收箱数 | 通常进入智能排车,转派送后 PDA 发车 |
| OVERSEAS 海外仓货物 | 进入 `WAIT_SPLIT` | 按箱码拣货并冻结最终实装箱唛 | 按最终箱唛逐箱扫码入托 | 可直接一件代发,或先换标、转运、废弃等库内服务再出库 |
| 一件代发 | 先进入 `WAIT_PALLETIZE`,国内逐箱清点、组托和封托后再 `WAIT_SPLIT` | 国内封托托盘作为不可拆整托进入柜次 | 沿用国内封托来源托盘整托收货 | 从可用 SKU/箱唛库存创建一件代发出库,PDA 逐箱或整托完成 |
| 私人目的仓 | 进入 `WAIT_SPLIT` | 按普通货物完成国内装柜 | 海外入仓计划按冻结私人地址分组 | 排车转派送时按私人地址拆分派送单 |
### 2.2 交货方式分叉
| 客户选择 | 下单必填 | 国内到仓前的数据流 |
|---|---|---|
| 快递自送 `SELF_EXPRESS` | 国内收货仓、快递/跟踪信息按当前页面要求 | 客户自行寄送,系统保留履约快递快照;到仓后进入统一收货测量 |
| 平台上门提货 `PICKUP` | 本企业提货地址、联系人和预约提货时间 | 订单冻结提货地址与时间;当前主链以订单预约事实进入统一订单,不把它混同订舱级拖车 |
| 卡车自送 `SELF_TRUCK` | 国内收货仓和客户自送信息 | 客户自行送仓;到仓后进入统一收货测量 |
交货方式只影响货物如何到达国内收货仓;海运订舱级拖车、目的港码头拖车和海外配送排车属于后续三个独立流程。
### 2.3 后置服务分叉
海外入仓完成后并非所有货都直接排车:
```text
INBOUND_COMPLETED
├─ 无库内服务 → 智能排车/独立出库
├─ 暂扣 → 解除前禁止排车和出库
├─ 换标 → PDA完工 → 仓库复核 → 客户确认 → 排车或直接出库
├─ 仓储转运 → 平台审核 → 转运出库
├─ 货物废弃 → 审核确认时实际扣减库存,不再出库
└─ 退货库存 → 合箱/换标后进入退货出库
```
| 编号 | 流程 | 主要操作者/终端 | 入口状态或触发 | 出口状态或结果 | 是否主链 |
|---|---|---|---|---|---|
| F01 | 企业资料与下单资格 | 客户 Client、平台 Admin | 企业已注册 | 企业资料审核通过 | 前置 |
| F02 | 基础资料准备 | 平台 Admin | 仓库/渠道/价格等待维护 | 可用于下单和履约 | 前置 |
| F03 | 客户单票下单 | 客户 Client | 有创建权限 | `DRAFT` | 是 |
| F04 | 客户批量导入 | 客户 Client | 下载当前模板 | 多张 `DRAFT` | 分支 |
| F05 | 订单提交与入仓码 | 客户 Client | 草稿完整 | `SUBMITTED/PENDING_REVIEW` + 入仓码 | 是 |
| F06 | 草稿编辑与取消 | 客户 Client | 草稿或允许取消状态 | 更新草稿或 `CANCELLED` | 分支 |
| F07 | 平台审核与申报修订 | 平台 Admin | 待审核 | `APPROVED` + 正式国内入库单 | 是 |
| F08 | 国内到仓与箱码 | 国内仓 Admin/设备 | 正式入库单 | 可测量箱码/箱唛事实 | 是 |
| F09 | 尺寸测量与称重 | 国内仓 Admin/设备 | `WAIT_MEASURE` | 测量批次待审核 | 是 |
| F10 | 测量审核与初始计价 | 审核员 Admin | 测量完整 | 普通 `WAIT_SPLIT`;一件代发 `WAIT_PALLETIZE` | 是 |
| F11 | 费用发布与客户确认 | 平台 Admin、客户 Client | 已有计费快照 | `SENT`、客户确认快照 | 并行 |
| F12 | 国内入库扣货/解除 | 平台 Admin | 尚未发生不可逆物理履约 | HOLD/RELEASE 历史 | 异常 |
| F13 | 一件代发国内清点组托 | 国内 PDA、Admin | `WAIT_PALLETIZE` | 封托并进入 `WAIT_SPLIT` | 条件主链 |
| F14 | 模拟柜与智能排柜 | 平台 Admin | 候选可分配 | 柜次+预装计划+分配明细 | 是 |
| F15 | 海运订舱与放舱 | 平台 Admin | 订舱草稿 | `RELEASED` | 是 |
| F16 | 国内订舱级拖车 | 平台 Admin | 有效放舱和提单资料 | 拖车单,离仓后自动完成 | 并行 |
| F17 | 柜次关联与真实柜号 | 平台 Admin | 模拟柜+放舱需求 | 订舱分配关系+真实柜号 | 是 |
| F18 | 预装确认及动态增减 | 平台 Admin | 成员满足门禁 | 预装确认/PDA 任务 | 是 |
| F19 | 国内 PDA 拣货装柜 | 国内 PDA | 可领取任务 | 全部货物核平 | 是 |
| F20 | 国内装柜证据与铅封 | 国内 PDA/Admin | 装柜作业中 | 四步照片+SEAL | 是 |
| F21 | 装柜完成和分片 | 国内 PDA/系统 | 货物、证据、柜号齐全 | 计划 `COMPLETED`、入库单 `LOADED` | 是 |
| F22 | 客户退税资料和整柜报关 | 客户 Client、平台 Admin | 装柜完成 | 整柜报关 `COMPLETED` | 是 |
| F23 | 国内出仓 | 系统/平台 Admin | 整柜门禁通过 | 离仓历史+船节点任务 | 是 |
| F24 | 海运十节点 | 第三方/船务 Admin | 国内出仓 | `PICKUP_READY` 至 `EMPTY_RETURNED` | 是 |
| F25 | 目的港清关、车队、到仓和还空 | 平台 Admin | 海外段柜次可操作 | 清关/提柜/到仓/还空事实 | 并行主链 |
| F26 | 跨区尾程建单 | 系统 | 国内最终实装事件 | `PENDING_ASSIGNMENT` 尾程订单 | 是 |
| F27 | 尾程计划维护/整柜转换 | 海外运营 Admin | 待分配尾程订单 | `INBOUND_PLANNED`+逐票计划+资源 | 是 |
| F28 | 海外 PDA 柜号签收 | 海外 PDA | `PICKUP_READY`+资源齐全 | 柜级收货会话 | 是 |
| F29 | 海外 PDA 三类实收 | 海外 PDA | 已签收 | 各入仓码实收核平 | 是 |
| F30 | 海外整柜入仓与国内回写 | 海外 PDA/系统 | 全柜待收数为 0 | `INBOUND_COMPLETED`+库存+卸柜回写 | 是 |
| F31 | 海外库存、盘点、移库和托盘 | 海外 PDA/Admin | 已有库存 | 库存余额/位置/流水变化 | 支撑 |
| F32 | 海外暂扣与解除 | 平台 Admin | 已完成入仓 | 阻断/恢复排车出库资格 | 异常 |
| F33 | 换标、转运、废弃 | 客户/平台/PDA | 可用库存 | 新库存/待出库资格/废弃流水 | 分支 |
| F34 | 智能预排与排车维护 | 海外运营 Admin | 可用托盘/计划 | `PENDING_DEPARTURE` 排车单 | 是 |
| F35 | 排车转派送 | 海外运营 Admin | 未发车排车 | `WAIT_OUTBOUND` 出库单+派送单 | 是 |
| F36 | 排车 PDA 拣货与发车 | 海外 PDA | 排车任务 | `READY_TO_DEPART → DEPARTED` | 是 |
| F37 | 独立出库任务 | 平台 Admin、海外 PDA | 一件代发/换标/转运/退货库存 | `OUTBOUNDED` | 分支 |
| F38 | 派送和签收 | 平台 Admin、客户 Client | `WAIT_DELIVERY` | `DELIVERED` | 主链后续 |
| F39 | 派送异常退回 | 平台 Admin、海外仓 | 拒签/退回 | `RETURNED`+恢复库存 | 异常 |
| F40 | 客户回访和最终国内回写 | 平台 Admin、系统 | 派送完成或异常处理 | 国内入库单/订单最终完成 | 收口 |
## 3. 客户、订单与国内入库流程
### F01 企业资料与下单资格
1. 企业注册成功后可以登录,不因注册审核阻断登录。
2. 客户在公司信息维护企业基本资料、联系方式和资质文件。
3. 平台在客户管理审核企业资料;只有审核通过的企业可提交订单。
4. 企业管理员给成员分配头程订单查看、创建、提交等权限。
5. 提交订单时还会校验 Finance 资金账户;实际余额小于 0 时拒绝提交。
数据结果:IAM/Auth 保存企业、成员、角色和资格;Order 只消费认证客户身份和资格结果,不接受页面传入客户 ID 作为授权。
### F02 基础资料准备
平台应先维护:国内收货仓、FBA/海外目的仓、物流渠道、客户价格、尺寸规则、供应商、订舱代理、车辆及海外实际收货仓。停用主数据不能用于新单,但历史订单继续显示冻结快照。
### F03 客户单票下单
入口:Client → 头程订单 → 新建。
操作顺序:
1. 选择运输模式、业务类型、国内收货仓、渠道和税务/计价方式。
2. 选择交货方式:快递自送、平台上门提货或卡车自送。
3. 平台上门提货时选择/保存本企业提货地址并填写预约提货时间。
4. 选择目的类型和目的仓;私人仓填写本企业私人目的地址。
5. 填写货物明细、SKU、品名、箱数、件数、重量、体积及申报资料。
6. 保存草稿。
输出:`DRAFT`。草稿可以编辑,不生成入仓码,也不进入国内物理履约。
### F04 客户批量导入
1. 下载当前客户动态 XLSX 模板。
2. 使用模板下拉填写有效仓库、渠道、交货方式和目的仓。
3. 单次最多 50 行,上传后服务端逐行校验。
4. 支持部分成功或整批原子模式;成功行只创建草稿。
5. 客户逐票检查草稿后另行提交。
批量导入不等于批量提交审核,也不能绕过企业、资金和主数据门禁。
### F05 订单提交与入仓码
1. 客户点击“提交订单”。
2. 服务端重新校验企业资格、资金账户、仓库、渠道、目的仓、地址和货物。
3. 首次成功提交生成全局唯一且固定的 `inboundCode`。
4. Order 进入 `SUBMITTED`;统一订单主状态固定显示 `PENDING_REVIEW`。
5. 提交、入仓码和时间线写入同一业务结果;重复提交不得生成第二个入仓码。
### F06 草稿编辑与取消
- 草稿可编辑、提交或取消。
- 已提交后的可编辑字段和取消资格以服务端动作返回为准。
- 已进入物理履约的订单不能由客户自行取消。
- 平台修订申报不得修改客户、国内收货仓、订单号、入仓码,不得增删或重排货物行。
### F07 平台审核与正式入库单
入口:Admin → 统一订单 → 待审核。
1. 单票查看或一次调用批量审核预览。
2. 核对入仓码、客户、货物、渠道、目的仓和逐票阻断原因。
3. 必要时修订当前允许的客户申报字段并保留变更审计。
4. 审核通过。
5. Order 进入 `APPROVED`;Firstleg 幂等创建正式国内入库单,沿用原入仓码。
6. 对需要箱码的订单生成稳定箱码/箱唛和 SKU 快照。
待审核订单即使 Firstleg 已有准备投影,统一主状态仍是待审核,不能提前作为审核通过事实。
### F08 国内到仓与箱码
- 仓库通过入仓码或稳定箱码识别货物。
- 普通散货使用稳定箱码逐箱关联;一件代发箱码还冻结箱内 SKU。
- 客户是否下载/打印箱唛不决定箱码是否有效。
- 设备、人工测量和 PDA 必须复用同一箱码映射,不得临时造码。
### F09 尺寸测量与称重
1. 第三方设备按入仓码/箱码上传长宽高、箱数、设备和事件号;重复事件幂等。
2. 国内仓上传称重图片,系统执行 OCR。
3. 操作员保留 OCR 原值并填写修正值/原因。
4. 每张有效图片只能计重一次;全部称重图片确认且总重量大于 0。
5. 提交测量审核。
数据并行保存:客户申报值、设备原始值、人工修正值、计费采用值和证据文件,不互相覆盖。
### F10 测量审核与初始计价
1. 审核员检查箱数、尺寸、重量、证据和客户尺寸规则。
2. 审核通过后执行初始价格匹配和计价。
3. 普通订单主状态直接进入 `WAIT_SPLIT`。
4. 一件代发进入 `WAIT_PALLETIZE`,完成国内实际组托后再进入 `WAIT_SPLIT`。
5. 审核失败按原因修正后重新提交;异常放行必须同时满足配置、权限和原因。
### F11 费用发布与客户确认
1. 平台查看系统基准量、价格簿、计价模型和费用明细。
2. 允许范围内的人工调整必须带版本、原因和二次确认。
3. 审核、发布费用,客户在 Client 查看 `SENT` 的当前版本。
4. 客户带费用版本和幂等键确认。
5. 新版本会清空旧确认;只有客户已确认且本票装柜完成后费用最终冻结。
费用是并行状态,不阻断 `WAIT_SPLIT`,也不把订单主流程回退到计费状态。
### F12 国内扣货与解除
1. 平台在统一订单对正式入库单执行扣货,填写原因并上传有效凭证。
2. HOLD 阻断后续物理履约写入。
3. 解除扣货同样使用版本和幂等键,保留不可变历史。
4. 已发生拣货、装柜或出仓时禁止手工扣货/解除。
### F13 一件代发国内清点组托
1. 测量审核后按预计托数生成 `DP` 托盘码。
2. Admin 打印每托信息单。
3. 国内 PDA 可先扫箱或先扫托盘,逐箱清点完整 SKU 后归托。
4. 同仓多票可共用开放托盘;参与本票的开放托盘阻断本票完成。
5. 操作员逐托封托;未进入装柜计划前可按规则解封。
6. 全部箱和实际参与托盘核平后进入 `WAIT_SPLIT`。
## 4. 国内货柜履约流程
### F14 模拟柜与智能排柜
1. Admin 创建模拟柜,选择正式装柜仓、计划渠道组、柜型、容量和限重。
2. 系统生成稳定 `containerBookingId`、`cabinetNo` 和唯一预装计划。
3. 工作台查询 `PENDING_REVIEW/WAIT_MEASURE/WAIT_SPLIT/LOADING` 候选;状态只用于展示,资格取服务端 `canAssign`。
4. 待审核/待测量可提前占位,但确认预装和启动 PDA 前必须进入 `WAIT_SPLIT`。
5. 普通货按箱数分配;一件代发按封托托盘不可拆分分配;同柜组按完整组处理。
6. 服务端校验剩余箱数、容量、重量、渠道、组锁和版本。
### F15 海运订舱与放舱
1. Admin 新建订舱草稿,可先部分保存柜型需求。
2. 补齐提单号、船名、航次、ETD、ETA、运输条款、渠道和有效订舱资料。
3. 点击放舱后状态进入 `RELEASED`,冻结订舱运输快照。
4. 订舱只记录柜型需求,不在订舱阶段自动创建另一批货柜。
### F16 国内订舱级拖车
1. 从服务端候选选择 `RELEASED` 且资料完整的订舱。
2. 选择 `TRUCKING/DOMESTIC` 供应商,维护计划装柜时间和附件。
3. 每个订舱最多一张非终态拖车单;重复创建回到既有单。
4. 拖车不绑定客户、柜次、装柜计划或真实柜号。
5. PDA 装柜完成不推进拖车;订舱全部要求货柜确认离开国内仓后,拖车自动完成并生成按实装体积分摊的应付费用。
### F17 柜次关联与真实柜号
1. 港口取得真实柜号后,选择模拟柜和已放舱订舱的未满配柜型需求。
2. 服务端校验仓库、渠道、柜型、容量、限重、客户范围和柜号唯一性。
3. 在原模拟柜上补订舱、需求和真实柜号;稳定柜次 ID、计划和明细不变。
4. 正式操作统一在预装确认和 PDA 启动前补齐真实柜号;最终装柜完成必须有柜号。
### F18 预装确认及动态增减
1. Admin 打开预装详情核对入仓码、箱数、托盘和备注。
2. 计划级确认整份预装,生成或开放唯一 PDA 任务。
3. PDA 最终完成前,`EDITING/LOADING` 计划可继续新增满足条件的明细。
4. 未拣明细可调整或移除;已拣数量形成最小值,不能删除或减到已拣以下。
5. 新增明细会递增计划/任务版本;PDA 旧版本必须刷新。
### F19 国内 PDA 拣货装柜
普通散货:扫描稳定箱码,一箱一码,批量提交;不能用 SKU、件数或入仓码替代箱码。
一件代发:扫描托盘码或托盘成员箱码定位整托,以 `PICK_PALLET` 一次提交整托;不能部分拣货。
共同流程:领取任务 → 扫描/确认 → 批量提交 → 未完成项处理异常 → 全部核平 → 最终完成。
### F20 装柜证据与铅封
需要四步现场照片 `PHOTO_STEP_1..4` 和一条带铅封号的 `SEAL`。同类可追加;错误照片作废而非硬删除。PDA 现场拍摄,Admin 可按权限补充上传。
### F21 装柜完成和分片
1. 服务端重新校验真实柜号、订舱、计划、PDA 明细和五类证据。
2. 全部通过后计划进入 `COMPLETED`,来源入库单进入 `LOADED`。
3. 部分装载时数量守恒:已装数量形成子入库单,余量保留后续子单;只允许一层分片。
4. 生成最终实装清单、托盘/SKU/箱唛快照和跨区 Outbox。
### F22 客户资料与整柜出口报关
1. 客户按订单上传本客户退税/报关资料。
2. 平台按整柜汇总多个入仓码资料,开始报关后冻结当前资料。
3. 平台线下完成报关后逐资料上传完成文件并完成整柜报关。
4. 全买单柜由平台确认并通过导出中心获取明细。
5. 报关完成后系统立即尝试确认国内出仓;其他门禁未齐时由受控补偿重试。
### F23 国内出仓
当前硬门禁:未扣货、所有入库单 `LOADED`、装柜计划完成、国内 PDA 完成、订舱 `RELEASED`、四步照片和铅封完整、整柜报关完成。
操作结果:
- 系统自动尝试;未自动收敛时平台在柜次/国内出仓页点击确认离仓。
- 整柜写入唯一离仓历史并创建 `CarrierScheduleQuery`。
- 产生第一条实际 `DEPARTED_WAREHOUSE`。
- 尝试完成订舱级拖车。
- 产生实际离仓节点后禁止撤销。
独立拖车状态和独立船期只做参考,不是当前出仓硬门禁。
## 5. 海运、目的港和跨区流程
### F24 海运十节点
实际节点依次为:
`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`
- 第三方轨迹或人工补录只能单调推进实际节点。
- 预计事实不推进最新实际节点。
- `PICKUP_READY` 才开放海外 PDA 候选。
- 实际 `EMPTY_RETURNED` 后查询停止。
### F25 目的港清关、车队、到仓和还空
1. Admin 在“清关提柜”查看海外段柜次并维护目的港清关、DO 和 PU。
2. 选择海外车队后发送提柜请求邮件;换车队时保存旧车队取消和新车队提柜两封邮件。
3. 预计到仓由平台维护,并按 `sourceContainerBookingId` 同步整柜尾程订单;已有入仓计划后锁定。
4. 实际到仓只取海外 PDA 首次开始收货时间。
5. 海外卸柜完成后生成还空截止和预警;可按权限登记真实还柜时间。
6. 还柜时间不得早于卸柜完成或已有提柜时间;成功后同步 `EMPTY_RETURNED`。
目的港码头拖车与国内订舱级拖车、海外配送排车是三个独立生命周期。
### F26 跨区尾程建单
1. Firstleg 按最终实装发布版本化装柜完成事件。
2. Event Bridge 跨区域投递,Lastleg Inbox 幂等消费。
3. 每票生成尾程订单和冻结货物明细,状态 `PENDING_ASSIGNMENT`。
4. 建立 `FIRST_LEG` 在途库存快照,计划生成前以来源入仓码展示。
5. 事件只建订单,不自动建入仓计划。
6. 同一来源事件重放不能生成第二张尾程订单。
## 6. 海外入仓与库存流程
### F27 尾程计划维护和整柜转换
主入口:Admin → 海外仓 → 尾程订单 → 柜级工作台。
1. 按 `sourceContainerBookingId` 查看整柜全部订单,不使用当前分页拼柜。
2. 可逐票维护托数、托盘类型、分配、可合托、加急和备注;入仓码、接柜仓和预计到仓只读。
3. 单票柜保存计划后立即生成资源;多票柜在最后一票计划齐全时生成全柜资源。
4. 柜级转换前读取服务端预览:分组、头程已有托数、海外补充托数、最终托数、阻断项、快照版本/哈希。
5. 确认转换后服务端锁柜重算,逐票生成独立计划并批量确认托盘/库位资源。
6. 尾程订单进入 `INBOUND_PLANNED`;资源异常用 `resourcePendingPlanCount` 定向重试。
散货保留头程托盘码,不足部分连续补码;一件代发严格沿用国内封托托盘,不允许重算托数。
### F28 海外 PDA 柜号签收
前置:实际 `PICKUP_READY`、计划和资源齐全、操作员绑定正确收货仓。
1. PDA 在待卸货列表选择物理柜并锁定。
2. 核对同柜全部入仓码、目的仓、托数和箱数。
3. 查看国内五类装柜照片作为只读对照;单图加载失败不阻断。
4. 依次拍车牌 `LICENSE_PLATE`、封签 `CONTAINER_SEAL`、开柜现场 `DOOR_OPEN`。
5. 三类照片齐全后确认签收并进入收货。
柜级会话按物理柜聚合,可包含多客户;签收后每票 PDA 任务仍按真实客户隔离。
### F29 海外 PDA 三类实收
| 类型 | 操作方式 | 禁止事项 |
|---|---|---|
| FBA 散货 | 选入仓码,扫冻结 SKU,扫托盘,输入本次箱数 | 不能超收,不能走逐箱模式 |
| OVERSEAS | 扫最终实装箱唛自动定位入仓码,扫托盘,逐箱确认 | 不能批量输入箱数,已收箱不能重复收 |
| 一件代发 | 按国内封托来源托盘整托收货,并逐入仓码核平 | 不能拆解国内冻结托盘事实后重新猜配 |
“可合托”只提供现场选择;独立收货扫新托盘,合托扫同目的仓已使用托盘。它不是实收或整柜完成门禁。
### F30 海外整柜入仓与国内回写
1. 所有入仓码 `pendingPackages=0` 后完成整柜。
2. 同事务推进计划/任务和尾程主状态 `INBOUND_COMPLETED`。
3. 生成库存余额、库存位置、进销存流水和托盘组成。
4. 发布唯一 `OVERSEAS_CONTAINER_UNLOADED` 事件。
5. 国内写入卸柜完成、照片上传和预计报空时间;事件重放不重复写事实。
### F31 海外库存、盘点、移库和托盘
- Admin 查询库存余额、位置、流水、托盘和 CSV。
- 海外 PDA 可执行当前工作台已开放的库存/库位/托盘查询、同仓整托移库和托盘组拆换绑。
- 托盘是现场作业单位,不是库存客户归属单位;同一合托托盘可包含多票组成明细。
- 普通入仓只记录某票在托盘上的箱数,不代表每个箱唛都有精确托盘快照。
### F32 海外暂扣与解除
1. 只允许尾程订单完成入仓后新增暂扣。
2. 暂扣只作用于本票,阻断排车和出库,不影响同柜其他票。
3. 暂扣不回退入仓计划、入仓事实和库存历史。
4. 解除后恢复后续资格,保留版本化历史。
### F33 换标、转运和废弃
- 换标:客户从可用库存申请,PDA 扫箱/换标/照片,仓库复核后客户确认;客户确认前不能出库。
- 仓储转运:客户申请,平台在尾程订单审核通过/驳回;通过后进入转运出库。
- 货物废弃:创建时只冻结库存,仓库/PDA 审核确认时才实际扣减并写逐箱流水。
这些子单状态保存在 `sub_order_status`,不能覆盖尾程主流程 `INBOUND_COMPLETED`。
## 7. 海外排车和出库流程
### F34 智能预排与排车维护
1. Admin 从真实入仓计划、已收托盘或已具备资格的换标库存加载候选。
2. 托盘加入草稿立即加草稿锁;移除或关闭草稿时释放。
3. 选择车型,核对托位、箱数、重量和目的仓。
4. 点击预排,草稿锁原子转换为正式排车锁并生成排车单。
5. 编辑车牌、司机、电话、车队、预计发车/到达、FBA 预约和车辆预约。
6. 路线由已排托盘目的仓自动汇总,不能人工填写。
7. 未执行排车可取消并释放锁;普通编辑不得修改状态。
### F35 排车转派送
可在 `PENDING_DEPARTURE/PICKING/READY_TO_DEPART` 操作,但必须早于发车。
1. 填写预计派送时间、方式、提货/装车类型、车队/快递、车辆、预约和费用。
2. 服务端校验所有排车托盘已经真实入仓。
3. 一张排车单生成一张车辆级 `WAIT_OUTBOUND` 出库单。
4. 按目的 FBA 仓或私人地址生成一张或多张 `WAIT_DELIVERY` 派送单。
5. 相同排车重复转派送返回既有单据,不重复生成。
### F36 排车 PDA 拣货与发车
1. 海外 PDA 打开本仓排车任务。
2. 扫描托盘并校验排车、仓库、库存位置和计划箱数。
3. 成功扫描时执行库存分配、拣货和出库扣减;重复请求幂等。
4. 全部托盘/箱数核平后 PDA 任务 `COMPLETED`、排车 `READY_TO_DEPART`。
5. 发车门禁还要求车辆完整、已转派送且出库单仍是 `WAIT_OUTBOUND`。
6. 发车后排车 `DEPARTED`、出库单 `OUTBOUNDED`,释放托盘锁。
库存扣减发生在成功 PDA 扫码事务;发车只推进排车和出库事实,不能再次扣库存。
### F37 独立出库任务
| 出库类型 | 创建前置 | PDA 操作 | 完成结果 |
|---|---|---|---|
| 一件代发 | 已完成入仓、有可用箱唛/SKU/库存位置;一单唯一客户和仓 | 逐箱或扫 DP 托盘整托拣取 | `WAIT_PICK → PICKING/PICKED → OUTBOUNDED` |
| 换标出库 | 仓库复核且客户确认 | 按换标后箱唛/托盘拣货 | 换标单完成、出库单 `OUTBOUNDED` |
| 仓储转运 | 申请审核通过 | 按冻结来源托盘/箱数拣货 | 转运单 `OUTBOUNDED` |
| 退货出库 | 退货箱/SKU 可用库存 | 按冻结退货库存拣货 | 退货库存扣减、出库单完成 |
出库单只有未开始的 `WAIT_PICK/WAIT_OUTBOUND` 可取消;作业开始后不能通过取消恢复库存。
## 8. 派送、异常和最终回写
### F38 派送和签收
派送单状态:`WAIT_DELIVERY → DELIVERING → DELIVERED`;也可能进入 `REJECTED/CANCELLED`。
1. Admin/Client 查看按目的仓拆分的派送单。
2. 平台开始派送或维护允许的状态。
3. 上传并保存签收资料后系统自动完成派送;不提供脱离签收资料的人工“完成派送”按钮。
4. 派送完成发布跨区完成事件。
### F39 派送异常退回
1. 平台从派送创建异常单,状态 `PENDING → PROCESSING → COMPLETED`。
2. 退回明细只能从原出库拣货事实选择,不能自由填写 SKU/数量。
3. 退回海外仓时选择服务端校验的真实托盘和库位并实收。
4. 库存恢复、异常完成和派送 `RETURNED` 同事务完成。
5. 完成异常必须有 `OVERSEAS_EXCEPTION_EVIDENCE` 证据。
### F40 客户回访和国内最终回写
- 平台在客户回访记录结果和附件,作为派送后的业务闭环资料。
- 海外派送完成事件回到国内后,Firstleg 按来源订单、入仓码和目的仓校验。
- 对应国内入库单从 `LOADED` 推进到 `DELIVERED`。
- 同一 Order 的全部有效入库单都完成后,Order 才进入 `COMPLETED`。
- 任一事件重放不得重复推进、重复写历史或重复费用。
## 9. 单据、编号和数据交接关系
```text
客户 orderNo
└─ inboundCode(提交时生成)
└─ 国内 inboundId / 箱码 / 测量批次 / 费用版本
└─ containerBookingId + cabinetNo + containerNo
└─ loadingPlanId / 国内 PDA task / 装柜证据
└─ 跨区 eventId
└─ 尾程订单 + planNo
└─ 海外实物 palletNo / 库位 / 库存流水
└─ dispatchNo
└─ outboundNo
└─ deliveryNo
```
业务人员使用订单号、入仓码、柜次号、真实柜号、计划号、托盘号、排车单号、出库单号和派送单号定位。内部数据库 ID 只用于接口关联和诊断,不作为用户可见编号回退。
## 10. 状态维度关系
| 状态维度 | 归属 | 例子 | 不能做的事 |
|---|---|---|---|
| 订单交易状态 | Order | `DRAFT/SUBMITTED/APPROVED/CANCELLED/COMPLETED` | 不能用海外子单状态覆盖 |
| 国内履约主状态 | Firstleg | `WAIT_MEASURE/WAIT_PALLETIZE/WAIT_SPLIT/LOADING/LOADED/DELIVERED` | 费用变化不能回退主状态 |
| 测量审核 | Firstleg | `PENDING/APPROVED/REJECTED` | 不能代替订单审核 |
| 费用状态 | Firstleg/Finance | 试算、审核、发布、客户确认 | 不能表示货物已入库或出库 |
| 柜次/装柜计划 | Firstleg | `EDITING/LOADING/COMPLETED` | 不能替代单票入库状态 |
| 尾程主流程 | Lastleg | `PENDING_ASSIGNMENT/INBOUND_PLANNED/INBOUND_COMPLETED` | 不用出库/派送子状态覆盖 |
| 排车 | Lastleg | `PENDING_DEPARTURE/PICKING/READY_TO_DEPART/DEPARTED` | 不等于出库或派送状态 |
| 出库 | Lastleg | `WAIT_PICK/PICKING/PICKED/WAIT_OUTBOUND/OUTBOUNDED` | 不等于派送签收 |
| 派送 | Lastleg | `WAIT_DELIVERY/DELIVERING/DELIVERED/REJECTED/RETURNED` | 不反向改写库存,退回走专用事务 |
## 11. 人工动作、系统动作和异步动作
| 类型 | 代表动作 | 判断完成的证据 |
|---|---|---|
| 人工动作 | 提交订单、审核、测量确认、预装、PDA 扫码、报关、转派送 | 服务端返回新版本/状态和业务历史,不以按钮消失为准 |
| 系统同步动作 | 生成入仓码、审核建国内入库单、计划转换、库存扣减 | 同一事务内的单据和状态结果 |
| 系统异步动作 | 跨区尾程建单、海外卸柜回写、派送完成回写、费用入池 | Outbox/Inbox 消费结果和下游业务单据 |
| 第三方动作 | 测量设备、船司轨迹、邮件发送 | 带来源、事件号、观测时间和处理结果的不可变记录 |
异步页面暂未出现数据时,先检查事件状态并等待受控重试,不能手工造下游数据。
## 12. 当前明确的流程边界和冲突口径
1. 测量审核通过后主流程进入 `WAIT_SPLIT`;费用独立处理,不再以“发送费用”作为唯一入库成功节点。
2. 装柜完成跨区事件只生成待分配尾程订单,不自动生成入仓计划。
3. 国内出仓当前硬门禁不含订舱级拖车状态和独立船期;旧验收稿中的相关硬门禁已过期。
4. 真实柜号允许后补的历史指引存在差异;正式操作统一在预装确认/PDA 启动前补齐,服务端最终装柜完成必须有柜号。
5. 海外尾程主状态与换标、转运、排车、出库、派送子状态分开保存。
6. 目的港提柜时间、预计到仓和实际到仓不能相互替代。
7. 国内出仓、海外入仓、海外出库和派送完成是四个不同业务节点。
## 13. 文档评审清单
业务、产品、运营、仓库和技术应逐项确认:
- [ ] F01~F40 是否有实际业务流程遗漏
- [ ] 每一步实际操作者和终端是否正确
- [ ] 各流程入口状态、完成状态和下一责任岗位是否正确
- [ ] 三种交货方式和三种海外实收方式是否与现场一致
- [ ] 一件代发整托规则是否与国内、海外现场一致
- [ ] 国内订舱级拖车、目的港码头拖车、海外配送排车是否完全区分
- [ ] 报关、清关、DO、PU、提柜、预计/实际到仓和还空时序是否正确
- [ ] 跨区只建尾程订单、人工计划转换的口径是否确认
- [ ] 暂扣、换标、转运、废弃、退货和异常退回对出库资格的影响是否完整
- [ ] 海外扫码即扣库存、发车不重复扣减的口径是否与仓库账实一致
- [ ] 派送完成后国内 `DELIVERED/COMPLETED` 回写规则是否符合业务认知
- [ ] 当前页面是否都存在对应人工入口;缺入口项需单独登记,不能在流程图中假装可操作
评审完成后,再以本清单逐项标注“保留、合并、自动化、简化、删除”,进入易用性和数据流转优化设计。
## 14. 事实来源
- `docs/业务快速索引.md`
- `docs/订单与客户/README.md`
- `docs/订单与客户/订单与客户头程订单闭环设计.md`
- `docs/入库测量与计费/README.md`
- `docs/入库测量与计费/入库测量与计费需求优化版-v2-测量计费入库主流程.md`
- `docs/国内货柜履约/README.md`
- `docs/国内货柜履约/归档/货柜管理全链验收矩阵-2026-08-13.md`
- `docs/海外仓业务/README.md`
- `docs/海外仓业务/虫虫出海全流程人工验收手册.md`
- `baiyue-firstleg/order/AGENTS.md`
- `baiyue-firstleg/firstleg/AGENTS.md`
- `baiyue-firstleg/lastleg-service/AGENTS.md`
- `apps/admin-web/AGENTS.md`
- `apps/admin-web/src/modules/overseas-warehouse/AGENTS.md`
- `apps/client-web/AGENTS.md`
- `apps/pda-uniapp/AGENTS.md`
- `apps/pda-overseas-uniapp/AGENTS.md`