|
@@ -42,6 +42,9 @@ import org.jeecg.modules.cuspCode.service.ICuspCustomerProfileService;
|
|
|
import org.jeecg.modules.cuspCode.service.ICuspSupplierProfileService;
|
|
|
import org.jeecg.modules.purCode.entity.PurInquiryForm;
|
|
|
import org.jeecg.modules.purCode.entity.PurInquiryFormProduct;
|
|
|
+import org.jeecg.modules.purCode.entity.PurQuotationSelectionProduct;
|
|
|
+import org.jeecg.modules.purCode.service.IPurInquiryFormProductService;
|
|
|
+import org.jeecg.modules.purCode.service.IPurQuotationSelectionProductService;
|
|
|
import org.jeecg.modules.saleCode.entity.*;
|
|
|
import org.jeecg.modules.saleCode.service.*;
|
|
|
import org.jeecg.modules.saleCode.util.EasyExcelUtil;
|
|
@@ -123,6 +126,14 @@ public class SaleQuotationController {
|
|
|
private ISysDictService sysDictService;
|
|
|
@Autowired
|
|
|
private IBaseApproverHeadService approverHeadService;
|
|
|
+ @Autowired
|
|
|
+ private IPurQuotationSelectionProductService purQuotationSelectionProductService;
|
|
|
+ @Autowired
|
|
|
+ private IPurInquiryFormProductService purInquiryFormProductService;
|
|
|
+ @Autowired
|
|
|
+ private ISaleInquiryFormProductService saleInquiryFormProductService;
|
|
|
+ @Autowired
|
|
|
+ private ISaleInquiryFormService saleInquiryFormService;
|
|
|
|
|
|
@Value(value = "${jeecg.path.upload}")
|
|
|
private String uploadpath;
|
|
@@ -146,6 +157,52 @@ public class SaleQuotationController {
|
|
|
QueryWrapper<SaleQuotation> queryWrapper = QueryGenerator.initQueryWrapper(saleQuotation, req.getParameterMap());
|
|
|
Page<SaleQuotation> page = new Page<SaleQuotation>(pageNo, pageSize);
|
|
|
IPage<SaleQuotation> pageList = saleQuotationService.page(page, queryWrapper);
|
|
|
+ List<SaleQuotation> quotationList = pageList.getRecords();
|
|
|
+ if (quotationList.size()>0){
|
|
|
+ // 报价单详情
|
|
|
+ QueryWrapper<SaleQuotationProduct> quotationProductQueryWrapper = new QueryWrapper<>();
|
|
|
+ quotationProductQueryWrapper.lambda().in(SaleQuotationProduct::getHeadId, quotationList.stream().map(SaleQuotation::getId).collect(Collectors.toList()));
|
|
|
+ List<SaleQuotationProduct> quotationProductList = saleQuotationProductService.list(quotationProductQueryWrapper);
|
|
|
+ // 采购报价选定详情
|
|
|
+ List<PurQuotationSelectionProduct> quotationSelectionProductList =new ArrayList<>();
|
|
|
+ if (quotationProductList.size()>0){
|
|
|
+ quotationSelectionProductList = purQuotationSelectionProductService.listByIds(quotationProductList.stream().map(SaleQuotationProduct::getSourceId).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ // 采购询价详情
|
|
|
+ List<PurInquiryFormProduct> purInquiryFormProductList = new ArrayList<>();
|
|
|
+ if (quotationSelectionProductList.size()>0){
|
|
|
+ purInquiryFormProductList = purInquiryFormProductService.listByIds(quotationSelectionProductList.stream().map(PurQuotationSelectionProduct::getSourceId).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ // 销售询价详情
|
|
|
+ List<SaleInquiryFormProduct> saleInquiryFormProductList = new ArrayList<>();
|
|
|
+ if (purInquiryFormProductList.size()>0){
|
|
|
+ saleInquiryFormProductList = saleInquiryFormProductService.listByIds(purInquiryFormProductList.stream().map(PurInquiryFormProduct::getSourceId).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ // 销售询价单
|
|
|
+ List<SaleInquiryForm> saleInquiryFormList = new ArrayList<>();
|
|
|
+ if (saleInquiryFormProductList.size()>0){
|
|
|
+ saleInquiryFormList = saleInquiryFormService.listByIds(saleInquiryFormProductList.stream().map(SaleInquiryFormProduct::getHeadId).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ for (SaleQuotation q : quotationList){
|
|
|
+ List<SaleQuotationProduct> findQuotationProductList = quotationProductList.stream().filter(p->p.getHeadId().equals(q.getId())).collect(Collectors.toList());
|
|
|
+ List<PurQuotationSelectionProduct> findQuotationSelectionProductList = quotationSelectionProductList.stream().filter(qsp->{
|
|
|
+ return findQuotationProductList.stream().filter(qp->qsp.getId().equals(qp.getSourceId())).count()>0;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ List<PurInquiryFormProduct> findPurInquiryFormProductList = purInquiryFormProductList.stream().filter(i->{
|
|
|
+ return findQuotationSelectionProductList.stream().filter(p->i.getId().equals(p.getSourceId())).count()>0;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ List<SaleInquiryFormProduct> findSaleInquiryFormProductList = saleInquiryFormProductList.stream().filter(si->{
|
|
|
+ return findPurInquiryFormProductList.stream().filter(i->si.getId().equals(i.getSourceId())).count()>0;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ List<SaleInquiryForm> findSaleInquiryFormList = saleInquiryFormList.stream().filter(h->{
|
|
|
+ return findSaleInquiryFormProductList.stream().filter(i->h.getId().equals(i.getHeadId())).count()>0;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ q.setCustomerInquiryNumber(String.join(",",findSaleInquiryFormList.stream().map(SaleInquiryForm::getCustomerInquiryNumber).distinct().collect(Collectors.toList())));
|
|
|
+ q.setQualityGrade(String.join(",",findQuotationSelectionProductList.stream().map(PurQuotationSelectionProduct::getQualityGrade).distinct().collect(Collectors.toList())));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
return Result.OK(pageList);
|
|
|
}
|
|
|
|