|
@@ -12,6 +12,7 @@ import com.fjhx.common.service.contract.ContractTemplateService;
|
|
import com.fjhx.common.service.corporation.CorporationService;
|
|
import com.fjhx.common.service.corporation.CorporationService;
|
|
import com.fjhx.customer.service.customer.CustomerService;
|
|
import com.fjhx.customer.service.customer.CustomerService;
|
|
import com.fjhx.flow.service.flow.FlowExampleService;
|
|
import com.fjhx.flow.service.flow.FlowExampleService;
|
|
|
|
+import com.fjhx.item.entity.product.po.ProductInfo;
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseDetailVo;
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseDetailVo;
|
|
@@ -25,6 +26,7 @@ import com.fjhx.sale.mapper.contract.ContractProductMapper;
|
|
import com.fjhx.sale.service.claim.ClaimContractService;
|
|
import com.fjhx.sale.service.claim.ClaimContractService;
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
|
|
import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
|
|
|
|
+import com.fjhx.tenant.utils.DeptUstil;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
@@ -106,7 +108,19 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
// }
|
|
// }
|
|
// wrapper.eq("t2", Contract::getIssue, 1);
|
|
// wrapper.eq("t2", Contract::getIssue, 1);
|
|
if (StringUtils.isNotEmpty(dto.getKeyword())) {
|
|
if (StringUtils.isNotEmpty(dto.getKeyword())) {
|
|
- wrapper.keyword(dto.getKeyword(), new SqlField("t2.`code`"), new SqlField("t2.`user_name`"));
|
|
|
|
|
|
+
|
|
|
|
+ //关键字检索
|
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
|
|
|
|
+ List<Long> pIds = productInfoService.listObject(ProductInfo::getId, q -> q
|
|
|
|
+ .like(ProductInfo::getCustomCode, dto.getKeyword())
|
|
|
|
+ .or().like(ProductInfo::getName, dto.getKeyword())
|
|
|
|
+ );
|
|
|
|
+ wrapper.and(q -> q
|
|
|
|
+ .in("sjd.product_id", pIds)
|
|
|
|
+ .or().like("t2.`code`", dto.getKeyword())
|
|
|
|
+ .or().like("t2.`user_name`", dto.getKeyword())
|
|
|
|
+ );
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//是否到账过滤
|
|
//是否到账过滤
|
|
if (ObjectUtil.isNotEmpty(dto.getIsReceived())) {
|
|
if (ObjectUtil.isNotEmpty(dto.getIsReceived())) {
|
|
@@ -118,39 +132,58 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
}
|
|
}
|
|
wrapper.groupBy("t1.id");
|
|
wrapper.groupBy("t1.id");
|
|
Page<ContractProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
Page<ContractProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
- List<ContractProductVo> list = page.getRecords();
|
|
|
|
- if (list.size() == 0) {
|
|
|
|
|
|
+ List<ContractProductVo> records = page.getRecords();
|
|
|
|
+ if (records.size() == 0) {
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
|
|
|
|
// 赋值产品属性
|
|
// 赋值产品属性
|
|
- productInfoService.attributeAssign(list, ContractProductVo::getProductId, (item, product) -> {
|
|
|
|
- item.setProductCode(product.getCode());
|
|
|
|
- item.setProductUnit(product.getUnit());
|
|
|
|
- item.setProductType(product.getType());
|
|
|
|
|
|
+ productInfoService.attributeAssign(records, ContractProductVo::getProductId, (item, product) -> {
|
|
|
|
+ item.setProductCategoryId(product.getProductClassifyId());
|
|
|
|
+
|
|
|
|
+ item.setProductCode(product.getCustomCode());
|
|
item.setProductName(product.getName());
|
|
item.setProductName(product.getName());
|
|
|
|
+ item.setProductUnit(product.getUnit());
|
|
item.setProductSpec(product.getSpec());
|
|
item.setProductSpec(product.getSpec());
|
|
- item.setProductCategoryId(product.getProductClassifyId());
|
|
|
|
|
|
+ item.setProductLength(product.getLength());
|
|
|
|
+ item.setProductWidth(product.getWidth());
|
|
|
|
+ item.setProductHeight(product.getHeight());
|
|
|
|
+ item.setProductColor(product.getColor());
|
|
});
|
|
});
|
|
//赋值已发起采购数量
|
|
//赋值已发起采购数量
|
|
// List<PurchaseDetailVo> purchaseDetailVoList = purchaseDetailService.getSumCountByDataResourceId(idList);
|
|
// List<PurchaseDetailVo> purchaseDetailVoList = purchaseDetailService.getSumCountByDataResourceId(idList);
|
|
// Map<Long,BigDecimal> pMap = purchaseDetailVoList.stream().collect(Collectors.toMap(PurchaseDetailVo::getDataResourceId,PurchaseDetailVo::getSumCount));
|
|
// Map<Long,BigDecimal> pMap = purchaseDetailVoList.stream().collect(Collectors.toMap(PurchaseDetailVo::getDataResourceId,PurchaseDetailVo::getSumCount));
|
|
// list.forEach(i -> i.setStartPurchaseCount(MapUtils.isNotEmpty(pMap)?BigDecimal.ZERO:pMap.getOrDefault(i.getId(),BigDecimal.ZERO)));
|
|
// list.forEach(i -> i.setStartPurchaseCount(MapUtils.isNotEmpty(pMap)?BigDecimal.ZERO:pMap.getOrDefault(i.getId(),BigDecimal.ZERO)));
|
|
// 赋值产品分类名称
|
|
// 赋值产品分类名称
|
|
- productClassifyService.attributeAssign(list, ContractProductVo::getProductCategoryId, (item, productClassify) -> {
|
|
|
|
|
|
+ productClassifyService.attributeAssign(records, ContractProductVo::getProductCategoryId, (item, productClassify) -> {
|
|
item.setProductCategory(productClassify.getName());
|
|
item.setProductCategory(productClassify.getName());
|
|
});
|
|
});
|
|
|
|
+//
|
|
|
|
+// // 赋值公司名称
|
|
|
|
+// corporationService.attributeAssign(records, ContractProductVo::getCorporationId, (item, corporation) -> {
|
|
|
|
+// item.setCorporationName(corporation.getName());
|
|
|
|
+// });
|
|
|
|
|
|
- // 赋值公司名称
|
|
|
|
- corporationService.attributeAssign(list, ContractProductVo::getCorporationId, (item, corporation) -> {
|
|
|
|
- item.setCorporationName(corporation.getName());
|
|
|
|
- });
|
|
|
|
|
|
+// // 赋值公司名称
|
|
|
|
+// corporationService.attributeAssign(list, ContractProductVo::getCorporationId, (item, corporation) -> {
|
|
|
|
+// item.setCorporationName(corporation.getName());
|
|
|
|
+// });
|
|
|
|
|
|
// 赋值业务员名称
|
|
// 赋值业务员名称
|
|
- UserUtil.assignmentNickName(list, ContractProductVo::getSalesmanId, ContractProductVo::setUserName);
|
|
|
|
|
|
+ UserUtil.assignmentNickName(records, ContractProductVo::getSalesmanId, ContractProductVo::setUserName);
|
|
|
|
|
|
// 赋值流程id
|
|
// 赋值流程id
|
|
- flowExampleService.setFlowId(list, ContractProductVo::getContractId, ContractProductVo::setFlowId);
|
|
|
|
|
|
+ flowExampleService.setFlowId(records, ContractProductVo::getContractId, ContractProductVo::setFlowId);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //获取生产公司信息
|
|
|
|
+ List<Long> companyIds = records.stream().map(ContractProductVo::getCompanyId).collect(Collectors.toList());
|
|
|
|
+ Map<Long, String> companyNameMap = DeptUstil.getDeptNameMap(companyIds);
|
|
|
|
+ for (ContractProductVo record : records) {
|
|
|
|
+ //赋值生产公司名称
|
|
|
|
+ record.setCorporationName(companyNameMap.get(record.getCompanyId()));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|