| | |
| | | |
| | | ## 新增 API |
| | | |
| | | ### 库存调整(自定义出入库) |
| | | ### 自定义入库 |
| | | |
| | | | 方法 | 路径 | 说明 | |
| | | |------|------|------| |
| | | | POST | /mes/wm/material-stock/adjust | 库存调整(正数=入库,负数=出库) | |
| | | | POST | /mes/wm/material-stock/adjust-in | 自定义入库 | |
| | | |
| | | **请求参数:** |
| | | |
| | |
| | | | batchId | Long | 否 | 批次ID | |
| | | | batchCode | String | 否 | 批次号 | |
| | | | vendorId | Long | 否 | 供应商ID | |
| | | | quantity | BigDecimal | 是 | 调整数量(正数=入库,负数=出库) | |
| | | | reason | String | 否 | 调整原因 | |
| | | | quantity | BigDecimal | 是 | 入库数量(必须大于0) | |
| | | | reason | String | 否 | 入库原因 | |
| | | |
| | | **响应:** |
| | | |
| | | ```json |
| | | { |
| | | "code": 0, |
| | | "data": 123, // 库存记录ID |
| | | "msg": "操作成功" |
| | | } |
| | | ``` |
| | | |
| | | ### 自定义出库 |
| | | |
| | | | 方法 | 路径 | 说明 | |
| | | |------|------|------| |
| | | | POST | /mes/wm/material-stock/adjust-out | 自定义出库 | |
| | | |
| | | **请求参数:** |
| | | |
| | | | 参数 | 类型 | 必填 | 说明 | |
| | | |------|------|------|------| |
| | | | itemId | Long | 是 | 物料ID | |
| | | | warehouseId | Long | 是 | 仓库ID | |
| | | | locationId | Long | 是 | 库区ID | |
| | | | areaId | Long | 是 | 库位ID | |
| | | | batchId | Long | 否 | 批次ID | |
| | | | batchCode | String | 否 | 批次号 | |
| | | | vendorId | Long | 否 | 供应商ID | |
| | | | quantity | BigDecimal | 是 | 出库数量(必须大于0) | |
| | | | reason | String | 否 | 出库原因 | |
| | | |
| | | **响应:** |
| | | |
| | |
| | | |
| | | ### 2. 库存调整弹窗 |
| | | |
| | | **操作类型选择:** |
| | | - 用户首先选择操作类型:入库 / 出库 |
| | | - 根据操作类型调用不同的 API |
| | | |
| | | **表单字段:** |
| | | |
| | | | 字段 | 类型 | 必填 | 说明 | |
| | |
| | | | 库位 | 选择器 | 是 | 根据库区联动加载库位 | |
| | | | 批次 | 选择器 | 否 | 弹出批次选择对话框(如果物料启用批次管理) | |
| | | | 供应商 | 选择器 | 否 | 下拉选择供应商 | |
| | | | 调整数量 | 数字输入 | 是 | 正数=入库,负数=出库 | |
| | | | 调整原因 | 文本输入 | 否 | 填写调整原因 | |
| | | | 入库数量/出库数量 | 数字输入 | 是 | 必须大于0 | |
| | | | 入库原因/出库原因 | 文本输入 | 否 | 填写原因 | |
| | | |
| | | **联动逻辑:** |
| | | |
| | |
| | | **提交逻辑:** |
| | | |
| | | 1. 校验必填字段 |
| | | 2. 调用 API `/mes/wm/material-stock/adjust` |
| | | 3. 成功后提示"调整成功",刷新列表页 |
| | | 2. 根据操作类型调用不同 API: |
| | | - 入库:`/mes/wm/material-stock/adjust-in` |
| | | - 出库:`/mes/wm/material-stock/adjust-out` |
| | | 3. 成功后提示"入库成功"/"出库成功",刷新列表页 |
| | | 4. 失败时显示错误信息 |
| | | |
| | | ## 业务规则说明 |
| | | |
| | | | 场景 | 规则 | |
| | | |------|------| |
| | | | 入库(quantity > 0) | 自动创建库存记录(如果不存在),增加库存数量 | |
| | | | 出库(quantity < 0) | 校验库存记录存在且数量充足,扣减库存数量 | |
| | | | 入库 | 自动创建库存记录(如果不存在),增加库存数量 | |
| | | | 出库 | 校验库存记录存在且数量充足,扣减库存数量 | |
| | | | 批次管理 | 物料启用批次管理时,必须选择批次 | |
| | | | 库位混放 | 根据库位配置的混放规则校验 | |
| | | |
| | |
| | | |
| | | ## 注意事项 |
| | | |
| | | - 调整数量不能为0 |
| | | - 入库数量/出库数量必须大于0 |
| | | - 出库时必须保证库存充足 |
| | | - 调整操作会记录库存事务流水,便于追溯 |
| | | - 建议在调整原因中填写详细的调整原因,便于后续查询和审计 |
| | | - 入库和出库操作会分别记录库存事务流水,便于追溯 |
| | | - 建议在原因中填写详细说明,便于后续查询和审计 |