yzc před 1 rokem
rodič
revize
763e05b216

+ 7 - 3
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -291,10 +291,14 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
             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();
+                BigDecimal count = BigDecimal.ZERO;
+                Long subscribeDetailId = ehsdPurchaseProductVo.getSubscribeDetailId();
+                SubscribeDetail subscribeDetail = contractProductMap.get(subscribeDetailId);
+                if (ObjectUtil.isNotEmpty(subscribeDetail)) {
+                    count = subscribeDetail.getCount();
+                }
                 //获取已采购数量
-                List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetail.getId()));
+                List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetailId));
                 BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
                 ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
             }