yzc 1 год назад
Родитель
Сommit
a642e42a8e

+ 47 - 34
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -267,41 +267,54 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
         }
 
         //赋值产品待采购数量信息
-        if (ObjectUtils.isNotEmpty(ehsdPurchaseProductList)) {
-            //申购来源
-            List<EhsdPurchaseProductVo> subscribeSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 0)).collect(Collectors.toList());
-            if (ObjectUtils.isNotEmpty(subscribeSource)) {
-                List<Long> subscribeDetailSourceIds = subscribeSource.stream().map(EhsdPurchaseProductVo::getSubscribeDetailId).distinct().collect(Collectors.toList());
-                Map<Long, SubscribeDetail> contractProductMap = subscribeDetailService.mapKEntity(SubscribeDetail::getId, q -> q.in(SubscribeDetail::getId, subscribeDetailSourceIds));
-                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : subscribeSource) {
-                    SubscribeDetail subscribeDetail = contractProductMap.get(ehsdPurchaseProductVo.getSubscribeDetailId());
-                    BigDecimal count = subscribeDetail.getCount();
-                    //获取已采购数量
-                    List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetail.getId()));
-                    BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
-                }
-            }
-            //合同来源
-            List<EhsdPurchaseProductVo> contractSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 1)).collect(Collectors.toList());
-            if (ObjectUtils.isNotEmpty(contractSource)) {
-                List<Long> contractSourceIds = contractSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
-                Map<Long, ContractProduct> contractProductMap = contractProductService.mapKEntity(ContractProduct::getId, q -> q.in(ContractProduct::getId, contractSourceIds));
-                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : contractSource) {
-                    ContractProduct stringObjectMap = contractProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
-                    ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
-                }
-            }
-            //样品单来源
-            List<EhsdPurchaseProductVo> sampleSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 2)).collect(Collectors.toList());
-            if (ObjectUtils.isNotEmpty(sampleSource)) {
-                List<Long> sampleSourceIds = sampleSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
-                Map<Long, SampleProduct> sampleProductMap = sampleProductService.mapKEntity(SampleProduct::getId, q -> q.in(SampleProduct::getId, sampleSourceIds));
-                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : sampleSource) {
-                    SampleProduct stringObjectMap = sampleProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
-                    ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
-                }
+        if (ObjectUtils.isNotEmpty(ehsdPurchaseProductVos)) {
+            //合同和申购来源都是申购明细表
+            List<Long> subscribeDetailSourceIds = ehsdPurchaseProductVos.stream().map(EhsdPurchaseProductVo::getSubscribeDetailId).distinct().collect(Collectors.toList());
+            Map<Long, SubscribeDetail> contractProductMap = subscribeDetailService.mapKEntity(SubscribeDetail::getId, q -> q.in(SubscribeDetail::getId, subscribeDetailSourceIds));
+            for (EhsdPurchaseProductVo ehsdPurchaseProductVo : ehsdPurchaseProductVos) {
+                SubscribeDetail subscribeDetail = contractProductMap.get(ehsdPurchaseProductVo.getSubscribeDetailId());
+                BigDecimal count = subscribeDetail.getCount();
+                //获取已采购数量
+                List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetail.getId()));
+                BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
+                ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
             }
+
+
+//            //申购来源
+//            List<EhsdPurchaseProductVo> subscribeSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 0)).collect(Collectors.toList());
+//            if (ObjectUtils.isNotEmpty(subscribeSource)) {
+//                List<Long> subscribeDetailSourceIds = subscribeSource.stream().map(EhsdPurchaseProductVo::getSubscribeDetailId).distinct().collect(Collectors.toList());
+//                Map<Long, SubscribeDetail> contractProductMap = subscribeDetailService.mapKEntity(SubscribeDetail::getId, q -> q.in(SubscribeDetail::getId, subscribeDetailSourceIds));
+//                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : subscribeSource) {
+//                    SubscribeDetail subscribeDetail = contractProductMap.get(ehsdPurchaseProductVo.getSubscribeDetailId());
+//                    BigDecimal count = subscribeDetail.getCount();
+//                    //获取已采购数量
+//                    List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetail.getId()));
+//                    BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
+//                    ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
+//                }
+//            }
+//            //合同来源
+//            List<EhsdPurchaseProductVo> contractSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 1)).collect(Collectors.toList());
+//            if (ObjectUtils.isNotEmpty(contractSource)) {
+//                List<Long> contractSourceIds = contractSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
+//                Map<Long, ContractProduct> contractProductMap = contractProductService.mapKEntity(ContractProduct::getId, q -> q.in(ContractProduct::getId, contractSourceIds));
+//                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : contractSource) {
+//                    ContractProduct stringObjectMap = contractProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
+//                    ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
+//                }
+//            }
+//            //样品单来源
+//            List<EhsdPurchaseProductVo> sampleSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 2)).collect(Collectors.toList());
+//            if (ObjectUtils.isNotEmpty(sampleSource)) {
+//                List<Long> sampleSourceIds = sampleSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
+//                Map<Long, SampleProduct> sampleProductMap = sampleProductService.mapKEntity(SampleProduct::getId, q -> q.in(SampleProduct::getId, sampleSourceIds));
+//                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : sampleSource) {
+//                    SampleProduct stringObjectMap = sampleProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
+//                    ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
+//                }
+//            }
         }
 
         //赋值产品信息