Files
ttx-project-doc/集波/WMS出库流程_流程文档.md

7.6 KiB

WMS 出库流程文档

来源:C:\work\gitlab\shopee\ttx-project-doc\集波\WMS出库流程.pdf

说明:本稿为 PDF 独立整理版,主要覆盖 vendor 交互视角的出库流程。PDF 共 6 页,图示较多、可抽取文字较少,因此以下内容以“PDF补充 / 待代码确认 / 当前实现”方式标注边界,避免误写成 WaveRuleMatchService 已完全落地。

名词口径:vendor 是当前项目 / WES-WMS 实现侧,Shopee 是需要调用或接收交互的外部接口方。


1. 文档范围

这份文档只描述 PDF 中出现的 WMS 出库流程,不替代现有集波接口文档,也不展开 WaveRuleMatchService 的规则匹配细节。

重点关注三类边界:

关注点 说明
任务创建 调用 Shopee 外部接口还是当前项目 vendor 侧创建任务
任务拆分 WaveID、PickingTask、SubPickingTask 的关系
接口交互 WMS-api、WMS-automation、iWMS、Shopee 外部接口之间的任务流转

2. 术语表

术语 PDF补充 待代码确认 / 当前实现
WMS-api WMS 对外接口层 对应具体接口契约时再落到 API 文档
WMS-automation 自动化流程层 属任务分流和自动化作业链路
iWMS WMS 内部作业系统 / 核心执行层 PDF 中作为内部系统名出现
vendor 当前项目 / WES-WMS 实现侧 负责接收任务、创建任务、执行任务
WaveID 约等于 WMS 拣货任务 一次只生成一个拣货任务
PickingTask 通常对应多个业务订单 当前项目 vendor 侧不需要感知多拣货员层
SubPickingTask 任务过大或跨区时的拆分单元 一个销售出库波次 ID 对应一个 SubPickingTask
Prehit 预命中自动化区 PDF 术语,具体落点待进一步确认
RTS RTS 业务线 需求池模式主要走当前项目 vendor 侧创建任务链路
MTO MTO 业务线 同时存在需求池与非需求池两类流程

3. 总体链路

flowchart TB
  A["WMS 出库流程 PDF"]
  B["调用 Shopee 外部接口"]
  C["当前项目 vendor 侧创建任务"]
  A --> B
  A --> C
  B --> B1["销售出库自动化 SubPickingTask"]
  B --> B2["MTO 非需求池模式"]
  C --> C1["销售出库自动化 Order"]
  C --> C2["RTS 需求池模式"]
  C --> C3["MTO 需求池模式"]

PDF 的主线可以拆成两类:

类别 PDF补充 当前实现/边界
调用 Shopee 外部接口 销售出库自动化 SubPickingTask、MTO 非需求池模式 属于与 Shopee 外部接口交互后当前项目 vendor 侧承接执行的链路,不是当前集波匹单本身
当前项目 vendor 侧创建任务 销售出库自动化 Order、RTS 需求池模式、MTO 需求池模式 属于当前项目 vendor 侧按需求/订单创建和执行任务的链路

4. 五类出库流程

4.1 销售出库自动化 SubPickingTask

内容
创建源 Shopee
PDF补充 RunWave 生成的拣货任务进入自动化区后,会拆成 normal 拣货任务和自动化拣货任务;自动化部分下发到当前项目 vendor 侧
任务关系 一个销售出库波次 ID 对应一个 SubPickingTask
执行方式 当前项目 vendor 侧执行 WMS 创建的拣货任务,不能混合拣货
当前实现 WaveRuleMatchService 只存在上下游关系,不属于该服务直接创建任务的职责

4.2 销售出库自动化 Order

内容
创建源 vendor
PDF补充 订单预命中自动化区时,由当前项目 vendor 侧接收/组织任务
执行方式 当前项目 vendor 侧合并多个订单后,创建并执行混合拣货任务
任务边界 属当前项目 vendor 侧创建任务链路
当前实现 需要看 wms-api / edi-shopee 对 Shopee 外部接口的链路,不应写成当前集波服务已完成

4.3 RTS 需求池模式

内容
创建源 vendor
PDF补充 RTS 需求到自动化区后,由当前项目 vendor 侧承接需求
执行方式 当前项目 vendor 侧按需求创建并执行任务
任务边界 属需求池链路
当前实现 当前集波服务只按 ticketType 做入口分流和匹单,不负责完整的 vendor 侧任务创建

4.4 MTO 需求池模式

内容
创建源 vendor
PDF补充 MTO 需求到自动化区后,由当前项目 vendor 侧承接需求
执行方式 当前项目 vendor 侧按需求创建并执行任务
任务边界 属需求池链路
当前实现 与 RTS 一样,属于下游任务执行链路

4.5 MTO 非需求池模式

内容
创建源 Shopee
PDF补充 库存占用到自动化库位后,拆分 PickingTask 并下发到当前项目 vendor 侧
执行方式 不允许混合拣货
任务关系 更接近与 Shopee 外部接口交互后由当前项目 vendor 侧执行
当前实现 与销售自动化 SubPickingTask 类似,属于任务下发与执行链路,不是当前集波匹单核心

5. 关键流程要点

5.1 任务粒度

PDF 的核心口径是:

  • WaveID 基本等于 WMS 拣货任务。
  • 一次只生成一个拣货任务。
  • PickingTask 可以对应多个业务订单。
  • PickingTask 可能由多个拣货员执行,但当前项目 vendor 侧不需要感知多拣货员层。
  • SubPickingTask 用于任务过大或跨区拆分。

5.2 混拣限制

PDF 强调两类限制:

  • 当前项目 vendor 侧执行 WMS 创建的任务时,不能混合拣货。
  • 自动化区拆分出来的任务,按既定任务边界执行,不在当前项目 vendor 侧再做混合。

5.3 任务分层

PDF 可理解为两层:

层级 说明
Shopee 外部接口交互层 负责调用或接收 WaveID / PickingTask / SubPickingTask 相关任务
当前项目 vendor 执行层 负责接收任务、创建任务、执行任务、回传状态

6. 与当前集波服务的关系

这部分只做边界说明,避免把 PDF 的完整 vendor 流程写进 WaveRuleMatchService 本体。

范围 PDF补充 当前实现
集波入口 先匹单、再分流、再生成后续任务 WaveRuleMatchService 负责入口与规则匹配
订单/波次分流 按销售、RTS、MTO 等业务线区分 当前服务已按 pickTypeticketTypewaveType 等规则做分流
vendor 任务创建 当前项目 vendor 侧创建/执行任务,并按接口要求与 Shopee 交互 当前服务不负责完整的 vendor 侧任务拆分和执行
取消/缺货/补单 PDF 体现为上下游任务流转的一部分 当前服务只覆盖自己能控制的集波和补缺口边界

当前实现

WaveRuleMatchService 现阶段更适合归类为“集波入口与规则匹配服务”,而不是“vendor 出库任务全链路服务”。

待代码确认

PDF 中涉及 create_picking_taskbind_picking_taskcomplete_picking_taskcancel_* 等任务生命周期接口时,应落到对应 wms-api / edi-shopee 对 Shopee 的接口文档,不应在本流程文档里写成该服务已实现。


7. 结论

这份 PDF 主要补充的是“任务如何被拆分,并由当前项目 vendor 侧执行或调用 Shopee 接口”,而不是“集波规则如何匹单”。

因此,最合适的归档方式是:

  • 本文件作为 WMS出库流程.pdf 的独立流程文档。
  • 现有 WaveRuleMatchService 文档继续只描述集波服务自身。
  • API 文档只保留接口契约和入参出参,不混写完整 vendor 任务执行细节。