Files

465 lines
29 KiB
Markdown
Raw Permalink Normal View History

2026-09-18 16:48:32 +08:00
# 头程下单到尾程出库流程易用性与数据流转优化方案
> 目标:在现有端到端流程已经走通的基础上,降低学习成本、重复录入、跨页面查找和交接等待,让每个岗位始终知道“货在哪里、现在由谁处理、为什么不能继续、下一步做什么”。
> 基线流程:见[《头程下单到尾程出库全流程操作手册》](头程下单到尾程出库全流程操作手册.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 预警,不凭主观增加自动化。
2026-09-24 17:02:32 +08:00