| | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockAdjustReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockFreezeReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockImportExcelVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockImportRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockListReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockMoveReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO; |
| | | import jakarta.validation.Valid; |
| | |
| | | Long batchId, String batchCode, Long vendorId, LocalDateTime receiptTime); |
| | | |
| | | /** |
| | | * 创建新的库存记录(不查找已有记录,始终创建新记录) |
| | | * |
| | | * 用于退料等场景,需要为每次退料创建独立的库存记录 |
| | | * |
| | | * @param itemId 物料编号 |
| | | * @param warehouseId 仓库编号 |
| | | * @param locationId 库区编号 |
| | | * @param areaId 库位编号 |
| | | * @param batchId 批次编号 |
| | | * @param batchCode 批次号 |
| | | * @param vendorId 供应商编号 |
| | | * @param receiptTime 入库时间(为空则默认当前时间) |
| | | * @return 新创建的库存记录 |
| | | */ |
| | | MesWmMaterialStockDO createMaterialStock(Long itemId, Long warehouseId, Long locationId, Long areaId, |
| | | Long batchId, String batchCode, Long vendorId, LocalDateTime receiptTime); |
| | | |
| | | /** |
| | | * 按组合键查找库存记录(只查不创建) |
| | | * |
| | | * @param itemId 物料编号 |
| | | * @param warehouseId 仓库编号 |
| | | * @param locationId 库区编号 |
| | | * @param areaId 库位编号 |
| | | * @param batchId 批次编号 |
| | | * @param vendorId 供应商编号 |
| | | * @return 库存记录(不存在返回 null) |
| | | */ |
| | | MesWmMaterialStockDO getMaterialStockByCompositeKey(Long itemId, Long warehouseId, Long locationId, Long areaId, |
| | | Long batchId, Long vendorId); |
| | | |
| | | /** |
| | | * 更新库存数量 |
| | | * |
| | | * @param id 库存记录编号 |
| | |
| | | Long warehouseId, Long locationId, Long areaId, BigDecimal quantity); |
| | | |
| | | /** |
| | | * 库存调整(自定义出入库) |
| | | * 自定义入库 |
| | | * |
| | | * @param reqVO 调整请求 |
| | | * @return 库存事务流水ID |
| | | * @param reqVO 入库请求 |
| | | * @return 库存记录ID |
| | | */ |
| | | Long adjustMaterialStock(@Valid MesWmMaterialStockAdjustReqVO reqVO); |
| | | Long adjustMaterialStockIn(@Valid MesWmMaterialStockAdjustReqVO reqVO); |
| | | |
| | | /** |
| | | * 自定义出库 |
| | | * |
| | | * @param reqVO 出库请求 |
| | | * @return 库存记录ID |
| | | */ |
| | | Long adjustMaterialStockOut(@Valid MesWmMaterialStockAdjustReqVO reqVO); |
| | | |
| | | /** |
| | | * 库存移库 |
| | | * |
| | | * @param reqVO 移库请求 |
| | | */ |
| | | void moveMaterialStock(@Valid MesWmMaterialStockMoveReqVO reqVO); |
| | | |
| | | /** |
| | | * 导入库存现有量 |
| | | * <p> |
| | | * 每行通过「操作类型」控制:增加/减少 按变动量调整在库数量;覆盖 按目标值差额调整。 |
| | | * 按「物料编码 + 仓库 + 库区 + 库位 + 批次号 + 供应商」定位库存记录。 |
| | | * 每行独立事务:单行失败不影响其它行。 |
| | | * |
| | | * @param importList 导入数据 |
| | | * @return 导入结果 |
| | | */ |
| | | MesWmMaterialStockImportRespVO importMaterialStockList(List<MesWmMaterialStockImportExcelVO> importList); |
| | | |
| | | } |