yzc 2 роки тому
батько
коміт
b29c1309dd

+ 4 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java

@@ -203,10 +203,13 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
 
         List<Stock> stockList = new ArrayList<>();
 
+        stockWaitDetailsService.changeStockWaitStatus(stockWaitDto);
+
+
         for (StockWaitDetails stockWaitDetails0 : stockWaitDetailsList) {
             //修改待出入库状态
             StockWaitDetailsDto stockWaitDetailsDto = BeanUtil.copyProperties(stockWaitDetails0, StockWaitDetailsDto.class);
-            stockWaitDetailsService.changeStockWaitStatus(stockWaitDetailsDto);
+//            stockWaitDetailsService.changeStockWaitStatus(stockWaitDetailsDto);
             StockWaitDetails stockWaitDetails = stockWaitDetailsService.getById(stockWaitDetailsDto.getId());
 
             //操作库存

+ 3 - 2
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitDetailsService.java

@@ -1,5 +1,6 @@
 package com.fjhx.wms.service.stock;
 
+import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -32,8 +33,8 @@ public interface StockWaitDetailsService extends BaseService<StockWaitDetails> {
      * 待出入库明细新增
      */
     void add(StockWaitDetailsDto stockWaitDetailsDto);
-
-    void changeStockWaitStatus(StockWaitDetailsDto stockWaitDetailsDto);
+    
+    void changeStockWaitStatus(StockWaitDto stockWaitDto);
 
     /**
      * 待出入库明细编辑

+ 20 - 14
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitDetailsServiceImpl.java

@@ -155,22 +155,28 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
      * 更新待出入库状态
      */
     @Override
-    public void changeStockWaitStatus(StockWaitDetailsDto stockWaitDetailsDto) {
-        //更新已入库数量 根据明细id
-        StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
-        if (ObjectUtil.isEmpty(stockWaitDetails)) {
-            throw new ServiceException("无法查询到明细信息");
-        }
-        BigDecimal receiptQuantity = stockWaitDetails.getReceiptQuantity();
-        receiptQuantity = ObjectUtil.isEmpty(receiptQuantity) ? BigDecimal.ZERO : receiptQuantity;
-        stockWaitDetails.setReceiptQuantity(receiptQuantity.add(stockWaitDetailsDto.getQuantity()));
-        if (stockWaitDetails.getReceiptQuantity().compareTo(stockWaitDetails.getQuantity()) > 0) {
-            throw new ServiceException("出库数量+已出库数量不能大于待出库数量");
+    public void changeStockWaitStatus(StockWaitDto stockWaitDto) {
+        List<StockWaitDetails> stockWaitDetailsDtoList = stockWaitDto.getStockWaitDetailsList();
+        List<StockWaitDetailsDto> stockWaitDetailsDtoList1 = BeanUtil.copyToList(stockWaitDetailsDtoList, StockWaitDetailsDto.class);
+
+        for (StockWaitDetailsDto stockWaitDetailsDto : stockWaitDetailsDtoList1) {
+            //更新已入库数量 根据明细id
+            StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
+            if (ObjectUtil.isEmpty(stockWaitDetails)) {
+                throw new ServiceException("无法查询到明细信息");
+            }
+            BigDecimal receiptQuantity = stockWaitDetails.getReceiptQuantity();
+            receiptQuantity = ObjectUtil.isEmpty(receiptQuantity) ? BigDecimal.ZERO : receiptQuantity;
+            stockWaitDetails.setReceiptQuantity(receiptQuantity.add(stockWaitDetailsDto.getQuantity()));
+            if (stockWaitDetails.getReceiptQuantity().compareTo(stockWaitDetails.getQuantity()) > 0) {
+                throw new ServiceException("出库数量+已出库数量不能大于待出库数量");
+            }
+            updateById(stockWaitDetails);
         }
-        updateById(stockWaitDetails);
+
         //更新待出库记录状态
         int statusFlag = 0;
-        List<StockWaitDetails> stockWaitDetailsList = list(q -> q.eq(StockWaitDetails::getStockWaitId, stockWaitDetails.getStockWaitId()));
+        List<StockWaitDetails> stockWaitDetailsList = list(q -> q.eq(StockWaitDetails::getStockWaitId, stockWaitDto.getId()));
         for (StockWaitDetails waitDetails : stockWaitDetailsList) {
             //计算已经完全出库的数量
             BigDecimal receiptQuantity1 = ObjectUtil.isEmpty(waitDetails.getReceiptQuantity()) ? BigDecimal.ZERO : waitDetails.getReceiptQuantity();
@@ -178,7 +184,7 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
                 statusFlag++;
             }
         }
-        StockWait byId = stockWaitService.getById(stockWaitDetails.getStockWaitId());
+        StockWait byId = stockWaitService.getById(stockWaitDto.getId());
         if (statusFlag == stockWaitDetailsList.size()) {
             byId.setStatus(2);//入库完成
         } else {

+ 8 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -209,6 +209,14 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         Map<Long, StockWaitDetails> stockWaitDetailsMap = stockWaitDetailsDtoList.stream().collect(Collectors.toMap(StockWaitDetails::getId, Function.identity()));
         List<StockWaitDetails> stockWaitDetailss = stockWaitDetailsService.listByIds(dids);
 
+
+        stockWaitDetailsService.changeStockWaitStatus(stockWaitDto);
+
+//        for (StockWaitDetails stockWaitDetails : stockWaitDetailsDtoList) {
+//            StockWaitDetailsDto stockWaitDetailsDto = BeanUtil.copyProperties(stockWaitDetails, StockWaitDetailsDto.class);
+//            stockWaitDetailsService.changeStockWaitStatus(stockWaitDetailsDto);
+//        }
+
         //已经完全入库数量统计
         int statusFlag = 0;
         for (StockWaitDetails stockWaitDetail : stockWaitDetailss) {