package cn.iocoder.yudao.module.mes.api.wms.stock; import cn.iocoder.yudao.module.mes.api.wms.dto.WmsPurchaseInboundReqDTO; import cn.iocoder.yudao.module.mes.api.wms.dto.WmsSalesOutboundReqDTO; import cn.iocoder.yudao.module.mes.api.wms.dto.WmsStockDetailRespDTO; import cn.iocoder.yudao.module.mes.api.wms.dto.WmsStockQueryReqDTO; import java.math.BigDecimal; import java.util.List; /** * WMS 库存 API 接口 */ public interface WmsStockApi { /** * 采购入库 * * @param reqDTO 入库请求 * @return 事务ID */ Long purchaseInbound(WmsPurchaseInboundReqDTO reqDTO); /** * 采购退货出库 * * @param reqDTO 出库请求 * @return 事务ID */ Long purchaseReturnOutbound(WmsPurchaseInboundReqDTO reqDTO); /** * 销售出库 * * @param reqDTO 出库请求 * @return 事务ID */ Long salesOutbound(WmsSalesOutboundReqDTO reqDTO); /** * 销售退货入库 * * @param reqDTO 入库请求 * @return 事务ID */ Long salesReturnInbound(WmsSalesOutboundReqDTO reqDTO); /** * 获取库存数量 * * @param itemId 物料ID * @param warehouseId 仓库ID * @return 库存数量 */ BigDecimal getStockQuantity(Long itemId, Long warehouseId); /** * 获取库存明细 * * @param reqDTO 查询请求 * @return 库存明细 */ WmsStockDetailRespDTO getStockDetail(WmsStockQueryReqDTO reqDTO); /** * 获取库存明细列表 * * @param reqDTO 查询请求 * @return 库存明细列表 */ List getStockDetailList(WmsStockQueryReqDTO reqDTO); }