|
@@ -210,6 +210,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private ISysDeptService deptService;
|
|
private ISysDeptService deptService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ContractProductBomService contractProductBomService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 合同和样品单 下拉分页
|
|
* 合同和样品单 下拉分页
|
|
@@ -1124,7 +1126,32 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
}
|
|
}
|
|
|
|
|
|
List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, id));
|
|
List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, id));
|
|
- productInfoService.attributeAssign(contractProductList, ContractProduct::getProductId, (item, product) -> {
|
|
|
|
|
|
+ List<ContractProductVo> contractProductVos = BeanUtil.copyToList(contractProductList, ContractProductVo.class);
|
|
|
|
+ List<Long> contractProductIds = contractProductVos.stream().map(ContractProduct::getId).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //赋值产品BOM
|
|
|
|
+ Map<Long, List<ContractProductBomVo>> cpbMap = new HashMap<>();
|
|
|
|
+ if (ObjectUtil.isNotEmpty(contractProductIds)) {
|
|
|
|
+ List<ContractProductBom> bomList = contractProductBomService.list(q -> q.in(ContractProductBom::getContractProductId, contractProductIds));
|
|
|
|
+ List<ContractProductBomVo> contractProductBomVos = BeanUtil.copyToList(bomList, ContractProductBomVo.class);
|
|
|
|
+ //赋值物料信息
|
|
|
|
+ productInfoService.attributeAssign(contractProductBomVos, ContractProductBom::getMaterialId, (item, productInfo) -> {
|
|
|
|
+ item.setProductCode(productInfo.getCustomCode());
|
|
|
|
+ item.setProductName(productInfo.getName());
|
|
|
|
+ item.setProductLength(productInfo.getLength());
|
|
|
|
+ item.setProductWidth(productInfo.getWidth());
|
|
|
|
+ item.setProductHeight(productInfo.getHeight());
|
|
|
|
+ });
|
|
|
|
+ cpbMap = contractProductBomVos.stream().collect(Collectors.groupingBy(ContractProductBom::getContractProductId));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //赋值产品BOM
|
|
|
|
+ for (ContractProductVo cp : contractProductVos) {
|
|
|
|
+ cp.setContractProductBomList(cpbMap.get(cp.getId()));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ productInfoService.attributeAssign(contractProductVos, ContractProduct::getProductId, (item, product) -> {
|
|
item.setProductCnName(product.getName());
|
|
item.setProductCnName(product.getName());
|
|
item.setProductCode(product.getCustomCode());
|
|
item.setProductCode(product.getCustomCode());
|
|
item.setProductUnit(product.getUnit());
|
|
item.setProductUnit(product.getUnit());
|
|
@@ -1134,13 +1161,12 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
item.setProductHeight(product.getHeight());
|
|
item.setProductHeight(product.getHeight());
|
|
});
|
|
});
|
|
//重新赋值待采购数量
|
|
//重新赋值待采购数量
|
|
- List<Long> contractProductIds = contractProductList.stream().map(ContractProduct::getId).collect(Collectors.toList());
|
|
|
|
List<EhsdPurchaseProduct> purchaseProducts = ehsdPurchaseProductService.getPurchaseProductByContractProductIds(contractProductIds);
|
|
List<EhsdPurchaseProduct> purchaseProducts = ehsdPurchaseProductService.getPurchaseProductByContractProductIds(contractProductIds);
|
|
if (ObjectUtil.isNotEmpty(purchaseProducts)) {
|
|
if (ObjectUtil.isNotEmpty(purchaseProducts)) {
|
|
Map<Long, List<EhsdPurchaseProduct>> collect = purchaseProducts.stream()
|
|
Map<Long, List<EhsdPurchaseProduct>> collect = purchaseProducts.stream()
|
|
.filter(item -> ObjectUtil.isNotEmpty(item.getDataResourceId()))
|
|
.filter(item -> ObjectUtil.isNotEmpty(item.getDataResourceId()))
|
|
.collect(Collectors.groupingBy(EhsdPurchaseProduct::getDataResourceId));
|
|
.collect(Collectors.groupingBy(EhsdPurchaseProduct::getDataResourceId));
|
|
- for (ContractProduct contractProduct : contractProductList) {
|
|
|
|
|
|
+ for (ContractProduct contractProduct : contractProductVos) {
|
|
List<EhsdPurchaseProduct> ehsdPurchaseProductList = collect.get(contractProduct.getId());
|
|
List<EhsdPurchaseProduct> ehsdPurchaseProductList = collect.get(contractProduct.getId());
|
|
if (ObjectUtil.isEmpty(ehsdPurchaseProductList)) {
|
|
if (ObjectUtil.isEmpty(ehsdPurchaseProductList)) {
|
|
contractProduct.setExpendQuantity(BigDecimal.ZERO);
|
|
contractProduct.setExpendQuantity(BigDecimal.ZERO);
|
|
@@ -1151,7 +1177,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
contractProduct.setExpendQuantity(subtract);
|
|
contractProduct.setExpendQuantity(subtract);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- result.setContractProductList(contractProductList);
|
|
|
|
|
|
+ result.setContractProductList(contractProductVos);
|
|
|
|
|
|
List<ContractProject> contractProjectList = contractProjectService.list(q -> q.eq(ContractProject::getContractId, id));
|
|
List<ContractProject> contractProjectList = contractProjectService.list(q -> q.eq(ContractProject::getContractId, id));
|
|
result.setContractProjectList(contractProjectList);
|
|
result.setContractProjectList(contractProjectList);
|
|
@@ -2428,7 +2454,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
Map<Long, List<FileInfoVo>> packageFileMap = ObsFileUtil.getFileMap(ids, 2);
|
|
Map<Long, List<FileInfoVo>> packageFileMap = ObsFileUtil.getFileMap(ids, 2);
|
|
//合同产品
|
|
//合同产品
|
|
List<ContractProduct> contractProductList = contractProductService.list(Wrappers.<ContractProduct>query().lambda().in(ContractProduct::getContractId, ids));
|
|
List<ContractProduct> contractProductList = contractProductService.list(Wrappers.<ContractProduct>query().lambda().in(ContractProduct::getContractId, ids));
|
|
- Map<Long, List<ContractProduct>> contractProductMap = contractProductList.stream().collect(Collectors.groupingBy(ContractProduct::getContractId));
|
|
|
|
|
|
+ List<ContractProductVo> contractProductVos = BeanUtil.copyToList(contractProductList, ContractProductVo.class);
|
|
|
|
+ Map<Long, List<ContractProductVo>> contractProductMap = contractProductVos.stream().collect(Collectors.groupingBy(ContractProductVo::getContractId));
|
|
//采购合同
|
|
//采购合同
|
|
List<EhsdPurchase> ehsdPurchaseList = ehsdPurchaseService.list(Wrappers.<EhsdPurchase>query().lambda()
|
|
List<EhsdPurchase> ehsdPurchaseList = ehsdPurchaseService.list(Wrappers.<EhsdPurchase>query().lambda()
|
|
.in(EhsdPurchase::getDataResourceId, ids)
|
|
.in(EhsdPurchase::getDataResourceId, ids)
|
|
@@ -2463,7 +2490,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
}
|
|
}
|
|
// 赋值产品信息
|
|
// 赋值产品信息
|
|
if (MapUtils.isNotEmpty(contractProductMap)) {
|
|
if (MapUtils.isNotEmpty(contractProductMap)) {
|
|
- List<ContractProduct> contractProducts = contractProductMap.get(p.getId());
|
|
|
|
|
|
+ List<ContractProductVo> contractProducts = contractProductMap.get(p.getId());
|
|
p.setContractProductList(contractProducts);
|
|
p.setContractProductList(contractProducts);
|
|
}
|
|
}
|
|
// 赋值采购单信息
|
|
// 赋值采购单信息
|