Browse Source

20241106

java8
qiezi 1 year ago
parent
commit
56fec1fedb
  1. 6
      src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailRoutingServiceImpl.java
  2. 8
      src/main/resources/mapper/quote/QuoteDetailRoutingMapper.xml

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

@ -85,7 +85,7 @@ public class QuoteDetailRoutingServiceImpl extends ServiceImpl<QuoteDetailRoutin
BigDecimal efficiencyFactor = quoteDetailRouting.getEfficiencyFactor();
BigDecimal crewSize = quoteDetailRouting.getCrewSize();
// 人工生产时间/(效率*100)
BigDecimal needTime = laborCycleTime.multiply(efficiencyFactor.divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP));
BigDecimal needTime = laborCycleTime.divide(efficiencyFactor.divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP), 6, RoundingMode.HALF_UP);
laborCost = needTime.multiply(laborClassCost).multiply(crewSize);
}
return setupCost.add(laborCost).setScale(4, RoundingMode.HALF_UP);
@ -104,7 +104,7 @@ public class QuoteDetailRoutingServiceImpl extends ServiceImpl<QuoteDetailRoutin
return setupCost.add(manufactureCost).setScale(4, RoundingMode.HALF_UP);
}
BigDecimal efficiencyFactor = quoteDetailRouting.getEfficiencyFactor();
manufactureCost = manuCost.multiply(machCycleTime.multiply(efficiencyFactor.divide(BigDecimal.valueOf(100),6, RoundingMode.HALF_UP)));
manufactureCost = manuCost.multiply(machCycleTime.divide(efficiencyFactor.divide(BigDecimal.valueOf(100),6, RoundingMode.HALF_UP),6, RoundingMode.HALF_UP));
setupCost = setupCost.add(manufactureCost);
}
return setupCost.setScale(4, RoundingMode.HALF_UP);
@ -123,7 +123,7 @@ public class QuoteDetailRoutingServiceImpl extends ServiceImpl<QuoteDetailRoutin
return setupCost.add(manufactureCost).setScale(4, RoundingMode.HALF_UP);
}
BigDecimal efficiencyFactor = quoteDetailRouting.getEfficiencyFactor();
manufactureCost = workCenterCost.multiply(machCycleTime.multiply(efficiencyFactor.divide(BigDecimal.valueOf(100),6, RoundingMode.HALF_UP)));
manufactureCost = workCenterCost.multiply(machCycleTime.divide(efficiencyFactor.divide(BigDecimal.valueOf(100),6, RoundingMode.HALF_UP),6, RoundingMode.HALF_UP));
setupCost = setupCost.add(manufactureCost);
}
return setupCost.setScale(4, RoundingMode.HALF_UP);

8
src/main/resources/mapper/quote/QuoteDetailRoutingMapper.xml

@ -47,10 +47,10 @@
mach_cycle_time,
labor_cycle_time,
dbo.get_work_center_resource_num(site, work_center_no),
dbo.get_labor_class_cost(site, bu_no, labor_class_no, #{quoteDate}),
dbo.get_labor_class_cost(site, bu_no, setup_labor_class_no, #{quoteDate}),
dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'A'),
dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'B')
dbo.get_labor_class_cost(site, bu_no, labor_class_no, #{quoteDate}), -- 人工
dbo.get_labor_class_cost(site, bu_no, setup_labor_class_no, #{quoteDate}), -- 调机人工
dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'A'), -- 加工中心成本
dbo.get_work_center_cost(site, bu_no, work_center_no, #{quoteDate}, 'B') -- 制造费用
from plm_routing_component
where part_no = #{partNo}
and routing_revision = #{routingRevision}

Loading…
Cancel
Save