优化
This commit is contained in:
@@ -0,0 +1,581 @@
|
||||
# 头程下单到尾程出库现状流程全景清单
|
||||
|
||||
> 文档性质:现状流程盘点(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`
|
||||
Reference in New Issue
Block a user