|
|
@ -338,6 +338,8 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
// BomUnYield |
|
|
// BomUnYield |
|
|
BigDecimal bomUnYield = BigDecimal.ZERO; |
|
|
BigDecimal bomUnYield = BigDecimal.ZERO; |
|
|
BigDecimal bomActualUnYield = BigDecimal.ZERO; |
|
|
BigDecimal bomActualUnYield = BigDecimal.ZERO; |
|
|
|
|
|
// 单位用量 |
|
|
|
|
|
BigDecimal bomQtyPerAssembly = BigDecimal.ZERO; |
|
|
for (QuoteDetailBom bom : bomList) { |
|
|
for (QuoteDetailBom bom : bomList) { |
|
|
// 获取半成品 价格 |
|
|
// 获取半成品 价格 |
|
|
if (Objects.nonNull(root) && root.getPartNo().equals(bom.getComponentPart())){ |
|
|
if (Objects.nonNull(root) && root.getPartNo().equals(bom.getComponentPart())){ |
|
|
@ -346,6 +348,8 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
BigDecimal qtyPerAssembly = bom.getQtyPerAssembly(); |
|
|
BigDecimal qtyPerAssembly = bom.getQtyPerAssembly(); |
|
|
bomUnYield = bomUnYield.add(qtyPerAssembly.multiply(bomYield)); |
|
|
bomUnYield = bomUnYield.add(qtyPerAssembly.multiply(bomYield)); |
|
|
bomActualUnYield = bomActualUnYield.add(qtyPerAssembly.multiply(bomActualYield)); |
|
|
bomActualUnYield = bomActualUnYield.add(qtyPerAssembly.multiply(bomActualYield)); |
|
|
|
|
|
|
|
|
|
|
|
bomQtyPerAssembly = bomQtyPerAssembly.add(qtyPerAssembly); |
|
|
} |
|
|
} |
|
|
bomUnYield = bomUnYield.add(bom.getQuoteUnitPrice()); |
|
|
bomUnYield = bomUnYield.add(bom.getQuoteUnitPrice()); |
|
|
bomActualUnYield = bomActualUnYield.add(bom.getActualQuotePrice()); |
|
|
bomActualUnYield = bomActualUnYield.add(bom.getActualQuotePrice()); |
|
|
@ -372,6 +376,7 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
tree.setBomYield(bomYield); |
|
|
tree.setBomYield(bomYield); |
|
|
tree.setBomActualYield(bomActualYield); |
|
|
tree.setBomActualYield(bomActualYield); |
|
|
tree.setBomActualUnYield(bomActualUnYield); |
|
|
tree.setBomActualUnYield(bomActualUnYield); |
|
|
|
|
|
tree.setBomQtyPerAssembly(bomQtyPerAssembly); |
|
|
quoteDetailBomTreeService.lambdaUpdate() |
|
|
quoteDetailBomTreeService.lambdaUpdate() |
|
|
.set(QuoteDetailBomTree::getYield,tree.getYield()) |
|
|
.set(QuoteDetailBomTree::getYield,tree.getYield()) |
|
|
.set(QuoteDetailBomTree::getBomUnYield,tree.getBomUnYield()) |
|
|
.set(QuoteDetailBomTree::getBomUnYield,tree.getBomUnYield()) |
|
|
@ -379,6 +384,7 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
.set(QuoteDetailBomTree::getBomActualYield,tree.getBomActualYield()) |
|
|
.set(QuoteDetailBomTree::getBomActualYield,tree.getBomActualYield()) |
|
|
.set(QuoteDetailBomTree::getBomActualUnYield,tree.getBomActualUnYield()) |
|
|
.set(QuoteDetailBomTree::getBomActualUnYield,tree.getBomActualUnYield()) |
|
|
.set(QuoteDetailBomTree::getProcessTime, tree.getProcessTime().compareTo(BigDecimal.ZERO) == 0 ? null : tree.getProcessTime()) |
|
|
.set(QuoteDetailBomTree::getProcessTime, tree.getProcessTime().compareTo(BigDecimal.ZERO) == 0 ? null : tree.getProcessTime()) |
|
|
|
|
|
.set(QuoteDetailBomTree::getBomQtyPerAssembly, tree.getBomQtyPerAssembly().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ONE : tree.getBomQtyPerAssembly()) |
|
|
.eq(QuoteDetailBomTree::getId,tree.getId()) |
|
|
.eq(QuoteDetailBomTree::getId,tree.getId()) |
|
|
.update(); |
|
|
.update(); |
|
|
root = tree; |
|
|
root = tree; |
|
|
|