You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by su...@apache.org on 2020/06/13 08:56:59 UTC

[ofbiz-framework] branch trunk updated: Improved: Changed decimals, rounding, zero static variables names as per best practices in order component. (#196)

This is an automated email from the ASF dual-hosted git repository.

surajk pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new c03e27d  Improved: Changed decimals, rounding, zero static variables names as per best practices in order component. (#196)
c03e27d is described below

commit c03e27d73e860ccb3a9bd8950f3771d68e8dd0dc
Author: Suraj Khurana <64...@users.noreply.github.com>
AuthorDate: Sat Jun 13 14:26:52 2020 +0530

    Improved: Changed decimals, rounding, zero static variables names as per best practices in order component. (#196)
    
    (OFBIZ-11804)
    Also make them private data members of the class.
---
 .../apache/ofbiz/order/order/OrderReadHelper.java  | 162 ++++++++++-----------
 .../ofbiz/order/order/OrderReturnServices.java     |  30 ++--
 .../apache/ofbiz/order/order/OrderServices.java    |  67 +++++----
 .../ofbiz/order/shoppingcart/CheckOutHelper.java   |   8 +-
 .../ofbiz/order/shoppingcart/ShoppingCart.java     |  31 ++--
 .../shoppingcart/product/ProductPromoWorker.java   |  15 +-
 6 files changed, 155 insertions(+), 158 deletions(-)

diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java b/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java
index 1e3b8a7..4f13416 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReadHelper.java
@@ -65,14 +65,14 @@ public class OrderReadHelper {
 
     private static final String MODULE = OrderReadHelper.class.getName();
 
-    // scales and rounding modes for BigDecimal math
-    public static final int scale = UtilNumber.getBigDecimalScale("order.decimals");
-    public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding");
-    public static final int taxCalcScale = UtilNumber.getBigDecimalScale("salestax.calc.decimals");
-    public static final int taxFinalScale = UtilNumber.getBigDecimalScale("salestax.final.decimals");
-    public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding");
-    public static final BigDecimal ZERO = (BigDecimal.ZERO).setScale(scale, rounding);
-    public static final BigDecimal percentage = (new BigDecimal("0.01")).setScale(scale, rounding);
+    // scales and ROUNDING modes for BigDecimal math
+    private static final int DECIMALS = UtilNumber.getBigDecimalScale("order.decimals");
+    private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("order.rounding");
+    private static final int TAX_SCALE = UtilNumber.getBigDecimalScale("salestax.calc.decimals");
+    private static final int TAX_FINAL_SCALE = UtilNumber.getBigDecimalScale("salestax.final.decimals");
+    private static final RoundingMode TAX_ROUNDING = UtilNumber.getRoundingMode("salestax.rounding");
+    private static final BigDecimal ZERO = (BigDecimal.ZERO).setScale(DECIMALS, ROUNDING);
+    private static final BigDecimal PERCENTAGE = (new BigDecimal("0.01")).setScale(DECIMALS, ROUNDING);
 
     protected GenericValue orderHeader = null;
     protected List<GenericValue> orderItemAndShipGrp = null;
@@ -236,7 +236,7 @@ public class OrderReadHelper {
             BigDecimal chargedToPaymentPref = ZERO;
             for (GenericValue payment : payments) {
                 if (payment.get("amount") != null) {
-                    chargedToPaymentPref = chargedToPaymentPref.add(payment.getBigDecimal("amount")).setScale(scale+1, rounding);
+                    chargedToPaymentPref = chargedToPaymentPref.add(payment.getBigDecimal("amount")).setScale(DECIMALS+1, ROUNDING);
                 }
             }
 
@@ -249,7 +249,7 @@ public class OrderReadHelper {
                         chargedToPaymentPref = chargedToPaymentPref.add(value);
                     }
                 }
-                paymentMethodAmounts.put(paymentMethodKey, chargedToPaymentPref.setScale(scale, rounding));
+                paymentMethodAmounts.put(paymentMethodKey, chargedToPaymentPref.setScale(DECIMALS, ROUNDING));
             }
         }
         return paymentMethodAmounts;
@@ -271,12 +271,12 @@ public class OrderReadHelper {
             }
             BigDecimal refundedToPaymentPref = ZERO;
             for (GenericValue returnItemResponse : returnItemResponses) {
-                refundedToPaymentPref = refundedToPaymentPref.add(returnItemResponse.getBigDecimal("responseAmount")).setScale(scale+1, rounding);
+                refundedToPaymentPref = refundedToPaymentPref.add(returnItemResponse.getBigDecimal("responseAmount")).setScale(DECIMALS+1, ROUNDING);
             }
 
             if (refundedToPaymentPref.compareTo(ZERO) == 1) {
                 String paymentMethodId = paymentPref.getString("paymentMethodId") != null ? paymentPref.getString("paymentMethodId") : paymentPref.getString("paymentMethodTypeId");
-                paymentMethodAmounts.put(paymentMethodId, refundedToPaymentPref.setScale(scale, rounding));
+                paymentMethodAmounts.put(paymentMethodId, refundedToPaymentPref.setScale(DECIMALS, ROUNDING));
             }
         }
         return paymentMethodAmounts;
@@ -924,12 +924,12 @@ public class OrderReadHelper {
                 }
                 if (product != null) {
                     if (ProductWorker.shippingApplies(product)) {
-                        shippableTotal = shippableTotal.add(OrderReadHelper.getOrderItemSubTotal(item, getAdjustments(), false, true)).setScale(scale, rounding);
+                        shippableTotal = shippableTotal.add(OrderReadHelper.getOrderItemSubTotal(item, getAdjustments(), false, true)).setScale(DECIMALS, ROUNDING);
                     }
                 }
             }
         }
-        return shippableTotal.setScale(scale, rounding);
+        return shippableTotal.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getShippableQuantity() {
@@ -940,7 +940,7 @@ public class OrderReadHelper {
                 shippableQuantity = shippableQuantity.add(getShippableQuantity(shipGroup.getString("shipGroupSeqId")));
             }
         }
-        return shippableQuantity.setScale(scale, rounding);
+        return shippableQuantity.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getShippableQuantity(String shipGroupSeqId) {
@@ -957,12 +957,12 @@ public class OrderReadHelper {
                 }
                 if (product != null) {
                     if (ProductWorker.shippingApplies(product)) {
-                        shippableQuantity = shippableQuantity.add(getOrderItemQuantity(item)).setScale(scale, rounding);
+                        shippableQuantity = shippableQuantity.add(getOrderItemQuantity(item)).setScale(DECIMALS, ROUNDING);
                     }
                 }
             }
         }
-        return shippableQuantity.setScale(scale, rounding);
+        return shippableQuantity.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getShippableWeight(String shipGroupSeqId) {
@@ -970,11 +970,11 @@ public class OrderReadHelper {
         List<GenericValue> validItems = getValidOrderItems(shipGroupSeqId);
         if (validItems != null) {
             for (GenericValue item : validItems) {
-                shippableWeight = shippableWeight.add(this.getItemWeight(item).multiply(getOrderItemQuantity(item))).setScale(scale, rounding);
+                shippableWeight = shippableWeight.add(this.getItemWeight(item).multiply(getOrderItemQuantity(item))).setScale(DECIMALS, ROUNDING);
             }
         }
 
-        return shippableWeight.setScale(scale, rounding);
+        return shippableWeight.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemWeight(GenericValue item) {
@@ -1039,7 +1039,7 @@ public class OrderReadHelper {
                 continue;
             }
             if (paymentMethodTypeId == null || paymentMethodTypeId.equals(preference.get("paymentMethodTypeId"))) {
-                total = total.add(preference.getBigDecimal("maxAmount")).setScale(scale, rounding);
+                total = total.add(preference.getBigDecimal("maxAmount")).setScale(DECIMALS, ROUNDING);
             }
         }
         return total;
@@ -1087,7 +1087,7 @@ public class OrderReadHelper {
                 if (payment.get("amountApplied") == null) {
                     continue;
                 }
-                total = total.add(payment.getBigDecimal("amountApplied")).setScale(scale, rounding);
+                total = total.add(payment.getBigDecimal("amountApplied")).setScale(DECIMALS, ROUNDING);
             }
         } catch (GenericEntityException e) {
             Debug.logError(e, e.getMessage(), MODULE);
@@ -1297,7 +1297,7 @@ public class OrderReadHelper {
                 }
             }
         }
-        openAmount = total.subtract(openAmount).setScale(scale, rounding);
+        openAmount = total.subtract(openAmount).setScale(DECIMALS, ROUNDING);
         // return either a positive amount or positive zero
         return openAmount.compareTo(BigDecimal.ZERO) > 0 ? openAmount : BigDecimal.ZERO;
     }
@@ -1732,10 +1732,10 @@ public class OrderReadHelper {
         BigDecimal returnedQuantity = ZERO;
         for (GenericValue returnedItem : returnedItems) {
             if (returnedItem.get("returnQuantity") != null) {
-                returnedQuantity = returnedQuantity.add(returnedItem.getBigDecimal("returnQuantity")).setScale(scale, rounding);
+                returnedQuantity = returnedQuantity.add(returnedItem.getBigDecimal("returnQuantity")).setScale(DECIMALS, ROUNDING);
             }
         }
-        return returnedQuantity.setScale(scale, rounding);
+        return returnedQuantity.setScale(DECIMALS, ROUNDING);
     }
 
     /**
@@ -1765,7 +1765,7 @@ public class OrderReadHelper {
         List<String> returnHeaderList = new LinkedList<>();
         for (GenericValue returnedItem : returnedItems) {
             if ((returnedItem.get("returnPrice") != null) && (returnedItem.get("returnQuantity") != null)) {
-                returnedAmount = returnedAmount.add(returnedItem.getBigDecimal("returnPrice").multiply(returnedItem.getBigDecimal("returnQuantity")).setScale(scale, rounding));
+                returnedAmount = returnedAmount.add(returnedItem.getBigDecimal("returnPrice").multiply(returnedItem.getBigDecimal("returnQuantity")).setScale(DECIMALS, ROUNDING));
             }
             Map<String, Object> itemAdjustmentCondition = UtilMisc.toMap("returnId", returnedItem.get("returnId"), "returnItemSeqId", returnedItem.get("returnItemSeqId"));
             if (UtilValidate.isNotEmpty(returnTypeId)) {
@@ -1779,9 +1779,9 @@ public class OrderReadHelper {
         //get  returnedAmount from returnHeader adjustments whose orderId must equals to current orderHeader.orderId
         for (String returnId : returnHeaderList) {
             Map<String, Object> returnHeaderAdjFilter = UtilMisc.<String, Object>toMap("returnId", returnId, "returnItemSeqId", "_NA_", "returnTypeId", returnTypeId);
-            returnedAmount =returnedAmount.add(getReturnAdjustmentTotal(orderHeader.getDelegator(), returnHeaderAdjFilter)).setScale(scale, rounding);
+            returnedAmount =returnedAmount.add(getReturnAdjustmentTotal(orderHeader.getDelegator(), returnHeaderAdjFilter)).setScale(DECIMALS, ROUNDING);
         }
-        return returnedAmount.setScale(scale, rounding);
+        return returnedAmount.setScale(DECIMALS, ROUNDING);
     }
 
     /** Gets the total return credit for COMPLETED and RECEIVED returns. */
@@ -1853,13 +1853,13 @@ public class OrderReadHelper {
             BigDecimal quantityNotReturned = itemQuantity.subtract(quantityReturned);
 
             // pro-rated factor (quantity not returned / total items ordered), which shouldn't be rounded to 2 decimals
-            BigDecimal factorNotReturned = quantityNotReturned.divide(itemQuantity, 100, rounding);
+            BigDecimal factorNotReturned = quantityNotReturned.divide(itemQuantity, 100, ROUNDING);
 
-            BigDecimal subTotalNotReturned = itemSubTotal.multiply(factorNotReturned).setScale(scale, rounding);
+            BigDecimal subTotalNotReturned = itemSubTotal.multiply(factorNotReturned).setScale(DECIMALS, ROUNDING);
 
             // calculate tax and shipping adjustments for each item, add to accumulators
-            BigDecimal itemTaxNotReturned = itemTaxes.multiply(factorNotReturned).setScale(scale, rounding);
-            BigDecimal itemShippingNotReturned = itemShipping.multiply(factorNotReturned).setScale(scale, rounding);
+            BigDecimal itemTaxNotReturned = itemTaxes.multiply(factorNotReturned).setScale(DECIMALS, ROUNDING);
+            BigDecimal itemShippingNotReturned = itemShipping.multiply(factorNotReturned).setScale(DECIMALS, ROUNDING);
 
             totalSubTotalNotReturned = totalSubTotalNotReturned.add(subTotalNotReturned);
             totalTaxNotReturned = totalTaxNotReturned.add(itemTaxNotReturned);
@@ -1871,12 +1871,12 @@ public class OrderReadHelper {
         BigDecimal orderFactorNotReturned = ZERO;
         if (orderItemsSubTotal.signum() != 0) {
             // pro-rated factor (subtotal not returned / item subtotal), which shouldn't be rounded to 2 decimals
-            orderFactorNotReturned = totalSubTotalNotReturned.divide(orderItemsSubTotal, 100, rounding);
+            orderFactorNotReturned = totalSubTotalNotReturned.divide(orderItemsSubTotal, 100, ROUNDING);
         }
-        BigDecimal orderTaxNotReturned = this.getHeaderTaxTotal().multiply(orderFactorNotReturned).setScale(scale, rounding);
-        BigDecimal orderShippingNotReturned = this.getShippingTotal().multiply(orderFactorNotReturned).setScale(scale, rounding);
+        BigDecimal orderTaxNotReturned = this.getHeaderTaxTotal().multiply(orderFactorNotReturned).setScale(DECIMALS, ROUNDING);
+        BigDecimal orderShippingNotReturned = this.getShippingTotal().multiply(orderFactorNotReturned).setScale(DECIMALS, ROUNDING);
 
-        return totalTaxNotReturned.add(totalShippingNotReturned).add(orderTaxNotReturned).add(orderShippingNotReturned).setScale(scale, rounding);
+        return totalTaxNotReturned.add(totalShippingNotReturned).add(orderTaxNotReturned).add(orderShippingNotReturned).setScale(DECIMALS, ROUNDING);
     }
 
     /** Gets the total refunded to the order billing account by type.  Specify null to get total over all types. */
@@ -1904,7 +1904,7 @@ public class OrderReadHelper {
                 }
 
                 // we can just add the response amounts
-                returnedAmount = returnedAmount.add(returnItemResponse.getBigDecimal("responseAmount")).setScale(scale, rounding);
+                returnedAmount = returnedAmount.add(returnItemResponse.getBigDecimal("responseAmount")).setScale(DECIMALS, ROUNDING);
             }
         } catch (GenericEntityException e) {
             Debug.logError(e, e.getMessage(), MODULE);
@@ -1942,13 +1942,13 @@ public class OrderReadHelper {
                     for (GenericValue res : reses) {
                         BigDecimal nav = res.getBigDecimal("quantityNotAvailable");
                         if (nav != null) {
-                            backorder = backorder.add(nav).setScale(scale, rounding);
+                            backorder = backorder.add(nav).setScale(DECIMALS, ROUNDING);
                         }
                     }
                 }
             }
         }
-        return backorder.setScale(scale, rounding);
+        return backorder.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemPickedQuantityBd(GenericValue orderItem) {
@@ -1971,11 +1971,11 @@ public class OrderReadHelper {
             for (GenericValue pickedItem : picked) {
                 BigDecimal issueQty = pickedItem.getBigDecimal("quantity");
                 if (issueQty != null) {
-                    quantityPicked = quantityPicked.add(issueQty).setScale(scale, rounding);
+                    quantityPicked = quantityPicked.add(issueQty).setScale(DECIMALS, ROUNDING);
                 }
             }
         }
-        return quantityPicked.setScale(scale, rounding);
+        return quantityPicked.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemShippedQuantity(GenericValue orderItem) {
@@ -1991,10 +1991,10 @@ public class OrderReadHelper {
                 if (issueQty == null) {
                     issueQty = ZERO;
                 }
-                quantityShipped = quantityShipped.add(issueQty.subtract(cancelQty)).setScale(scale, rounding);
+                quantityShipped = quantityShipped.add(issueQty.subtract(cancelQty)).setScale(DECIMALS, ROUNDING);
             }
         }
-        return quantityShipped.setScale(scale, rounding);
+        return quantityShipped.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemShipGroupAssocShippedQuantity(GenericValue orderItem, String shipGroupSeqId) {
@@ -2025,10 +2025,10 @@ public class OrderReadHelper {
                 if (issueQty == null) {
                     issueQty = ZERO;
                 }
-                quantityShipped = quantityShipped.add(issueQty.subtract(cancelQty)).setScale(scale, rounding);
+                quantityShipped = quantityShipped.add(issueQty.subtract(cancelQty)).setScale(DECIMALS, ROUNDING);
             }
         }
-        return quantityShipped.setScale(scale, rounding);
+        return quantityShipped.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemReservedQuantity(GenericValue orderItem) {
@@ -2039,11 +2039,11 @@ public class OrderReadHelper {
             for (GenericValue res : reses) {
                 BigDecimal quantity = res.getBigDecimal("quantity");
                 if (quantity != null) {
-                    reserved = reserved.add(quantity).setScale(scale, rounding);
+                    reserved = reserved.add(quantity).setScale(DECIMALS, ROUNDING);
                 }
             }
         }
-        return reserved.setScale(scale, rounding);
+        return reserved.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemBackorderedQuantity(GenericValue orderItem) {
@@ -2062,7 +2062,7 @@ public class OrderReadHelper {
                 if (autoCancel != null || (shipDate != null && shipDate.after(promised))) {
                     BigDecimal resQty = res.getBigDecimal("quantity");
                     if (resQty != null) {
-                        backOrdered = backOrdered.add(resQty).setScale(scale, rounding);
+                        backOrdered = backOrdered.add(resQty).setScale(DECIMALS, ROUNDING);
                     }
                 }
             }
@@ -2073,7 +2073,7 @@ public class OrderReadHelper {
     public BigDecimal getItemPendingShipmentQuantity(GenericValue orderItem) {
         BigDecimal reservedQty = getItemReservedQuantity(orderItem);
         BigDecimal backordered = getItemBackorderedQuantity(orderItem);
-        return reservedQty.subtract(backordered).setScale(scale, rounding);
+        return reservedQty.subtract(backordered).setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getItemCanceledQuantity(GenericValue orderItem) {
@@ -2091,9 +2091,9 @@ public class OrderReadHelper {
         for (int i = 0; i < orderItems.size(); i++) {
             GenericValue oi = orderItems.get(i);
 
-            totalItems = totalItems.add(getOrderItemQuantity(oi)).setScale(scale, rounding);
+            totalItems = totalItems.add(getOrderItemQuantity(oi)).setScale(DECIMALS, ROUNDING);
         }
-        return totalItems.setScale(scale, rounding);
+        return totalItems.setScale(DECIMALS, ROUNDING);
     }
 
     public BigDecimal getTotalOrderItemsOrderedQuantity() {
@@ -2103,7 +2103,7 @@ public class OrderReadHelper {
         for (int i = 0; i < orderItems.size(); i++) {
             GenericValue oi = orderItems.get(i);
 
-            totalItems = totalItems.add(oi.getBigDecimal("quantity")).setScale(scale, rounding);
+            totalItems = totalItems.add(oi.getBigDecimal("quantity")).setScale(DECIMALS, ROUNDING);
         }
         return totalItems;
     }
@@ -2296,7 +2296,7 @@ public class OrderReadHelper {
         adjustments = EntityUtil.filterByAnd(adjustments, UtilMisc.toList(EntityCondition.makeCondition("orderAdjustmentTypeId", EntityOperator.NOT_EQUAL, "SALES_TAX")));
         BigDecimal total = getOrderItemsTotal(orderItems, adjustments);
         BigDecimal adj = getOrderAdjustmentsTotal(orderItems, adjustments);
-        total = ((total.add(taxGrandTotal)).add(adj)).setScale(scale,rounding);
+        total = ((total.add(taxGrandTotal)).add(adj)).setScale(DECIMALS, ROUNDING);
         return total;
     }
 
@@ -2382,10 +2382,10 @@ public class OrderReadHelper {
         if (UtilValidate.isNotEmpty(orderHeaderAdjustments)) {
             List<GenericValue> filteredAdjs = filterOrderAdjustments(orderHeaderAdjustments, includeOther, includeTax, includeShipping, false, false);
             for (GenericValue orderAdjustment : filteredAdjs) {
-                adjTotal = adjTotal.add(OrderReadHelper.calcOrderAdjustment(orderAdjustment, subTotal)).setScale(scale, rounding);
+                adjTotal = adjTotal.add(OrderReadHelper.calcOrderAdjustment(orderAdjustment, subTotal)).setScale(DECIMALS, ROUNDING);
             }
         }
-        return adjTotal.setScale(scale, rounding);
+        return adjTotal.setScale(DECIMALS, ROUNDING);
     }
 
     public static BigDecimal calcOrderAdjustment(GenericValue orderAdjustment, BigDecimal orderSubTotal) {
@@ -2396,13 +2396,13 @@ public class OrderReadHelper {
             adjustment = adjustment.add(amount);
         } else if (orderAdjustment.get("sourcePercentage") != null) {
             BigDecimal percent = orderAdjustment.getBigDecimal("sourcePercentage");
-            BigDecimal amount = orderSubTotal.multiply(percent).multiply(percentage);
+            BigDecimal amount = orderSubTotal.multiply(percent).multiply(PERCENTAGE);
             adjustment = adjustment.add(amount);
         }
         if ("SALES_TAX".equals(orderAdjustment.get("orderAdjustmentTypeId"))) {
-            return adjustment.setScale(taxCalcScale, taxRounding);
+            return adjustment.setScale(TAX_SCALE, TAX_ROUNDING);
         }
-        return adjustment.setScale(scale, rounding);
+        return adjustment.setScale(DECIMALS, ROUNDING);
     }
 
     // ================= Order Item Adjustments =================
@@ -2423,15 +2423,15 @@ public class OrderReadHelper {
                 while (weIter != null && weIter.hasNext()) {
                     GenericValue workEffort = weIter.next();
                     if (workEffort.getString("workEffortId").compareTo(orderItem.getString("orderItemSeqId")) == 0)    {
-                        itemTotal = itemTotal.multiply(getWorkEffortRentalQuantity(workEffort)).setScale(scale, rounding);
+                        itemTotal = itemTotal.multiply(getWorkEffortRentalQuantity(workEffort)).setScale(DECIMALS, ROUNDING);
                         break;
                     }
                 }
             }
-            result = result.add(itemTotal).setScale(scale, rounding);
+            result = result.add(itemTotal).setScale(DECIMALS, ROUNDING);
 
         }
-        return result.setScale(scale, rounding);
+        return result.setScale(DECIMALS, ROUNDING);
     }
 
     /** The passed adjustments can be all adjustments for the order, ie for all line items */
@@ -2480,7 +2480,7 @@ public class OrderReadHelper {
         // subtotal also includes non tax and shipping adjustments; tax and shipping will be calculated using this adjusted value
         result = result.add(getOrderItemAdjustmentsTotal(orderItem, adjustments, true, false, false, forTax, forShipping));
 
-        return result.setScale(scale, rounding);
+        return result.setScale(DECIMALS, ROUNDING);
     }
 
     public static BigDecimal getOrderItemsTotal(List<GenericValue> orderItems, List<GenericValue> adjustments) {
@@ -2490,7 +2490,7 @@ public class OrderReadHelper {
         while (itemIter != null && itemIter.hasNext()) {
             result = result.add(getOrderItemTotal(itemIter.next(), adjustments));
         }
-        return result.setScale(scale,  rounding);
+        return result.setScale(DECIMALS,  ROUNDING);
     }
 
     public static BigDecimal getOrderItemTotal(GenericValue orderItem, List<GenericValue> adjustments) {
@@ -2508,12 +2508,12 @@ public class OrderReadHelper {
             while (promoAdjIter.hasNext()) {
                 GenericValue promoAdjustment = promoAdjIter.next();
                 if (promoAdjustment != null) {
-                    BigDecimal amount = promoAdjustment.getBigDecimal("amount").setScale(taxCalcScale, taxRounding);
+                    BigDecimal amount = promoAdjustment.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING);
                     promoAdjTotal = promoAdjTotal.add(amount);
                 }
             }
         }
-        return promoAdjTotal.setScale(scale, rounding);
+        return promoAdjTotal.setScale(DECIMALS, ROUNDING);
     }
 
     public static BigDecimal getWorkEffortRentalLength(GenericValue workEffort) {
@@ -2558,7 +2558,7 @@ public class OrderReadHelper {
             }
         }
         rentalAdjustment = rentalAdjustment.add(new BigDecimal(100));  // add final 100 percent for first person
-        rentalAdjustment = rentalAdjustment.divide(new BigDecimal(100), scale, rounding).multiply(new BigDecimal(String.valueOf(length)));
+        rentalAdjustment = rentalAdjustment.divide(new BigDecimal(100), DECIMALS, ROUNDING).multiply(new BigDecimal(String.valueOf(length)));
         return rentalAdjustment; // return total rental adjustment
     }
 
@@ -2569,7 +2569,7 @@ public class OrderReadHelper {
         while (itemIter != null && itemIter.hasNext()) {
             result = result.add(getOrderItemAdjustmentsTotal(itemIter.next(), adjustments, includeOther, includeTax, includeShipping));
         }
-        return result.setScale(scale, rounding);
+        return result.setScale(DECIMALS, ROUNDING);
     }
 
     /** The passed adjustments can be all adjustments for the order, ie for all line items */
@@ -2620,7 +2620,7 @@ public class OrderReadHelper {
         if (UtilValidate.isNotEmpty(adjustments)) {
             List<GenericValue> filteredAdjs = filterOrderAdjustments(adjustments, includeOther, includeTax, includeShipping, forTax, forShipping);
             for (GenericValue orderAdjustment : filteredAdjs) {
-                adjTotal = adjTotal.add(OrderReadHelper.calcItemAdjustmentRecurringBd(orderAdjustment, quantity, unitPrice)).setScale(scale, rounding);
+                adjTotal = adjTotal.add(OrderReadHelper.calcItemAdjustmentRecurringBd(orderAdjustment, quantity, unitPrice)).setScale(DECIMALS, ROUNDING);
             }
         }
         return adjTotal;
@@ -2636,8 +2636,8 @@ public class OrderReadHelper {
             //shouldn't round amounts here, wait until item total is added up otherwise incremental errors are introduced, and there is code that calls this method that does that already: adjustment = adjustment.add(setScaleByType("SALES_TAX".equals(itemAdjustment.get("orderAdjustmentTypeId")), itemAdjustment.getBigDecimal("amount")));
             adjustment = adjustment.add(itemAdjustment.getBigDecimal("amount"));
         } else if (itemAdjustment.get("sourcePercentage") != null) {
-            // see comment above about rounding: adjustment = adjustment.add(setScaleByType("SALES_TAX".equals(itemAdjustment.get("orderAdjustmentTypeId")), itemAdjustment.getBigDecimal("sourcePercentage").multiply(quantity).multiply(unitPrice).multiply(percentage)));
-            adjustment = adjustment.add(itemAdjustment.getBigDecimal("sourcePercentage").multiply(quantity).multiply(unitPrice).multiply(percentage));
+            // see comment above about ROUNDING: adjustment = adjustment.add(setScaleByType("SALES_TAX".equals(itemAdjustment.get("orderAdjustmentTypeId")), itemAdjustment.getBigDecimal("sourcePercentage").multiply(quantity).multiply(unitPrice).multiply(PERCENTAGE)));
+            adjustment = adjustment.add(itemAdjustment.getBigDecimal("sourcePercentage").multiply(quantity).multiply(unitPrice).multiply(PERCENTAGE));
         }
         if (Debug.verboseOn()) {
             Debug.logVerbose("calcItemAdjustment: " + itemAdjustment + ", quantity=" + quantity + ", unitPrice=" + unitPrice + ", adjustment=" + adjustment, MODULE);
@@ -2653,7 +2653,7 @@ public class OrderReadHelper {
         if (Debug.verboseOn()) {
             Debug.logVerbose("calcItemAdjustmentRecurring: " + itemAdjustment + ", quantity=" + quantity + ", unitPrice=" + unitPrice + ", adjustmentRecurring=" + adjustmentRecurring, MODULE);
         }
-        return adjustmentRecurring.setScale(scale, rounding);
+        return adjustmentRecurring.setScale(DECIMALS, ROUNDING);
     }
 
     public static List<GenericValue> filterOrderAdjustments(List<GenericValue> adjustments, boolean includeOther, boolean includeTax, boolean includeShipping, boolean forTax, boolean forShipping) {
@@ -2807,9 +2807,9 @@ public class OrderReadHelper {
         return total;
     }
 
-    // little helper method to set the scale according to tax type
+    // little helper method to set the DECIMALS according to tax type
     public static BigDecimal setScaleByType(boolean isTax, BigDecimal value) {
-        return isTax ? value.setScale(taxCalcScale, taxRounding) : value.setScale(scale, rounding);
+        return isTax ? value.setScale(TAX_SCALE, TAX_ROUNDING) : value.setScale(DECIMALS, ROUNDING);
     }
 
     /** Get the quantity of order items that have been invoiced */
@@ -2949,10 +2949,10 @@ public class OrderReadHelper {
                             if (amount == null) {
                                 amount = ZERO;
                             }
-                            totalAmount = totalAmount.add(amount).setScale(taxCalcScale, taxRounding);
+                            totalAmount = totalAmount.add(amount).setScale(TAX_SCALE, TAX_ROUNDING);
                             processedAdjustments.add(orderAdjustment);
                         }
-                        totalAmount = totalAmount.setScale(taxFinalScale, taxRounding);
+                        totalAmount = totalAmount.setScale(TAX_FINAL_SCALE, TAX_ROUNDING);
                         taxByTaxAuthGeoAndPartyList.add(UtilMisc.<String, Object>toMap("taxAuthPartyId", taxAuthPartyId, "taxAuthGeoId", taxAuthGeoId, "totalAmount", totalAmount));
                         taxGrandTotal = taxGrandTotal.add(totalAmount);
                     }
@@ -2963,9 +2963,9 @@ public class OrderReadHelper {
             missedAdjustments.addAll(orderAdjustments);
             missedAdjustments.removeAll(processedAdjustments);
             for (GenericValue orderAdjustment : missedAdjustments) {
-                taxGrandTotal = taxGrandTotal.add(orderAdjustment.getBigDecimal("amount").setScale(taxCalcScale, taxRounding));
+                taxGrandTotal = taxGrandTotal.add(orderAdjustment.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING));
             }
-            taxGrandTotal = taxGrandTotal.setScale(taxFinalScale, taxRounding);
+            taxGrandTotal = taxGrandTotal.setScale(TAX_FINAL_SCALE, TAX_ROUNDING);
         }
         Map<String, Object> result = new HashMap<>();
         result.put("taxByTaxAuthGeoAndPartyList", taxByTaxAuthGeoAndPartyList);
@@ -3011,10 +3011,10 @@ public class OrderReadHelper {
                                 // this is the only case where the VAT_TAX amountAlreadyIncluded should be added in, and should just be for display and not to calculate the order grandTotal
                                 totalAmount = totalAmount.add(orderAdjustment.getBigDecimal("amountAlreadyIncluded"));
                             }
-                            totalAmount = totalAmount.setScale(taxCalcScale, taxRounding);
+                            totalAmount = totalAmount.setScale(TAX_SCALE, TAX_ROUNDING);
                             processedAdjustments.add(orderAdjustment);
                         }
-                        totalAmount = totalAmount.setScale(taxFinalScale, taxRounding);
+                        totalAmount = totalAmount.setScale(TAX_FINAL_SCALE, TAX_ROUNDING);
                         taxByTaxAuthGeoAndPartyList.add(UtilMisc.<String, Object>toMap("taxAuthPartyId", taxAuthPartyId, "taxAuthGeoId", taxAuthGeoId, "totalAmount", totalAmount));
                         taxGrandTotal = taxGrandTotal.add(totalAmount);
                     }
@@ -3025,9 +3025,9 @@ public class OrderReadHelper {
             missedAdjustments.addAll(orderAdjustmentsToUse);
             missedAdjustments.removeAll(processedAdjustments);
             for (GenericValue orderAdjustment : missedAdjustments) {
-                taxGrandTotal = taxGrandTotal.add(orderAdjustment.getBigDecimal("amount").setScale(taxCalcScale, taxRounding));
+                taxGrandTotal = taxGrandTotal.add(orderAdjustment.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING));
             }
-            taxGrandTotal = taxGrandTotal.setScale(taxFinalScale, taxRounding);
+            taxGrandTotal = taxGrandTotal.setScale(TAX_FINAL_SCALE, TAX_ROUNDING);
         }
         Map<String, Object> result = new HashMap<>();
         result.put("taxByTaxAuthGeoAndPartyList", taxByTaxAuthGeoAndPartyList);
@@ -3075,7 +3075,7 @@ public class OrderReadHelper {
             }
         }
 
-        balance = balance.setScale(scale, rounding);
+        balance = balance.setScale(DECIMALS, ROUNDING);
         return balance;
     }
 
diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReturnServices.java b/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReturnServices.java
index 330069e..d0ff84a 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReturnServices.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderReturnServices.java
@@ -75,9 +75,9 @@ public class OrderReturnServices {
     private static final String RES_PRODUCT = "ProductUiLabels";
 
     //  set some BigDecimal properties
-    public static final int decimals = UtilNumber.getBigDecimalScale("invoice.decimals");
-    public static final RoundingMode rounding = UtilNumber.getRoundingMode("invoice.rounding");
-    public static final BigDecimal ZERO = BigDecimal.ZERO.setScale(decimals, rounding);
+    private static final int DECIMALS = UtilNumber.getBigDecimalScale("invoice.decimals");
+    private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("invoice.rounding");
+    private static final BigDecimal ZERO = BigDecimal.ZERO.setScale(DECIMALS, ROUNDING);
 
     // locate the return item's initial inventory item cost
     public static Map<String, Object> getReturnItemInitialCost(DispatchContext dctx, Map<String, ? extends Object> context) {
@@ -889,11 +889,11 @@ public class OrderReturnServices {
                 if (price == null) {
                     price = ZERO;
                 }
-                creditTotal = creditTotal.add(price.multiply(quantity).setScale(decimals, rounding));
+                creditTotal = creditTotal.add(price.multiply(quantity).setScale(DECIMALS, ROUNDING));
             }
 
             // add the adjustments to the total
-            creditTotal = creditTotal.add(adjustments.setScale(decimals, rounding));
+            creditTotal = creditTotal.add(adjustments.setScale(DECIMALS, ROUNDING));
 
             // create finAccountRole and finAccountTrans
             String finAccountTransId = null;
@@ -1285,7 +1285,7 @@ public class OrderReturnServices {
                     // See how much we can refund to the payment method
                     BigDecimal orderPayPrefReceivedTotal = ZERO;
                     if (receivedPaymentTotalsByPaymentMethod.containsKey(orderPayPrefKey)) {
-                        orderPayPrefReceivedTotal = orderPayPrefReceivedTotal.add(receivedPaymentTotalsByPaymentMethod.get(orderPayPrefKey)).setScale(decimals, rounding);
+                        orderPayPrefReceivedTotal = orderPayPrefReceivedTotal.add(receivedPaymentTotalsByPaymentMethod.get(orderPayPrefKey)).setScale(DECIMALS, ROUNDING);
                     }
 
                     if (receivedPaymentTotalsByBillingAccount != null) {
@@ -1293,7 +1293,7 @@ public class OrderReturnServices {
                     }
                     BigDecimal orderPayPrefRefundedTotal = ZERO;
                     if (refundedTotalsByPaymentMethod.containsKey(orderPayPrefKey)) {
-                        orderPayPrefRefundedTotal = orderPayPrefRefundedTotal.add(refundedTotalsByPaymentMethod.get(orderPayPrefKey)).setScale(decimals, rounding);
+                        orderPayPrefRefundedTotal = orderPayPrefRefundedTotal.add(refundedTotalsByPaymentMethod.get(orderPayPrefKey)).setScale(DECIMALS, ROUNDING);
                     }
                     BigDecimal orderPayPrefAvailableTotal = orderPayPrefReceivedTotal.subtract(orderPayPrefRefundedTotal);
 
@@ -1311,7 +1311,7 @@ public class OrderReturnServices {
                 }
 
                 // Keep a decreasing total of the amount remaining to refund
-                BigDecimal amountLeftToRefund = orderTotal.setScale(decimals, rounding);
+                BigDecimal amountLeftToRefund = orderTotal.setScale(DECIMALS, ROUNDING);
 
                 // This can be extended to support additional electronic types
                 List<String> electronicTypes = UtilMisc.<String>toList("CREDIT_CARD", "EFT_ACCOUNT", "FIN_ACCOUNT", "GIFT_CARD");
@@ -1376,7 +1376,7 @@ public class OrderReturnServices {
                                     serviceContext.put("paymentMethodId", orderPaymentPreference.getString("paymentMethodId"));
                                     serviceContext.put("paymentMethodTypeId", orderPaymentPreference.getString("paymentMethodTypeId"));
                                     serviceContext.put("statusId", orderPaymentPreference.getString("statusId"));
-                                    serviceContext.put("maxAmount", amountToRefund.setScale(decimals, rounding));
+                                    serviceContext.put("maxAmount", amountToRefund.setScale(DECIMALS, ROUNDING));
                                     String orderPaymentPreferenceNewId = null;
                                     Map<String, Object> result = dispatcher.runSync("createOrderPaymentPreference", serviceContext);
                                     if (ServiceUtil.isError(result)) {
@@ -1388,7 +1388,7 @@ public class OrderReturnServices {
                                     } catch (GenericEntityException e) {
                                         return ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR,"OrderProblemsWithTheRefundSeeLogs", locale));
                                     }
-                                    serviceResult = dispatcher.runSync("refundPayment", UtilMisc.<String, Object>toMap("orderPaymentPreference", refundOrderPaymentPreference, "refundAmount", amountToRefund.setScale(decimals, rounding), "userLogin", userLogin));
+                                    serviceResult = dispatcher.runSync("refundPayment", UtilMisc.<String, Object>toMap("orderPaymentPreference", refundOrderPaymentPreference, "refundAmount", amountToRefund.setScale(DECIMALS, ROUNDING), "userLogin", userLogin));
                                     if (ServiceUtil.isError(serviceResult) || ServiceUtil.isFailure(serviceResult)) {
                                         Debug.logError("Error in refund payment: " + ServiceUtil.getErrorMessage(serviceResult), MODULE);
                                         continue;
@@ -1404,7 +1404,7 @@ public class OrderReturnServices {
                                     // for Billing Account refunds
                                     serviceResult = dispatcher.runSync("refundBillingAccountPayment",
                                             UtilMisc.<String, Object> toMap("orderPaymentPreference", orderPaymentPreference, "refundAmount",
-                                                    amountToRefund.setScale(decimals, rounding), "userLogin", userLogin));
+                                                    amountToRefund.setScale(DECIMALS, ROUNDING), "userLogin", userLogin));
                                     if (ServiceUtil.isError(serviceResult) || ServiceUtil.isFailure(serviceResult)) {
                                         Debug.logError("Error in refund payment: " + ServiceUtil.getErrorMessage(serviceResult), MODULE);
                                         continue;
@@ -1446,7 +1446,7 @@ public class OrderReturnServices {
                             } else {
                                 response.put("orderPaymentPreferenceId", orderPaymentPreference.getString("orderPaymentPreferenceId"));
                             }
-                            response.put("responseAmount", amountRefunded.setScale(decimals, rounding));
+                            response.put("responseAmount", amountRefunded.setScale(DECIMALS, ROUNDING));
                             response.put("responseDate", now);
                             response.put("userLogin", userLogin);
                             response.put("paymentId", paymentId);
@@ -1620,7 +1620,7 @@ public class OrderReturnServices {
             if (response == null) {
                  return ServiceUtil.returnError(UtilProperties.getMessage(RES_ERROR, "OrderReturnItemResponseNotFound", UtilMisc.toMap("errorMsg", errorMsg,"responseId", responseId), locale));
             }
-            BigDecimal responseAmount = response.getBigDecimal("responseAmount").setScale(decimals, rounding);
+            BigDecimal responseAmount = response.getBigDecimal("responseAmount").setScale(DECIMALS, ROUNDING);
             String paymentId = response.getString("paymentId");
 
             // for each return item in the response, get the list of return item billings and then a list of invoices
@@ -1645,7 +1645,7 @@ public class OrderReturnServices {
                 List<GenericValue> billings = invoice.getRelated("ReturnItemBilling", null, null, false);
                 BigDecimal runningTotal = ZERO;
                 for (GenericValue billing : billings) {
-                    runningTotal = runningTotal.add(billing.getBigDecimal("amount").multiply(billing.getBigDecimal("quantity")).setScale(decimals, rounding));
+                    runningTotal = runningTotal.add(billing.getBigDecimal("amount").multiply(billing.getBigDecimal("quantity")).setScale(DECIMALS, ROUNDING));
                 }
 
                 invoiceTotals.put(invoice.getString("invoiceId"), runningTotal);
@@ -1657,7 +1657,7 @@ public class OrderReturnServices {
                 String invoiceId = invoice.getString("invoiceId");
                 BigDecimal invoiceTotal = invoiceTotals.get(invoiceId);
 
-                BigDecimal amountApplied = responseAmount.multiply(invoiceTotal).divide(grandTotal, decimals, rounding).setScale(decimals, rounding);
+                BigDecimal amountApplied = responseAmount.multiply(invoiceTotal).divide(grandTotal, DECIMALS, ROUNDING).setScale(DECIMALS, ROUNDING);
 
                 if (paymentId != null) {
                     // create a payment application for the invoice
diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java b/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java
index 99ff0bf..4223295 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/order/OrderServices.java
@@ -95,26 +95,25 @@ public class OrderServices {
     private static final String RES_ERROR = "OrderErrorUiLabels";
     private static final String RES_PRODUCT = "ProductUiLabels";
 
-    private static Map<String, String> salesAttributeRoleMap = new HashMap<>();
-    private static Map<String, String> purchaseAttributeRoleMap = new HashMap<>();
+    private static final Map<String, String> SALES_ROLE_MAP = new HashMap<>();
+    private static final Map<String, String> PURCHASE_ROLE_MAP = new HashMap<>();
     static {
-        salesAttributeRoleMap.put("placingCustomerPartyId", "PLACING_CUSTOMER");
-        salesAttributeRoleMap.put("billToCustomerPartyId", "BILL_TO_CUSTOMER");
-        salesAttributeRoleMap.put("billFromVendorPartyId", "BILL_FROM_VENDOR");
-        salesAttributeRoleMap.put("shipToCustomerPartyId", "SHIP_TO_CUSTOMER");
-        salesAttributeRoleMap.put("endUserCustomerPartyId", "END_USER_CUSTOMER");
-
-        purchaseAttributeRoleMap.put("billToCustomerPartyId", "BILL_TO_CUSTOMER");
-        purchaseAttributeRoleMap.put("billFromVendorPartyId", "BILL_FROM_VENDOR");
-        purchaseAttributeRoleMap.put("shipFromVendorPartyId", "SHIP_FROM_VENDOR");
-        purchaseAttributeRoleMap.put("supplierAgentPartyId", "SUPPLIER_AGENT");
+        SALES_ROLE_MAP.put("placingCustomerPartyId", "PLACING_CUSTOMER");
+        SALES_ROLE_MAP.put("billToCustomerPartyId", "BILL_TO_CUSTOMER");
+        SALES_ROLE_MAP.put("billFromVendorPartyId", "BILL_FROM_VENDOR");
+        SALES_ROLE_MAP.put("shipToCustomerPartyId", "SHIP_TO_CUSTOMER");
+        SALES_ROLE_MAP.put("endUserCustomerPartyId", "END_USER_CUSTOMER");
+
+        PURCHASE_ROLE_MAP.put("billToCustomerPartyId", "BILL_TO_CUSTOMER");
+        PURCHASE_ROLE_MAP.put("billFromVendorPartyId", "BILL_FROM_VENDOR");
+        PURCHASE_ROLE_MAP.put("shipFromVendorPartyId", "SHIP_FROM_VENDOR");
+        PURCHASE_ROLE_MAP.put("supplierAgentPartyId", "SUPPLIER_AGENT");
     }
-    public static final int taxDecimals = UtilNumber.getBigDecimalScale("salestax.calc.decimals");
-    public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding");
-    public static final int orderDecimals = UtilNumber.getBigDecimalScale("order.decimals");
-    public static final RoundingMode orderRounding = UtilNumber.getRoundingMode("order.rounding");
-    public static final BigDecimal ZERO = BigDecimal.ZERO.setScale(taxDecimals, taxRounding);
-
+    private static final int TAX_SCALE = UtilNumber.getBigDecimalScale("salestax.calc.decimals");
+    private static final RoundingMode TAX_ROUNDING = UtilNumber.getRoundingMode("salestax.rounding");
+    private static final int DECIMALS = UtilNumber.getBigDecimalScale("order.decimals");
+    private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("order.rounding");
+    private static final BigDecimal ZERO = BigDecimal.ZERO.setScale(TAX_SCALE, TAX_ROUNDING);
 
     private static boolean hasPermission(String orderId, GenericValue userLogin, String action, Security security, Delegator delegator) {
         OrderReadHelper orh = new OrderReadHelper(delegator, orderId);
@@ -931,9 +930,9 @@ public class OrderServices {
         }
 
         // see the attributeRoleMap definition near the top of this file for attribute-role mappings
-        Map<String, String> attributeRoleMap = salesAttributeRoleMap;
+        Map<String, String> attributeRoleMap = SALES_ROLE_MAP;
         if ("PURCHASE_ORDER".equals(orderTypeId)) {
-            attributeRoleMap = purchaseAttributeRoleMap;
+            attributeRoleMap = PURCHASE_ROLE_MAP;
         }
         for (Map.Entry<String, String> attributeRoleEntry : attributeRoleMap.entrySet()) {
             if (UtilValidate.isNotEmpty(context.get(attributeRoleEntry.getKey()))) {
@@ -1592,7 +1591,7 @@ public class OrderServices {
         BigDecimal totalExistingOrderTax = ZERO;
         for (GenericValue orderTaxAdjustment : orderTaxAdjustments) {
             if (orderTaxAdjustment.get("amount") != null) {
-                totalExistingOrderTax = totalExistingOrderTax.add(orderTaxAdjustment.getBigDecimal("amount").setScale(taxDecimals, taxRounding));
+                totalExistingOrderTax = totalExistingOrderTax.add(orderTaxAdjustment.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING));
             }
         }
 
@@ -1600,7 +1599,7 @@ public class OrderServices {
         BigDecimal totalManuallyAddedOrderTax = ZERO;
         for (GenericValue orderTaxAdjustment : orderTaxAdjustments) {
             if (orderTaxAdjustment.get("amount") != null && "Y".equals(orderTaxAdjustment.getString("isManual"))) {
-                totalManuallyAddedOrderTax = totalManuallyAddedOrderTax.add(orderTaxAdjustment.getBigDecimal("amount").setScale(taxDecimals, taxRounding));
+                totalManuallyAddedOrderTax = totalManuallyAddedOrderTax.add(orderTaxAdjustment.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING));
             }
         }
 
@@ -1715,7 +1714,7 @@ public class OrderServices {
                     if (UtilValidate.isNotEmpty(orderAdj)) {
                         for (GenericValue oa : orderAdj) {
                             if (oa.get("amount") != null) {
-                                totalNewOrderTax = totalNewOrderTax.add(oa.getBigDecimal("amount").setScale(taxDecimals, taxRounding));
+                                totalNewOrderTax = totalNewOrderTax.add(oa.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING));
                             }
                         }
                     }
@@ -1726,7 +1725,7 @@ public class OrderServices {
                             List<GenericValue> itemAdjustments = itemAdj.get(i);
                             for (GenericValue ia : itemAdjustments) {
                                 if (ia.get("amount") != null) {
-                                    totalNewOrderTax = totalNewOrderTax.add(ia.getBigDecimal("amount").setScale(taxDecimals, taxRounding));
+                                    totalNewOrderTax = totalNewOrderTax.add(ia.getBigDecimal("amount").setScale(TAX_SCALE, TAX_ROUNDING));
                                 }
                             }
                         }
@@ -1736,11 +1735,11 @@ public class OrderServices {
 
             // If there is any manually added tax then add it into new system generated tax.
             if (totalManuallyAddedOrderTax.compareTo(BigDecimal.ZERO) > 0) {
-                totalNewOrderTax = totalNewOrderTax.add(totalManuallyAddedOrderTax).setScale(taxDecimals, taxRounding);
+                totalNewOrderTax = totalNewOrderTax.add(totalManuallyAddedOrderTax).setScale(TAX_SCALE, TAX_ROUNDING);
             }
 
             // Determine the difference between existing and new tax adjustment totals, if any
-            BigDecimal orderTaxDifference = totalNewOrderTax.subtract(totalExistingOrderTax).setScale(taxDecimals, taxRounding);
+            BigDecimal orderTaxDifference = totalNewOrderTax.subtract(totalExistingOrderTax).setScale(TAX_SCALE, TAX_ROUNDING);
 
             // If the total has changed, create an OrderAdjustment to reflect the fact
             if (orderTaxDifference.signum() != 0) {
@@ -1823,7 +1822,7 @@ public class OrderServices {
                     Debug.logInfo("No valid order items found - " + shippingTotal, MODULE);
                 } else {
                     shippingTotal = UtilValidate.isEmpty(shippingEstMap.get("shippingTotal")) ? ZERO : (BigDecimal)shippingEstMap.get("shippingTotal");
-                    shippingTotal = shippingTotal.setScale(orderDecimals, orderRounding);
+                    shippingTotal = shippingTotal.setScale(DECIMALS, ROUNDING);
                     Debug.logInfo("Got new shipping estimate - " + shippingTotal, MODULE);
                 }
                 if (Debug.infoOn()) {
@@ -2179,7 +2178,7 @@ public class OrderServices {
 
                     // log an order note
                     try {
-                        BigDecimal quantity = thisCancelQty.setScale(1, orderRounding);
+                        BigDecimal quantity = thisCancelQty.setScale(1, ROUNDING);
                         String cancelledItemToOrder = UtilProperties.getMessage(RESOURCE, "OrderCancelledItemToOrder", locale);
                         resp = dispatcher.runSync("createOrderNote", UtilMisc.<String, Object>toMap("orderId", orderId, "note", cancelledItemToOrder +
                                 orderItem.getString("productId") + " (" + quantity + ")", "internalNote", "Y", "userLogin", userLogin));
@@ -5478,7 +5477,7 @@ public class OrderServices {
                 List<GenericValue> orderItemBillings = EntityQuery.use(delegator).from("OrderItemBilling").where("orderId", orderId, "orderItemSeqId", orderItem.get("orderItemSeqId")).queryList();
                 for (GenericValue orderItemBilling : orderItemBillings) {
                     BigDecimal quantity = orderItemBilling.getBigDecimal("quantity");
-                    BigDecimal amount = orderItemBilling.getBigDecimal("amount").setScale(orderDecimals, orderRounding);
+                    BigDecimal amount = orderItemBilling.getBigDecimal("amount").setScale(DECIMALS, ROUNDING);
                     if (UtilValidate.isEmpty(invoicedQuantity) || UtilValidate.isEmpty(amount)) {
                         continue;
                     }
@@ -5501,7 +5500,7 @@ public class OrderServices {
                     // Look at the orderAdjustmentBillings to discove the amount ever invoiced for this order adjustment
                     List<GenericValue> orderAdjustmentBillings = EntityQuery.use(delegator).from("OrderAdjustmentBilling").where("orderAdjustmentId", orderAdjustment.get("orderAdjustmentId")).queryList();
                     for (GenericValue orderAjustmentBilling : orderAdjustmentBillings) {
-                        BigDecimal amount = orderAjustmentBilling.getBigDecimal("amount").setScale(orderDecimals, orderRounding);
+                        BigDecimal amount = orderAjustmentBilling.getBigDecimal("amount").setScale(DECIMALS, ROUNDING);
                         if (UtilValidate.isEmpty(amount)) {
                             continue;
                         }
@@ -5532,7 +5531,7 @@ public class OrderServices {
             for (GenericValue orderHeaderAdjustment : orderHeaderAdjustments) {
                 List<GenericValue> orderHeaderAdjustmentBillings = EntityQuery.use(delegator).from("OrderAdjustmentBilling").where("orderAdjustmentId", orderHeaderAdjustment.get("orderAdjustmentId")).queryList();
                 for (GenericValue orderHeaderAdjustmentBilling : orderHeaderAdjustmentBillings) {
-                    BigDecimal amount = orderHeaderAdjustmentBilling.getBigDecimal("amount").setScale(orderDecimals, orderRounding);
+                    BigDecimal amount = orderHeaderAdjustmentBilling.getBigDecimal("amount").setScale(DECIMALS, ROUNDING);
                     if (UtilValidate.isEmpty(amount)) {
                         continue;
                     }
@@ -5545,7 +5544,7 @@ public class OrderServices {
             //  figures don't take tax- and shipping- adjustments into account, so as to be in accordance with the code in InvoiceServices
             BigDecimal invoicedAmountProportion = ZERO;
             if (orderItemsSubtotal.signum() != 0) {
-                invoicedAmountProportion = invoicedTotal.divide(orderItemsSubtotal, 5, orderRounding);
+                invoicedAmountProportion = invoicedTotal.divide(orderItemsSubtotal, 5, ROUNDING);
             }
             BigDecimal orderItemHeaderAjustmentAmount = orderHeaderAdjustmentsTotalValue.multiply(invoicedAmountProportion);
             orderItemTotalValue = invoicedTotal.add(orderItemHeaderAjustmentAmount);
@@ -5559,8 +5558,8 @@ public class OrderServices {
         }
 
         Map<String, Object> result = ServiceUtil.returnSuccess();
-        result.put("invoicedAmount", orderItemTotalValue.setScale(orderDecimals, orderRounding));
-        result.put("invoicedQuantity", invoicedQuantity.setScale(orderDecimals, orderRounding));
+        result.put("invoicedAmount", orderItemTotalValue.setScale(DECIMALS, ROUNDING));
+        result.put("invoicedQuantity", invoicedQuantity.setScale(DECIMALS, ROUNDING));
         return result;
     }
 
diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
index f6b0e5c..7ad51fb 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/CheckOutHelper.java
@@ -74,8 +74,8 @@ public class CheckOutHelper {
     private static final String MODULE = CheckOutHelper.class.getName();
     private static final String RES_ERROR = "OrderErrorUiLabels";
 
-    public static final int scale = UtilNumber.getBigDecimalScale("order.decimals");
-    public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding");
+    private static final int DECIMALS = UtilNumber.getBigDecimalScale("order.decimals");
+    private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("order.rounding");
 
     protected LocalDispatcher dispatcher = null;
     protected Delegator delegator = null;
@@ -1631,8 +1631,8 @@ public class CheckOutHelper {
         BigDecimal reqAmtPreParse = cart.getGrandTotal().subtract(cart.getBillingAccountAmount());
         BigDecimal selectedPmnt = cart.getPaymentTotal();
 
-        BigDecimal selectedPaymentTotal = selectedPmnt.setScale(scale, rounding);
-        BigDecimal requiredAmount = reqAmtPreParse.setScale(scale, rounding);
+        BigDecimal selectedPaymentTotal = selectedPmnt.setScale(DECIMALS, ROUNDING);
+        BigDecimal requiredAmount = reqAmtPreParse.setScale(DECIMALS, ROUNDING);
 
         if (UtilValidate.isNotEmpty(paymentMethods) && requiredAmount.compareTo(selectedPaymentTotal) > 0) {
             Debug.logError("Required Amount : " + requiredAmount + " / Selected Amount : " + selectedPaymentTotal, MODULE);
diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
index 5131be5..366f171 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
@@ -94,13 +94,12 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
     public static final int FILLED_ONLY = 3;
 
     // scales and rounding modes for BigDecimal math
-    public static final int scale = UtilNumber.getBigDecimalScale("order.decimals");
-    public static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding");
-    public static final int taxCalcScale = UtilNumber.getBigDecimalScale("salestax.calc.decimals");
-    public static final int taxFinalScale = UtilNumber.getBigDecimalScale("salestax.final.decimals");
-    public static final RoundingMode taxRounding = UtilNumber.getRoundingMode("salestax.rounding");
-    public static final MathContext generalRounding = new MathContext(10);
-
+    private static final int DECIMALS = UtilNumber.getBigDecimalScale("order.decimals");
+    private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("order.rounding");
+    private static final int TAX_SCALE = UtilNumber.getBigDecimalScale("salestax.calc.decimals");
+    private static final int TAX_FINAL_SCALE = UtilNumber.getBigDecimalScale("salestax.final.decimals");
+    private static final RoundingMode TAX_ROUNDING = UtilNumber.getRoundingMode("salestax.rounding");
+    private static final MathContext GEN_ROUNDING = new MathContext(10);
 
     private String orderType = "SALES_ORDER"; // default orderType
     private String channel = "UNKNWN_SALES_CHANNEL"; // default channel enum
@@ -1400,7 +1399,7 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
             }
             BigDecimal diffMillis = new BigDecimal(nowTimestamp.getTime() - createdDate.getTime());
             // millis per day: 1000.0 * 60.0 * 60.0 * 24.0 = 86400000.0
-            return (diffMillis).divide(new BigDecimal("86400000"), generalRounding);
+            return (diffMillis).divide(new BigDecimal("86400000"), GEN_ROUNDING);
         } catch (GenericEntityException e) {
             Debug.logError(e, "Error looking up party when getting createdDate", MODULE);
             return null;
@@ -2715,9 +2714,9 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
         BigDecimal totalTax = BigDecimal.ZERO;
         for (int i = 0; i < shipInfo.size(); i++) {
             CartShipInfo csi = this.getShipInfo(i);
-            totalTax = totalTax.add(csi.getTotalTax(this)).setScale(taxCalcScale, taxRounding);
+            totalTax = totalTax.add(csi.getTotalTax(this)).setScale(TAX_SCALE, TAX_ROUNDING);
         }
-        return totalTax.setScale(taxFinalScale, taxRounding);
+        return totalTax.setScale(TAX_FINAL_SCALE, TAX_ROUNDING);
     }
 
     /** Returns the shipping amount from the cart object. */
@@ -2778,7 +2777,7 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
     }
     public BigDecimal getDisplayTaxIncluded() {
         BigDecimal taxIncluded  = getDisplaySubTotal().subtract(getSubTotal());
-        return taxIncluded.setScale(taxFinalScale, taxRounding);
+        return taxIncluded.setScale(TAX_FINAL_SCALE, TAX_ROUNDING);
     }
 
     public BigDecimal getDisplayRecurringSubTotal() {
@@ -4559,7 +4558,7 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
             if (totalAmount.compareTo(BigDecimal.ZERO) == 0) {
                 return BigDecimal.ZERO;
             }
-            return getTotalDiscountAmount().negate().divide(totalAmount, scale, rounding);
+            return getTotalDiscountAmount().negate().divide(totalAmount, DECIMALS, ROUNDING);
         }
 
         @Override
@@ -5010,7 +5009,7 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
                     itemTax = itemTax.add(OrderReadHelper.calcItemAdjustment(v, quantity, item.getBasePrice()));
                 }
 
-                return itemTax.setScale(taxCalcScale, taxRounding);
+                return itemTax.setScale(TAX_SCALE, TAX_ROUNDING);
             }
 
             public ShoppingCartItem getItem() {
@@ -5138,8 +5137,8 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
                 }
                 if ("Y".equals(splitPayPrefPerShpGrp)  && cart.paymentInfo.size() == 1) {
                     for (CartShipInfo csi : cart.getShipGroups()) {
-                        maxAmount = csi.getTotal().add(cart.getOrderOtherAdjustmentTotal().add(cart.getOrderGlobalAdjustments()).divide(new BigDecimal(cart.getShipGroupSize()), generalRounding)).add(csi.getShipEstimate().add(csi.getTotalTax(cart)));
-                        maxAmount = maxAmount.setScale(scale, rounding);
+                        maxAmount = csi.getTotal().add(cart.getOrderOtherAdjustmentTotal().add(cart.getOrderGlobalAdjustments()).divide(new BigDecimal(cart.getShipGroupSize()), GEN_ROUNDING)).add(csi.getShipEstimate().add(csi.getTotalTax(cart)));
+                        maxAmount = maxAmount.setScale(DECIMALS, ROUNDING);
 
                         // create the OrderPaymentPreference record
                         GenericValue opp = delegator.makeValue("OrderPaymentPreference");
@@ -5179,7 +5178,7 @@ public class ShoppingCart implements Iterable<ShoppingCartItem>, Serializable {
                     }
                 } else if ("N".equals(splitPayPrefPerShpGrp)) {
                     maxAmount = maxAmount.add(amount);
-                    maxAmount = maxAmount.setScale(scale, rounding);
+                    maxAmount = maxAmount.setScale(DECIMALS, ROUNDING);
 
                     // create the OrderPaymentPreference record
                     GenericValue opp = delegator.makeValue("OrderPaymentPreference");
diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
index 7f4c26b..fac31c0 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
@@ -71,12 +71,11 @@ public final class ProductPromoWorker {
     private static final String RESOURCE = "OrderUiLabels";
     private static final String RES_ERROR = "OrderErrorUiLabels";
 
-    private static final int decimals = UtilNumber.getBigDecimalScale("order.decimals");
-    private static final RoundingMode rounding = UtilNumber.getRoundingMode("order.rounding");
+    private static final int DECIMALS = UtilNumber.getBigDecimalScale("order.decimals");
+    private static final RoundingMode ROUNDING = UtilNumber.getRoundingMode("order.rounding");
+    private static final MathContext GEN_ROUNDING = new MathContext(10);
 
-    private static final MathContext generalRounding = new MathContext(10);
-
-    private ProductPromoWorker() {}
+    private ProductPromoWorker() { }
 
     public static List<GenericValue> getStoreProductPromos(Delegator delegator, LocalDispatcher dispatcher, ServletRequest request) {
         List<GenericValue> productPromos = new LinkedList<>();
@@ -1179,7 +1178,7 @@ public final class ProductPromoWorker {
             // to minimize rounding issues use the remaining total for the last one, otherwise use a calculated value
             if (cartItemsUsedIter.hasNext()) {
                 BigDecimal quantityUsed = cartItem.getPromoQuantityCandidateUseActionAndAllConds(productPromoAction);
-                BigDecimal ratioOfTotal = quantityUsed.multiply(cartItem.getBasePrice()).divide(totalAmount, generalRounding);
+                BigDecimal ratioOfTotal = quantityUsed.multiply(cartItem.getBasePrice()).divide(totalAmount, GEN_ROUNDING);
                 BigDecimal weightedAmount = ratioOfTotal.multiply(discountAmountTotal);
                 // round the weightedAmount to 3 decimal places, we don't want an exact number cents/whatever because this will be added up as part of a subtotal which will be rounded to 2 decimal places
                 weightedAmount = weightedAmount.setScale(3, RoundingMode.HALF_UP);
@@ -1218,7 +1217,7 @@ public final class ProductPromoWorker {
     public static void doOrderItemPromoAction(GenericValue productPromoAction, ShoppingCartItem cartItem, BigDecimal amount, String amountField, Delegator delegator) {
         // round the amount before setting to make sure we don't get funny numbers in there
         // only round to 3 places, we need more specific amounts in adjustments so that they add up cleaner as part of the item subtotal, which will then be rounded
-        amount = amount.setScale(3, rounding);
+        amount = amount.setScale(3, ROUNDING);
         boolean addNewAdjustment = true;
         List<GenericValue> adjustments = cartItem.getAdjustments();
         if (UtilValidate.isNotEmpty(adjustments)) {
@@ -1252,7 +1251,7 @@ public final class ProductPromoWorker {
 
     public static void doOrderPromoAction(GenericValue productPromoAction, ShoppingCart cart, BigDecimal amount, String amountField, Delegator delegator) {
         // round the amount before setting to make sure we don't get funny numbers in there
-        amount = amount.setScale(decimals, rounding);
+        amount = amount.setScale(DECIMALS, ROUNDING);
         GenericValue orderAdjustment = delegator.makeValue("OrderAdjustment",
                 UtilMisc.toMap("orderAdjustmentTypeId", "PROMOTION_ADJUSTMENT", amountField, amount,
                         "productPromoId", productPromoAction.get("productPromoId"),