mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-21 07:39:55 +08:00
优化结算订单逻辑
This commit is contained in:
@@ -303,14 +303,12 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderDetail.setSharpAmount(new BigDecimal(data.getSharpAmount()));
|
orderDetail.setSharpAmount(new BigDecimal(data.getSharpAmount()));
|
||||||
}
|
}
|
||||||
// 计算该时段电费 = 电费单价 x 用电量
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
BigDecimal sharpElectricityAmount = orderDetail.getSharpElectricityPrice()
|
BigDecimal electricityPrice = orderDetail.getSharpElectricityPrice(); // 该时段电费单价
|
||||||
.multiply(sharpUsedElectricity)
|
BigDecimal sharpElectricityAmount = electricityPrice.multiply(sharpUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalElectricityAmount = totalElectricityAmount.add(sharpElectricityAmount);
|
totalElectricityAmount = totalElectricityAmount.add(sharpElectricityAmount);
|
||||||
// 计算该时段服务费
|
// 计算该时段服务费
|
||||||
BigDecimal sharpServiceAmount = orderDetail.getSharpServicePrice()
|
BigDecimal servicePrice = orderDetail.getSharpServicePrice(); // 该时段服务费单价
|
||||||
.multiply(sharpUsedElectricity)
|
BigDecimal sharpServiceAmount = servicePrice.multiply(sharpUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalServiceAmount = totalServiceAmount.add(sharpServiceAmount);
|
totalServiceAmount = totalServiceAmount.add(sharpServiceAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -327,14 +325,12 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderDetail.setPeakAmount(new BigDecimal(data.getPeakAmount()));
|
orderDetail.setPeakAmount(new BigDecimal(data.getPeakAmount()));
|
||||||
}
|
}
|
||||||
// 计算该时段电费 = 电费单价 x 用电量
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
BigDecimal peakElectricityAmount = orderDetail.getPeakElectricityPrice()
|
BigDecimal electricityPrice = orderDetail.getPeakElectricityPrice(); // 该时段电费单价
|
||||||
.multiply(peakUsedElectricity)
|
BigDecimal peakElectricityAmount = electricityPrice.multiply(peakUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalElectricityAmount = totalElectricityAmount.add(peakElectricityAmount);
|
totalElectricityAmount = totalElectricityAmount.add(peakElectricityAmount);
|
||||||
// 计算该时段服务费
|
// 计算该时段服务费
|
||||||
BigDecimal peakServiceAmount = orderDetail.getPeakServicePrice()
|
BigDecimal servicePrice = orderDetail.getPeakServicePrice(); // 该时段服务费单价
|
||||||
.multiply(peakUsedElectricity)
|
BigDecimal peakServiceAmount = servicePrice.multiply(peakUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalServiceAmount = totalServiceAmount.add(peakServiceAmount);
|
totalServiceAmount = totalServiceAmount.add(peakServiceAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -351,14 +347,12 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderDetail.setFlatAmount(new BigDecimal(data.getFlatAmount()));
|
orderDetail.setFlatAmount(new BigDecimal(data.getFlatAmount()));
|
||||||
}
|
}
|
||||||
// 计算该时段电费 = 电费单价 x 用电量
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
BigDecimal flatElectricityAmount = orderDetail.getFlatElectricityPrice()
|
BigDecimal electricityPrice = orderDetail.getFlatElectricityPrice(); // 该时段电费单价
|
||||||
.multiply(flatUsedElectricity)
|
BigDecimal flatElectricityAmount = electricityPrice.multiply(flatUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalElectricityAmount = totalElectricityAmount.add(flatElectricityAmount);
|
totalElectricityAmount = totalElectricityAmount.add(flatElectricityAmount);
|
||||||
// 计算该时段服务费
|
// 计算该时段服务费
|
||||||
BigDecimal flatServiceAmount = orderDetail.getFlatServicePrice()
|
BigDecimal servicePrice = orderDetail.getFlatServicePrice(); // 该时段服务费单价
|
||||||
.multiply(flatUsedElectricity)
|
BigDecimal flatServiceAmount = servicePrice.multiply(flatUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalServiceAmount = totalServiceAmount.add(flatServiceAmount);
|
totalServiceAmount = totalServiceAmount.add(flatServiceAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -375,14 +369,12 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
orderDetail.setValleyAmount(new BigDecimal(data.getValleyAmount()));
|
orderDetail.setValleyAmount(new BigDecimal(data.getValleyAmount()));
|
||||||
}
|
}
|
||||||
// 计算该时段电费 = 电费单价 x 用电量
|
// 计算该时段电费 = 电费单价 x 用电量
|
||||||
BigDecimal valleyElectricityAmount = orderDetail.getValleyElectricityPrice()
|
BigDecimal electricityPrice = orderDetail.getValleyElectricityPrice(); // 该时段电费单价
|
||||||
.multiply(valleyUsedElectricity)
|
BigDecimal valleyElectricityAmount = electricityPrice.multiply(valleyUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalElectricityAmount = totalElectricityAmount.add(valleyElectricityAmount);
|
totalElectricityAmount = totalElectricityAmount.add(valleyElectricityAmount);
|
||||||
// 计算该时段服务费
|
// 计算该时段服务费
|
||||||
BigDecimal valleyServiceAmount = orderDetail.getValleyServicePrice()
|
BigDecimal servicePrice = orderDetail.getValleyServicePrice();
|
||||||
.multiply(valleyUsedElectricity)
|
BigDecimal valleyServiceAmount = servicePrice.multiply(valleyUsedElectricity).setScale(2, RoundingMode.DOWN);
|
||||||
.setScale(2, RoundingMode.DOWN);
|
|
||||||
totalServiceAmount = totalServiceAmount.add(valleyServiceAmount);
|
totalServiceAmount = totalServiceAmount.add(valleyServiceAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -396,16 +388,10 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
|||||||
// 服务费总金额
|
// 服务费总金额
|
||||||
orderDetail.setTotalServiceAmount(totalServiceAmount);
|
orderDetail.setTotalServiceAmount(totalServiceAmount);
|
||||||
// 尖峰平谷用电量汇总
|
// 尖峰平谷用电量汇总
|
||||||
BigDecimal sumUsedElectricity = sharpUsedElectricity.add(peakUsedElectricity)
|
BigDecimal sumUsedElectricity = sharpUsedElectricity.add(peakUsedElectricity).add(flatUsedElectricity).add(valleyUsedElectricity);
|
||||||
.add(flatUsedElectricity).add(valleyUsedElectricity);
|
|
||||||
// data中的总用电量
|
// data中的总用电量
|
||||||
BigDecimal totalElectricity = new BigDecimal(StringUtils.isBlank(data.getTotalElectricity()) ? Constants.ZERO : data.getTotalElectricity());
|
BigDecimal totalElectricity = new BigDecimal(StringUtils.isBlank(data.getTotalElectricity()) ? Constants.ZERO : data.getTotalElectricity());
|
||||||
// if (sumUsedElectricity.compareTo(totalElectricity) != 0) {
|
orderDetail.setTotalUsedElectricity(totalElectricity.max(sumUsedElectricity)); // sumUsedElectricity与totalElectricity对比, 取最大的值
|
||||||
// // 汇总数据和data中数据不相等,取汇总的数据
|
|
||||||
// totalElectricity = sumUsedElectricity;
|
|
||||||
// }
|
|
||||||
// totalElectricity = sumUsedElectricity与totalElectricity, 取最大的值
|
|
||||||
orderDetail.setTotalUsedElectricity(totalElectricity.max(sumUsedElectricity));
|
|
||||||
// 订单总金额
|
// 订单总金额
|
||||||
orderDetail.setTotalOrderAmount(orderAmount);
|
orderDetail.setTotalOrderAmount(orderAmount);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user