|
@@ -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));
|
|
|
}
|