Pārlūkot izejas kodu

待出库库存显示问题处理

yzc 1 gadu atpakaļ
vecāks
revīzija
050d2e2cdf

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockWaitDetailsVo.java

@@ -108,4 +108,9 @@ public class StockWaitDetailsVo extends StockWaitDetails {
      */
     private BigDecimal contractProductFactoryPrice;
 
+    /**
+     * 实际库存
+     */
+    private BigDecimal stockQuantity;
+
 }

+ 14 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -140,8 +140,21 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
                 .in(ProductStockInfo::getProductId, pIds)
                 .eq(ProductStockInfo::getCompanyId, SecurityUtils.getCompanyId())
         );
+        Map<Long, BigDecimal> stockInfoMap = stockService.mapKV(Stock::getProductId, Stock::getQuantity, q -> q
+                .in(Stock::getProductId, pIds)
+                .eq(Stock::getCompanyId, SecurityUtils.getCompanyId())
+        );
         for (StockWaitDetailsVo stockWaitDetailsVo : voList) {
-            stockWaitDetailsVo.setAvailableQuantity(productStockInfoMap.getOrDefault(stockWaitDetailsVo.getProductId(), BigDecimal.ZERO));
+            //实际库存
+            stockWaitDetailsVo.setStockQuantity(stockInfoMap.getOrDefault(stockWaitDetailsVo.getProductId(), BigDecimal.ZERO));
+
+            if (ObjectUtil.equals(stockWaitDetailsVo.getProductDefinition(), 1)) {
+                //产品显示实际库存
+                stockWaitDetailsVo.setAvailableQuantity(stockWaitDetailsVo.getStockQuantity());
+            } else {
+                //物料显示可用库存
+                stockWaitDetailsVo.setAvailableQuantity(productStockInfoMap.getOrDefault(stockWaitDetailsVo.getProductId(), BigDecimal.ZERO));
+            }
         }