Quellcode durchsuchen

到货统计错误 问题处理

yzc vor 1 Jahr
Ursprung
Commit
883f0348ed

+ 9 - 6
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/deliver/impl/DeliverGoodsServiceImpl.java

@@ -348,11 +348,11 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
         wrapper1.eq("a.purchase_id", purchaseId);
         List<ArrivalDetailVo> arrivalDetail = arrivalDetailService.getArrivalDetail(wrapper1);
         if (ObjectUtil.isNotEmpty(arrivalDetail)) {
-            Map<Long, List<ArrivalDetailVo>> collect = arrivalDetail.stream().collect(Collectors.groupingBy(ArrivalDetailVo::getBussinessId));
+            Map<Long, List<ArrivalDetailVo>> collect = arrivalDetail.stream().collect(Collectors.groupingBy(ArrivalDetailVo::getPurchaseDetailId));
 
             Map<Long, String> dgdMap = list.stream().collect(Collectors.toMap(DeliverGoodsDetailsVo::getId, DeliverGoodsDetailsVo::getLogisticsCode));
             for (PurchaseDetailVo purchaseDetailVo : purchaseDetailVoList) {
-                List<ArrivalDetailVo> list1 = collect.get(purchaseDetailVo.getBussinessId());
+                List<ArrivalDetailVo> list1 = collect.get(purchaseDetailVo.getId());
                 if (ObjectUtil.isEmpty(list1)) {
                     purchaseDetailVo.setArrivalQuantity(BigDecimal.ZERO);
                     continue;
@@ -425,14 +425,17 @@ public class DeliverGoodsServiceImpl extends ServiceImpl<DeliverGoodsMapper, Del
                 continue;
             }
             //根据待入库id查出入库记录
-            List<Long> stockWaitId = stockWaitDetailsList.stream().map(StockWaitDetails::getStockWaitId).collect(Collectors.toList());
-            List<Long> stockJournalIds = stockJournalService.listObject(StockJournal::getId, q -> q.in(StockJournal::getBusinessId, stockWaitId));
+            List<Long> stockWaitIds = stockWaitDetailsList.stream().map(StockWaitDetails::getStockWaitId).collect(Collectors.toList());
+            List<Long> stockJournalIds = stockJournalService.listObject(StockJournal::getId, q -> q.in(StockJournal::getBusinessId, stockWaitIds));
             if (ObjectUtil.isEmpty(stockJournalIds)) {
                 continue;
             }
+
             //查出产品的出入库明细
-            List<StockJournalDetails> stockJournalDetailsList = stockJournalDetailsService.list(q -> q.in(StockJournalDetails::getStockJournalId, stockJournalIds)
-                    .eq(StockJournalDetails::getProductId, purchaseDetailVo.getBussinessId()));
+            List<Long> swdIds = stockWaitDetailsList.stream().map(StockWaitDetails::getId).collect(Collectors.toList());
+            List<StockJournalDetails> stockJournalDetailsList = stockJournalDetailsService.list(q -> q
+                    .in(StockJournalDetails::getBusinessDetailsId, swdIds)
+            );
             if (ObjectUtil.isEmpty(stockJournalDetailsList)) {
                 continue;
             }