| 
														
															@@ -541,6 +541,7 @@ public class PayOrderController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String oilName = params.get("oilName").toString(); 
														 | 
														
														 | 
														
															         String oilName = params.get("oilName").toString(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Oil oil = new Oil(); 
														 | 
														
														 | 
														
															         Oil oil = new Oil(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        oil.setDictType("oil"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         oil.setOilName(oilName); 
														 | 
														
														 | 
														
															         oil.setOilName(oilName); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Oil oilInfo = sysDictDataService.selectOilType(oil); 
														 | 
														
														 | 
														
															         Oil oilInfo = sysDictDataService.selectOilType(oil); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         payOrderResultInfo.setCardOilsType(oilInfo.getOilsType()); 
														 | 
														
														 | 
														
															         payOrderResultInfo.setCardOilsType(oilInfo.getOilsType()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1583,6 +1584,17 @@ public class PayOrderController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         discountAmtNew = discountAmtNew.add(couponAmt); 
														 | 
														
														 | 
														
															                         discountAmtNew = discountAmtNew.add(couponAmt); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setAmt(amtNew.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")){ 
														 | 
														
														 | 
														
															                 if(p.getAllDiscountType().equals("2")){ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1599,6 +1611,19 @@ public class PayOrderController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setDiscountAmt(discountAmtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setAmt(amtNew.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")){ 
														 | 
														
														 | 
														
															                 if(p.getCardEnabledFlag().equals("1")){ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1613,6 +1638,18 @@ public class PayOrderController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             dzkDiscountPriceNew = dzkAmtNew.divide(new BigDecimal(oilLiters), 2 ,BigDecimal.ROUND_HALF_UP); 
														 | 
														
														 | 
														
															                             dzkDiscountPriceNew = dzkAmtNew.divide(new BigDecimal(oilLiters), 2 ,BigDecimal.ROUND_HALF_UP); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDzkDiscountPrice(dzkDiscountPriceNew.toString()); 
														 | 
														
														 | 
														
															                         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; 
														 | 
														
														 | 
														
															                 break; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1621,29 +1658,62 @@ public class PayOrderController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     //表示等级 
														 | 
														
														 | 
														
															                     //表示等级 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     if(uc.getIsGradeFlag().equals("1")){ 
														 | 
														
														 | 
														
															                     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); 
														 | 
														
														 | 
														
															                         amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if(!oilLiters.equals("0.00")){ 
														 | 
														
														 | 
														
															                         if(!oilLiters.equals("0.00")){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
														 | 
														
														 | 
														
															                             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.setDiscountAmt(discountAmtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setAmt(amtNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setAmt(amtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if(p.getAllDiscountType().equals("2")){ 
														 | 
														
														 | 
														
															                 if(p.getAllDiscountType().equals("2")){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     //表示营销 
														 | 
														
														 | 
														
															                     //表示营销 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     if(uc.getIsMarketFlag().equals("1")){ 
														 | 
														
														 | 
														
															                     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); 
														 | 
														
														 | 
														
															                         amtNew = amtNew.signum() == -1 ? new BigDecimal("0.01") : amtNew.setScale(2,BigDecimal.ROUND_HALF_UP); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         //优惠券后的优惠价格 
														 | 
														
														 | 
														
															                         //优惠券后的优惠价格 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if(!oilLiters.equals("0.00")){ 
														 | 
														
														 | 
														
															                         if(!oilLiters.equals("0.00")){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             discountPriceNew = amtNew.divide(new BigDecimal(oilLiters), 2, BigDecimal.ROUND_HALF_UP); 
														 | 
														
														 | 
														
															                             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.setDiscountAmt(discountAmtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setDiscountPrice(discountPriceNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setAmt(amtNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setAmt(amtNew.toString()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1652,9 +1722,26 @@ public class PayOrderController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if(p.getCardEnabledFlag().equals("1")){ 
														 | 
														
														 | 
														
															                 if(p.getCardEnabledFlag().equals("1")){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     if(uc.getIsCardFlag().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); 
														 | 
														
														 | 
														
															                         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.setDzkDiscountAmt(dzkDiscountAmtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         couponReckonAmt.setDzkAmt(dzkAmtNew.toString()); 
														 | 
														
														 | 
														
															                         couponReckonAmt.setDzkAmt(dzkAmtNew.toString()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if(!oilLiters.equals("0.00")){ 
														 | 
														
														 | 
														
															                         if(!oilLiters.equals("0.00")){ 
														 |