From 940c8481d2fdcf51341db4ccd6fd6fcc2d43debb Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 29 六月 2026 15:32:58 +0800
Subject: [PATCH] 初始化项目
---
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java
index 3ff81ad..37f2cf0 100644
--- a/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java
+++ b/yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/service/inventory/WmsInventoryServiceImpl.java
@@ -10,9 +10,11 @@
import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryPageReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO;
import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryHistoryDO;
+import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryReserveDO;
import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
import cn.iocoder.yudao.module.wms.dal.mysql.inventory.WmsInventoryMapper;
+import cn.iocoder.yudao.module.wms.dal.mysql.inventory.WmsInventoryReserveMapper;
import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryChangeReqDTO;
import cn.iocoder.yudao.module.wms.service.inventory.dto.WmsInventoryCheckReqDTO;
import cn.iocoder.yudao.module.wms.service.md.item.WmsItemService;
@@ -50,6 +52,9 @@
@Resource
private WmsInventoryHistoryService inventoryHistoryService;
+
+ @Resource
+ private WmsInventoryReserveMapper reserveMapper;
@Resource
private WmsItemSkuService itemSkuService;
@@ -294,4 +299,19 @@
item.getWarehouseId(), beforeQuantity, item.getQuantity());
}
+ @Override
+ public BigDecimal getAvailableQuantity(Long skuId, Long warehouseId) {
+ // 1. 鏌ヨ搴撳瓨鏁伴噺
+ WmsInventoryDO inventory = inventoryMapper.selectBySkuIdAndWarehouseId(skuId, warehouseId);
+ if (inventory == null) {
+ return BigDecimal.ZERO;
+ }
+
+ // 2. 鏌ヨ棰勭暀鏁伴噺
+ BigDecimal reserveQuantity = reserveMapper.selectReserveQuantity(skuId, warehouseId);
+
+ // 3. 璁$畻鍙敤鏁伴噺
+ return inventory.getQuantity().subtract(reserveQuantity != null ? reserveQuantity : BigDecimal.ZERO);
+ }
+
}
--
Gitblit v1.9.3