结算订单优化

This commit is contained in:
yuyang 2022-05-05 16:05:09 +08:00
parent c95150946a
commit 7bf2c90aca

View File

@ -408,78 +408,48 @@ public class XhpcPileOrderController extends BaseController {
BigDecimal powerPrice =new BigDecimal(0); BigDecimal powerPrice =new BigDecimal(0);
Integer totalPower =0; Integer totalPower =0;
BigDecimal servicePrice =new BigDecimal(0); BigDecimal servicePrice =new BigDecimal(0);
//因桩有误差电费和服务费重新计算
if(xhpcChargeOrder.getUserId()==4 && xhpcChargeOrder.getSource()==1){ if(!"0".equals(cacheOrderData.getT1PowerQuantity().toString())){
//因桩有误差电费和服务费重新计算 totalPower =totalPower+cacheOrderData.getT1PowerQuantity();
if(!"0".equals(cacheOrderData.getT1PowerQuantity().toString())){ BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT1PowerQuantity(); BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); powerPrice=powerPrice.add(multiply1);
BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); servicePrice=servicePrice.add(multiply2);
powerPrice=powerPrice.add(multiply1); }
servicePrice=servicePrice.add(multiply2); if(!"0".equals(cacheOrderData.getT2PowerQuantity().toString())){
} totalPower =totalPower+cacheOrderData.getT2PowerQuantity();
if(!"0".equals(cacheOrderData.getT2PowerQuantity().toString())){ BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT2PowerQuantity(); BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); powerPrice=powerPrice.add(multiply1);
BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); servicePrice=servicePrice.add(multiply2);
powerPrice=powerPrice.add(multiply1); }
servicePrice=servicePrice.add(multiply2); if(!"0".equals(cacheOrderData.getT3PowerQuantity().toString())){
} totalPower =totalPower+cacheOrderData.getT3PowerQuantity();
if(!"0".equals(cacheOrderData.getT3PowerQuantity().toString())){ BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT3PowerQuantity(); BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); powerPrice=powerPrice.add(multiply1);
BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); servicePrice=servicePrice.add(multiply2);
powerPrice=powerPrice.add(multiply1); }
servicePrice=servicePrice.add(multiply2); if(!"0".equals(cacheOrderData.getT4PowerQuantity().toString())){
} totalPower =totalPower+cacheOrderData.getT4PowerQuantity();
if(!"0".equals(cacheOrderData.getT4PowerQuantity().toString())){ BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT4PowerQuantity(); BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); powerPrice=powerPrice.add(multiply1);
BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); servicePrice=servicePrice.add(multiply2);
powerPrice=powerPrice.add(multiply1); }
servicePrice=servicePrice.add(multiply2); powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_HALF_UP);
} //总服务费
powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_HALF_UP); servicePrice =servicePrice.setScale(2,BigDecimal.ROUND_HALF_UP);
//总服务费 //防止出现负数
servicePrice =servicePrice.setScale(2,BigDecimal.ROUND_HALF_UP); if(powerPrice.add(servicePrice).compareTo(money)==-1){
//防止出现负数
if(powerPrice.add(servicePrice).compareTo(money)==-1){
if(powerPrice.compareTo(money)==1){
powerPrice =money;
servicePrice = money.subtract(powerPrice);
}else{
servicePrice = money.subtract(powerPrice);
}
}
}else{
if(!"0".equals(cacheOrderData.getT1PowerQuantity().toString())){
BigDecimal multiply = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT1PowerQuantity();
powerPrice=powerPrice.add(multiply);
}
if(!"0".equals(cacheOrderData.getT2PowerQuantity().toString())){
BigDecimal multiply = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT2PowerQuantity();
powerPrice=powerPrice.add(multiply);
}
if(!"0".equals(cacheOrderData.getT3PowerQuantity().toString())){
BigDecimal multiply = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT3PowerQuantity();
powerPrice=powerPrice.add(multiply);
}
if(!"0".equals(cacheOrderData.getT4PowerQuantity().toString())){
BigDecimal multiply = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4powerFee).setScale(2, BigDecimal.ROUND_HALF_UP);
totalPower =totalPower+cacheOrderData.getT4PowerQuantity();
powerPrice=powerPrice.add(multiply);
}
powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_HALF_UP);
//总服务费
servicePrice = money.subtract(powerPrice);
//防止出现负数
if(powerPrice.compareTo(money)==1){ if(powerPrice.compareTo(money)==1){
powerPrice =money; powerPrice =money;
servicePrice = money.subtract(powerPrice); servicePrice = money.subtract(powerPrice);
}else{
servicePrice = money.subtract(powerPrice);
} }
}else{
money = powerPrice.add(servicePrice);
} }
//剩余的电费 //剩余的电费
BigDecimal surplusPowerPrice = powerPrice; BigDecimal surplusPowerPrice = powerPrice;