diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java index 006ccf44..4d46da64 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java @@ -408,78 +408,48 @@ public class XhpcPileOrderController extends BaseController { BigDecimal powerPrice =new BigDecimal(0); Integer totalPower =0; BigDecimal servicePrice =new BigDecimal(0); - - if(xhpcChargeOrder.getUserId()==4 && xhpcChargeOrder.getSource()==1){ - //因桩有误差,电费和服务费重新计算 - if(!"0".equals(cacheOrderData.getT1PowerQuantity().toString())){ - totalPower =totalPower+cacheOrderData.getT1PowerQuantity(); - BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); - powerPrice=powerPrice.add(multiply1); - servicePrice=servicePrice.add(multiply2); - } - if(!"0".equals(cacheOrderData.getT2PowerQuantity().toString())){ - totalPower =totalPower+cacheOrderData.getT2PowerQuantity(); - BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); - powerPrice=powerPrice.add(multiply1); - servicePrice=servicePrice.add(multiply2); - } - if(!"0".equals(cacheOrderData.getT3PowerQuantity().toString())){ - totalPower =totalPower+cacheOrderData.getT3PowerQuantity(); - BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); - powerPrice=powerPrice.add(multiply1); - servicePrice=servicePrice.add(multiply2); - } - if(!"0".equals(cacheOrderData.getT4PowerQuantity().toString())){ - totalPower =totalPower+cacheOrderData.getT4PowerQuantity(); - BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); - powerPrice=powerPrice.add(multiply1); - servicePrice=servicePrice.add(multiply2); - } - powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_HALF_UP); - //总服务费 - servicePrice =servicePrice.setScale(2,BigDecimal.ROUND_HALF_UP); - //防止出现负数 - 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(!"0".equals(cacheOrderData.getT1PowerQuantity().toString())){ + totalPower =totalPower+cacheOrderData.getT1PowerQuantity(); + BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT1PowerQuantity()).divide(bigDecimal).multiply(t1serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); + powerPrice=powerPrice.add(multiply1); + servicePrice=servicePrice.add(multiply2); + } + if(!"0".equals(cacheOrderData.getT2PowerQuantity().toString())){ + totalPower =totalPower+cacheOrderData.getT2PowerQuantity(); + BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT2PowerQuantity()).divide(bigDecimal).multiply(t2serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); + powerPrice=powerPrice.add(multiply1); + servicePrice=servicePrice.add(multiply2); + } + if(!"0".equals(cacheOrderData.getT3PowerQuantity().toString())){ + totalPower =totalPower+cacheOrderData.getT3PowerQuantity(); + BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT3PowerQuantity()).divide(bigDecimal).multiply(t3serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); + powerPrice=powerPrice.add(multiply1); + servicePrice=servicePrice.add(multiply2); + } + if(!"0".equals(cacheOrderData.getT4PowerQuantity().toString())){ + totalPower =totalPower+cacheOrderData.getT4PowerQuantity(); + BigDecimal multiply1 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4powerFee).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal multiply2 = new BigDecimal(cacheOrderData.getT4PowerQuantity()).divide(bigDecimal).multiply(t4serviceFee).setScale(2, BigDecimal.ROUND_HALF_UP); + powerPrice=powerPrice.add(multiply1); + servicePrice=servicePrice.add(multiply2); + } + powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_HALF_UP); + //总服务费 + servicePrice =servicePrice.setScale(2,BigDecimal.ROUND_HALF_UP); + //防止出现负数 + if(powerPrice.add(servicePrice).compareTo(money)==-1){ if(powerPrice.compareTo(money)==1){ powerPrice =money; servicePrice = money.subtract(powerPrice); + }else{ + servicePrice = money.subtract(powerPrice); } + }else{ + money = powerPrice.add(servicePrice); } //剩余的电费 BigDecimal surplusPowerPrice = powerPrice;