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; + } } /** |
Free forum by Nabble | Edit this page |