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

23 KiB

虫虫出海三期开发规划:国内出仓

创建日期:2026-07-28
状态:范围规划中
流程依据:出仓流程中的头程物流“03 出仓”;当前以图片中的“完成国内出仓,等待装船”为阶段终点
前置阶段:一期文档 · 二期文档

一、三期目标

三期承接二期“货物完成到仓、实测、差异处理和指定库位”的结果,将已受理货物转化为可执行、可追踪、可审计的国内出仓任务。

流程覆盖九个动作:

智能排柜 → 订舱 → 预约拖车
    ↓
PDA 拣货 → 装柜并上传货柜/铅封照片
    ↓
客户上传报关资料 → 平台整理提交报关代理 → 上传回执供客户下载
    ↓
查询或维护预计开船、到港等港务/船期信息
    ↓
完成国内出仓,等待装船

三期完成标准不是“订单改成已出仓”,而是每个柜次能够回答:装了哪些订单和货物、依据什么方案排柜、订了什么舱、谁承运拖车、仓库实际拣装了什么、柜号与铅封是什么、报关资料和回执在哪里、实际何时出仓、当前等待哪一班船。

原型动作覆盖

原型动作 规划模块 开发任务 覆盖结果
1. 智能排柜 智能排柜 P3-PLAN-01、P3-PLAN-02 已覆盖,规则待 P3-Q1 确认
2. 订舱 订舱与港务/船期信息 P3-BOOK-01 已覆盖
3. 预约托车 预约拖车 P3-TRUCK-01 已覆盖,用词待 P3-Q3 确认
4. PDA 拣货 PDA 拣货与复核 P3-PICK-01、P3-PDA-01、P3-PDA-02 已覆盖
5. 拍货柜及铅封照上传 装柜及柜封证据 P3-LOAD-01、P3-LOAD-02 已补充现场拍照上传任务,清单待 P3-Q6 确认
6. 客户上传报关资料 报关资料协同 P3-CUS-01 已覆盖
7. 整理给到报关代理报关 报关资料协同 P3-CLEAR-01 已覆盖
8. 回执上传到系统供客户下载 报关回执与客户下载 P3-CLEAR-01、P3-CUS-02 已覆盖,回执类型待 P3-Q12 确认
9. 查港务信息(预计开船、到港等) 订舱与港务/船期信息 P3-PORT-01、P3-CUS-02 已补充独立查询任务,范围和数据源待 P3-Q9 确认

二、阶段边界

纳入三期

  • 出仓单、柜次、智能排柜建议、人工调整和版本确认。
  • 订舱申请、舱位结果,以及原型所述预计开船、到港等港务/船期信息;具体字段和数据源待确认。
  • 预约拖车、车辆司机、到仓装柜和离仓记录。
  • PDA 任务领取、扫码拣货、部分拣货、异常、复核和幂等提交。
  • 装柜、柜号、铅封号及货柜/铅封照片证据。
  • 客户上传报关资料、平台审核补件、整理并提交报关代理。
  • 报关回执上传、版本、客户可见范围和授权下载。
  • 国内出仓门禁、确认、冲正、时间线和站内通知。

明确不纳入三期

  • 入库、上架、实时库存、移库、盘点、冻结、补货和完整 WMS。
  • 港区闸口、车队、船公司、海关单一窗口的正式自动化接口。
  • GPS 实时跟车、电子铅封、称重设备、摄像头 OCR 和 IoT 自动采集。
  • 自动报关、关税计算、退税、完整清关业务和自动单证识别。
  • 海上运输、海外清关、目的港提柜、海外仓入库和末端派送。
  • 无人工确认的全自动排柜、自动订舱和不可逆业务操作。

三、参与角色与数据边界

角色 数据范围 主要操作
企业订单操作员 当前企业订单与出仓单 上传/补充报关资料、查看出仓和港务/船期进度、下载回执
平台运营 授权客户、订单和出仓单 创建出仓单、确认排柜、订舱、维护港务/船期信息和协调异常
仓库主管 被授权的平台收货仓 分配拣货任务、复核差异、确认装柜和出仓条件
仓库作业员 分配给本人或本仓的任务 PDA 扫码、数量确认、异常上报和任务提交
拖车调度员 授权出仓单与车辆范围 预约车辆、维护司机/车牌、到仓和离仓节点
报关专员 授权客户、订单和报关批次 审核、退回、整理、提交资料并上传回执
平台管理员 平台授权范围 维护权限、规则、服务商和高风险冲正

服务端必须依据登录身份确定企业、仓库、客户和数据范围。前端传入的订单 ID、出仓单 ID、仓库 ID、客户 ID、作业员 ID 或报关批次 ID 不能单独作为授权依据。

四、流程与状态设计

原型以 1 至 9 编号表达动作顺序,但尚未说明哪些是强制前置、哪些允许并行。当前按原型顺序规划业务节点,同时使用主状态和子流程状态保留后续调整空间;在 P3-Q11 确认前,不把并行关系写成固定业务规则。

1. 出仓单主状态

稳定编码 中文名称 含义
DRAFT 草稿 出仓单已创建,排柜方案尚未确认
PLANNING 排柜中 系统生成建议或人工调整方案
PREPARING 出仓准备中 按已确认的依赖关系处理订舱、拖车、拣货和报关
READY_TO_DISPATCH 待出仓 必要子流程和证据已满足
DISPATCHED 已出仓 货柜已离开国内仓库
WAITING_FOR_LOADING 等待装船 国内出仓已完成,等待对应船班装船
CANCELLED 已取消 按规则取消并保留原因与历史
BLOCKED 已阻塞 存在必须人工解除的关键异常

2. 子流程状态

  • 订舱:待订舱、订舱中、已订舱、订舱失败、已取消。
  • 拖车:待预约、已预约、车辆已到仓、装柜中、已离仓、改约、已取消。
  • 拣货:待分配、待拣货、拣货中、待复核、已完成、异常挂起、已取消。
  • 报关:资料待上传、资料待审核、待补件、待提交、已提交代理、回执待上传、回执已上传、已退回、已取消。海关放行如需管理,作为待确认的回执类型或后续状态,不默认作为三期出仓门禁。
  • 港务/船期:待维护、已确认、信息变更、已开船;“已开船”属于三期之后的运输阶段,不是当前三期完成条件。

主状态由服务端根据已确认的必要子流程推进。客户端不得通过传任意目标状态跳过拣货复核、柜封证据或已配置的出仓门禁。

五、业务模块

1. 出仓单

  • 从已上架且允许出仓的头程订单创建一张或多张出仓单。
  • 支持一张订单分多个柜次,也支持多个订单拼柜,具体开放范围由产品确认。
  • 保存订单、客户、仓库、货物、往来单位和计量数据快照。
  • 维护计划出仓时间、优先级、负责人、异常和整体时间线。
  • 重复创建和确认使用幂等键,并通过版本字段防止并发覆盖。

2. 智能排柜

  • 原型仅明确“智能排柜”,具体硬约束、软偏好、输入数据和输出结果以 P3-Q1 的业务规则表为准。
  • 柜型容量、重量、体积、箱数、同票/混票、不可混装、装载顺序和利用率暂列为候选能力,不作为未经确认的固定验收项。
  • 当前建议首版采用“系统建议、人工确认”;是否允许调整、是否强制填写原因由排柜规则确认。
  • 建议排柜方案保留版本、规则版本、输入快照、操作者和前后差异,以支持追溯。
  • 未确认方案不得生成正式拣货任务或执行不可逆状态变化。

3. 订舱与港务/船期信息

  • 原型明确需要查询预计开船、到港等港务信息;“港务信息”的准确业务含义、字段范围和归属以 P3-Q9 为准。
  • 船公司/订舱代理、航线、订舱号、船名航次、起运港、目的港、截单、截关、截港、ETD 和 ETA 暂列为候选字段。
  • 订舱失败、改船、甩柜、船期延误和取消暂列为候选异常场景,按业务确认结果实现。
  • 港务信息查询与人工维护分开设计:三期至少支持查询系统内已维护的信息,并记录查询条件、数据来源和更新时间;如后续确认可靠外部数据源,再通过预留适配边界接入,不在三期默认承诺正式接口。
  • 客户查看预计开船、到港等信息时展示数据来源和最近更新时间,避免把过期结果显示为实时信息。
  • 当前建议首版由平台人工维护,外部港务或船期接口只预留适配边界。
  • 建议关键信息变更保留旧值、新值、原因,并向授权用户发送站内提醒。

4. 预约拖车

  • 从往来单位选择已启用拖车服务商,维护车牌、司机、电话和预约时间窗。
  • 记录提柜、到仓、装柜、离仓、还柜节点和交接说明。
  • 支持改约、取消、迟到、未到、车辆更换和柜号变更。
  • 司机手机号等个人信息按最小权限展示,不进入不必要的客户响应。
  • 图片原文“预约托车”建议统一为行业常用的“预约拖车”,需产品最终确认。

5. PDA 拣货与复核

  • 按已确认排柜方案生成仓库、柜次、订单和货物明细级任务。
  • PDA 支持登录、领取、箱号选择、扫码、数量确认、部分拣货、跳拣、撤销和异常上报。
  • 服务端校验任务归属、状态、重复扫码、超量、错货和重复提交。
  • 拣货完成后必须复核;差异未处理前不得进入待出仓。
  • 扫描器、声音、震动、网络和缓存通过设备适配层实现,不直接绑定单一厂商 SDK。

6. 装柜及柜封证据

  • 维护柜号、铅封号、装柜开始/完成时间、操作人和异常说明。
  • 支持按可配置清单上传货柜及铅封照片;柜体、开门空柜、装柜过程、满柜、关门和铅封照仅为候选类型,必传类型、角度和数量以 P3-Q6 为准。
  • 现场执行端支持直接拍照或从相册选择后上传,上传前显示柜次、柜号、铅封号和照片类型,防止证据关联错误。
  • 支持上传进度、失败重试、重复照片提示和提交前预览;弱网下不得因重复点击产生多份有效证据。
  • 照片记录文件哈希、上传人、上传时间、关联柜次和客户可见范围。
  • 铅封号重复、已确认的必传照片缺失或复核未通过时禁止确认出仓。
  • 修改柜号或铅封号需要二次确认、原因和完整审计。

7. 报关资料协同

  • 客户按资料清单上传发票、箱单、合同、委托书和申报要素等文件。
  • 资料清单可按国家/地区、渠道和货物类型配置,并保存订单使用的清单版本。
  • 平台报关专员审核完整性,可退回具体文件并记录补件原因和时限。
  • 提交报关代理时生成提交批次,冻结该批次关联的文件版本。
  • 首版采用系统内整理加线下提交,不直接对接海关单一窗口。

8. 报关回执与客户下载

  • 上传代理回传的报关回执并关联提交批次;回执类型可区分接收、申报、退单、查验或放行等,实际类型及出仓门禁以 P3-Q12 为准。
  • 替换文件产生新版本,不覆盖原记录;退单或补件形成明确任务。
  • 客户只能下载本企业且标记为客户可见的回执。
  • 文件下载使用授权地址并记录审计,不暴露内部存储路径。

9. 国内出仓确认

  • 服务端校验排柜已确认、拣货复核完成、已确认的柜封证据齐全、车辆已离仓,以及已配置的报关回执和港务/船期信息门禁。
  • 当前不默认要求“海关已放行”后才能确认国内出仓;是否需要放行或其他特定回执作为门禁,以 P3-Q12 的业务结论为准。
  • 授权人员执行确认出仓,记录实际出仓时间、车辆、柜号、铅封号和说明。
  • 确认操作具备幂等、权限、版本和并发校验,重复请求只产生一次有效事件。
  • 完成后进入“等待装船”,企业客户可查看允许公开的节点、港务/船期信息和回执。
  • 出仓后发现错误不得直接回退数据库状态,必须使用授权冲正动作和反向审计事件。

六、核心数据对象

数据对象 关键内容
出仓单 订单、企业、仓库、计划/实际时间、主状态、负责人和版本
排柜方案 经确认的规则版本、输入快照、柜次、货物分配、规则计算结果和确认记录
柜次 柜型、柜号、铅封号、装载顺序、重量、体积和关联订单
订舱记录 船公司/代理、订舱号、船名航次、港口、舱位和异常
港务/船期节点 经确认的信息字段、变更历史和来源;候选字段包括截单、截关、截港、ETD 和 ETA
拖车预约 服务商、车辆、司机、预约时间窗、到离仓节点和异常
拣货任务 柜次、货物明细、分配人、作业员、扫描、数量、差异和复核
装柜证据 柜号、铅封号、照片类型、文件、上传人、时间和可见范围
报关批次 资料清单版本、文件版本、补件、提交代理和回执
出仓时间线 事件、前后状态、操作者、发生时间、说明和请求关联 ID

基础资料引用必须同时保存稳定 ID 和必要快照。订单、客户、仓库、往来单位、港务/船期信息或文件后续修改时,不得改变历史出仓记录。

七、应用范围

管理后台 apps/admin-web

  • 出仓单列表、筛选、详情、异常和状态操作。
  • 按已确认的排柜规则提供建议、冲突展示、人工调整、版本对比和确认。
  • 订舱、船期、拖车预约、装柜、柜号、铅封和照片。
  • 报关资料审核、补件、提交批次、回执上传和客户可见控制。
  • 权限至少拆分为查看、排柜、订舱、拖车、仓内复核、报关、确认出仓和冲正。

企业客户端 apps/client-web

  • 查看本企业出仓单、柜次和允许公开的进度时间线。
  • 上传、补充和查看报关资料及处理结果。
  • 下载客户可见的报关回执。
  • 查看预计开船、到港和船期变更,不暴露内部成本、供应商敏感信息和内部备注。

PDA apps/pda-uniapp

  • 仓库人员登录、任务领取、箱号选择、扫码拣货和数量确认。
  • 部分拣货、跳拣、撤销、异常上报、待复核和完成提交。
  • 按授权柜次拍摄或选择货柜、铅封照片,确认关联信息后上传,并处理进度、失败重试和重复提交。
  • 弱网、断网、前后台切换、重复提交和换班清理。
  • 真实设备、扫描头和发布方式确认前,不绑定厂商 SDK。

服务端 services/api

  • 最终保证身份、租户、仓库数据范围、权限、状态、门禁、幂等、并发和审计。
  • 管理出仓、排柜、订舱、拖车、拣货、装柜、报关和时间线的事务边界。
  • 文件上传校验类型、大小、内容和权限;使用不可预测标识和授权下载。
  • 为船期、车队、海关等外部接口预留适配层,但三期不承诺正式对接。

八、建议里程碑

里程碑 交付目标 进入条件
P3-M0 规则与设备锁定 流程、角色、状态、排柜规则、PDA、文件和验收确认 二期到仓契约稳定
P3-M1 出仓单与排柜 出仓单可创建,并按确认范围提供排柜建议、人工确认与追溯 排柜规则确认
P3-M2 订舱与拖车 订舱、船期、拖车预约和异常处理可用 服务商与权限可用
P3-M3 PDA 拣货 任务生成、扫码、差异、复核和幂等提交可用 目标设备与仓库流程确认
P3-M4 装柜封柜 柜号、铅封和照片证据完整,门禁生效 文件能力与必传清单确认
P3-M5 报关协同 客户上传、平台审核、补件、提交和回执下载闭环 报关资料清单确认
P3-M6 国内出仓 必要子流程满足后可确认出仓并进入等待装船 出仓门禁和冲正规则确认
P3-M7 联调验收 跨端、设备、安全、弱网、性能、迁移和发布完成 P3-M1 至 P3-M6 验收通过

九、建议开发任务

ID 端 模块 交付内容 优先级 依赖
P3-BASE-01 公共 出仓契约 主/子状态、权限、事件、错误码、门禁和快照模型 P0 二期到仓契约
P3-BASE-02 公共 数据模型 出仓单、排柜、柜次、订舱、拖车、拣货、装柜、报关和时间线 P0 P3-BASE-01
P3-DSP-01 后台 出仓单 列表、筛选、创建、详情、异常和取消 P0 P3-BASE-02
P3-PLAN-01 公共 排柜规则 按已确认规则实现输入、约束、偏好和冲突判断 P0 P3-BASE-02、P3-Q1
P3-PLAN-02 后台 智能排柜 按已确认范围实现建议、人工确认和追溯 P0 P3-PLAN-01
P3-BOOK-01 后台 订舱 订舱和经确认的船名航次、港口、变更及异常 P0 P3-DSP-01、P3-Q9
P3-PORT-01 后台/服务端 港务信息查询 查询系统内预计开船、到港等信息,记录来源和更新时间,并提供授权人工维护兜底 P0 P3-BOOK-01、P3-Q9
P3-TRUCK-01 后台 拖车预约 服务商、车辆司机、时间窗、到离仓和异常 P0 P3-DSP-01
P3-PICK-01 公共 拣货任务 按排柜方案生成任务、明细、差异和复核规则 P0 P3-PLAN-02
P3-PDA-01 PDA 扫码拣货 领取、扫描、部分拣货、跳拣、撤销和异常 P0 P3-PICK-01
P3-PDA-02 PDA/服务端 弱网幂等 重试、去重、冲突、换班和设备缓存清理 P0 P3-PDA-01
P3-LOAD-01 后台 装柜封柜 柜号、铅封号、装柜节点、可配置照片清单和复核 P0 P3-PICK-01、P3-Q6
P3-LOAD-02 PDA/服务端 柜封拍照上传 现场拍照/相册选择、关联确认、进度、预览、失败重试、去重和提交 P0 P3-LOAD-01、文件能力可用
P3-CUS-01 客户端 报关资料 清单、上传、补件、版本和进度查看 P0 文件能力可用
P3-CLEAR-01 后台 报关协同 审核、退回、提交代理、批次、回执和可见范围 P0 P3-CUS-01
P3-CUS-02 客户端 回执及港务信息 回执下载、预计开船/到港信息、数据来源、更新时间和变更时间线 P0 P3-PORT-01、P3-CLEAR-01
P3-GATE-01 服务端 出仓门禁 按确认规则校验必要子流程、确认出仓、等待装船和冲正 P0 P3-PORT-01、P3-TRUCK-01、P3-LOAD-01、P3-LOAD-02、P3-CLEAR-01、P3-Q11、P3-Q12
P3-NOTIFY-01 公共 通知异常 站内通知、阻塞、责任人、时限和失败补偿 P1 核心流程完成
P3-TEST-01 公共 自动化测试 权限、排柜、幂等、并发、文件、门禁和状态测试 P0 所有 P0 模块
P3-DEVICE-01 PDA 真机验收 扫描头、弱网、性能、电量、前后台和发布验证 P0 目标设备确认
P3-REL-01 公共 发布验收 初始化规则、迁移、联调、演练、灰度和生产发布 P0 P3-TEST-01、P3-DEVICE-01

十、测试与验收重点

  • 系统排柜符合已确认的业务规则;如启用建议解释、人工调整、版本或原因记录,对应结果可追溯。
  • 多订单拼柜和一单多柜的件数、重量、体积能与二期实测版本对账。
  • PDA 重复扫码、超量、错货、断网重试和重复提交不产生重复扣减或完成事件。
  • 柜封照片能够在现场完成拍摄、关联确认和上传;失败重试或重复提交不产生多份有效证据。
  • 未完成复核、缺少已确认的必传柜封证据或存在关键阻塞时不能确认出仓。
  • 企业 A 无法查看、上传或下载企业 B 的报关资料和回执。
  • 报关资料替换、退回、补件、提交和回执均能追溯到明确版本。
  • 港务/船期查询结果展示来源和更新时间;变更保留历史并通知授权用户,旧信息不被无痕覆盖。
  • 确认出仓的并发请求只产生一次状态变化和一次有效审计事件。
  • 管理后台覆盖加载、空态、失败、无权限和数据冲突;PDA 覆盖弱网、前后台切换和硬件扫描。
  • 当前三期验收基线为“完成国内出仓,等待装船”,不以海上运输或海外签收作为完成条件;最终以 P3-Q13 确认结果为准。

十一、启动前待确认事项

编号 待确认问题 当前建议
P3-Q1 智能排柜需考虑哪些硬约束和软偏好? 业务先提供可执行规则表;建议必须可解释且人工确认
P3-Q2 是否存在拼柜、一单多柜和拆批出仓? 数据模型全部支持,页面按实际高频场景逐步开放
P3-Q3 “预约托车”是否统一为“预约拖车”? 建议统一使用行业常用的“拖车”,并确认业务实际含义
P3-Q4 目标 PDA 型号、系统和扫描头接入方式是什么? 设备确认前保持适配层,不绑定厂商 SDK
P3-Q5 拣货是否依赖实时库存和库位可用量? 若需要,完整 WMS 前置范围会显著扩大,必须单独评估
P3-Q6 柜封照片有哪些必传角度和留存期限? 启动前由仓库、业务和合规共同锁定
P3-Q7 报关资料清单是否按国家、渠道和货物类型变化? 建议配置化,并保留下单使用的清单版本
P3-Q8 报关代理如何接收资料和返回回执? 首版系统内整理加线下提交,正式接口后续评估
P3-Q9 原型中的“港务信息”具体指船期、港口作业状态还是两者,包含哪些字段,由谁维护? 先确认业务词义和字段;首版建议平台人工维护并审计,外部接口仅预留适配层
P3-Q10 确认出仓后发现错误如何处理? 不直接回退状态,使用授权冲正动作和反向审计事件
P3-Q11 九个动作中哪些是强制前置,哪些允许并行? 确认前按原型编号顺序规划,不承诺固定并行关系
P3-Q12 “报关回执”具体包含哪些类型,海关放行是否为国内出仓硬门禁? 当前不默认以放行为门禁;由业务明确接收、申报、退单、查验和放行的含义及门禁
P3-Q13 三期终点以“等待装船”还是“装船发运”为准? 当前以本期出仓图片的“完成国内出仓,等待装船”为基线,完整流程 SVG 的不同表述待产品确认

十二、建议实施顺序

  1. 锁定待确认事项、业务规则、目标设备和协作责任人。
  2. 统一出仓单、柜次、订舱、拖车、拣货、报关和港务/船期信息的稳定编码。
  3. 先实现服务端权限、状态、门禁、幂等、并发和审计,再接各端页面。
  4. 完成管理后台的出仓编排,再接 PDA 现场执行和客户资料协同。
  5. 使用脱敏数据演练拼柜、一单多柜、错拣、补件、改船和冲正。
  6. 在真实 PDA 和代表性仓库网络环境中完成联调、验收和灰度发布。