|
|
|
@ -258,15 +258,22 @@ public class QuoteDetailServiceImpl extends ServiceImpl<QuoteDetailMapper, Quote |
|
|
|
if (Long.valueOf(0L).equals(bomTree.getParentId())){ |
|
|
|
treeId = bomTree.getId(); |
|
|
|
} |
|
|
|
|
|
|
|
// 查询物料类型,只有Manufactured或Manufactured Recipe类型的物料才计算Routing成本 |
|
|
|
String partType = quoteDetailBomTreeService.queryPartType(bomTree.getSite(), bomTree.getPartNo()); |
|
|
|
boolean isManufacturedPart = "Manufactured".equals(partType) || "Manufactured Recipe".equals(partType); |
|
|
|
|
|
|
|
// 计算具体人工成本 |
|
|
|
List<QuoteDetailRouting> routings = Optional.ofNullable(routingMap.get(bomTree.getId())).orElse(new ArrayList<>()); |
|
|
|
|
|
|
|
BigDecimal bomLabourCost = BigDecimal.ZERO; |
|
|
|
BigDecimal bomMachineCost = BigDecimal.ZERO; |
|
|
|
// 获得 BomTree的 人工和制造成本 |
|
|
|
for (QuoteDetailRouting routing : routings) { |
|
|
|
bomLabourCost = bomLabourCost.add(routing.getTotalLaborCost()); |
|
|
|
bomMachineCost = bomMachineCost.add(routing.getTotalMachCost()); |
|
|
|
// 获得 BomTree的 人工和制造成本(仅Manufactured或Manufactured Recipe类型的物料) |
|
|
|
if (isManufacturedPart) { |
|
|
|
for (QuoteDetailRouting routing : routings) { |
|
|
|
bomLabourCost = bomLabourCost.add(routing.getTotalLaborCost()); |
|
|
|
bomMachineCost = bomMachineCost.add(routing.getTotalMachCost()); |
|
|
|
} |
|
|
|
} |
|
|
|
// BomTree的物料成本 |
|
|
|
List<QuoteDetailBom> boms = Optional.ofNullable(bomMap.get(bomTree.getId())).orElse(new ArrayList<>()); |
|
|
|
|