|
@@ -324,11 +324,11 @@ public class PayOrderController {
|
|
|
List<Map<String, Object>> customerGradeInfo = customerGradeServices.getCustomerGradeInfo(params);
|
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
|
//使用客户已存在的等级计算优惠
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);
|
|
|
discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
- discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -339,11 +339,11 @@ public class PayOrderController {
|
|
|
//如果存在
|
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
- discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -352,7 +352,7 @@ public class PayOrderController {
|
|
|
//不存在
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -370,10 +370,10 @@ public class PayOrderController {
|
|
|
BigDecimal discountAmt_b = new BigDecimal(m.get("discountAmt").toString()); //条件金额
|
|
|
if(receivableAmt_b.compareTo(discountAmt_b) ==1 || receivableAmt_b.compareTo(discountAmt_b) ==0){
|
|
|
BigDecimal gasoilDiscountAmt_b = new BigDecimal(m.get("gasoilDiscountAmt").toString()); //每满多少优惠多少的金额
|
|
|
- discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_HALF_UP).multiply(gasoilDiscountAmt_b); //优惠金额
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_UP).multiply(gasoilDiscountAmt_b); //优惠金额
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt); //实收金额
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
discountPrice = amt.divide(oilLiters); //优惠价格
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
@@ -386,7 +386,7 @@ public class PayOrderController {
|
|
|
if(flag){
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -394,7 +394,7 @@ public class PayOrderController {
|
|
|
//没有优惠规则
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -412,7 +412,7 @@ public class PayOrderController {
|
|
|
BigDecimal gasoilDiscountAmt_b = new BigDecimal(m.get("gasoilDiscountAmt").toString()); //每满多少优惠多少的金额
|
|
|
discountAmt = gasoilDiscountAmt_b; //优惠金额
|
|
|
amt = receivableAmt_b.subtract(gasoilDiscountAmt_b); //实收金额
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
discountPrice = amt.divide(oilLiters); //优惠价格
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
@@ -425,7 +425,7 @@ public class PayOrderController {
|
|
|
if(flag){ //用户加油金额不符合优惠条件
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -433,7 +433,7 @@ public class PayOrderController {
|
|
|
//没有优惠规则
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -447,14 +447,14 @@ public class PayOrderController {
|
|
|
for(Map m : customerMarkertPlanList_3){
|
|
|
BigDecimal discountAmt_b = new BigDecimal(m.get("discountAmt").toString()); //条件金额
|
|
|
BigDecimal gasoilDiscountAmt_b = new BigDecimal(m.get("gasoilDiscountAmt").toString());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
if(m.get("discountTerm").toString().equals("1")){ //按升数优惠
|
|
|
if(oilLiters.compareTo(discountAmt_b) ==1 || oilLiters.compareTo(discountAmt_b) ==0){
|
|
|
//计算
|
|
|
discountAmt = oilLiters.multiply(gasoilDiscountAmt_b);
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
- discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP); //优惠价格
|
|
|
+ discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP); //优惠价格
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -465,9 +465,9 @@ public class PayOrderController {
|
|
|
}else if(m.get("discountTerm").toString().equals("2")){ //按金额优惠
|
|
|
if(receivableAmt_b.compareTo(discountAmt_b) ==1 || receivableAmt_b.compareTo(discountAmt_b) ==0){
|
|
|
discountAmt = oilLiters.multiply(gasoilDiscountAmt_b);
|
|
|
- discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
- discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP); //优惠价格
|
|
|
+ discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP); //优惠价格
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -480,7 +480,7 @@ public class PayOrderController {
|
|
|
if(flag){
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -488,7 +488,7 @@ public class PayOrderController {
|
|
|
//没有优惠规则
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -573,7 +573,7 @@ public class PayOrderController {
|
|
|
List<Map<String, Object>> customerGradeInfo = customerGradeServices.getCustomerGradeInfo(params);
|
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
|
//使用客户已存在的等级计算优惠
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);
|
|
|
if(customerGradeInfo.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -592,7 +592,7 @@ public class PayOrderController {
|
|
|
//如果存在
|
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
|
|
|
if(customerGradeList.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
@@ -610,7 +610,7 @@ public class PayOrderController {
|
|
|
//不存在
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -631,7 +631,7 @@ public class PayOrderController {
|
|
|
discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_HALF_UP).multiply(gasoilDiscountAmt_b); //优惠金额
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt); //实收金额
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
switch (vipDiscountyPlus){
|
|
|
case "1":
|
|
@@ -666,7 +666,7 @@ public class PayOrderController {
|
|
|
case "2":
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
break;
|
|
@@ -694,15 +694,15 @@ public class PayOrderController {
|
|
|
BigDecimal gasoilDiscountAmt_b = new BigDecimal(customerMarkertPlanList_2.get(0).get("gasoilDiscountAmt").toString()); //满多少优惠多少的金额
|
|
|
discountAmt = gasoilDiscountAmt_b; //优惠金额
|
|
|
amt = receivableAmt_b.subtract(gasoilDiscountAmt_b); //实收金额
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
- discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
+ discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
switch (vipDiscountyPlus){
|
|
|
case "1":
|
|
|
Map<String, Object> map = this.calcuteDengJiZhiJiang(params);
|
|
|
discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -723,7 +723,7 @@ public class PayOrderController {
|
|
|
discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -732,7 +732,7 @@ public class PayOrderController {
|
|
|
case "2":
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
break;
|
|
@@ -756,7 +756,7 @@ public class PayOrderController {
|
|
|
String vipDiscountyPlus_4 = customerMarkertPlanList_3.get(0).get("vipDiscountyPlus").toString();
|
|
|
BigDecimal discountAmt_b = new BigDecimal(customerMarkertPlanList_3.get(0).get("discountAmt").toString()); //条件金额
|
|
|
BigDecimal gasoilDiscountAmt_b = new BigDecimal(customerMarkertPlanList_3.get(0).get("gasoilDiscountAmt").toString());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
if(customerMarkertPlanList_3.get(0).get("discountTerm").toString().equals("1")){ //按升数优惠
|
|
|
if(oilLiters.compareTo(discountAmt_b) ==1 || oilLiters.compareTo(discountAmt_b) ==0){
|
|
|
//计算
|
|
@@ -764,14 +764,14 @@ public class PayOrderController {
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP); //优惠价格
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP); //优惠价格
|
|
|
|
|
|
if(vipDiscountyPlus_4.equals("1")){
|
|
|
Map<String, Object> map = this.calcuteDengJiZhiJiang(params);
|
|
|
discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
}
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
@@ -794,7 +794,7 @@ public class PayOrderController {
|
|
|
case "2":
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
break;
|
|
@@ -805,14 +805,14 @@ public class PayOrderController {
|
|
|
discountAmt = oilLiters.multiply(gasoilDiscountAmt_b);
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
- discountPrice = oilLiters !=new BigDecimal("0.00") ? amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP) : new BigDecimal(oilPrice);
|
|
|
+ discountPrice = oilLiters !=new BigDecimal("0.00") ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
//是否共享会员优惠叠加
|
|
|
if(vipDiscountyPlus_4.equals("1")){
|
|
|
Map<String, Object> map = this.calcuteDengJiZhiJiang(params);
|
|
|
discountAmt = discountAmt.add(new BigDecimal(map.get("discountAmt").toString()));
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
}
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
@@ -835,7 +835,7 @@ public class PayOrderController {
|
|
|
case "2":
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
break;
|
|
@@ -872,7 +872,7 @@ public class PayOrderController {
|
|
|
List<Map<String, Object>> customerGradeInfo = customerGradeServices.getCustomerGradeInfo(params);
|
|
|
if(customerGradeInfo != null && customerGradeInfo.size() >0){ //已存在客户等级信息
|
|
|
//使用客户已存在的等级计算优惠
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP);
|
|
|
if(customerGradeInfo.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
discountAmt = oilLiters.multiply(new BigDecimal(customerGradeInfo.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -881,7 +881,7 @@ public class PayOrderController {
|
|
|
}
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -892,7 +892,7 @@ public class PayOrderController {
|
|
|
//如果存在
|
|
|
if(customerGradeList !=null && customerGradeList.size() >0){
|
|
|
//用户第一次购买 取等级最低初始会员的优惠条件计算
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP); //加油升数
|
|
|
if(customerGradeList.get(0).get("gasoilDiscountLitre") !=null){
|
|
|
discountAmt = oilLiters.multiply(new BigDecimal(customerGradeList.get(0).get("gasoilDiscountLitre").toString()));
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -901,7 +901,7 @@ public class PayOrderController {
|
|
|
}
|
|
|
amt = receivableAmt_b.subtract(discountAmt);
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
- //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ //discountPrice = amt.divide(oilLiters, 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("discountAmt", discountAmt.doubleValue());
|
|
|
resultMap.put("amt", amt.doubleValue());
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
@@ -910,7 +910,7 @@ public class PayOrderController {
|
|
|
//不存在
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ oilLiters = new BigDecimal(receivableAmt).divide(new BigDecimal(oilPrice), 2, BigDecimal.ROUND_UP);
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
}
|
|
@@ -939,10 +939,10 @@ public class PayOrderController {
|
|
|
BigDecimal discountAmt_b = new BigDecimal(customerMarkertPlanList_1.get(0).get("discountAmt").toString()); //条件金额
|
|
|
if(receivableAmt_b.compareTo(discountAmt_b) ==1 || receivableAmt_b.compareTo(discountAmt_b) ==0){
|
|
|
BigDecimal gasoilDiscountAmt_b = new BigDecimal(customerMarkertPlanList_1.get(0).get("gasoilDiscountAmt").toString()); //每满多少优惠多少的金额
|
|
|
- discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_HALF_UP).multiply(gasoilDiscountAmt_b); //优惠金额
|
|
|
+ discountAmt = receivableAmt_b.divide(discountAmt_b, 2, BigDecimal.ROUND_UP).multiply(gasoilDiscountAmt_b); //优惠金额
|
|
|
discountAmt = discountAmt.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
amt = receivableAmt_b.subtract(discountAmt); //实收金额
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
discountPrice = oilLiters.equals(new BigDecimal("0.00")) ? new BigDecimal(oilPrice) : amt.divide(oilLiters, 2, BigDecimal.ROUND_HALF_UP);
|
|
|
switch (vipDiscountyPlus){
|
|
|
case "1":
|
|
@@ -977,7 +977,7 @@ public class PayOrderController {
|
|
|
case "2":
|
|
|
resultMap.put("discountAmt", 0);
|
|
|
resultMap.put("amt", receivableAmt.doubleValue());
|
|
|
- oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_HALF_UP); //加油升数
|
|
|
+ oilLiters = receivableAmt_b.divide(new BigDecimal(oilPrice),2, BigDecimal.ROUND_UP); //加油升数
|
|
|
resultMap.put("oilLiters", oilLiters.doubleValue());
|
|
|
resultMap.put("discountPrice", oilPrice);
|
|
|
break;
|