|
|
|
@ -221,15 +221,16 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
|
.eq(QuoteDetailBomTree::getQuoteDetailId, quoteDetail.getId()) |
|
|
|
.eq(QuoteDetailBomTree::getParentId, 0L).one(); |
|
|
|
QuoteDetailBom bom = new QuoteDetailBom(); |
|
|
|
bom.setQuoteDetailId(quoteDetail.getId()); |
|
|
|
bom.setAllTree(true); |
|
|
|
bom.setTreeId(one.getId()); |
|
|
|
List<QuoteDetailBom> list = quoteDetailBomService.queryQuoteDetailBom(bom); |
|
|
|
for (QuoteDetailBom quoteDetailBom : list) { |
|
|
|
unitQuotePrice = unitQuotePrice.add(quoteDetailBom.getQuotePrice()); |
|
|
|
bomUnYield = bomUnYield.add(quoteDetailBom.getActualQuotePrice()); |
|
|
|
if (Objects.nonNull(one)){ |
|
|
|
bom.setQuoteDetailId(quoteDetail.getId()); |
|
|
|
bom.setAllTree(true); |
|
|
|
bom.setTreeId(one.getId()); |
|
|
|
List<QuoteDetailBom> list = quoteDetailBomService.queryQuoteDetailBom(bom); |
|
|
|
for (QuoteDetailBom quoteDetailBom : list) { |
|
|
|
unitQuotePrice = unitQuotePrice.add(quoteDetailBom.getQuotePrice()); |
|
|
|
bomUnYield = bomUnYield.add(quoteDetailBom.getActualQuotePrice()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 4、计算 BOM Yield |
|
|
|
BigDecimal bomYield = BigDecimal.ZERO; |
|
|
|
if (bomUnYield.compareTo(BigDecimal.ZERO) > 0 && BigDecimal.ZERO.compareTo(detail.getYield()) > 0){ |
|
|
|
|