mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 11:05:18 +08:00
订单用电量,汇总数据和data中数据不相等,取汇总的数据
This commit is contained in:
@@ -424,9 +424,11 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
BigDecimal totalServiceAmount = BigDecimal.ZERO;
|
||||
|
||||
// 尖时段用电量
|
||||
String sharpUsedElectricity = data.getSharpUsedElectricity();
|
||||
if (sharpUsedElectricity != null) {
|
||||
orderDetail.setSharpUsedElectricity(new BigDecimal(sharpUsedElectricity));
|
||||
BigDecimal sharpUsedElectricity = StringUtils.isNotBlank(data.getSharpUsedElectricity())
|
||||
? new BigDecimal(data.getSharpUsedElectricity())
|
||||
: BigDecimal.ZERO;
|
||||
orderDetail.setSharpUsedElectricity(sharpUsedElectricity);
|
||||
if (sharpUsedElectricity.compareTo(BigDecimal.ZERO) > 0) {
|
||||
if (data.getSharpPrice() != null) {
|
||||
orderDetail.setSharpPrice(new BigDecimal(data.getSharpPrice()));
|
||||
}
|
||||
@@ -435,20 +437,22 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
}
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal sharpElectricityAmount = orderDetail.getSharpElectricityPrice()
|
||||
.multiply(new BigDecimal(sharpUsedElectricity))
|
||||
.multiply(sharpUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(sharpElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal sharpServiceAmount = orderDetail.getSharpServicePrice()
|
||||
.multiply(new BigDecimal(sharpUsedElectricity))
|
||||
.multiply(sharpUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(sharpServiceAmount);
|
||||
}
|
||||
|
||||
// 峰时段用电量
|
||||
String peakUsedElectricity = data.getPeakUsedElectricity();
|
||||
if (peakUsedElectricity != null) {
|
||||
orderDetail.setPeakUsedElectricity(new BigDecimal(peakUsedElectricity));
|
||||
BigDecimal peakUsedElectricity = StringUtils.isNotBlank(data.getPeakUsedElectricity())
|
||||
? new BigDecimal(data.getPeakUsedElectricity())
|
||||
: BigDecimal.ZERO;
|
||||
orderDetail.setPeakUsedElectricity(peakUsedElectricity);
|
||||
if (peakUsedElectricity.compareTo(BigDecimal.ZERO) > 0) {
|
||||
if (data.getPeakPrice() != null) {
|
||||
orderDetail.setPeakPrice(new BigDecimal(data.getPeakPrice()));
|
||||
}
|
||||
@@ -457,20 +461,22 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
}
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal peakElectricityAmount = orderDetail.getPeakElectricityPrice()
|
||||
.multiply(new BigDecimal(peakUsedElectricity))
|
||||
.multiply(peakUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(peakElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal peakServiceAmount = orderDetail.getPeakServicePrice()
|
||||
.multiply(new BigDecimal(peakUsedElectricity))
|
||||
.multiply(peakUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(peakServiceAmount);
|
||||
}
|
||||
|
||||
// 平时段用电量
|
||||
String flatUsedElectricity = data.getFlatUsedElectricity();
|
||||
if (flatUsedElectricity != null) {
|
||||
orderDetail.setFlatUsedElectricity(new BigDecimal(flatUsedElectricity));
|
||||
BigDecimal flatUsedElectricity = StringUtils.isNotBlank(data.getFlatUsedElectricity())
|
||||
? new BigDecimal(data.getFlatUsedElectricity())
|
||||
: BigDecimal.ZERO;
|
||||
orderDetail.setFlatUsedElectricity(flatUsedElectricity);
|
||||
if (flatUsedElectricity.compareTo(BigDecimal.ZERO) > 0) {
|
||||
if (data.getFlatPrice() != null) {
|
||||
orderDetail.setFlatPrice(new BigDecimal(data.getFlatPrice()));
|
||||
}
|
||||
@@ -479,20 +485,22 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
}
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal flatElectricityAmount = orderDetail.getFlatElectricityPrice()
|
||||
.multiply(new BigDecimal(flatUsedElectricity))
|
||||
.multiply(flatUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(flatElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal flatServiceAmount = orderDetail.getFlatServicePrice()
|
||||
.multiply(new BigDecimal(flatUsedElectricity))
|
||||
.multiply(flatUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(flatServiceAmount);
|
||||
}
|
||||
|
||||
// 谷时段用电量
|
||||
String valleyUsedElectricity = data.getValleyUsedElectricity();
|
||||
if (valleyUsedElectricity != null) {
|
||||
orderDetail.setValleyUsedElectricity(new BigDecimal(valleyUsedElectricity));
|
||||
BigDecimal valleyUsedElectricity = StringUtils.isNotBlank(data.getValleyUsedElectricity())
|
||||
? new BigDecimal(data.getValleyUsedElectricity())
|
||||
: BigDecimal.ZERO;
|
||||
orderDetail.setValleyUsedElectricity(valleyUsedElectricity);
|
||||
if (valleyUsedElectricity.compareTo(BigDecimal.ZERO) > 0) {
|
||||
if (data.getValleyPrice() != null) {
|
||||
orderDetail.setValleyPrice(new BigDecimal(data.getValleyPrice()));
|
||||
}
|
||||
@@ -501,12 +509,12 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
}
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal valleyElectricityAmount = orderDetail.getValleyElectricityPrice()
|
||||
.multiply(new BigDecimal(valleyUsedElectricity))
|
||||
.multiply(valleyUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(valleyElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal valleyServiceAmount = orderDetail.getValleyServicePrice()
|
||||
.multiply(new BigDecimal(valleyUsedElectricity))
|
||||
.multiply(valleyUsedElectricity)
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(valleyServiceAmount);
|
||||
}
|
||||
@@ -520,8 +528,16 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
orderDetail.setTotalElectricityAmount(totalElectricityAmount);
|
||||
// 服务费总金额
|
||||
orderDetail.setTotalServiceAmount(totalServiceAmount);
|
||||
// 总用电量
|
||||
orderDetail.setTotalUsedElectricity(new BigDecimal(data.getTotalElectricity()));
|
||||
// 尖峰平谷用电量汇总
|
||||
BigDecimal sumUsedElectricity = sharpUsedElectricity.add(peakUsedElectricity)
|
||||
.add(flatUsedElectricity).add(valleyUsedElectricity);
|
||||
// data中的总用电量
|
||||
BigDecimal totalElectricity = new BigDecimal(data.getTotalElectricity());
|
||||
if (sumUsedElectricity.compareTo(totalElectricity) != 0) {
|
||||
// 汇总数据和data中数据不相等,取汇总的数据
|
||||
totalElectricity = sumUsedElectricity;
|
||||
}
|
||||
orderDetail.setTotalUsedElectricity(totalElectricity);
|
||||
// 订单总金额
|
||||
orderDetail.setTotalOrderAmount(orderAmount);
|
||||
} catch (Exception e) {
|
||||
|
||||
Reference in New Issue
Block a user