修改订单四舍五入
This commit is contained in:
parent
5f7d65ae61
commit
d0ddb09a7c
@ -174,7 +174,7 @@ public class CheckChargeOrders extends CoreDispatcher {
|
||||
totalPower = totalPower + cacheOrderData.getT4PowerQuantity();
|
||||
powerPrice = powerPrice.add(multiply);
|
||||
}
|
||||
powerPrice = powerPrice.setScale(2, BigDecimal.ROUND_UP);
|
||||
powerPrice = powerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//总服务费
|
||||
BigDecimal servicePrice = money.subtract(powerPrice);
|
||||
|
||||
|
||||
@ -307,7 +307,7 @@ public class XhpcPileOrderController extends BaseController {
|
||||
totalPower =totalPower+cacheOrderData.getT4PowerQuantity();
|
||||
powerPrice=powerPrice.add(multiply);
|
||||
}
|
||||
powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_UP);
|
||||
powerPrice =powerPrice.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//总服务费
|
||||
BigDecimal servicePrice = money.subtract(powerPrice);
|
||||
//剩余的电费
|
||||
|
||||
@ -166,11 +166,11 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
// continue;
|
||||
// }
|
||||
// //每分钟多少度电
|
||||
// BigDecimal decimal = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_UP);
|
||||
// BigDecimal decimal = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_HALF_UP);
|
||||
// if(decimal.compareTo(new BigDecimal(0)) !=1){
|
||||
// continue;
|
||||
// }
|
||||
// BigDecimal divide = xhpc.getChargingDegree().divide(decimal,2,BigDecimal.ROUND_UP);
|
||||
// BigDecimal divide = xhpc.getChargingDegree().divide(decimal,2,BigDecimal.ROUND_HALF_UP);
|
||||
//
|
||||
// if(betweenDay==0){
|
||||
// XhpcStatisticsStation xhpcSt =new XhpcStatisticsStation();
|
||||
@ -300,14 +300,14 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
// serviceFee =new BigDecimal(map.get("serviceFee").toString());
|
||||
// startTime1 = map.get("startTime").toString();
|
||||
// }
|
||||
// timeInterval =timeInterval.add(new BigDecimal((DateUtil.parse(endTime1).getTime()-DateUtil.parse(startTime1).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_UP));
|
||||
// powerPriceTotal1 = powerPriceTotal1.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_UP));
|
||||
// servicePriceTotal1 = servicePriceTotal1.add(serviceFee.multiply(divide).setScale(2, BigDecimal.ROUND_UP));
|
||||
// chargingDegree2 =chargingDegree2.add(timeInterval.multiply(divide).setScale(2,BigDecimal.ROUND_UP));
|
||||
// timeInterval =timeInterval.add(new BigDecimal((DateUtil.parse(endTime1).getTime()-DateUtil.parse(startTime1).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_HALF_UP));
|
||||
// powerPriceTotal1 = powerPriceTotal1.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
// servicePriceTotal1 = servicePriceTotal1.add(serviceFee.multiply(divide).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
// chargingDegree2 =chargingDegree2.add(timeInterval.multiply(divide).setScale(2,BigDecimal.ROUND_HALF_UP));
|
||||
// }
|
||||
// XhpcStatisticsStation xhpcSt =new XhpcStatisticsStation();
|
||||
// xhpcSt.setChargingDegree(chargingDegree2);
|
||||
// xhpcSt.setChargingTime(timeInterval.divide(new BigDecimal(60),2,BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setChargingTime(timeInterval.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setChargingNumber(1);
|
||||
// xhpcSt.setPowerPrice(powerPriceTotal1);
|
||||
// xhpcSt.setServicePrice(servicePriceTotal1);
|
||||
@ -316,13 +316,13 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
// xhpcSt.setTotalPrice(powerPriceTotal1.add(servicePriceTotal1));
|
||||
// BigDecimal actPrice2 =powerPriceTotal1.add(servicePriceTotal1);
|
||||
// BigDecimal promotion =new BigDecimal(2);
|
||||
// xhpcSt.setPromotionDiscount(xhpc.getPromotionDiscount().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setInternetCommission(xhpc.getInternetCommission().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setInternetSvcCommission(xhpc.getInternetSvcCommission().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setPlatformCommission(xhpc.getPlatformCommission().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setPlatformSvcCommisssion(xhpc.getPlatformSvcCommisssion().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setOperationCommission(xhpc.getOperationCommission().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setOperationSvcCommission(xhpc.getOperationSvcCommission().divide(promotion,2, BigDecimal.ROUND_UP));
|
||||
// xhpcSt.setPromotionDiscount(xhpc.getPromotionDiscount().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setInternetCommission(xhpc.getInternetCommission().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setInternetSvcCommission(xhpc.getInternetSvcCommission().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setPlatformCommission(xhpc.getPlatformCommission().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setPlatformSvcCommisssion(xhpc.getPlatformSvcCommisssion().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setOperationCommission(xhpc.getOperationCommission().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// xhpcSt.setOperationSvcCommission(xhpc.getOperationSvcCommission().divide(promotion,2, BigDecimal.ROUND_HALF_UP));
|
||||
// if(number==1){
|
||||
// BigDecimal internetCommission = xhpcSt.getInternetCommission();
|
||||
// if(internetCommission.compareTo(new BigDecimal(0))!=0){
|
||||
@ -450,7 +450,7 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
// continue;
|
||||
// }
|
||||
//每分钟多少度电
|
||||
//BigDecimal v = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_UP);
|
||||
//BigDecimal v = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_HALF_UP);
|
||||
// if(v.compareTo(new BigDecimal(0)) !=1){
|
||||
// continue;
|
||||
// }
|
||||
@ -460,7 +460,7 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
xhpcSt.setStatus(endHour+1);
|
||||
xhpcSt.setChargingDegree(xhpc.getChargingDegree());
|
||||
if(xhpc.getChargingTimeNumber() !=null){
|
||||
xhpcSt.setChargingTime(new BigDecimal(xhpc.getChargingTimeNumber()).divide(new BigDecimal(3600), 2, BigDecimal.ROUND_UP));
|
||||
xhpcSt.setChargingTime(new BigDecimal(xhpc.getChargingTimeNumber()).divide(new BigDecimal(3600), 2, BigDecimal.ROUND_HALF_UP));
|
||||
}
|
||||
xhpcSt.setChargingNumber(1);
|
||||
xhpcSt.setPowerPrice(xhpc.getPowerPriceTotal());
|
||||
@ -531,7 +531,7 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
continue;
|
||||
}
|
||||
//每分钟多少度电
|
||||
BigDecimal v = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_UP);
|
||||
BigDecimal v = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_HALF_UP);
|
||||
if(v.compareTo(new BigDecimal(0)) !=1){
|
||||
continue;
|
||||
}
|
||||
@ -549,7 +549,7 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
XhpcStatisticsTimeInterval xhpcSt = new XhpcStatisticsTimeInterval();
|
||||
xhpcSt.setStatus(endHour+1);
|
||||
xhpcSt.setChargingDegree(xhpc.getChargingDegree());
|
||||
xhpcSt.setChargingTime(new BigDecimal(xhpc.getChargingTimeNumber()).divide(new BigDecimal(3600),2, BigDecimal.ROUND_UP));
|
||||
xhpcSt.setChargingTime(new BigDecimal(xhpc.getChargingTimeNumber()).divide(new BigDecimal(3600),2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setChargingNumber(1);
|
||||
xhpcSt.setPowerPrice(xhpc.getPowerPriceTotal());
|
||||
xhpcSt.setServicePrice(xhpc.getServicePriceTotal());
|
||||
@ -665,9 +665,9 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
actPrice = xhpc.getActPrice();
|
||||
}
|
||||
//总时长
|
||||
BigDecimal time = new BigDecimal((xhpc.getEndTime().getTime()-xhpc.getStartTime().getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_UP);
|
||||
BigDecimal time = new BigDecimal((xhpc.getEndTime().getTime()-xhpc.getStartTime().getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_HALF_UP);
|
||||
//每分钟多少度电
|
||||
BigDecimal decimal = chargingDegree.divide(time,2,BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal = chargingDegree.divide(time,2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal powerFee =new BigDecimal(0);
|
||||
BigDecimal serviceFee =new BigDecimal(0);
|
||||
BigDecimal timeInterval = new BigDecimal(0);
|
||||
@ -682,40 +682,40 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
Map<String, Object> map =getReatTimeList(srt,endt,rateModelId);
|
||||
powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
serviceFee =new BigDecimal(map.get("serviceFee").toString());
|
||||
timeInterval =new BigDecimal((DateUtil.parse(endt).getTime()-DateUtil.parse(srt).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_UP);
|
||||
timeInterval =new BigDecimal((DateUtil.parse(endt).getTime()-DateUtil.parse(srt).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_HALF_UP);
|
||||
} else if (i != endHour) {
|
||||
srt = end + ":00:00";
|
||||
endt = end + ":59:59";
|
||||
Map<String, Object> map =getReatTimeList(srt,endt,rateModelId);
|
||||
powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
serviceFee =new BigDecimal(map.get("serviceFee").toString());
|
||||
timeInterval =new BigDecimal((DateUtil.parse(endt).getTime()-DateUtil.parse(srt).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_UP);
|
||||
timeInterval =new BigDecimal((DateUtil.parse(endt).getTime()-DateUtil.parse(srt).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_HALF_UP);
|
||||
} else {
|
||||
srt = end + ":00:00";
|
||||
endt = DateUtil.formatTime(endTime);
|
||||
Map<String, Object> map =getReatTimeList(srt,endt,rateModelId);
|
||||
powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
serviceFee =new BigDecimal(map.get("serviceFee").toString());
|
||||
timeInterval =new BigDecimal((DateUtil.parse(endt).getTime()-DateUtil.parse(srt).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_UP);
|
||||
timeInterval =new BigDecimal((DateUtil.parse(endt).getTime()-DateUtil.parse(srt).getTime())).divide(new BigDecimal(60000),2, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
XhpcStatisticsTimeInterval xhpcSt = new XhpcStatisticsTimeInterval();
|
||||
xhpcSt.setStatus(i+1);
|
||||
xhpcSt.setChargingTime(timeInterval.divide(new BigDecimal(60),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setChargingTime(timeInterval.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP));
|
||||
//电量
|
||||
BigDecimal decimal1 = timeInterval.multiply(decimal).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal1 = timeInterval.multiply(decimal).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
xhpcSt.setChargingDegree(decimal1);
|
||||
xhpcSt.setChargingNumber(1);
|
||||
xhpcSt.setPromotionDiscount(xhpc.getPromotionDiscount().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setInternetCommission(xhpc.getInternetCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setInternetSvcCommission(xhpc.getInternetSvcCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setPlatformCommission(xhpc.getPlatformCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setPlatformSvcCommisssion(xhpc.getPlatformSvcCommisssion().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setOperationCommission(xhpc.getOperationCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setOperationSvcCommission(xhpc.getOperationSvcCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_UP));
|
||||
xhpcSt.setPromotionDiscount(xhpc.getPromotionDiscount().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setInternetCommission(xhpc.getInternetCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setInternetSvcCommission(xhpc.getInternetSvcCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setPlatformCommission(xhpc.getPlatformCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setPlatformSvcCommisssion(xhpc.getPlatformSvcCommisssion().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setOperationCommission(xhpc.getOperationCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setOperationSvcCommission(xhpc.getOperationSvcCommission().divide(new BigDecimal(number),2,BigDecimal.ROUND_HALF_UP));
|
||||
if(i!=endHour || type==2){
|
||||
|
||||
xhpcSt.setPowerPrice(powerFee.multiply(decimal1).setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcSt.setServicePrice(serviceFee.multiply(decimal1).setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcSt.setPowerPrice(powerFee.multiply(decimal1).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcSt.setServicePrice(serviceFee.multiply(decimal1).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
BigDecimal powerPrice =xhpcSt.getPowerPrice();
|
||||
BigDecimal servicePrice =xhpcSt.getServicePrice();
|
||||
xhpcSt.setTotalPrice(powerPrice.add(servicePrice));
|
||||
@ -725,8 +725,8 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
BigDecimal actPrice2 = powerPrice.add(servicePrice);
|
||||
|
||||
if(internetCommission.compareTo(new BigDecimal(0))!=0){
|
||||
powerPrice =powerPrice.multiply(internetCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_UP));
|
||||
servicePrice=servicePrice.multiply(internetCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_UP));
|
||||
powerPrice =powerPrice.multiply(internetCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP));
|
||||
servicePrice=servicePrice.multiply(internetCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP));
|
||||
actPrice2 = actPrice2.subtract(internetCommission);
|
||||
}else{
|
||||
servicePrice=servicePrice.multiply(xhpcSt.getInternetSvcCommission());
|
||||
@ -734,16 +734,16 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
}
|
||||
BigDecimal platformCommission = xhpcSt.getPlatformCommission();
|
||||
if(platformCommission.compareTo(new BigDecimal(0))!=0){
|
||||
powerPrice =powerPrice.multiply(platformCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_UP));
|
||||
servicePrice=servicePrice.multiply(platformCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_UP));
|
||||
powerPrice =powerPrice.multiply(platformCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP));
|
||||
servicePrice=servicePrice.multiply(platformCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP));
|
||||
}else{
|
||||
servicePrice=servicePrice.multiply(xhpcSt.getPlatformSvcCommisssion());
|
||||
}
|
||||
|
||||
BigDecimal operationCommission = xhpcSt.getOperationCommission();
|
||||
if(operationCommission.compareTo(new BigDecimal(0))!=0){
|
||||
powerPrice =powerPrice.multiply(operationCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_UP));
|
||||
servicePrice=servicePrice.multiply(operationCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_UP));
|
||||
powerPrice =powerPrice.multiply(operationCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP));
|
||||
servicePrice=servicePrice.multiply(operationCommission.divide(new BigDecimal(2),2,BigDecimal.ROUND_HALF_UP));
|
||||
}else{
|
||||
servicePrice=servicePrice.multiply(xhpcSt.getOperationSvcCommission());
|
||||
}
|
||||
@ -936,7 +936,7 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
XhpcStatisticsStation xhpcSt =new XhpcStatisticsStation();
|
||||
xhpcSt.setChargingDegree(xhpc.getChargingDegree());
|
||||
if(xhpc.getChargingTimeNumber() !=null){
|
||||
xhpcSt.setChargingTime(new BigDecimal(xhpc.getChargingTimeNumber()).divide(new BigDecimal(3600), 2, BigDecimal.ROUND_UP));
|
||||
xhpcSt.setChargingTime(new BigDecimal(xhpc.getChargingTimeNumber()).divide(new BigDecimal(3600), 2, BigDecimal.ROUND_HALF_UP));
|
||||
}
|
||||
xhpcSt.setChargingNumber(1);
|
||||
xhpcSt.setPowerPrice(xhpc.getPowerPriceTotal());
|
||||
|
||||
@ -106,7 +106,7 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar
|
||||
if(CacheRealtimeDataList !=null && CacheRealtimeDataList.size()>0){
|
||||
CacheRealtimeData endData = CacheRealtimeDataList.get(list.size() - 1);
|
||||
if (endData != null) {
|
||||
map.put("actPrice", new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_UP));
|
||||
map.put("actPrice", new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP));
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
||||
@ -148,9 +148,9 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
double mins = (double) (tiem / 60);
|
||||
stringObjectMap.put("chargingTime",new BigDecimal(mins).setScale(0) + "分");
|
||||
}
|
||||
chargingDegree = new BigDecimal(endData.getChargingDegree()).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_UP);
|
||||
chargingDegree = new BigDecimal(endData.getChargingDegree()).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
|
||||
stringObjectMap.put("chargingDegree",chargingDegree);
|
||||
amountCharged = new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000),2,BigDecimal.ROUND_UP);
|
||||
amountCharged = new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000),2,BigDecimal.ROUND_HALF_UP);
|
||||
stringObjectMap.put("actPrice",amountCharged);
|
||||
}else{
|
||||
//当没有缓存数据时,查询数据库
|
||||
@ -173,8 +173,8 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
DateTime parse = DateUtil.parse(DateUtil.format(startTime, "yyyy-MM-dd"), "yyyy-MM-dd");
|
||||
DateTime parse1 = DateUtil.parse(DateUtil.format(endTime, "yyyy-MM-dd"), "yyyy-MM-dd");
|
||||
//每分钟多少度电
|
||||
BigDecimal decimal = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),4,BigDecimal.ROUND_UP);
|
||||
BigDecimal divide = chargingDegree.divide(decimal,4,BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal = new BigDecimal((endTime.getTime() - startTime.getTime())).divide(new BigDecimal(60000),4,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal divide = chargingDegree.divide(decimal,4,BigDecimal.ROUND_HALF_UP);
|
||||
long betweenDay = DateUtil.between(parse,parse1, DateUnit.DAY);
|
||||
if(betweenDay==0){
|
||||
powerPriceTotal = getBigDecimal(rateModelId,DateUtil.formatTime(startTime), DateUtil.formatTime(endTime), powerPriceTotal, divide);
|
||||
@ -425,8 +425,8 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
xhpcChargeOrder.setChargingTime(new BigDecimal(mins).setScale(0) + "分");
|
||||
}
|
||||
BigDecimal decimal = new BigDecimal(10000);
|
||||
xhpcChargeOrder.setChargingDegree(new BigDecimal(cacheRealtimeData.getChargingDegree()).divide(decimal, 2, BigDecimal.ROUND_UP));
|
||||
xhpcChargeOrder.setAmountCharged(new BigDecimal(cacheRealtimeData.getAmountCharged()).divide(decimal, 2, BigDecimal.ROUND_UP));
|
||||
xhpcChargeOrder.setChargingDegree(new BigDecimal(cacheRealtimeData.getChargingDegree()).divide(decimal, 2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcChargeOrder.setAmountCharged(new BigDecimal(cacheRealtimeData.getAmountCharged()).divide(decimal, 2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcChargeOrder.setChargingTimeNumber(Long.valueOf(cacheRealtimeData.getChargingTime()));
|
||||
|
||||
|
||||
@ -513,19 +513,19 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
if("0".equals(commissionType) || "1".equals(commissionType)|| "2".equals(commissionType)){
|
||||
//流量方的钱
|
||||
if("0".equals(commissionType)){
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = decimal1.add(decimal2);
|
||||
surplusPowerPrice =surplusPowerPrice.subtract(decimal1);
|
||||
surplusServicePrice =surplusServicePrice.subtract(decimal2);
|
||||
}else if("1".equals(commissionType)){
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetSvcCommission = decimal2;
|
||||
surplusServicePrice = surplusServicePrice.subtract(decimal2);
|
||||
}else{
|
||||
//电量抽成
|
||||
BigDecimal chargingDegree = xhpcChargeOrder.getChargingDegree();
|
||||
internetDegreeCommission = chargingDegree.multiply(new BigDecimal(operatorIdEvcs.get("commissionRate").toString())).setScale(2, BigDecimal.ROUND_UP);
|
||||
internetDegreeCommission = chargingDegree.multiply(new BigDecimal(operatorIdEvcs.get("commissionRate").toString())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//减服务费
|
||||
surplusServicePrice = surplusServicePrice.subtract(internetDegreeCommission);
|
||||
}
|
||||
@ -548,12 +548,12 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
if(discount.compareTo(new BigDecimal(0))==1){
|
||||
if("1".equals(state) || "2".equals(state) || "3".equals(state)){
|
||||
//折扣的钱
|
||||
promotionDiscount=money.multiply(discount).setScale(2,BigDecimal.ROUND_UP);
|
||||
promotionDiscount=money.multiply(discount).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//剩余的总金额
|
||||
actPrice = money.subtract(promotionDiscount);
|
||||
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(discount).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(discount).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if("1".equals(state)){
|
||||
//总金额
|
||||
actPrice =actPrice.subtract(decimal1.add(decimal2));
|
||||
@ -588,17 +588,17 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){
|
||||
Integer commissionType = (Integer) operatorMessage.get("commissionType");
|
||||
//运维提成
|
||||
BigDecimal maintenanceCommissionRate = new BigDecimal(operatorMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_UP);
|
||||
BigDecimal maintenanceCommissionRate = new BigDecimal(operatorMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP);
|
||||
//平台提成
|
||||
BigDecimal platformCommissionRate = new BigDecimal(operatorMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_UP);
|
||||
BigDecimal platformCommissionRate = new BigDecimal(operatorMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP);
|
||||
//提成类型(0总金额提成 1服务费提成)
|
||||
if(commissionType==0){
|
||||
//平台总抽成
|
||||
BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//运维总抽成
|
||||
BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//平台总金额抽成
|
||||
platformCommission = multiply1.add(multiply2);
|
||||
@ -613,8 +613,8 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
surplusServicePrice = surplusServicePrice.subtract(multiply4);
|
||||
|
||||
}else if(commissionType==1){
|
||||
BigDecimal multiply1 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply1 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//平台服务费抽成金额
|
||||
platformSvcCommission=multiply1;
|
||||
//剩下的服务费钱
|
||||
@ -654,18 +654,18 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
xhpcHistoryOrder.setSortingStatus(0);
|
||||
xhpcHistoryOrder.setType(1);
|
||||
//订单总价---运维服务费抽成
|
||||
xhpcHistoryOrder.setTotalPrice(money.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setPromotionDiscount(promotionDiscount.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setActPrice(actPrice.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setActServicePrice(surplusServicePrice.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setInternetCommission(internetCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setInternetDegreeCommission(internetDegreeCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setPlatformCommission(platformCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setOperationCommission(operationCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setTotalPrice(money.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setPromotionDiscount(promotionDiscount.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPrice(actPrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActServicePrice(surplusServicePrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setInternetCommission(internetCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setInternetDegreeCommission(internetDegreeCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setPlatformCommission(platformCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setOperationCommission(operationCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setStartSoc(xhpcChargeOrder.getStartSoc());
|
||||
xhpcHistoryOrder.setEndSoc(xhpcChargeOrder.getEndSoc());
|
||||
xhpcHistoryOrder.setReconciliationStatus(0);
|
||||
@ -828,7 +828,7 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
return map;
|
||||
}
|
||||
//每分钟多少度
|
||||
BigDecimal degree = chargingDegree.divide(decimal, 2, BigDecimal.ROUND_UP);
|
||||
BigDecimal degree = chargingDegree.divide(decimal, 2, BigDecimal.ROUND_HALF_UP);
|
||||
//获取费率时间段
|
||||
String startTime = DateUtil.formatTime(startTime2);
|
||||
String endTime = DateUtil.formatTime(updateTime2);
|
||||
@ -837,10 +837,10 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
Map<String, Object> map1 = new HashMap<>();
|
||||
int size = reatTimeList.size();
|
||||
if (size == 1) {
|
||||
BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString()).setScale(2, BigDecimal.ROUND_UP);
|
||||
//powerPriceTotal = powerFee.multiply(degree).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal servicePrice = new BigDecimal(reatTimeList.get(0).get("serviceFee").toString()).setScale(2, BigDecimal.ROUND_UP);
|
||||
//servicePriceTotal=servicePrice.multiply(chargingDegree).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//powerPriceTotal = powerFee.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal servicePrice = new BigDecimal(reatTimeList.get(0).get("serviceFee").toString()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//servicePriceTotal=servicePrice.multiply(chargingDegree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
map1.put("time", startTime + "-" + endTime);
|
||||
map1.put("powerPrice", powerFee);
|
||||
map1.put("servicePrice", servicePrice);
|
||||
@ -850,8 +850,8 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
} else {
|
||||
for (int i = 0; i < reatTimeList.size(); i++) {
|
||||
Map<String, Object> objectMap = reatTimeList.get(i);
|
||||
BigDecimal powerPrice = new BigDecimal(objectMap.get("powerFee").toString()).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal servicePrice = new BigDecimal(objectMap.get("serviceFee").toString()).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal powerPrice = new BigDecimal(objectMap.get("powerFee").toString()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal servicePrice = new BigDecimal(objectMap.get("serviceFee").toString()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
String startTime1 = objectMap.get("startTime").toString();
|
||||
String endTime1 = objectMap.get("endTime").toString();
|
||||
if("00:00:00".equals(endTime1)){
|
||||
@ -885,7 +885,7 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
BigDecimal v = new BigDecimal((DateUtil.parse(endTime).getTime() - DateUtil.parse(startTime).getTime()) / 60000).multiply(degree);
|
||||
BigDecimal multiply = powerPrice.add(servicePrice).multiply(v).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply = powerPrice.add(servicePrice).multiply(v).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
map.put("time", startTime + "-" + endTime);
|
||||
map.put("powerPrice", powerPrice);
|
||||
map.put("servicePrice", servicePrice);
|
||||
@ -905,7 +905,7 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
//算出相差时间,分
|
||||
BigDecimal decimal = new BigDecimal((updateTime2.getTime() - startTime2.getTime()) / 60000).setScale(2);
|
||||
//每分钟多少度
|
||||
BigDecimal degree = chargingDegree.divide(decimal, 2, BigDecimal.ROUND_UP);
|
||||
BigDecimal degree = chargingDegree.divide(decimal, 2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal powerPriceTotal = new BigDecimal(0);
|
||||
//获取费率时间段
|
||||
String startTime = DateUtil.formatTime(startTime2);
|
||||
@ -915,7 +915,7 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
int size = reatTimeList.size();
|
||||
if (size == 1) {
|
||||
BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString());
|
||||
powerPriceTotal = powerPriceTotal.add(powerFee.multiply(degree).setScale(2, BigDecimal.ROUND_UP));
|
||||
powerPriceTotal = powerPriceTotal.add(powerFee.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
} else {
|
||||
for (int i = 0; i < reatTimeList.size(); i++) {
|
||||
Map<String, Object> objectMap = reatTimeList.get(i);
|
||||
@ -974,8 +974,8 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis
|
||||
private BigDecimal getRateTimeList(String startTime, String endTime, BigDecimal degree, BigDecimal powerPrice) {
|
||||
long time = DateUtil.parse(endTime).getTime();
|
||||
long time1= DateUtil.parse(startTime).getTime();
|
||||
BigDecimal multiply = new BigDecimal(time-time1).divide(new BigDecimal(60000),4, BigDecimal.ROUND_UP).multiply(degree).setScale(4,BigDecimal.ROUND_UP);
|
||||
BigDecimal bigDecimal = multiply.multiply(powerPrice).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply = new BigDecimal(time-time1).divide(new BigDecimal(60000),4, BigDecimal.ROUND_HALF_UP).multiply(degree).setScale(4,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal bigDecimal = multiply.multiply(powerPrice).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
return bigDecimal;
|
||||
}
|
||||
|
||||
|
||||
@ -206,7 +206,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
message.put("chargingTime",new BigDecimal(mins).setScale(0) + "分");
|
||||
chargeOrder.setChargingTime(new BigDecimal(mins).setScale(0) + "分");
|
||||
}
|
||||
BigDecimal chargingDegree = new BigDecimal(endData.getChargingDegree()).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_UP);
|
||||
BigDecimal chargingDegree = new BigDecimal(endData.getChargingDegree()).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
|
||||
message.put("chargingDegree",chargingDegree);
|
||||
|
||||
chargeOrder.setStartTime(startTime);
|
||||
@ -216,7 +216,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
chargeOrder.setChargingTimeNumber(tiem);
|
||||
chargeOrder.setChargingDegree(chargingDegree);
|
||||
chargeOrder.setType(0);
|
||||
chargeOrder.setAmountCharged(new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000),2,BigDecimal.ROUND_UP));
|
||||
chargeOrder.setAmountCharged(new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000),2,BigDecimal.ROUND_HALF_UP));
|
||||
}else{
|
||||
//当没有缓存数据时,查询数据库
|
||||
XhpcRealTimeOrder startRealTimeOrder = xhpcRealTimeOrderMapper.getChargingOrderId(chargeOrder.getChargeOrderId(), 1);
|
||||
@ -270,8 +270,8 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
DateTime parse = DateUtil.parse(DateUtil.format(startTime2, "yyyy-MM-dd"), "yyyy-MM-dd");
|
||||
DateTime parse1 = DateUtil.parse(DateUtil.format(updateTime2, "yyyy-MM-dd"), "yyyy-MM-dd");
|
||||
//每分钟多少度电
|
||||
BigDecimal decimal = new BigDecimal((updateTime2.getTime() - startTime2.getTime())).divide(new BigDecimal(60000),4,BigDecimal.ROUND_UP);
|
||||
BigDecimal divide = chargingDegree.divide(decimal,4,BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal = new BigDecimal((updateTime2.getTime() - startTime2.getTime())).divide(new BigDecimal(60000),4,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal divide = chargingDegree.divide(decimal,4,BigDecimal.ROUND_HALF_UP);
|
||||
long betweenDay = DateUtil.between(parse,parse1, DateUnit.DAY);
|
||||
if(betweenDay==0){
|
||||
powerPriceTotal = getBigDecimal(rateModelId,DateUtil.formatTime(startTime2), DateUtil.formatTime(updateTime2), powerPriceTotal, divide);
|
||||
@ -420,19 +420,19 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
if("0".equals(commissionType) || "1".equals(commissionType)|| "2".equals(commissionType)){
|
||||
//流量方的钱
|
||||
if("0".equals(commissionType)){
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = decimal1.add(decimal2);
|
||||
surplusPowerPrice =surplusPowerPrice.subtract(decimal1);
|
||||
surplusServicePrice =surplusServicePrice.subtract(decimal2);
|
||||
}else if("1".equals(commissionType)){
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetSvcCommission = decimal2;
|
||||
surplusServicePrice = surplusServicePrice.subtract(decimal2);
|
||||
}else{
|
||||
//电量抽成
|
||||
BigDecimal chargingDegree = xhpcChargeOrder.getChargingDegree();
|
||||
internetDegreeCommission = chargingDegree.multiply(new BigDecimal(operatorIdEvcs.get("commissionRate").toString())).setScale(2, BigDecimal.ROUND_UP);
|
||||
internetDegreeCommission = chargingDegree.multiply(new BigDecimal(operatorIdEvcs.get("commissionRate").toString())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//减服务费
|
||||
surplusServicePrice = surplusServicePrice.subtract(internetDegreeCommission);
|
||||
}
|
||||
@ -455,12 +455,12 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
if(discount.compareTo(new BigDecimal(0))==1){
|
||||
if("1".equals(state) || "2".equals(state) || "3".equals(state)){
|
||||
//折扣的钱
|
||||
promotionDiscount=money.multiply(discount).setScale(2,BigDecimal.ROUND_UP);
|
||||
promotionDiscount=money.multiply(discount).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//剩余的总金额
|
||||
actPrice = money.subtract(promotionDiscount);
|
||||
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(discount).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(discount).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal1 = surplusPowerPrice.multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal decimal2 = surplusServicePrice.multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if("1".equals(state)){
|
||||
//总金额
|
||||
actPrice =actPrice.subtract(decimal1.add(decimal2));
|
||||
@ -495,17 +495,17 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){
|
||||
Integer commissionType = (Integer) operatorMessage.get("commissionType");
|
||||
//运维提成
|
||||
BigDecimal maintenanceCommissionRate = new BigDecimal(operatorMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_UP);
|
||||
BigDecimal maintenanceCommissionRate = new BigDecimal(operatorMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP);
|
||||
//平台提成
|
||||
BigDecimal platformCommissionRate = new BigDecimal(operatorMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_UP);
|
||||
BigDecimal platformCommissionRate = new BigDecimal(operatorMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP);
|
||||
//提成类型(0总金额提成 1服务费提成)
|
||||
if(commissionType==0){
|
||||
//平台总抽成
|
||||
BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//运维总抽成
|
||||
BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//平台总金额抽成
|
||||
platformCommission = multiply1.add(multiply2);
|
||||
@ -520,8 +520,8 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
surplusServicePrice = surplusServicePrice.subtract(multiply4);
|
||||
|
||||
}else if(commissionType==1){
|
||||
BigDecimal multiply1 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply1 = surplusServicePrice.multiply(platformCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal multiply2 = surplusServicePrice.multiply(maintenanceCommissionRate).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
//平台服务费抽成金额
|
||||
platformSvcCommission=multiply1;
|
||||
//剩下的服务费钱
|
||||
@ -569,18 +569,18 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
xhpcHistoryOrder.setReconciliationStatus(0);
|
||||
xhpcHistoryOrder.setSortingStatus(0);
|
||||
//订单总价---运维服务费抽成
|
||||
xhpcHistoryOrder.setTotalPrice(money.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setPromotionDiscount(promotionDiscount.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setActPrice(actPrice.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setActServicePrice(surplusServicePrice.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setInternetCommission(internetCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setInternetDegreeCommission(internetDegreeCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setPlatformCommission(platformCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setOperationCommission(operationCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission.setScale(2, BigDecimal.ROUND_UP));
|
||||
xhpcHistoryOrder.setTotalPrice(money.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setPromotionDiscount(promotionDiscount.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPrice(actPrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActServicePrice(surplusServicePrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setInternetCommission(internetCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setInternetDegreeCommission(internetDegreeCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setPlatformCommission(platformCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setOperationCommission(operationCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setStartSoc(xhpcChargeOrder.getStartSoc());
|
||||
xhpcHistoryOrder.setEndSoc(xhpcChargeOrder.getEndSoc());
|
||||
xhpcHistoryOrder.setReconciliationStatus(0);
|
||||
@ -817,7 +817,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
}
|
||||
BigDecimal v = new BigDecimal(cacheRealtimeData.getWorkingVoltage()).divide(new BigDecimal(10));
|
||||
BigDecimal c = new BigDecimal(cacheRealtimeData.getWorkingCurrent()).divide(new BigDecimal(10));
|
||||
BigDecimal decimal1 = v.multiply(c).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal decimal1 = v.multiply(c).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
xhpcRealTimeOrder.setVoltage(v);
|
||||
xhpcRealTimeOrder.setElectricCurrent(c);
|
||||
xhpcRealTimeOrder.setGunLineTemperature(cacheRealtimeData.getGunLineTemperature());
|
||||
@ -897,7 +897,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
data.put("chargingTime",xhpcRealTimeOrder.getChargingTime());
|
||||
data.put("electricCurrent",c);
|
||||
data.put("voltage", v);
|
||||
data.put("power", decimal1.divide(new BigDecimal(1000),2,BigDecimal.ROUND_UP));
|
||||
data.put("power", decimal1.divide(new BigDecimal(1000),2,BigDecimal.ROUND_HALF_UP));
|
||||
data.put("chargingDegree", chargingDegree);
|
||||
data.put("remainingTime",xhpcRealTimeOrder.getRemainingTime());
|
||||
data.put("serialNumber",orderNo.substring(0,16));
|
||||
@ -949,8 +949,8 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
private BigDecimal getRateTimeList(String startTime, String endTime, BigDecimal degree, BigDecimal powerPrice) {
|
||||
long time = DateUtil.parse(endTime).getTime();
|
||||
long time1= DateUtil.parse(startTime).getTime();
|
||||
BigDecimal multiply = new BigDecimal(time-time1).divide(new BigDecimal(60000),4, BigDecimal.ROUND_UP).multiply(degree).setScale(4,BigDecimal.ROUND_UP);
|
||||
BigDecimal bigDecimal = multiply.multiply(powerPrice).setScale(2, BigDecimal.ROUND_UP);
|
||||
BigDecimal multiply = new BigDecimal(time-time1).divide(new BigDecimal(60000),4, BigDecimal.ROUND_HALF_UP).multiply(degree).setScale(4,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal bigDecimal = multiply.multiply(powerPrice).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
return bigDecimal;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user