|
|
|
@ -235,19 +235,22 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
|
// BomUnYield |
|
|
|
// List<QuoteDetailBomTree> treeList = quoteDetailBomTreeService.lambdaQuery().eq(QuoteDetailBomTree::getParentId, tree.getId()).list(); |
|
|
|
|
|
|
|
tree.setBomUnYield(bomUnYield); |
|
|
|
tree.setYield(yieldRate); |
|
|
|
if (bomUnYield.compareTo(BigDecimal.ZERO) == 0 || Objects.isNull(yieldRate) || yieldRate.compareTo(BigDecimal.ZERO) == 0){ |
|
|
|
tree.setBomYield(BigDecimal.ZERO); |
|
|
|
}else { |
|
|
|
tree.setBomYield(bomUnYield.divide(yieldRate, 6, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100))); |
|
|
|
// tree.setBomUnYield(bomUnYield); |
|
|
|
// tree.setYield(yieldRate); |
|
|
|
BigDecimal bomYield = null; |
|
|
|
if (bomUnYield.compareTo(BigDecimal.ZERO) != 0 && Objects.nonNull(yieldRate) && yieldRate.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
bomYield = bomUnYield.divide(yieldRate, 6, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)); |
|
|
|
} |
|
|
|
BigDecimal processTime = new BigDecimal(0); |
|
|
|
List<QuoteDetailRouting> routingList = quoteDetailRoutingService.lambdaQuery().eq(QuoteDetailRouting::getTreeId, tree.getId()).list(); |
|
|
|
for (QuoteDetailRouting quoteDetailRouting : routingList) { |
|
|
|
processTime = processTime.add(quoteDetailRouting.getLaborCycleTime()); |
|
|
|
} |
|
|
|
//BigDecimal processTime = null; |
|
|
|
quoteDetailBomTreeService.lambdaUpdate() |
|
|
|
.set(QuoteDetailBomTree::getYield,yieldRate) |
|
|
|
.set(QuoteDetailBomTree::getBomUnYield,bomUnYield) |
|
|
|
.set(QuoteDetailBomTree::getBomYield,tree.getBomYield()) |
|
|
|
.set(QuoteDetailBomTree::getProcessTime, null) |
|
|
|
.set(QuoteDetailBomTree::getBomYield,bomYield) |
|
|
|
.set(QuoteDetailBomTree::getProcessTime, processTime.compareTo(BigDecimal.ZERO) == 0 ? null : processTime) |
|
|
|
.eq(QuoteDetailBomTree::getId,tree.getId()) |
|
|
|
.update(); |
|
|
|
} |
|
|
|
|