Browse Source

20241101

java8
qiezi 1 year ago
parent
commit
1ffacab337
  1. 21
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailServiceImpl.java

21
src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailServiceImpl.java

@ -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();
}

Loading…
Cancel
Save