SN 单品库存链(轻量闭环)- 前端联调方案
涉及页面
- SN 码列表 / 单件在库查询页
- SN 单件详情页(在库 / 去向)
- 仓库入库、出库(登记 SN)操作页
- 物料主数据(SN 开关配置)
业务流程与数据带入
- 物料主数据 -> SN 开关:物料若启用「序列号管理」(
isSerialManaged),才允许该物料登记 SN 入库/出库。
- 入库登记 SN:用户扫码/手工录入
code,选择物料、仓库/库区/库位,调用 POST /mes/wm/sn/in-stock;后端先建 IN 库存事务再更新 SN 为「在库」并落库位。snCode 写入库存流水(mes_wm_transaction.sn_code)。
- 出库核销 SN:录入 SN 码与物料,调用
POST /mes/wm/sn/out-stock;后端以 SN 记录的库存位置建 OUT 事务,并把 SN 置「已出库」、清空库位。
- 单件查询:按
code 调 GET /mes/wm/sn/detail,返回 SN 在库状态、当前位置,以及最近一笔库存流水的类型/数量/业务单据/时间,用于核对去向。
API
| 方法 |
路径 |
说明 |
| POST |
/mes/wm/sn/in-stock |
SN 登记入库 |
| POST |
/mes/wm/sn/out-stock |
SN 出库核销 |
| GET |
/mes/wm/sn/detail?code= |
SN 单件详情(在库状态 + 最近流水去向) |
| GET |
/mes/wm/sn/in-stock-page |
单件在库分页查询(按状态/库位/物料/批次过滤) |
请求参数(in-stock):
| 参数 |
类型 |
必填 |
说明 |
| code |
String |
是 |
SN 码 |
| itemId |
Long |
是 |
物料编号(须启用序列号管理) |
| warehouseId |
Long |
是 |
仓库 |
| locationId |
Long |
是 |
库区 |
| areaId |
Long |
是 |
库位 |
| batchCode |
String |
否 |
批次号 |
| remark |
String |
否 |
备注 |
请求参数(out-stock):
| 参数 |
类型 |
必填 |
说明 |
| code |
String |
是 |
SN 码 |
| itemId |
Long |
是 |
物料编号 |
| remark |
String |
否 |
备注 |
响应字段(detail):
| 字段 |
类型 |
说明 |
| code / status |
String/Integer |
SN 码、状态(1 在库 / 2 已出库) |
| warehouseId/locationId/areaId |
Long |
在库位置(已出库为空) |
| lastTransactionType / TypeName |
Integer/String |
最近一笔流水方向(1 入库 / 2 出库) |
| lastQuantity / lastBizType / lastBizCode / lastTime |
decimal/Integer/String/datetime |
最近流水数量、业务类型、业务单据编码、时间 |
响应字段新增(物料相关 VO:MdmItemRespDTO / MdmItemSaveReqVO 等):
| 字段 |
类型 |
说明 |
| isSerialManaged |
Boolean |
是否序列号管理开关(create/read/update 均支持) |
字段展示规则
| 字段 |
展示位置 |
说明 |
| SN 码 / 物料 / 批次 |
列表、详情 |
单件标识 |
| 在库状态 |
列表、详情 |
在库 / 已出库 |
| 在库库位 |
列表、详情 |
仓库/库区/库位 |
| 最近去向 |
详情 |
最近流水对应的业务单据码 + 时间 |
业务规则说明
| 场景 |
规则 |
| 未启用序列号 |
物料未开 isSerialManaged 时登记 SN 报错 |
| 重复入库 |
已「在库」的 SN 再次入库报错,须先出库 |
| 出库前提 |
仅「在库」且位置非空可出库;SN 与物料不匹配 / 位置不符会报错 |
| 出入库流转 |
in-stock 建 IN 事务、out-stock 建 OUT 事务,均走库存流水并更新库存台账 |
| 商品 SN 溯源 |
通过 mes_wm_transaction.sn_code 关联流水,可按 SN 追溯历史进出 |
注意事项
- SN 登记/核销是「轻量」能力:单据行不拆成 SN 明细,SN 独立管理在
mes_wm_sn。
- 出库位置取自 SN 记录的库存位置,前端无需重复提交库位。
- 物料
isSerialManaged 开关在 MDM 物料主数据维护,MES 读取同一 mdm_item 数据。