diff --git a/src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java b/src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java index 4ec99fa..60d1cfa 100644 --- a/src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java +++ b/src/main/java/com/order/erp/service/order/impl/ProjectBaseInfoServiceImpl.java @@ -632,7 +632,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe .filter(Objects::nonNull) .reduce(BigDecimal::add) .ifPresent(packetActualRmbTotalPrice -> { - businessProfitInfoVO.setPacketActualRmbTotalPrice(packetActualRmbTotalPrice.setScale(4, RoundingMode.HALF_UP)); + businessProfitInfoVO.setPacketActualRmbTotalPrice(packetActualRmbTotalPrice.setScale(2, RoundingMode.HALF_UP)); }); //订单数 details.stream() @@ -651,7 +651,8 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe if (Objects.nonNull(businessProfitInfoVO.getPacketActualRmbTotalPrice()) && Objects.nonNull(businessProfitInfoVO.getPacketRmbTotalPrice())) { //包装费用收益¥ - businessProfitInfoVO.setPacketProfitRmbPrice(BigDecimal.valueOf(businessProfitInfoVO.getPacketRmbTotalPrice()).subtract(businessProfitInfoVO.getPacketActualRmbTotalPrice())); + businessProfitInfoVO.setPacketProfitRmbPrice(BigDecimal.valueOf(businessProfitInfoVO.getPacketRmbTotalPrice()) + .subtract(businessProfitInfoVO.getPacketActualRmbTotalPrice()).setScale(2, RoundingMode.HALF_UP)); } //hod时间差 @@ -709,27 +710,27 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe } } //固定成本 - businessProfitInfoVO.setFixedCost(BigDecimal.valueOf((between+1) * Double.parseDouble(fixCostValue))); + businessProfitInfoVO.setFixedCost(BigDecimal.valueOf((between+1) * Double.parseDouble(fixCostValue)).setScale(2, RoundingMode.HALF_UP)); if (Objects.nonNull(spainRatio) && Objects.nonNull(businessProfitInfoVO.getCustomerRmbTotalPrice())) { //西班牙提成 - businessProfitInfoVO.setSpainRmbCommission(BigDecimal.valueOf(businessProfitInfoVO.getCustomerRmbTotalPrice()).multiply(BigDecimal.valueOf(Double.parseDouble(spainRatio)))); + businessProfitInfoVO.setSpainRmbCommission(BigDecimal.valueOf(businessProfitInfoVO.getCustomerRmbTotalPrice()).multiply(BigDecimal.valueOf(Double.parseDouble(spainRatio))).setScale(2, RoundingMode.HALF_UP)); } if (Objects.nonNull(businessProfitInfoVO.getSpainRmbCommission()) && Objects.nonNull(projectBaseInfoDO.getSpainPaidRmbCommission())) { //西班牙未发提成 - businessProfitInfoVO.setSpainUnpaidRmbCommission(businessProfitInfoVO.getSpainRmbCommission().subtract(projectBaseInfoDO.getSpainPaidRmbCommission())); + businessProfitInfoVO.setSpainUnpaidRmbCommission(businessProfitInfoVO.getSpainRmbCommission().subtract(projectBaseInfoDO.getSpainPaidRmbCommission()).setScale(2, RoundingMode.HALF_UP)); } if (Objects.nonNull(ratio) && Objects.nonNull(businessProfitInfoVO.getCustomerRmbTotalPrice())) { //中国团队提成 - businessProfitInfoVO.setRmbCommission(BigDecimal.valueOf(businessProfitInfoVO.getCustomerRmbTotalPrice()).multiply(BigDecimal.valueOf(Double.parseDouble(ratio)))); + businessProfitInfoVO.setRmbCommission(BigDecimal.valueOf(businessProfitInfoVO.getCustomerRmbTotalPrice()).multiply(BigDecimal.valueOf(Double.parseDouble(ratio))).setScale(2, RoundingMode.HALF_UP)); } if (Objects.nonNull(businessProfitInfoVO.getRmbCommission()) && Objects.nonNull(projectBaseInfoDO.getPaidRmbCommission())) { //未发提成 - businessProfitInfoVO.setUnpaidRmbCommission(businessProfitInfoVO.getRmbCommission().subtract(projectBaseInfoDO.getPaidRmbCommission())); + businessProfitInfoVO.setUnpaidRmbCommission(businessProfitInfoVO.getRmbCommission().subtract(projectBaseInfoDO.getPaidRmbCommission()).setScale(2, RoundingMode.HALF_UP)); } } if (Objects.nonNull(businessProfitInfoVO.getActualExchangeRate()) @@ -744,7 +745,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe .add(Optional.ofNullable(businessProfitInfoVO.getFixedCost()).orElse(BigDecimal.ZERO)) .add(Optional.ofNullable(businessProfitInfoVO.getDevelopmentCopyRmbTotalPrice()).orElse(BigDecimal.ZERO)) .add(BigDecimal.valueOf(Optional.ofNullable(businessProfitInfoVO.getPacketRmbTotalPrice()).orElse(0.0))) - .add(BigDecimal.valueOf(Optional.ofNullable(businessProfitInfoVO.getProductionDepartmentTotalPrice()).orElse(0.0)))); + .add(BigDecimal.valueOf(Optional.ofNullable(businessProfitInfoVO.getProductionDepartmentTotalPrice()).orElse(0.0))).setScale(2, RoundingMode.HALF_UP)); if (Objects.nonNull(businessProfitInfoVO.getCustomerRmbTotalPrice()) && Objects.nonNull(businessProfitInfoVO.getProductionDepartmentTotalPrice()) && Objects.nonNull(businessProfitInfoVO.getPacketRmbTotalPrice())) { @@ -763,7 +764,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe && Objects.nonNull(businessProfitInfoVO.getRmbTotalExpense())) { //研发贸易净利润 businessProfitInfoVO.setDevelopmentProfit(BigDecimal.valueOf(businessProfitInfoVO.getCustomerRmbTotalPrice()) - .subtract(businessProfitInfoVO.getRmbTotalExpense()) + .subtract(businessProfitInfoVO.getRmbTotalExpense().setScale(2, RoundingMode.HALF_UP)) ); //研发贸易净利润率 businessProfitInfoVO.setDevelopmentProfitRate(businessProfitInfoVO.getDevelopmentProfit() @@ -772,7 +773,7 @@ public class ProjectBaseInfoServiceImpl extends ServiceImpl<ProjectBaseInfoMappe //综合收益 businessProfitInfoVO.setComprehensiveProfit(Optional.ofNullable(businessProfitInfoVO.getDevelopmentProfit()).orElse(BigDecimal.ZERO) .add(Optional.ofNullable(businessProfitInfoVO.getExchangeRateProfit()).orElse(BigDecimal.ZERO)) - .add(Optional.ofNullable(businessProfitInfoVO.getActualOrderRmbPrice()).orElse(BigDecimal.ZERO))); + .add(Optional.ofNullable(businessProfitInfoVO.getActualOrderRmbPrice()).orElse(BigDecimal.ZERO)).setScale(2, RoundingMode.HALF_UP)); return businessProfitInfoVO; }).collect(Collectors.toList()); }