Browse Source

20241112

java8
qiezi 1 year ago
parent
commit
0eeb358d65
  1. 2
      src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetailBomTree.java
  2. 6
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailServiceImpl.java

2
src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetailBomTree.java

@ -54,6 +54,8 @@ public class QuoteDetailBomTree {
private BigDecimal bomActualYield; private BigDecimal bomActualYield;
private BigDecimal bomQtyPerAssembly;
@TableField(exist = false) @TableField(exist = false)
private List<QuoteDetailBomTree> list = new ArrayList<>(); private List<QuoteDetailBomTree> list = new ArrayList<>();

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

@ -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;

Loading…
Cancel
Save