Files
docs/三期/三期开发规划.md
T

323 lines
28 KiB
Markdown
Raw Normal View History

2026-07-31 10:43:30 +08:00
# 虫虫出海三期开发规划:国内出仓
> 创建日期:2026-07-28
2026-08-10 11:29:00 +08:00
> 状态:已进入分模块开发规划
2026-08-10 09:11:59 +08:00
> 流程依据:[出仓流程](参考资料/出仓流程.png)中的头程物流“03 出仓”;用户已于 2026-08-08 确认国内三期以 `LOADED`/装柜完成为阶段终点
2026-07-31 10:43:30 +08:00
> 前置阶段:[一期文档](../一期/README.md) · [二期文档](../二期/README.md)
2026-08-10 11:29:00 +08:00
> 2026-08-10 产品确认版:三期不新建独立出仓单;支持一单多柜、一个柜拼多个订单,采用“父订单→子订单→柜次”关系,已装载数量形成子订单,未装载数量自动生成后续子订单。`LOADED` 硬门禁为订舱完成、拖车完成、报关放行回执、PDA 拣货完成和五类证据完整;`LOADED` 后错误线下人工处理。五类证据各至少 1 张有效照片,同类型多张追加,PDA 仅现场拍照,后台操作员和理货员可人工上传,照片无限期保留且客户不可见。
2026-08-08 21:14:43 +08:00
2026-08-19 16:45:47 +08:00
> 当前范围更正:原 `P3-PORT-01`、六家船公司官网查询及 `CarrierScheduleQuery` 是柜子确认离开国内仓库后的业务,整体重新归入四期。三期仅保存订舱与出仓前所需的船名航次、港口和 ETD/ETA 等资料,不建设或验收出仓后的定时节点查询。
2026-08-05 15:52:51 +08:00
> 主体模型与硬约束:三期只实现“平台—客户”两级,业务 `tenant_id > 0` / `tenantId` 当前表示客户 ID;`tenant_id=0` 是平台身份、平台 RBAC 和平台公共仓储资源技术作用域,客户往来单位、订单、文件和费用归属客户 `tenant_id>0`。禁止新增租户主表、租户选择器、客户所属租户配置、租户切换、租户级 RBAC 或租户级配置,禁止把现有 `tenant_id` 改义为上级租户 ID;历史类名、路径和字段继续兼容。
2026-07-31 10:43:30 +08:00
## 一、三期目标
三期承接二期“货物完成到仓、实测、差异处理和指定库位”的结果,将已受理货物转化为可执行、可追踪、可审计的国内出仓任务。
流程覆盖九个动作:
```text
智能排柜 → 订舱 → 预约拖车
↓
PDA 拣货 → 装柜并上传货柜/铅封照片
↓
客户上传报关资料 → 平台整理提交报关代理 → 上传回执供客户下载
↓
2026-08-19 16:45:47 +08:00
维护订舱与出仓前所需的船名航次、港口和预计时间
2026-07-31 10:43:30 +08:00
↓
2026-08-10 09:11:59 +08:00
国内三期完成:`LOADED`/装柜完成
2026-07-31 10:43:30 +08:00
```
2026-08-10 09:11:59 +08:00
三期完成标准是同一订单/柜次已完成排柜和 PDA 拣货,空仓、半仓、满仓、锁仓、带锁码照五类证据各至少 1 张有效照片已真实上传,锁码文本已保存,服务端门禁通过并将订单推进为 `LOADED`/装柜完成。`DELIVERED`/派送完成必须等货物到达海外仓后由海外仓可信回传推进,不是国内三期人工操作。
2026-07-31 10:43:30 +08:00
### 原型动作覆盖
| 原型动作 | 规划模块 | 开发任务 | 覆盖结果 |
|---|---|---|---|
2026-08-10 11:30:46 +08:00
| 1. 智能排柜 | 智能排柜 | P3-PLAN-01、P3-PLAN-02 | 已覆盖,按 110% 装载率上限和可配置税率排序实现 |
2026-08-19 16:45:47 +08:00
| 2. 订舱 | 订舱与出仓前船期资料 | P3-BOOK-01 | 已覆盖 |
2026-08-10 11:30:46 +08:00
| 3. 预约托车 | 预约拖车 | P3-TRUCK-01 | 已覆盖,统一使用“预约拖车” |
2026-07-31 10:43:30 +08:00
| 4. PDA 拣货 | PDA 拣货与复核 | P3-PICK-01、P3-PDA-01、P3-PDA-02 | 已覆盖 |
2026-08-10 09:11:59 +08:00
| 5. 拍货柜及铅封照上传 | 装柜及柜封证据 | P3-LOAD-01、P3-LOAD-02 | 已确认五类证据各至少 1 张有效照片、同类型可多张,锁码文本必填 |
2026-07-31 10:43:30 +08:00
| 6. 客户上传报关资料 | 报关资料协同 | P3-CUS-01 | 已覆盖 |
| 7. 整理给到报关代理报关 | 报关资料协同 | P3-CLEAR-01 | 已覆盖 |
2026-08-10 11:30:46 +08:00
| 8. 回执上传到系统供客户下载 | 报关回执与客户下载 | P3-CLEAR-01、P3-CUS-02 | 已覆盖,首版由授权人员人工上传放行回执 |
2026-08-19 16:45:47 +08:00
| 9. 出仓后查询港务/船节点 | 四期船节点定时查询 | 原 P3-PORT-01、P3-CUS-02 对应查询部分 | 已重新归入四期,不是三期动作或验收项 |
2026-07-31 10:43:30 +08:00
## 二、阶段边界
### 纳入三期
2026-08-08 21:14:43 +08:00
- 现有订单三期状态、订单-柜次关联、智能排柜建议、人工调整和版本确认。
2026-08-19 16:45:47 +08:00
- 订舱申请、舱位结果,以及出仓前人工确认或业务录入的船名航次、港口、ETD/ETA 等资料快照。
2026-07-31 10:43:30 +08:00
- 预约拖车、车辆司机、到仓装柜和离仓记录。
- PDA 任务领取、扫码拣货、部分拣货、异常、复核和幂等提交。
- 装柜、柜号、铅封号及货柜/铅封照片证据。
- 客户上传报关资料、平台审核补件、整理并提交报关代理。
- 报关回执上传、版本、客户可见范围和授权下载。
2026-08-10 12:24:02 +08:00
- 装柜完成门禁、确认、时间线和站内通知;`LOADED` 后纠错走线下人工流程。
2026-07-31 10:43:30 +08:00
### 明确不纳入三期
2026-08-10 12:24:02 +08:00
- 入库、上架、移库、盘点、冻结、补货和完整 WMS;拣货仅复用二期实时库存、当前位置和可用量接口。
2026-07-31 10:43:30 +08:00
- 港区闸口、车队、船公司、海关单一窗口的正式自动化接口。
- GPS 实时跟车、电子铅封、称重设备、摄像头 OCR 和 IoT 自动采集。
- 自动报关、关税计算、退税、完整清关业务和自动单证识别。
- 海上运输、海外清关、目的港提柜、海外仓入库和末端派送。
2026-08-19 16:45:47 +08:00
- 柜子确认离开国内仓库后的 `CarrierScheduleQuery`、船公司查询、定时船节点和到港跟踪;整体归四期。
2026-07-31 10:43:30 +08:00
- 无人工确认的全自动排柜、自动订舱和不可逆业务操作。
## 三、参与角色与数据边界
| 角色 | 数据范围 | 主要操作 |
|---|---|---|
2026-08-19 16:45:47 +08:00
| 企业订单操作员 | 当前企业订单及关联柜次 | 上传/补充报关资料、查看订舱与出仓前资料、下载回执 |
| 平台运营 | 授权客户、订单和柜次 | 确认排柜、订舱、维护出仓前船期资料和协调异常 |
2026-07-31 10:43:30 +08:00
| 仓库主管 | 被授权的平台收货仓 | 分配拣货任务、复核差异、确认装柜和出仓条件 |
| 仓库作业员 | 分配给本人或本仓的任务 | PDA 扫码、数量确认、异常上报和任务提交 |
2026-08-10 11:29:00 +08:00
| 操作员 | 授权仓库/订单/柜次 | 查看作业进度、人工上传装柜证据、协助处理异常 |
| 拣货员 | 分配给本人的单柜次任务 | PDA 扫码、数量确认、异常上报和批量提交;不开放后台人工证据上传 |
| 理货员 | 授权仓库/柜次 | 人工上传/补充/作废装柜证据、核对柜号和锁码、记录异常 |
2026-08-08 21:14:43 +08:00
| 拖车调度员 | 授权订单/柜次与车辆范围 | 预约车辆、维护司机/车牌、到仓和离仓节点 |
2026-07-31 10:43:30 +08:00
| 报关专员 | 授权客户、订单和报关批次 | 审核、退回、整理、提交资料并上传回执 |
2026-08-10 11:29:00 +08:00
| 平台管理员 | 平台授权范围 | 维护权限、规则和服务商;`LOADED` 后问题按线下流程处理,不提供在线冲正 |
2026-07-31 10:43:30 +08:00
2026-08-08 21:14:43 +08:00
服务端必须依据登录身份确定企业、仓库、客户和数据范围。前端传入的订单 ID、柜次 ID、仓库 ID、客户 ID、作业员 ID 或报关批次 ID 不能单独作为授权依据。
2026-07-31 10:43:30 +08:00
## 四、流程与状态设计
2026-08-10 11:29:00 +08:00
原型以 1 至 9 编号表达动作顺序。产品确认后,订舱、拖车、报关放行、PDA 拣货和证据完整是进入 `LOADED` 的强制前置;智能排柜、订舱、拖车和资料整理可按子流程并行,但服务端不得绕过门禁。PDA 单柜次单作业员,不实现多人并行或任务接管。
2026-07-31 10:43:30 +08:00
2026-08-08 21:14:43 +08:00
### 1. 现有订单的三期主状态
2026-07-31 10:43:30 +08:00
| 稳定编码 | 中文名称 | 含义 |
|---|---|---|
2026-08-08 21:14:43 +08:00
| `WAIT_SPLIT` | 待分柜 | 二期已完成,等待排柜/预装 |
| `LOADING` | 装柜中 | 预装已确认,PDA 执行拣货和装柜证据上传 |
2026-08-10 11:29:00 +08:00
| `LOADED` | 装柜完成 | 订舱、拖车、报关放行回执、PDA 拣货完成,且五类证据各至少 1 张有效照片和锁码文本已通过服务端门禁 |
2026-08-10 09:11:59 +08:00
| `DELIVERED` | 派送完成 | 货物到达海外仓后由海外仓可信回传推进;属于三期之后的只读状态 |
2026-07-31 10:43:30 +08:00
### 2. 子流程状态
- 订舱:待订舱、订舱中、已订舱、订舱失败、已取消。
- 拖车:待预约、已预约、车辆已到仓、装柜中、已离仓、改约、已取消。
- 拣货:待分配、待拣货、拣货中、待复核、已完成、异常挂起、已取消。
2026-08-10 11:29:00 +08:00
- 报关:资料待上传、资料待审核、待补件、待提交、已提交代理、回执待上传、回执已上传、已退回、已取消;有效放行回执是 `LOADED` 硬门禁,首版由授权人员人工上传。
2026-08-19 16:45:47 +08:00
- 出仓前船期资料:待维护、已确认、信息变更;出仓后节点和“已开船”等运输事实归四期。
2026-07-31 10:43:30 +08:00
2026-08-10 09:11:59 +08:00
主状态由服务端根据已确认的必要子流程推进。客户端不得通过传任意目标状态跳过拣货复核、装柜证据或已配置的装柜完成门禁。
2026-07-31 10:43:30 +08:00
## 五、业务模块
2026-08-08 21:14:43 +08:00
### 1. 现有订单与柜次
2026-07-31 10:43:30 +08:00
2026-08-08 21:14:43 +08:00
- 不创建独立出仓单,现有订单从 `WAIT_SPLIT` 继续推进三期状态。
2026-08-10 11:29:00 +08:00
- 通过“父订单→子订单→柜次”表达一张订单分多柜、多张订单拼柜和拆批;已装载数量形成子订单,未装载数量自动生成后续子订单,子订单必须保留来源订单和数量分摊快照。
2026-08-08 21:14:43 +08:00
- 订单保持用户当前看到的主状态;柜次承载多订单共享的订舱、拖车、装柜证据和船期信息。
- 订单详情展示关联柜次、子流程状态、异常和整体时间线。
- 所有主状态推进使用服务端门禁、幂等键和版本字段防止绕过与并发覆盖。
2026-07-31 10:43:30 +08:00
### 2. 智能排柜
2026-08-10 11:29:00 +08:00
- 原型仅明确“智能排柜”;已确认装载率上限为 110%,税率高排前仅作为可配置排序规则。柜型容量、重量、体积、箱数、同票/混票、不可混装和装载顺序由规则表配置并保留版本。
2026-07-31 10:43:30 +08:00
- 当前建议首版采用“系统建议、人工确认”;是否允许调整、是否强制填写原因由排柜规则确认。
- 建议排柜方案保留版本、规则版本、输入快照、操作者和前后差异,以支持追溯。
- 未确认方案不得生成正式拣货任务或执行不可逆状态变化。
2026-08-19 16:45:47 +08:00
### 3. 订舱与出仓前船期资料
2026-07-31 10:43:30 +08:00
2026-08-19 16:45:47 +08:00
- 三期只维护订舱和装柜/出仓交接所需的预计开船、到港等静态资料,不执行出仓后的船公司或船节点查询。
2026-07-31 10:43:30 +08:00
- 船公司/订舱代理、航线、订舱号、船名航次、起运港、目的港、截单、截关、截港、ETD 和 ETA 暂列为候选字段。
- 订舱失败、改船、甩柜、船期延误和取消暂列为候选异常场景,按业务确认结果实现。
2026-08-19 16:45:47 +08:00
- 六家船公司来源、每 3 天/最多 3 次、最近有效结果和过期标识,以及对应适配层全部移至四期船节点查询维护。
- 三期页面展示的 ETD/ETA 必须明确为订舱或人工确认快照,不得伪装成出仓后的实时查询结果。
2026-07-31 10:43:30 +08:00
- 建议关键信息变更保留旧值、新值、原因,并向授权用户发送站内提醒。
### 4. 预约拖车
- 从往来单位选择已启用拖车服务商,维护车牌、司机、电话和预约时间窗。
- 记录提柜、到仓、装柜、离仓、还柜节点和交接说明。
- 支持改约、取消、迟到、未到、车辆更换和柜号变更。
- 司机手机号等个人信息按最小权限展示,不进入不必要的客户响应。
- 图片原文“预约托车”建议统一为行业常用的“预约拖车”,需产品最终确认。
### 5. PDA 拣货与复核
- 按已确认排柜方案生成仓库、柜次、订单和货物明细级任务。
2026-08-10 09:11:59 +08:00
- PDA 支持登录、领取、箱号选择、扫码、数量确认、部分拣货、跳拣、撤销和异常上报;进入任务即标记“拣货中”。
- 正式作业必须联网;断网不能开始正式拣货、提交、完成任务或推进 `LOADED`,不建设离线业务提交队列。
- 扫描只更新绑定作业员、任务和柜次的设备持久化草稿;员工点击提交时才将全部明细批量写入后端,成功或明确放弃后清理,其他账号不得继承。
- 服务端校验任务归属、状态、重复扫码、超量、错货和批量提交;重复提交返回原结果,版本冲突提示刷新后重试。
- 允许部分拣货和跳拣,但每个未完成项必须填写异常原因;存在未解决差异时任务挂起,不能完成或进入 `LOADED`。
2026-08-10 11:29:00 +08:00
- 单柜次只允许一名作业员;不实现多人并行、退出接管或换班释放。进入任务即标记拣货中,点击确认完成后由服务端批量落库并参与统一门禁,无需后台二次审核。
2026-07-31 10:43:30 +08:00
- 扫描器、声音、震动、网络和缓存通过设备适配层实现,不直接绑定单一厂商 SDK。
### 6. 装柜及柜封证据
- 维护柜号、铅封号、装柜开始/完成时间、操作人和异常说明。
2026-08-10 09:11:59 +08:00
- 空仓、半仓、满仓、锁仓、带锁码照五类证据各至少上传 1 张有效照片,可同类型多张追加;带锁码照同时要求锁码文本。
- PDA 只能现场拍照;Admin 可通过独立受权入口人工上传。上传前展示柜次、柜号、铅封号和照片类型,防止证据关联错误。
- 每张照片作为独立记录,支持上传进度、失败重试和提交前预览;错误或重复照片不硬删除,标记作废并记录原因、操作人和时间。
2026-08-10 11:29:00 +08:00
- 照片记录文件哈希、上传人、上传时间、关联柜次、有效/作废状态和作废审计;照片无限期保留,客户不可见照片和锁码。后台操作员和理货员按权限人工上传,拣货员仅通过 PDA 现场拍照。
2026-08-10 09:11:59 +08:00
- 锁码重复、已确认的必传照片缺失或复核未通过时禁止确认装柜完成。
2026-07-31 10:43:30 +08:00
- 修改柜号或铅封号需要二次确认、原因和完整审计。
### 7. 报关资料协同
- 客户按资料清单上传发票、箱单、合同、委托书和申报要素等文件。
- 资料清单可按国家/地区、渠道和货物类型配置,并保存订单使用的清单版本。
- 平台报关专员审核完整性,可退回具体文件并记录补件原因和时限。
- 提交报关代理时生成提交批次,冻结该批次关联的文件版本。
- 首版采用系统内整理加线下提交,不直接对接海关单一窗口。
### 8. 报关回执与客户下载
2026-08-10 11:29:00 +08:00
- 授权人员人工上传代理回传的报关回执并关联提交批次;有效放行回执是装柜完成硬门禁,回执类型、版本和操作者可追溯。
2026-07-31 10:43:30 +08:00
- 替换文件产生新版本,不覆盖原记录;退单或补件形成明确任务。
- 客户只能下载本企业且标记为客户可见的回执。
- 文件下载使用授权地址并记录审计,不暴露内部存储路径。
2026-08-10 09:11:59 +08:00
### 9. 装柜完成确认与海外回传边界
2026-07-31 10:43:30 +08:00
2026-08-10 09:11:59 +08:00
- 服务端校验排柜已确认、PDA 拣货已完成、五类证据各至少 1 张有效且未作废的图片已取得真实 `fileId`、锁码文本已保存。
- 门禁通过后仅将订单推进为 `LOADED`/装柜完成,记录柜次、柜号、锁码、操作人、时间和证据版本。
- 该操作必须幂等、乐观锁、完整审计和失败回复,禁止从前端跳过门禁。
2026-08-10 11:29:00 +08:00
- 装柜完成后发现错误统一线下人工处理;本期不提供在线冲正/回退接口,系统保留原状态、证据和审计记录。
2026-08-10 09:11:59 +08:00
- `DELIVERED`/派送完成只接受海外仓可信回传,必须有来源身份、签名/防重放、幂等键、请求摘要和审计;国内 Admin/PDA 不提供手工“确认派送完成”操作。
2026-07-31 10:43:30 +08:00
## 六、核心数据对象
| 数据对象 | 关键内容 |
|---|---|
2026-08-08 21:14:43 +08:00
| 现有订单三期投影 | 订单、客户、仓库、三期主状态、关联柜次、子流程摘要和版本 |
2026-08-10 12:24:02 +08:00
| 父/子订单关系 | 父订单、子订单、来源柜次、已装载数量、未装载数量和自动生成原因 |
2026-07-31 10:43:30 +08:00
| 排柜方案 | 经确认的规则版本、输入快照、柜次、货物分配、规则计算结果和确认记录 |
| 柜次 | 柜型、柜号、铅封号、装载顺序、重量、体积和关联订单 |
| 订舱记录 | 船公司/代理、订舱号、船名航次、港口、舱位和异常 |
2026-08-19 16:45:47 +08:00
| 出仓前船期资料快照 | 经确认的订舱字段和变更历史;候选字段包括截单、截关、截港、ETD 和 ETA,不包含出仓后节点查询 |
2026-07-31 10:43:30 +08:00
| 拖车预约 | 服务商、车辆、司机、预约时间窗、到离仓节点和异常 |
| 拣货任务 | 柜次、货物明细、分配人、作业员、扫描、数量、差异和复核 |
| 装柜证据 | 柜号、铅封号、照片类型、文件、上传人、时间和可见范围 |
| 报关批次 | 资料清单版本、文件版本、补件、提交代理和回执 |
| 出仓时间线 | 事件、前后状态、操作者、发生时间、说明和请求关联 ID |
基础资料引用必须同时保存稳定 ID 和必要快照。订单、客户、仓库、往来单位、港务/船期信息或文件后续修改时,不得改变历史出仓记录。
## 七、应用范围
### 管理后台 `apps/admin-web`
2026-08-08 21:14:43 +08:00
- 增强现有订单列表/详情,展示柜次、各子流程、异常和状态操作。
2026-07-31 10:43:30 +08:00
- 按已确认的排柜规则提供建议、冲突展示、人工调整、版本对比和确认。
- 订舱、船期、拖车预约、装柜、柜号、铅封和照片。
- 报关资料审核、补件、提交批次、回执上传和客户可见控制。
2026-08-10 12:24:02 +08:00
- 权限至少拆分为查看、排柜、订舱、拖车、仓内复核、报关、确认装柜完成;仓库初始化操作员、拣货员、理货员角色,国内端不提供在线冲正或确认派送完成权限。
2026-07-31 10:43:30 +08:00
### 企业客户端 `apps/client-web`
2026-08-08 21:14:43 +08:00
- 在现有订单中查看关联柜次和允许公开的进度时间线。
2026-07-31 10:43:30 +08:00
- 上传、补充和查看报关资料及处理结果。
- 下载客户可见的报关回执。
- 查看预计开船、到港和船期变更,不暴露内部成本、供应商敏感信息和内部备注。
### PDA `apps/pda-uniapp`
- 仓库人员登录、任务领取、箱号选择、扫码拣货和数量确认。
2026-08-10 09:11:59 +08:00
- 进入任务即标记“拣货中”;允许部分拣货、跳拣和异常上报,未完成项原因必填并阻断完成。
- 扫描保存在设备持久化草稿,点击提交时批量写后端;草稿绑定作业员、任务和柜次。
- PDA 仅现场拍摄五类装柜照片,同类型可多张追加;确认关联信息后上传,并处理进度、失败重试和作废。
2026-08-10 12:24:02 +08:00
- 在线作业、前后台切换、重复提交、版本冲突和异常退出清理;不支持换班接管,断网不允许正式作业或提交。
2026-08-10 12:46:16 +08:00
- PDA 采用 uni-app 开发并支持在线更新;Android 广播扫描已按 Action=`android.intent.action.SCANRESULT`、Extra=`value` 接入,扫描适配保持厂商无关。
2026-07-31 10:43:30 +08:00
2026-08-04 15:41:54 +08:00
### 服务端 `baiyue-firstleg`
2026-07-31 10:43:30 +08:00
2026-08-05 15:52:51 +08:00
- 最终保证身份、客户归属、仓库数据范围、权限、状态、门禁、幂等、并发和审计。
2026-07-31 10:43:30 +08:00
- 管理出仓、排柜、订舱、拖车、拣货、装柜、报关和时间线的事务边界。
- 文件上传校验类型、大小、内容和权限;使用不可预测标识和授权下载。
2026-08-19 16:45:47 +08:00
- 三期服务端保存订舱与出仓前船期资料;六家船公司和定时船节点查询由四期负责。车队、海关仍只预留适配层,报关首版全部人工处理,不承诺正式系统对接。
2026-07-31 10:43:30 +08:00
## 八、建议里程碑
| 里程碑 | 交付目标 | 进入条件 |
|---|---|---|
| P3-M0 规则与设备锁定 | 流程、角色、状态、排柜规则、PDA、文件和验收确认 | 二期到仓契约稳定 |
2026-08-08 21:14:43 +08:00
| P3-M1 订单与排柜 | 现有订单可进入待分柜,并按确认范围提供柜次建议、人工确认与追溯 | 排柜规则确认 |
2026-08-19 16:45:47 +08:00
| P3-M2 订舱与拖车 | 订舱、出仓前船期资料、拖车预约和异常处理可用 | 服务商与权限可用 |
2026-08-10 12:46:16 +08:00
| P3-M3 PDA 拣货 | 在线任务、持久化草稿、批量提交、差异、复核和幂等可用 | 服务端任务与库存契约可用 |
2026-07-31 10:43:30 +08:00
| P3-M4 装柜封柜 | 柜号、铅封和照片证据完整,门禁生效 | 文件能力与必传清单确认 |
| P3-M5 报关协同 | 客户上传、平台审核、补件、提交和回执下载闭环 | 报关资料清单确认 |
2026-08-10 12:24:02 +08:00
| P3-M6 装柜完成 | 订舱、拖车、放行回执、PDA 拣货、五类证据和锁码文本满足门禁后进入 `LOADED`/装柜完成 | 装柜完成硬门禁已确认 |
2026-07-31 10:43:30 +08:00
| P3-M7 联调验收 | 跨端、设备、安全、弱网、性能、迁移和发布完成 | P3-M1 至 P3-M6 验收通过 |
## 九、建议开发任务
| ID | 端 | 模块 | 交付内容 | 优先级 | 依赖 |
|---|---|---|---|---|---|
| P3-BASE-01 | 公共 | 出仓契约 | 主/子状态、权限、事件、错误码、门禁和快照模型 | P0 | 二期到仓契约 |
2026-08-08 21:14:43 +08:00
| P3-BASE-02 | 公共 | 数据模型 | 现有订单三期投影、订单-柜次、排柜、订舱、拖车、拣货、装柜、报关和时间线 | P0 | P3-BASE-01 |
| P3-DSP-01 | 后台 | 订单三期编排 | 在现有订单列表/详情中接入柜次、子流程、异常、时间线和门禁操作 | P0 | P3-BASE-02 |
2026-07-31 10:43:30 +08:00
| P3-PLAN-01 | 公共 | 排柜规则 | 按已确认规则实现输入、约束、偏好和冲突判断 | P0 | P3-BASE-02、P3-Q1 |
| P3-PLAN-02 | 后台 | 智能排柜 | 按已确认范围实现建议、人工确认和追溯 | P0 | P3-PLAN-01 |
2026-08-10 11:29:00 +08:00
| P3-BOOK-01 | 后台 | 订舱 | 订舱和经确认的船名航次、港口、变更及异常;订舱完成是 `LOADED` 门禁 | P0 | P3-DSP-01 |
2026-08-19 16:45:47 +08:00
| 原 P3-PORT-01 | 后台/服务端 | 出仓后船节点查询 | 已重新归入四期,不作为三期交付或验收项;沿用现有 `CarrierScheduleQuery`,不得重复实现 | 四期 | P3-BOOK-01、确认国内出仓 |
2026-07-31 10:43:30 +08:00
| P3-TRUCK-01 | 后台 | 拖车预约 | 服务商、车辆司机、时间窗、到离仓和异常 | P0 | P3-DSP-01 |
| P3-PICK-01 | 公共 | 拣货任务 | 按排柜方案生成任务、明细、差异和复核规则 | P0 | P3-PLAN-02 |
2026-08-10 09:11:59 +08:00
| P3-PDA-01 | PDA | 在线扫码拣货 | 进入任务标记拣货中、扫描草稿、部分/跳拣异常原因和批量提交 | P0 | P3-PICK-01 |
| P3-PDA-02 | PDA/服务端 | 草稿与提交安全 | 作业员+任务+柜次持久化草稿、幂等重试、版本冲突、成功/放弃清理 | P0 | P3-PDA-01 |
| P3-LOAD-01 | 后台 | 装柜封柜 | 柜号、锁码文本、装柜节点、五类多图证据和门禁复核 | P0 | P3-PICK-01 |
| P3-LOAD-02 | PDA/Admin/服务端 | 柜封拍照上传 | PDA 现场拍摄、Admin 人工上传、五类证据多图追加、真实文件上传、预览、失败重试、作废和提交 | P0 | P3-LOAD-01、文件能力可用 |
2026-07-31 10:43:30 +08:00
| P3-CUS-01 | 客户端 | 报关资料 | 清单、上传、补件、版本和进度查看 | P0 | 文件能力可用 |
2026-08-10 11:29:00 +08:00
| P3-CLEAR-01 | 后台 | 报关协同 | 人工审核、补件、线下提交代理、人工上传放行回执和版本审计 | P0 | P3-CUS-01 |
2026-08-19 16:45:47 +08:00
| P3-CUS-02 | 客户端 | 回执及出仓前船期资料 | 回执下载、订舱预计开船/到港快照和变更时间线;出仓后查询展示归四期 | P0 | P3-BOOK-01、P3-CLEAR-01 |
2026-08-10 11:29:00 +08:00
| P3-GATE-01 | 服务端 | 装柜完成门禁 | 校验订舱、拖车、报关放行回执、PDA 拣货、五类证据和锁码文本,幂等推进 `LOADED`;`LOADED` 后仅线下人工处理 | P0 | P3-PICK-01、P3-LOAD-01、P3-LOAD-02 |
2026-08-10 09:11:59 +08:00
| P3-OVERSEAS-01 | 服务端 | 海外仓派送完成回传 | 只接受海外仓可信回传,校验身份、签名、时间窗、防重放和幂等,推进 `DELIVERED` | P1/后续阶段 | 海外仓契约 |
2026-07-31 10:43:30 +08:00
| P3-NOTIFY-01 | 公共 | 通知异常 | 站内通知、阻塞、责任人、时限和失败补偿 | P1 | 核心流程完成 |
| P3-TEST-01 | 公共 | 自动化测试 | 权限、排柜、幂等、并发、文件、门禁和状态测试 | P0 | 所有 P0 模块 |
2026-08-10 12:46:16 +08:00
| P3-DEVICE-01 | PDA | 发布与真机验收 | 扫描头、弱网、性能、电量、前后台和在线更新验证 | P0 | 已确定的 uni-app 发布安排 |
2026-07-31 10:43:30 +08:00
| P3-REL-01 | 公共 | 发布验收 | 初始化规则、迁移、联调、演练、灰度和生产发布 | P0 | P3-TEST-01、P3-DEVICE-01 |
## 十、测试与验收重点
- 系统排柜符合已确认的业务规则;如启用建议解释、人工调整、版本或原因记录,对应结果可追溯。
- 多订单拼柜和一单多柜的件数、重量、体积能与二期实测版本对账。
2026-08-10 09:11:59 +08:00
- PDA 重复扫码、超量、错货和重复提交不产生重复扣减或完成事件;断网时禁止正式作业和提交。
- 本地草稿在应用重启后可由同一作业员、任务和柜次恢复,不能被其他账号继承;批量提交成功后清理。
- 柜封照片能够在 PDA 现场拍摄或由 Admin 受权上传;同类型可多张追加,失败重试不重复创建同一记录,错图只作废不硬删除。
- 未完成 PDA 拣货、缺少任意一张必传照片或锁码文本时不能进入 `LOADED`/装柜完成。
2026-07-31 10:43:30 +08:00
- 企业 A 无法查看、上传或下载企业 B 的报关资料和回执。
- 报关资料替换、退回、补件、提交和回执均能追溯到明确版本。
2026-08-19 16:45:47 +08:00
- 订舱与出仓前船期资料变更保留历史;出仓后船节点查询结果的来源、更新时间和过期验收归四期。
2026-08-10 09:11:59 +08:00
- 确认装柜完成的并发请求只产生一次状态变化和一次有效审计事件。
2026-07-31 10:43:30 +08:00
- 管理后台覆盖加载、空态、失败、无权限和数据冲突;PDA 覆盖弱网、前后台切换和硬件扫描。
2026-08-10 09:11:59 +08:00
- 三期验收基线为 `LOADED`/装柜完成;`DELIVERED`/派送完成只由海外仓回传推进,不属于国内三期验收条件。
2026-07-31 10:43:30 +08:00
2026-08-10 11:29:00 +08:00
## 十一、启动前技术澄清事项
验收任务拆分、真实 HTTP 覆盖和未确认项解除条件统一见[三期验收任务拆分与待确认清单](三期验收任务拆分与待确认清单.md)。当前已确认的 PDA/证据规则已进入 `phase3-container-loading.mjs`、`phase3-loading.mjs`;未确认规则不得标记为三期完成。
2026-07-31 10:43:30 +08:00
| 编号 | 待确认问题 | 当前建议 |
|---|---|---|
2026-08-10 11:29:00 +08:00
| P3-Q1 | 智能排柜需考虑哪些硬约束和软偏好? | 已确认:装载率上限 110%;税率高排前做可配置排序,规则版本化 |
| P3-Q2 | 是否存在拼柜、一单多柜和拆批出仓? | 已确认:父订单→子订单→柜次;已装载/未装载数量自动形成子订单 |
| P3-Q3 | “预约托车”是否统一为“预约拖车”? | 已确认统一使用“预约拖车” |
2026-08-10 12:46:16 +08:00
| P3-Q4 | PDA 开发、扫描与发布方式是什么? | 已确认采用 uni-app 开发并支持在线更新;Android 广播接入已完成,设备型号不构成门禁 |
2026-08-10 12:24:02 +08:00
| P3-Q5 | 拣货是否依赖实时库存和库位可用量? | 已确认依赖二期实时库存、当前位置和可用量接口;不扩展完整 WMS |
| P3-Q6 | 柜封照片有哪些必传角度和留存期限? | 已确认:五类各至少 1 张、同类型可多张追加、后台操作员/理货员可上传、拣货员仅 PDA 现场采集、错图作废、无限期保留、客户不可见 |
2026-08-10 11:29:00 +08:00
| P3-Q7 | 报关资料清单是否按国家、渠道和货物类型变化? | 已确认首版人工维护清单和版本,不接自动报关 |
| P3-Q8 | 报关代理如何接收资料和返回回执? | 已确认线下提交,授权人员人工上传回执 |
2026-08-19 16:45:47 +08:00
| P3-Q9 | 原型中的“港务信息”具体指船期、港口作业状态还是两者,包含哪些字段,由谁维护? | 当前更正:三期只维护订舱与出仓前船期资料;六家船公司及出仓后节点查询整体归四期 |
2026-08-10 11:29:00 +08:00
| P3-Q10 | 进入装柜完成后发现错误如何处理? | 已确认线下人工处理,本期不提供在线冲正 |
| P3-Q11 | 九个动作中哪些是强制前置,哪些允许并行? | 已确认订舱、拖车、报关放行、PDA 拣货和五类证据为 `LOADED` 硬门禁;单柜次单作业员 |
| P3-Q12 | “报关回执”具体包含哪些类型,海关放行是否为国内出仓硬门禁? | 已确认有效放行回执为 `LOADED` 硬门禁,首版人工上传 |
2026-08-10 09:11:59 +08:00
| P3-Q13 | 三期终点以什么状态为准? | 已确认为 `LOADED`/装柜完成;`DELIVERED`/派送完成由海外仓回传,不属于国内三期 |
2026-07-31 10:43:30 +08:00
## 十二、建议实施顺序
2026-08-10 12:46:16 +08:00
1. 固化已确认业务规则,按 uni-app 在线更新安排推进 PDA 开发、发布和真机验收。
2026-08-19 16:45:47 +08:00
2. 统一订单、柜次、订舱、拖车、拣货、报关和出仓前船期资料的稳定编码与关联契约;出仓后查询按四期衔接。
2026-07-31 10:43:30 +08:00
3. 先实现服务端权限、状态、门禁、幂等、并发和审计,再接各端页面。
4. 完成管理后台的出仓编排,再接 PDA 现场执行和客户资料协同。
2026-08-10 11:29:00 +08:00
5. 使用脱敏数据演练拼柜、一单多柜、未装数量生成子订单、错拣、补件和改船;`LOADED` 后不演练在线冲正。
2026-07-31 10:43:30 +08:00
6. 在真实 PDA 和代表性仓库网络环境中完成联调、验收和灰度发布。