|
@@ -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());
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
//赋值产品信息
|