| 
					
				 | 
			
			
				@@ -541,6 +541,7 @@ public class PayOrderController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String oilName = params.get("oilName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Oil oil = new Oil(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oil.setDictType("oil"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         oil.setOilName(oilName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Oil oilInfo = sysDictDataService.selectOilType(oil); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         payOrderResultInfo.setCardOilsType(oilInfo.getOilsType()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1583,6 +1584,17 @@ public class PayOrderController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         discountAmtNew = discountAmtNew.add(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = new BigDecimal(receivableAmt).subtract(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = new BigDecimal("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.add(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(p.getAllDiscountType().equals("2")){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1599,6 +1611,19 @@ public class PayOrderController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //优惠券后的优惠金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = new BigDecimal(receivableAmt).subtract(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //优惠券后的优惠价格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = new BigDecimal("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.add(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(p.getCardEnabledFlag().equals("1")){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1613,6 +1638,18 @@ public class PayOrderController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             dzkDiscountPriceNew = dzkAmtNew.divide(new BigDecimal(oilLiters), 2 ,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDzkDiscountPrice(dzkDiscountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //与电子卡共享 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkAmtNew = new BigDecimal(receivableAmt).subtract(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkAmtNew = dzkAmtNew.signum() == -1 ? new BigDecimal("0.01") : dzkAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = new BigDecimal("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = dzkDiscountAmtNew.add(couponAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDzkDiscountAmt(dzkDiscountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDzkAmt(dzkAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            dzkDiscountPriceNew = dzkAmtNew.divide(new BigDecimal(oilLiters), 2 ,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDzkDiscountPrice(dzkDiscountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1621,29 +1658,62 @@ public class PayOrderController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //表示等级 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if(uc.getIsGradeFlag().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //表示与等级共享 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        amtNew = new BigDecimal(amt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //优惠券折扣金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal zheKouAmt = new BigDecimal(amt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.add(zheKouAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.subtract(zheKouAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        discountAmtNew = new BigDecimal(receivableAmt).subtract(amtNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //优惠券折扣金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal zheKouAmt = new BigDecimal(receivableAmt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = new BigDecimal("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.add(zheKouAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.subtract(discountAmtNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(p.getAllDiscountType().equals("2")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //表示营销 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if(uc.getIsMarketFlag().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //优惠券后的优惠金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        amtNew = new BigDecimal(amt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal zheKouAmt = new BigDecimal(amt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.add(zheKouAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.subtract(zheKouAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //优惠券后的优惠价格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //优惠券后的优惠金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal zheKouAmt = new BigDecimal(receivableAmt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = new BigDecimal("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.add(zheKouAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        amtNew = amtNew.subtract(discountAmtNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //优惠券后的优惠价格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        discountAmtNew = new BigDecimal(receivableAmt).subtract(amtNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        discountAmtNew = discountAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setAmt(amtNew.toString()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1652,9 +1722,26 @@ public class PayOrderController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(p.getCardEnabledFlag().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if(uc.getIsCardFlag().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //与电子卡共享 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        dzkAmtNew = new BigDecimal(dzkAmt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal zheKouDzkAmt = new BigDecimal(dzkAmt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = dzkDiscountAmtNew.add(zheKouDzkAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //System.out.println("电子卡优惠金额:"+dzkDiscountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkAmtNew = dzkAmtNew.subtract(zheKouDzkAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkAmtNew = dzkAmtNew.signum() == -1 ? new BigDecimal("0.01") : dzkAmtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = dzkDiscountAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDzkDiscountAmt(dzkDiscountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDzkAmt(dzkAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(!oilLiters.equals("0.00")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            dzkDiscountPriceNew = dzkAmtNew.divide(new BigDecimal(oilLiters), 2 ,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        couponReckonAmt.setDzkDiscountPrice(dzkDiscountPriceNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BigDecimal zheKouDzkAmt = new BigDecimal(receivableAmt).multiply(couponAmt).divide(new BigDecimal("100")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = new BigDecimal("0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = dzkDiscountAmtNew.add(zheKouDzkAmt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //System.out.println("电子卡优惠金额:"+dzkDiscountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkAmtNew = dzkAmtNew.subtract(dzkDiscountAmtNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         dzkAmtNew = dzkAmtNew.signum() == -1 ? new BigDecimal("0.01") : dzkAmtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        dzkDiscountAmtNew = new BigDecimal(receivableAmt).subtract(dzkAmtNew); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        dzkDiscountAmtNew = dzkDiscountAmtNew.setScale(2, BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDzkDiscountAmt(dzkDiscountAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         couponReckonAmt.setDzkAmt(dzkAmtNew.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if(!oilLiters.equals("0.00")){ 
			 |