在库存台账页面,用户可以选择一条库存记录,点击"移库"按钮,将该库存从当前库位移动到目标库位。移库操作会生成两条成对的库存事务流水(调拨移出 + 调拨移入),确保库存变动可追溯。
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /mes/wm/material-stock/move | 库存移库 |
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| materialStockId | Long | 是 | 库存记录ID |
| toWarehouseId | Long | 是 | 目标仓库ID |
| toLocationId | Long | 是 | 目标库区ID |
| toAreaId | Long | 是 | 目标库位ID |
| quantity | BigDecimal | 是 | 移库数量 |
| remark | String | 否 | 备注 |
请求示例:
{
"materialStockId": 1024,
"toWarehouseId": 1,
"toLocationId": 2,
"toAreaId": 3,
"quantity": 100,
"remark": "库位调整"
}
响应:
{
"code": 0,
"msg": "操作成功",
"data": true
}
表单字段:
| 字段 | 类型 | 必填 | 说明 |
|---|
| 物料编码 | 文本 | - | 只读,从选中行带入 |
| 物料名称 | 文本 | - | 只读,从选中行带入 |
| 批次号 | 文本 | - | 只读,从选中行带入 |
| 当前仓库 | 文本 | - | 只读,从选中行带入 |
| 当前库区 | 文本 | - | 只读,从选中行带入 |
| 当前库位 | 文本 | - | 只读,从选中行带入 |
| 当前数量 | 数字 | - | 只读,从选中行带入 |
| 目标仓库 | 下拉 | 是 | 选择目标仓库 |
| 目标库区 | 下拉 | 是 | 根据目标仓库联动 |
| 目标库位 | 下拉 | 是 | 根据目标库区联动 |
| 移库数量 | 数字 | 是 | 输入移库数量,不能超过当前数量 |
| 备注 | 文本 | 否 | 备注信息 |
联动逻辑:
提交逻辑:
| 场景 | 规则 |
|---|---|
| 库存数量校验 | 移库数量不能超过可用量(在库数量 - 冻结数量 - 占用量) |
| 冻结校验 | 库存记录已冻结时,不允许移库 |
| 库位混放规则 | 目标库位需满足混放规则(物料混放、批次混放) |
| 同库位移库 | 源库位和目标库位相同时,不允许移库 |
移库操作会生成两条成对的库存事务流水:
| 字段 | 调拨移出 | 调拨移入 |
|---|---|---|
| type | 3 (MOVE_OUT) | 4 (MOVE_IN) |
| bizType | 112 (WM_TRANSFER_OUT) | 113 (WM_TRANSFER_IN) |
| bizCode | MOVE_xxx | MOVE_xxx(相同) |
| quantity | 负数(如 -100) | 正数(如 100) |
| warehouseId | 源仓库 | 目标仓库 |
| locationId | 源库区 | 目标库区 |
| areaId | 源库位 | 目标库位 |
| relatedTransactionId | null | 移出事务ID |
mes:wm-material-stock:move 权限