Files
docs/归档/头程到尾程/头程下单到尾程出库流程易用性与数据流转优化方案.md
2026-09-24 17:02:32 +08:00

465 lines
29 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.
# 头程下单到尾程出库流程易用性与数据流转优化方案
> 目标:在现有端到端流程已经走通的基础上,降低学习成本、重复录入、跨页面查找和交接等待,让每个岗位始终知道“货在哪里、现在由谁处理、为什么不能继续、下一步做什么”。
> 基线流程:见[《头程下单到尾程出库全流程操作手册》](头程下单到尾程出库全流程操作手册.md)。
> 边界:本方案优先复用现有 Admin、Client、国内/海外 PDA、Gateway、Order、Firstleg、Lastleg 和 Warehouse 能力,不新建平行状态机,不引入第二套订单或跨区同步写链路。
> 当前状态:现状全景和六阶段基线已经完成;本文进入分阶段业务评审,暂不直接作为实施基线。AI 分析和评审记录统一遵循[《头程到尾程 AI 流程优化上下文包》](头程到尾程AI流程优化上下文包.md),逐项决定保留、合并、自动化、简化或删除。
## 1. 优化后的成功标准
流程是否“能走通”只代表功能闭环;易用性优化完成后还应同时达到:
1. 操作员进入一个单据后,10 秒内能回答当前阶段、下一动作、责任岗位和阻断原因。
2. 同一业务事实只录一次,后续阶段自动带出并注明来源、冻结时间和是否可修改。
3. 每次操作完成都明确展示“产生了什么结果、下一步去哪里”,并提供可点击入口。
4. 异步跨区操作不再表现为“点完没反应”,页面可见待投递、处理中、成功或失败。
5. PDA 扫错时直接说明“扫到了什么、为什么不匹配、正确应该扫什么”,而不是只返回错误码。
6. 列表默认突出需要当前岗位处理的记录,不要求用户同时理解全部内部状态。
7. 批量操作在提交前有预览,提交后有逐项结果和可重试项,不能整批静默失败。
8. 所有阶段以服务端 `nextAction/allowedActions/blockers` 为准,页面不自行猜测资格。
9. 数据跨服务、跨区域流转可追踪、可重放、可对账,但业务人员不需要接触内部 ID。
## 2. 当前主要问题
### 2.1 操作层问题
| 问题 | 当前表现 | 业务影响 |
|---|---|---|
| 页面按模块拆开,缺少一票到底视角 | 订单、测量、货柜、出仓、船节点、尾程、入仓、排车、出库分别查询 | 操作员反复复制订单号、入仓码和柜号,交接依赖群消息 |
| 状态多但不回答下一步 | 页面显示 `WAIT_SPLIT`、`PENDING_ASSIGNMENT`、`READY_TO_DEPART` 等编码映射 | 新员工知道状态名但不知道该去哪个菜单、找哪个岗位 |
| 阻断原因与修复入口分离 | 门禁面板告诉用户缺报关、缺车辆或缺计划,但需要自行找页面 | 处理时间长,容易重复点击同一操作 |
| 操作成功提示过轻 | 常见结果只有“保存成功”或“提交成功” | 用户不清楚是否建了入库单、出库单、派送单或跨区任务 |
| 相同信息重复填写 | 车辆、司机、目的仓、箱数、费用来源、预计时间在不同阶段重复录入 | 容易产生快照不一致和人工抄错 |
| 异步流转不可见 | 国内完成后海外页面暂时没有数据,只能等待刷新 | 用户误判失败,重复操作或要求技术人员查库 |
| PDA 错误反馈缺现场语义 | 扫错托盘/箱唛时只知道失败,不知道资源实际归属 | 仓库人员需要退出任务或电话询问后台 |
| 批量能力缺少统一反馈 | 批量导入、审核、排柜、计划转换各自反馈形式不同 | 错误定位和重试成本高 |
### 2.2 数据流问题
| 问题 | 风险 |
|---|---|
| 交易状态、履约状态、费用状态、子单状态被用户当成一个状态理解 | 页面互相覆盖或展示“倒退”,实际只是不同状态维度 |
| 同一字段在多个服务留有快照,但页面不显示来源 | 用户无法判断当前值来自客户申报、实测、计划还是实际作业 |
| 跨区事件处理结果缺少业务可见回执 | 事件已发送、消费失败、资源生成失败等场景只能从日志判断 |
| 单据间只有内部 ID 关联,缺少统一业务链查询 | 客服无法用订单号/入仓码直接查到柜、尾程计划、排车和出库 |
| 自动动作和人工动作混在同一历史里 | 无法快速判断是系统自动收敛、第三方回传还是人工补录 |
| 同步调用失败与业务失败提示不分 | 操作员不知道应补资料、刷新版本还是等待系统重试 |
| 分页列表承担跨柜/跨客户聚合 | 容易出现只看当前页就做整柜判断的问题 |
## 3. 总体产品方案
### 3.1 一票到底进度条
在 Client 订单详情和 Admin 统一订单详情顶部增加同一套业务阶段条:
```text
订单提交 → 国内入库 → 测量/组托 → 待分柜 → 国内装柜 → 国内出仓
→ 海运在途 → 海外计划 → 海外入仓 → 海外排车 → 海外出库 → 派送完成
```
每个节点只展示四种用户可理解状态:未开始、处理中、已完成、异常。点击节点进入对应详情或只读摘要。
阶段条不能根据前端已有字段自行拼装,应由服务端聚合返回:
- `currentStageCode/currentStageName`:当前主阶段;
- `stageStatus`:阶段状态;
- `nextActionCode/nextActionName`:下一动作;
- `ownerRole/ownerName`:当前责任岗位;
- `blockers[]`:阻断码、中文原因、修复建议和跳转目标;
- `relatedDocuments[]`:相关业务单号、状态和详情入口;
- `lastChangedAt`:最后业务变化时间;
- `asyncState`:无异步任务、处理中、成功、失败待重试。
实现上优先扩展现有统一订单聚合、柜级 overview 和尾程柜级 summary,不新建另一套可写流程引擎。
### 3.2 “现在做什么”任务卡
列表第一列保持“操作”,并在状态旁增加任务卡:
- 当前需要我做:例如“审核订单”“补称重图片”“确认预装”“转换海外入仓计划”“维护车辆”“先转派送”。
- 为什么:显示最多两条最高优先级阻断原因。
- 去处理:直接深链到目标弹窗、页签或 PDA 作业。
- 谁负责:当前角色无权限时显示责任岗位和只读说明,不显示无效按钮。
- 完成期限:按业务 SLA 显示剩余时间或超时标记。
服务端必须返回稳定动作编码;页面只负责中文展示和路由,不根据状态组合重新推导动作。
### 3.3 操作完成回执
所有关键写操作采用一致的结果反馈,而不是单纯 Toast:
| 当前操作 | 回执必须告诉用户 |
|---|---|
| 提交订单 | 订单号、入仓码、当前状态、下一步由平台审核 |
| 审核通过 | 已生成的国内入库单/箱码、下一步国内仓测量 |
| 测量审核通过 | 是否进入待分柜或待组托、费用是否已生成 |
| 预装确认 | PDA 任务是否已生成、缺真实柜号时的明确提醒 |
| 国内装柜完成 | 装柜结果、报关状态和国内出仓门禁摘要 |
| 国内出仓 | 船节点任务是否创建、第一条节点和海外异步建单状态 |
| 海外计划转换 | 计划数量、托盘数量、资源结果和 PDA 是否可接柜 |
| 海外整柜入仓完成 | 实收箱数、库存/托盘/库位结果和下一步排车入口 |
| 转派送 | 出库单号、按目的仓拆分的派送单号、发车尚缺条件 |
| PDA 发车 | 已出库箱数、排车单/出库单终态和后续派送入口 |
回执应支持“查看结果”和“继续处理下一票”,避免保存后返回一个没有上下文的列表。
## 4. 分阶段易用性优化
### 4.1 客户下单
现状操作:一个较长表单或 XLSX 导入,保存草稿后再提交。
优化:
- 用“运输与仓库 → 货物 → 提货/目的信息 → 确认提交”四步向导组织表单。
- 顶部常驻草稿保存状态;字段失焦自动保存草稿,但最终提交仍由用户明确点击。
- 选择目的类型后只展示相关字段:FBA 显示 FBA 仓,海外仓显示公共目的仓,私人仓显示地址。
- 仓库、渠道、目的仓下拉显示业务名称、代码、地址和可用状态,不展示内部 ID。
- 提交前集中展示校验清单,点击错误可滚动到对应字段。
- 批量导入先预览“可创建、需修正、重复”三组;错误报告可按原行号下载,修正后只重试失败行。
- 提交成功回执直接展示入仓码,并提供复制、打印箱唛和查看订单进度入口。
数据优化:客户端只提交用户输入;仓库名称、地址、渠道名称和客户归属由服务端验证后冻结快照,避免客户端抄写。
### 4.2 平台订单审核
现状操作:列表定位,打开详情或批量预览后审核。
优化:
- 默认进入“待我审核”,按提交时间和加急程度排序。
- 列表直接展示入仓码、目的类型、目的仓、渠道、箱数/体积/重量和阻断摘要。
- 批量预览用“可通过/需补资料/系统异常”分组;只允许勾选可通过项。
- 修改客户申报时做前后对比,标出会影响渠道、计价和排柜的字段。
- 审核通过后自动跳转“下一票”或进入本票进度页,不要求重新筛选。
数据优化:审核只推进 Order 权威状态;Firstleg 建单结果通过明确回执返回。Firstleg 暂时不可用时显示“审核已提交/建单待收敛”或失败原因,不能把部分成功伪装为整体成功。
### 4.3 国内收货、测量与费用
现状操作:按入仓码查询,测量和称重分多次录入,费用在另一工作区处理。
优化:
- 提供“扫码入仓码进入本票”入口,落地后固定显示客户、订单、目的仓和应收箱数。
- 将尺寸、称重、图片、审核和库位块放在同一作业页的连续步骤中。
- OCR 列表突出低置信度、单位异常和重复图片;批量确认高置信度结果。
- 每条实测数据展示“客户申报值 vs 当前实测值 vs 计费采用值”,差异超阈值自动提示。
- 审核不通过必须选择标准原因,可一键生成待修正任务;修正后回到原审核人队列。
- 费用卡明确标注“费用处理不阻断待分柜”,避免运营等待费用后才排柜。
- 客户收到费用后在订单进度中直接确认,无需进入独立财务菜单寻找。
数据优化:尺寸原始值、修正值、计费值分字段保存;页面必须显示来源,禁止覆盖原始数据。费用用版本号关联测量快照,不复制一套无法追溯的合计。
### 4.4 分柜、订舱和预装
现状操作:在模拟柜、智能装柜、订舱和预装详情之间切换。
优化:
- 建立柜级工作台,顶部固定显示柜次号、真实柜号、订舱、渠道、仓库、容量、重量和下一动作。
- 左侧候选、右侧已装计划保持筛选和滚动位置;加入后即时显示容量/重量变化。
- 候选行直接说明不可加入原因,例如“待审核占位可加入,但暂不能确认预装”。
- 同柜组、一件代发整托用不可拆分卡片展示,避免用户误以为可按行拆分。
- 订舱放舱、柜次关联、真实柜号、预装确认形成同页检查清单。
- 真实柜号未填时提供醒目待办;正式操作口径统一在预装确认前补齐。
- 确认预装前显示最终成员、箱数、托盘、容量、重量、费用重算影响和将生成的 PDA 任务。
数据优化:所有柜级动作使用稳定 `containerBookingId`,`cabinetNo/containerNo` 只作为业务展示身份。预装预览必须来自服务端完整柜级结果,不能使用当前分页数据拼装。
### 4.5 国内 PDA 装柜
现状操作:领取任务、逐箱或整托扫描、本地形成草稿、批量提交、上传证据并完成。
优化:
- 首页默认显示当前仓、当前任务、已扫/应扫、异常数和网络状态。
- 普通箱、一件代发托盘使用不同颜色和提示音,避免将整托按箱扫描。
- 扫描成功即时显示货物、入仓码、目标柜和累计数;错误显示扫描对象实际归属。
- 批量提交前展示新增、重复、错柜和待处理异常四类统计。
- 五类证据使用固定槽位和进度 `0/5…5/5`;铅封照片和铅封号在同一步完成。
- 最终完成页只展示服务端门禁,缺哪项就提供对应操作入口。
- 网络中断保留本地扫描草稿和同一幂等键;恢复后先对账服务端已接收项,再允许重试。
数据优化:箱码、托盘码、柜次和任务全部由服务端解析归属;PDA 不提交客户或猜测仓库范围。批量响应返回逐项结果及服务端最新任务版本。
### 4.6 报关和国内出仓
现状操作:装柜完成后在报关、柜次详情或国内出仓页处理。
优化:
- 柜次详情新增“离仓准备度”,用 7 个门禁卡片显示已完成/阻断。
- 每个阻断卡片提供深链:去解除扣货、查看 PDA、补证据、完成订舱、处理报关。
- 明确标注拖车和独立船期“仅供参考,不阻断国内出仓”。
- 报关完成后的自动确认展示为“系统正在确认离仓”;自动失败时才开放人工处理,并显示失败原因。
- 离仓成功回执展示船节点任务号和异步海外建单状态。
数据优化:门禁由 Firstleg 整柜锁定重算。页面不缓存门禁结论;执行前后都读取最新版本。自动与人工确认复用同一命令和幂等语义。
### 4.7 船节点和跨区建单
现状操作:多个页面可查看船节点;跨区建单需要等待刷新。
优化:
- 柜级时间线同时展示预计节点、实际节点、异常和数据来源,预计/实际视觉区分。
- `PICKUP_READY` 节点旁明确显示“海外 PDA 已开放/尚未开放”。
- 增加跨区处理卡:国内事件已生成、已投递、海外已接收、尾程订单已生成、资源待转换。
- 超过预期时间仍未建单时,平台可查看业务化失败原因并触发受控重试;不能直接补数据。
- 同一柜多客户时用柜级聚合显示事件状态,再进入每票结果,避免逐票判断整柜完成。
数据优化:跨区状态使用 `eventId + aggregateId + schemaVersion + payloadHash` 追踪。国内只发布事实,海外只消费并幂等建单;禁止跨区同步双写数据库。
### 4.8 海外入仓计划转换
现状操作:按柜查看、预览、处理阻断后确认转换。
优化:
- 柜级卡片直接显示订单数、待建计划数、资源待补数、预计到仓和准备度。
- 转换弹窗用三栏对比“头程已有托数、海外补充托数、最终托数”。
- 阻断项按可操作性排序,并提供修复入口;例如缺预计到仓、目的仓异常、托盘资源失败。
- 转换后展示逐票计划结果及托盘码,支持只重试 `resourcePendingPlanCount` 指向的资源异常。
- 已转换柜仍可查询,但主按钮改为“查看/维护计划”,避免用户误以为要重复转换。
数据优化:预览返回 `snapshotVersion/snapshotHash`;提交只回传该快照标识和明确选择。服务端锁柜重算,避免页面停留期间数据变化导致错建计划。
### 4.9 海外 PDA 接柜入仓
现状操作:选择柜、三类照片、按两种模式实收、完成整柜。
优化:
- 待收柜按可作业、未到 `PICKUP_READY`、资源未齐分组;后两组只读显示原因。
- 进入柜后顶部固定显示柜号、当前操作员、开始时间、总计划/实收/待收。
- 三类照片采用顺序引导,可重拍但保留审计;完成后自动进入收货,不返回列表。
- FBA 页只显示“SKU + 本次箱数”,OVERSEAS 页只显示“箱唛逐箱”,从交互上消除模式混用。
- 扫托盘后显示托盘已含入仓码和剩余容量,合托时提示来源组成。
- 整柜完成前用入仓码列表标红未核平项,点击直接继续收货。
- 完成回执显示库存、托盘、库位和国内回写状态。
数据优化:柜级会话只绑定物理柜和实际接柜仓;每票实收、库存和托盘组成仍按客户隔离。PDA 不上传客户 ID 或仓库 ID。
### 4.10 海外排车、转派送和出库
现状操作:智能预排、编辑车辆、转派送、PDA 拣货、发车。
优化:
- 排车候选默认只显示可用库存,暂扣、换标未确认、已锁定的托盘直接说明不可选原因。
- 预排草稿常驻显示托数、箱数、重量、目的仓、车型容量和超限值。
- 加入/移除托盘时即时显示锁状态;离开未提交草稿时二次确认并释放锁。
- 编辑排车时从车辆主数据带出车牌、司机、电话和车队,可覆盖的字段明确标识。
- “转派送”放在排车详情主流程位置,不藏在更多菜单;未转派送时 PDA 发车页显示平台待办。
- 转派送自动带出排车、车辆、目的仓、箱数和预约资料,只要求补充缺失字段及费用。
- 提交前预览将生成的一张出库单和按目的仓拆分的派送单。
- PDA 拣货页固定显示 `canDepart`;未满足时将服务端阻断原因翻译为动作提示。
- 发车成功回执显示出库单已完成、库存扣减数、派送单清单和下一责任岗位。
数据优化:排车、出库、派送是三张单据,各自状态独立;转派送只创建一次。库存扣减发生在 PDA 成功扫码事务,发车只推进排车和出库状态,防止重复扣减。
## 5. 数据归属与流转优化
### 5.1 权威数据归属
| 数据 | 权威服务 | 下游使用方式 |
|---|---|---|
| 客户、账号、角色、仓库绑定 | IAM/Auth | Token 和服务端身份校验,不接受页面自报客户范围 |
| 头程订单、客户申报、订单交易状态 | Order | Firstleg 使用版本化事件/内部 DTO,不反向覆盖客户申报 |
| 国内入库、实测、费用快照、柜次、装柜、出仓、船节点 | Firstleg | Admin/PDA 读写正式 API;向海外发布最终实装事实 |
| 国内/海外公共仓库主档 | Warehouse | 其他服务按 `warehouseId` 引用并冻结必要快照 |
| 海外库位、实物托盘和资源锁 | Warehouse Overseas | Lastleg 使用内部资源接口,不复制第二套仓库主档 |
| 尾程订单、海外计划、库存、排车、出库、派送 | Lastleg | Admin/Client/海外 PDA 经海外 Gateway 访问 |
| 文件 | File | 业务服务只保存已校验文件 ID 和业务归属 |
| 国内财务主账 | Finance | 海外费用通过事件入池,不跨区同步改钱包 |
### 5.2 业务主键链
对用户可见的链路检索顺序统一为:
```text
orderNo / inboundCode
→ cabinetNo / containerNo
→ tailOrderNo / planNo
→ palletNo
→ dispatchNo
→ outboundNo
→ deliveryNo
```
建议所有详情页提供“关联单据”侧栏,允许用任意一个业务号跳到上游和下游。内部数据库 ID 只留在接口和诊断信息中,不作为页面回退编号。
### 5.3 快照来源标识
页面展示容易混淆的字段时增加来源标签:
| 字段 | 可能来源 | 页面要求 |
|---|---|---|
| 箱数、重量、体积 | 客户申报、仓库实测、国内实装、海外实收 | 同时展示当前采用值与来源,历史值可展开 |
| 仓库/目的仓 | 下单选择、柜级计划、实际接柜仓 | 名称旁标注“国内来源仓/实际接柜仓/FBA目的仓” |
| 托数 | 头程推荐、头程已有、海外补充、海外最终 | 转换预览分别展示,不把补充数写成最终总数 |
| 预计/实际时间 | 客户期望、订舱 ETA、预计到仓、实际到仓 | 用不同字段和标签,不用创建时间回退 |
| 状态 | 主流程、审核、费用、子单 | 分区展示,不用子单状态覆盖主状态 |
### 5.4 异步事件可观测
每个重要异步交接保留统一回执:
- 事件名称、业务单号和来源阶段;
- `eventId`、版本、发生时间、投递时间、接收时间;
- 当前状态:待发送、发送中、已接收、已处理、失败待重试、永久失败需人工;
- 重试次数和最近失败的业务化原因;
- 下游生成的业务单号;
- 是否允许受控重试。
业务页面只展示业务化摘要;`requestId/traceId/eventId` 放在“诊断信息”中供技术支持复制。
### 5.5 一致性规则
1. 写操作携带 `expectedVersion` 和幂等键;版本冲突必须刷新,不能由前端自动覆盖。
2. 同一业务操作超时后先查幂等结果;不能自动换新键重复提交。
3. 跨服务写入使用本地事务 + Outbox/Inbox,不做国内、海外数据库分布式双写。
4. 聚合页只做读模型,不成为新的权威数据源。
5. 计划、门禁和转换必须基于完整柜级/任务级查询,不能用当前分页记录判断整体完成。
6. 自动动作与人工动作使用同一服务命令,但历史记录明确 `SYSTEM/USER/THIRD_PARTY` 来源。
7. 下游快照只在规定时点冻结;上游主数据之后变化不静默覆盖历史单据。
## 6. 共性交互规范
### 6.1 状态展示
- 主标题用中文业务状态,稳定编码放在悬浮说明或诊断区。
- 每页最多突出一个主状态;审核、费用、库存和子单状态分组展示。
- “等待系统处理”和“等待人工处理”使用不同颜色和图标。
- 终态不继续显示无效主按钮。
### 6.2 按钮与门禁
- 主按钮文案使用业务结果,例如“确认离仓”“转换整柜入仓计划”“完成整柜入仓”“转派送并生成出库单”。
- 禁用按钮必须能查看原因;有修复入口时直接跳转。
- 危险或不可逆操作在确认框中展示影响范围、将生成/冻结的单据和是否可撤销。
- 批量操作先预览,提交后逐项回执。
### 6.3 搜索与定位
- 所有跨阶段列表至少支持订单号、入仓码、柜次号和真实柜号中的适用项。
- 海外阶段继续支持计划号、托盘号、排车单号、出库单号和派送单号。
- 最近搜索和筛选在返回列表时保留。
- 扫码字段自动识别业务码类型;无法识别时提示允许的码,而不是当作普通关键词无结果。
### 6.4 错误反馈
错误消息统一包含:发生了什么、为什么、用户现在能做什么。示例:
```text
暂不能发车:平台尚未完成“转派送”,当前排车还没有待出库单。
请联系海外运营在排车详情完成转派送后刷新本页。
```
不要向业务用户直接展示内部数据库 ID、SQL 异常或只有 `A0409` 的提示。业务码、requestId 和 traceId 收在可复制的诊断详情中。
## 7. 优先级建议
### P0:先解决“找不到下一步”和“数据是否流转成功”
1. 在统一订单、柜次、尾程订单、排车详情增加当前阶段、下一动作、责任岗位、阻断原因。
2. 国内出仓、跨区建单、海外计划转换、转派送和发车增加标准操作回执。
3. 所有门禁项增加修复深链。
4. 增加跨区事件业务状态卡,覆盖国内装柜到海外尾程建单、海外卸柜到国内回写。
5. 海外 PDA 发车严格展示 `canDepart/departBlockReason`;错误改为现场可执行文案。
6. 转派送提交前预览出库单和派送单,成功后直接展示业务单号。
7. 统一关联单据侧栏和业务编号全链搜索。
P0 不改变核心状态机,主要是聚合查询、反馈和导航,风险相对较低。
### P1:减少重复输入和跨页面操作
1. 客户下单四步向导、自动保存草稿和集中校验。
2. 审核、测量、排柜、海外计划的批量预览与逐项回执统一。
3. 柜级工作台整合订舱、真实柜号、预装、PDA、报关和出仓准备度。
4. 海外收货完成后直接提供“查看库存/创建排车”动作。
5. 排车编辑从车辆主数据带出司机、电话和车队;转派送复用排车快照。
6. PDA 扫描反馈增加实际归属、错误对象和恢复动作。
7. 费用确认嵌入订单进度,不要求客户跨菜单寻找。
### P2:用数据持续优化效率
1. 建立阶段耗时、等待耗时、返工率和阻断原因看板。
2. 根据历史到仓和处理耗时做 SLA 预警,但不自动改业务事实。
3. 智能推荐下一批可审核、可排柜、可计划、可排车记录。
4. 对重复出现的扫码错误、计划资源失败和跨区失败生成问题趋势。
5. 在保持服务端门禁的前提下,优化默认值和批量操作策略。
## 8. P0 交付拆分
| 交付包 | 前端范围 | 后端范围 | 验收重点 |
|---|---|---|---|
| A. 统一进度与下一动作 | Client 订单详情、Admin 统一订单详情 | Order/Firstleg 聚合返回阶段、动作和阻断 | 同一订单两端阶段一致,权限不同但事实一致 |
| B. 柜级离仓准备度 | Admin 货柜详情、国内出仓 | Firstleg 复用现有柜级 gate/overview | 7 个门禁实时、可深链、自动/人工结果一致 |
| C. 跨区回执 | Admin 柜次和尾程柜级工作台 | Firstleg Outbox、Event Bridge、Lastleg Inbox 只读聚合 | 能区分待发送、已接收、处理失败和成功建单 |
| D. 海外计划转换体验 | Admin 尾程订单 | Lastleg 预览/转换响应补充业务化 blockers 和结果 | 不重复建计划,资源异常可定向重试 |
| E. 排车到出库回执 | Admin 排车、出库、派送详情 | Lastleg 返回出库/派送拆分结果及下一门禁 | 转派送和发车后单号、状态、数量立即可核对 |
| F. PDA 错误可执行化 | 国内/海外 PDA | Firstleg/Lastleg 错误响应补充稳定原因码和建议动作 | 扫错箱/托盘、版本冲突、未转派送均能现场恢复 |
每个交付包独立上线,但必须复用同一状态和动作编码,不能各页面自行定义一套中文判断。
## 9. 验收指标
### 9.1 效率指标
- 新员工在不查技术文档的情况下完成一票主链关键操作的成功率。
- 每票从提交到完成审核、测量、排柜、海外计划、排车的人工点击数。
- 订单号/入仓码在不同页面重复复制粘贴次数。
- 从看到阻断到进入正确修复页面的平均时间。
- 批量操作失败后定位具体失败记录的时间。
### 9.2 质量指标
- 重复提交产生重复单据数必须为 0。
- 跨区事件超过 SLA 未收敛但页面仍显示成功的次数必须为 0。
- 页面自行推导动作与服务端 `allowedActions` 不一致的次数必须为 0。
- 因重复录入导致的仓库、目的仓、车辆、箱数不一致数量。
- PDA 错扫后需要后台或技术人员介入才能恢复的比例。
### 9.3 建议目标值
首轮上线前先采集两周基线,再确认具体下降比例。若当前没有埋点,P0 同步补充:页面进入、主按钮点击、阻断码、操作结果、耗时、回退/重试、跨区收敛时间。埋点只记录业务编码和阶段,不记录密钥、Token 或客户敏感明细。
## 10. 关键验收场景
1. 客户提交订单后立即看到入仓码、待审核和下一责任人。
2. 审核员打开待审核列表,无需进入详情即可识别可批量通过和需补资料订单。
3. 测量审核完成后,页面明确显示已进入待分柜且费用可继续独立处理。
4. 柜次缺报关时,“确认离仓”不可执行,并能一键进入报关区域。
5. 国内离仓后,页面可见跨区事件进度;海外建单后自动出现尾程订单号。
6. 海外计划转换前清楚看到头程已有托盘和海外补充托盘,重复提交不重复建资源。
7. 海外 PDA 扫错柜外箱唛时,提示实际不属于当前柜且库存零变化。
8. 海外入仓完成后,操作员可直接查看库存或进入排车,不需要重新搜索。
9. 未转派送时 PDA 明确提示平台应做的动作;转派送完成后刷新即可发车。
10. 发车成功回执同时展示排车 `DEPARTED`、出库 `OUTBOUNDED` 和各派送单号。
11. 任一页面用入仓码搜索,都能进入关联单据侧栏查看上游和下游业务号。
12. 版本冲突、网络超时和幂等重放均不会产生重复订单、计划、托盘、出库或派送单。
## 11. 不建议采用的做法
- 不新建独立“全流程状态表”作为新的可写权威;使用现有权威状态聚合展示。
- 不让前端通过状态字符串组合推导写资格;服务端返回下一动作和门禁。
- 不为了页面即时显示而跨区同步写海外数据库。
- 不把所有业务状态压缩成一个字段,继续区分主流程、审核、费用、库存和子单。
- 不用内部数据库 ID 作为客户和仓库人员的定位方式。
- 不通过自动刷新和无限重试掩盖事件失败;失败必须可见并受控重试。
- 不在多个页面重复维护仓库、车辆、目的仓和客户名称,统一从权威主数据选择并冻结快照。
## 12. 推荐落地顺序
1. 先冻结统一阶段、动作、阻断和责任岗位字典。
2. 再补服务端聚合字段与跨区回执,不先让各前端自行拼装。
3. Admin 先落统一订单、柜次、尾程计划、排车四个核心详情页。
4. Client 接入只读进度、下一动作和费用确认。
5. 国内/海外 PDA 接入稳定错误原因、恢复动作和操作回执。
6. 完成 P0 人工验收和埋点基线后,再做表单向导、自动带出和批量体验。
7. 最后基于真实操作数据决定 P2 的智能推荐和 SLA 预警,不凭主观增加自动化。