From 4858d6a68446a5153749eca8fae8ae099ac879a2 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 25 五月 2026 14:11:49 +0800
Subject: [PATCH] fix:1.销售从库存选

---
 src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index bda2907..ceb7b20 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -101,6 +101,7 @@
             leafNode.setVoltage(data.getVoltage());
             leafNode.setMaterialCode(data.getMaterialCode());
             leafNode.setUnit(data.getUnit());
+            leafNode.setQualitity(data.getQualitity());
             productMap.get(productId).getChildren().add(leafNode);
         }
 
@@ -263,6 +264,11 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean subtractStockInventory(StockInventoryDto stockInventoryDto) {
+        if (stockInventoryDto.getQualitity() != null
+                && stockInventoryDto.getQualitity().compareTo(BigDecimal.ZERO) == 0) {
+            return true;
+        }
+
         StockOutRecordDto stockOutRecordDto = new StockOutRecordDto();
         stockOutRecordDto.setRecordId(stockInventoryDto.getRecordId());
         stockOutRecordDto.setRecordType(stockInventoryDto.getRecordType());
@@ -298,7 +304,7 @@
                 throw new RuntimeException("浜у搧搴撳瓨涓嶅瓨鍦�");
             }
 
-            BigDecimal remainingQty = stockInventoryDto.getQualitity();
+            BigDecimal remainingQty = stockInventoryDto.getQualitity() == null ? BigDecimal.ZERO : stockInventoryDto.getQualitity();
             for (StockInventory stockInventory : stockInventories) {
                 BigDecimal lockedQty = defaultDecimal(stockInventory.getLockedQuantity());
                 BigDecimal availableQty = defaultDecimal(stockInventory.getQualitity()).subtract(lockedQty);

--
Gitblit v1.9.3