|
|
|
@ -239,28 +239,31 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe |
|
|
|
quotationDetailList.forEach(quotationDetail -> { |
|
|
|
// 查询报价明细中的信息(材料,工序,工具,成品属性) |
|
|
|
// 1、bom |
|
|
|
QuoteBomHeader bomHeader = getQuoteBomHeader(quotationDetail); |
|
|
|
if(Objects.isNull(bomHeader)){ |
|
|
|
List<QuoteBomHeader> bomHeader = getQuoteBomHeader(quotationDetail); |
|
|
|
if(!bomHeader.isEmpty()){ |
|
|
|
quotationDetail.setQuotationDetailId(null); |
|
|
|
quotationDetail.setQuotationHeaderId(quotationHeader.getQuotationHeaderId()); |
|
|
|
quotationDetailService.save(quotationDetail); |
|
|
|
return; |
|
|
|
} |
|
|
|
List<QuoteBomDetailVo> bomDetailVoList = quoteBomDetailService.searchQuoteBomDetailList(bomHeader); |
|
|
|
// 新增bom |
|
|
|
for (QuoteBomHeader header : bomHeader) { |
|
|
|
header.setQuoteDetailId(quotationDetail.getQuotationDetailId().longValue()); |
|
|
|
List<QuoteBomDetailVo> bomDetailVoList = quoteBomDetailService.searchQuoteBomDetailList(header); |
|
|
|
quoteBomHeaderService.save(header); |
|
|
|
// 将报价明细中的(材料,工序,工具,成品属性)新增到报价单明细中 |
|
|
|
if (!bomDetailVoList.isEmpty()){ |
|
|
|
List<QuoteBomDetail> quoteBomDetailList = getQuoteBomDetailList(quotationDetail,bomDetailVoList); |
|
|
|
quoteBomDetailService.saveBatchQuoteDetailBom(quoteBomDetailList); |
|
|
|
} |
|
|
|
} |
|
|
|
// 2、工具 |
|
|
|
List<QuotationTool> toolList = quotationToolService.lambdaQuery().eq(QuotationTool::getQuotationDetailId, quotationDetail.getQuotationDetailId()).list(); |
|
|
|
// 循环新增报价单明细 |
|
|
|
quotationDetail.setQuotationDetailId(null); |
|
|
|
quotationDetail.setQuotationHeaderId(quotationHeader.getQuotationHeaderId()); |
|
|
|
quotationDetailService.save(quotationDetail); |
|
|
|
// 将报价明细中的(材料,工序,工具,成品属性)新增到报价单明细中 |
|
|
|
// 新增bom |
|
|
|
bomHeader.setQuoteDetailId(quotationDetail.getQuotationDetailId().longValue()); |
|
|
|
quoteBomHeaderService.save(bomHeader); |
|
|
|
if (!bomDetailVoList.isEmpty()){ |
|
|
|
List<QuoteBomDetail> quoteBomDetailList = getQuoteBomDetailList(quotationDetail,bomDetailVoList); |
|
|
|
quoteBomDetailService.saveBatch(quoteBomDetailList); |
|
|
|
} |
|
|
|
|
|
|
|
// 新增工具 |
|
|
|
if (!toolList.isEmpty()){ |
|
|
|
toolList = getQuotationTool(quotationDetail,toolList); |
|
|
|
@ -281,10 +284,10 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe |
|
|
|
return (QuoteBomDetail) quoteBomDetailVo; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
public QuoteBomHeader getQuoteBomHeader(QuotationDetail quotationDetail){ |
|
|
|
public List<QuoteBomHeader> getQuoteBomHeader(QuotationDetail quotationDetail){ |
|
|
|
return quoteBomHeaderService.lambdaQuery() |
|
|
|
.eq(QuoteBomHeader::getQuoteDetailId, quotationDetail.getQuotationDetailId()) |
|
|
|
.eq(QuoteBomHeader::getSite, quotationDetail.getSite()).one(); |
|
|
|
.eq(QuoteBomHeader::getSite, quotationDetail.getSite()).list(); |
|
|
|
} |
|
|
|
|
|
|
|
public List<QuotationDetail> getQuotationDetailList(QuotationHeader quotationHeader){ |
|
|
|
|