Browse Source

代码优化

yzc 2 years ago
parent
commit
8f9ca4da97

+ 7 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitDetailsServiceImpl.java

@@ -25,6 +25,8 @@ import org.springframework.stereotype.Service;
 import java.math.BigDecimal;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -159,9 +161,13 @@ public class StockWaitDetailsServiceImpl extends ServiceImpl<StockWaitDetailsMap
         List<StockWaitDetails> stockWaitDetailsDtoList = stockWaitDto.getStockWaitDetailsList();
         List<StockWaitDetailsDto> stockWaitDetailsDtoList1 = BeanUtil.copyToList(stockWaitDetailsDtoList, StockWaitDetailsDto.class);
 
+        //获取待入库明细信息
+        List<Long> swdIds = stockWaitDetailsDtoList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());
+        Map<Long, StockWaitDetails> stockWaitDetailsMap = this.mapKEntity(StockWaitDetails::getId, q -> q.in(StockWaitDetails::getId, swdIds));
+
         for (StockWaitDetailsDto stockWaitDetailsDto : stockWaitDetailsDtoList1) {
             //更新已入库数量 根据明细id
-            StockWaitDetails stockWaitDetails = getById(stockWaitDetailsDto.getId());
+            StockWaitDetails stockWaitDetails = stockWaitDetailsMap.get(stockWaitDetailsDto.getId());
             if (ObjectUtil.isEmpty(stockWaitDetails)) {
                 throw new ServiceException("无法查询到明细信息");
             }

+ 27 - 21
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -206,31 +206,37 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         List<Stock> stockList = new ArrayList<>();
 
         List<StockWaitDetails> stockWaitDetailsDtoList = stockWaitDto.getStockWaitDetailsList();
-        List<Long> dids = stockWaitDetailsDtoList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());
+//        List<Long> dids = stockWaitDetailsDtoList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());
         Map<Long, StockWaitDetails> stockWaitDetailsMap = stockWaitDetailsDtoList.stream().collect(Collectors.toMap(StockWaitDetails::getId, Function.identity()));
-        List<StockWaitDetails> stockWaitDetailss = stockWaitDetailsService.listByIds(dids);
+//        List<StockWaitDetails> stockWaitDetailss = stockWaitDetailsService.listByIds(dids);
 
         //已经完全入库数量统计
-        int statusFlag = 0;
-        for (StockWaitDetails stockWaitDetail : stockWaitDetailss) {
-            StockWaitDetails temp = stockWaitDetailsMap.get(stockWaitDetail.getId());
-            //更新已入库数量
-            BigDecimal receiptQuantity = stockWaitDetail.getReceiptQuantity() == null ? BigDecimal.ZERO : stockWaitDetail.getReceiptQuantity();
-            stockWaitDetail.setReceiptQuantity(receiptQuantity.add(temp.getQuantity()));
-
-            //计算已经完全入库的数量
-            if (stockWaitDetail.getReceiptQuantity().compareTo(stockWaitDetail.getQuantity()) >= 0) {
-                statusFlag++;
-            }
-        }
-        stockWaitDetailsService.updateBatchById(stockWaitDetailss);
-        //修改待入库状态
+//        int statusFlag = 0;
+//        for (StockWaitDetails stockWaitDetail : stockWaitDetailss) {
+//            StockWaitDetails temp = stockWaitDetailsMap.get(stockWaitDetail.getId());
+//            //更新已入库数量
+//            BigDecimal receiptQuantity = stockWaitDetail.getReceiptQuantity() == null ? BigDecimal.ZERO : stockWaitDetail.getReceiptQuantity();
+//            stockWaitDetail.setReceiptQuantity(receiptQuantity.add(temp.getQuantity()));
+//
+//            //计算已经完全入库的数量
+//            if (stockWaitDetail.getReceiptQuantity().compareTo(stockWaitDetail.getQuantity()) >= 0) {
+//                statusFlag++;
+//            }
+//        }
+//        stockWaitDetailsService.updateBatchById(stockWaitDetailss);
+//        //修改待入库状态
+//        StockWait stockWait = getById(stockWaitDto.getId());
+//        if (statusFlag == stockWaitDetailss.size()) {
+//            stockWait.setStatus(2);//入库完成
+//        } else {
+//            stockWait.setStatus(1);//部分入库
+//        }
+
+        //更新已出入库数量以及待出入库状态
+        stockWaitDetailsService.changeStockWaitStatus(stockWaitDto);
         StockWait stockWait = getById(stockWaitDto.getId());
-        if (statusFlag == stockWaitDetailss.size()) {
-            stockWait.setStatus(2);//入库完成
-        } else {
-            stockWait.setStatus(1);//部分入库
-        }
+
+
         String victoriatouristJson = stockWait.getVictoriatouristJson();
         JSONObject json = ObjectUtil.isNotEmpty(victoriatouristJson) ? JSONObject.parseObject(victoriatouristJson) : new JSONObject();
         json.put("receiptWarehouseId", stockWaitDto.getWarehouseId());