|
@@ -304,21 +304,21 @@ public class ComMetalFinanceItemServiceImpl extends ServiceImpl<ComMetalFinanceI
|
|
|
|
|
|
// 金属损失金额=金属价格/1.13/1000*报废损失率*最终重量
|
|
|
BigDecimal metalpriceloss = (metalProductDto.getMetakprice()
|
|
|
- .divide(new BigDecimal("1.13"),6,RoundingMode.HALF_UP)
|
|
|
- .divide(new BigDecimal("1000"),6,RoundingMode.HALF_UP)
|
|
|
- .multiply(metalProductDto.getLossrate().divide(new BigDecimal("100.00"),6,RoundingMode.HALF_UP))
|
|
|
+ .divide(new BigDecimal("1.13"),12,RoundingMode.HALF_UP)
|
|
|
+ .divide(new BigDecimal("1000"),12,RoundingMode.HALF_UP)
|
|
|
+ .multiply(metalProductDto.getLossrate().divide(new BigDecimal("100.00"),12,RoundingMode.HALF_UP))
|
|
|
.multiply(requestVo.getFinalweight())).setScale(6, RoundingMode.HALF_UP);
|
|
|
|
|
|
// 运费损失=运费单价*2/1.09/1000*最终重量
|
|
|
BigDecimal freightloss = (cmfrItemDo.getFreightunitprice()
|
|
|
.multiply(new BigDecimal("2"))
|
|
|
- .divide(new BigDecimal("1.09"),6, RoundingMode.HALF_UP)
|
|
|
- .divide(new BigDecimal("1000"), 6,RoundingMode.HALF_UP)
|
|
|
+ .divide(new BigDecimal("1.09"),12, RoundingMode.HALF_UP)
|
|
|
+ .divide(new BigDecimal("1000"), 12,RoundingMode.HALF_UP)
|
|
|
.multiply(requestVo.getFinalweight())).setScale(6,RoundingMode.HALF_UP);
|
|
|
|
|
|
// 计算合计 (人民币)=加工收入单价/1.13*最终重量+加工成本单价*最终重量+金属损失金额+运费损失
|
|
|
BigDecimal totalcostrmb = (cmfrItemDo.getProcessunitprice()
|
|
|
- .divide(new BigDecimal("1.13"),6, RoundingMode.HALF_UP)
|
|
|
+ .divide(new BigDecimal("1.13"),12, RoundingMode.HALF_UP)
|
|
|
.multiply(requestVo.getFinalweight())
|
|
|
.add(cmfrItemDo.getCostunitprice().multiply(requestVo.getFinalweight()))
|
|
|
.add(metalpriceloss)
|