svn commit: r480798 - in /incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting: invoice/InvoiceServices.java payment/BillingAccountWorker.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r480798 - in /incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting: invoice/InvoiceServices.java payment/BillingAccountWorker.java

sichen
Author: sichen
Date: Wed Nov 29 17:11:32 2006
New Revision: 480798

URL: http://svn.apache.org/viewvc?view=rev&rev=480798
Log:
refactored a new method for BillingAccountWorker.getAccountLimit which can deal with cases when billing account's account limit is null but just returning a ZERO

Modified:
    incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
    incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java

Modified: incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java?view=diff&rev=480798&r1=480797&r2=480798
==============================================================================
--- incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java (original)
+++ incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java Wed Nov 29 17:11:32 2006
@@ -2196,7 +2196,7 @@
             
             // Get the available balance, which is how much can be used, rather than the regular balance, which is how much has already been charged
             try {
-                billingAccountApplyAvailable = billingAccount.getBigDecimal("accountLimit").add(
+                billingAccountApplyAvailable = BillingAccountWorker.getAccountLimit(billingAccount).add(
                         BillingAccountWorker.getBillingAccountAvailableBalance(billingAccount)).setScale(decimals,rounding);
             } catch (GenericEntityException e) {
                 errorMessageList.add(UtilProperties.getMessage(resource, "AccountingBillingAccountBalanceNotFound",UtilMisc.toMap("billingAccountId",billingAccountId), locale));

Modified: incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java?view=diff&rev=480798&r1=480797&r2=480798
==============================================================================
--- incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java (original)
+++ incubator/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/BillingAccountWorker.java Wed Nov 29 17:11:32 2006
@@ -92,10 +92,7 @@
                     double accountBalance = (BillingAccountWorker.getBillingAccountBalance(billingAccountVO)).doubleValue();
                 
                     Map billingAccount = new HashMap(billingAccountVO);
-                    double accountLimit = 0.0;
-                    if (billingAccountVO.getDouble("accountLimit") != null) {
-                        accountLimit = billingAccountVO.getDouble("accountLimit").doubleValue();
-                    }
+                    double accountLimit = getAccountLimit(billingAccountVO).doubleValue();
                 
                     billingAccount.put("accountBalance", new Double(accountBalance));
                     double accountAvailable = accountLimit - accountBalance;
@@ -107,6 +104,20 @@
             billingAccountList.addAll(sortedAccounts.values());
         }
         return billingAccountList;
+    }
+    
+    /**
+     * Returns the accountLimit of the BillingAccount or BigDecimal ZERO if it is null
+     * @param billingAccount
+     * @throws GenericEntityException
+     */
+    public static BigDecimal getAccountLimit(GenericValue billingAccount) throws GenericEntityException {
+        if (billingAccount.getBigDecimal("accountLimit") != null) {
+            return billingAccount.getBigDecimal("accountLimit");
+        } else {
+            Debug.logWarning("Billing Account [" + billingAccount.getString("billingAccountId") + "] does not have an account limit defined, assuming zero.", module);
+            return ZERO;
+        }
     }
     
     /**