svn commit: r757085 - /ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java

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

svn commit: r757085 - /ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java

doogie-3
Author: doogie
Date: Sat Mar 21 23:40:05 2009
New Revision: 757085

URL: http://svn.apache.org/viewvc?rev=757085&view=rev
Log:
One file got missed in the tab/space conversion.

Modified:
    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java

Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java?rev=757085&r1=757084&r2=757085&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceWorker.java Sat Mar 21 23:40:05 2009
@@ -87,10 +87,10 @@
      * @return the invoice total as BigDecimal
      */
     public static BigDecimal getInvoiceItemTotal(GenericValue invoiceItem) {
-     BigDecimal quantity = invoiceItem.getBigDecimal("quantity");
-     if (quantity == null) {
-     quantity = BigDecimal.ONE;
-     }
+        BigDecimal quantity = invoiceItem.getBigDecimal("quantity");
+        if (quantity == null) {
+            quantity = BigDecimal.ONE;
+        }
         return quantity.multiply(invoiceItem.getBigDecimal("amount")).setScale(decimals, rounding);
     }
 
@@ -450,7 +450,7 @@
             }
         }
         if (UtilValidate.isNotEmpty(invoiceApplied) && !actualCurrency) {
-         invoiceApplied = invoiceApplied.multiply(getInvoiceCurrencyConversionRate(delegator, invoiceId)).setScale(decimals,rounding);
+            invoiceApplied = invoiceApplied.multiply(getInvoiceCurrencyConversionRate(delegator, invoiceId)).setScale(decimals,rounding);
         }
         return invoiceApplied;
     }
@@ -522,68 +522,68 @@
         return invoiceItemApplied;        
     }
     public static BigDecimal getInvoiceCurrencyConversionRate(GenericValue invoice) {
-     BigDecimal conversionRate = null;
-     GenericDelegator delegator = invoice.getDelegator();
-     String otherCurrencyUomId = null;
-     // find the organization party currencyUomId which different from the invoice currency
-     try {
-     GenericValue party  = delegator.findByPrimaryKey("PartyAcctgPreference", UtilMisc.toMap("partyId", invoice.getString("partyIdFrom")));
-     if (UtilValidate.isEmpty(party) || party.getString("baseCurrencyUomId").equals(invoice.getString("currencyUomId"))) {
-     party  = delegator.findByPrimaryKey("PartyAcctgPreference", UtilMisc.toMap("partyId", invoice.getString("partyId")));
-     }
-     if (UtilValidate.isNotEmpty(party) && party.getString("baseCurrencyUomId") != null) {
-   otherCurrencyUomId = new String(party.getString("baseCurrencyUomId"));
-     } else {
-     otherCurrencyUomId = new String(UtilProperties.getPropertyValue("general", "currency.uom.id.default"));
-     }
-     if (otherCurrencyUomId == null) {
-     otherCurrencyUomId = "USD"; // final default
-     }
-     } catch (GenericEntityException e) {
-     Debug.logError(e, "Trouble getting database records....", module);            
-     }
- if (invoice.getString("currencyUomId").equals(otherCurrencyUomId)) {
- return BigDecimal.ONE;  // organization party has the same currency so conversion not required.
- }
-
-     try {
-     // check if the invoice is posted and get the conversion from there
-     List acctgTransEntries = invoice.getRelated("AcctgTrans");
-     if (UtilValidate.isNotEmpty(acctgTransEntries)) {
-     GenericValue acctgTransEntry = ((GenericValue) acctgTransEntries.get(0)).getRelated("AcctgTransEntry").get(0);
-     conversionRate = acctgTransEntry.getBigDecimal("amount").divide(acctgTransEntry.getBigDecimal("origAmount"), new MathContext(100)).setScale(decimals,rounding);
-     }
-     // check if a payment is applied and use the currency conversion from there
-     if (UtilValidate.isEmpty(conversionRate)) {
-     List paymentAppls = invoice.getRelated("PaymentApplication");
-     Iterator ii = paymentAppls.iterator();
-     while (ii.hasNext()) {
-     GenericValue paymentAppl = (GenericValue) ii.next();
-     GenericValue payment = paymentAppl.getRelatedOne("Payment");
-     if (UtilValidate.isNotEmpty(payment.getBigDecimal("actualCurrencyAmount"))) {
-     if (UtilValidate.isEmpty(conversionRate)) {
-     conversionRate = payment.getBigDecimal("amount").divide(payment.getBigDecimal("actualCurrencyAmount"),new MathContext(100)).setScale(decimals,rounding);
-     } else {
-     conversionRate = conversionRate.add(payment.getBigDecimal("amount").divide(payment.getBigDecimal("actualCurrencyAmount"),new MathContext(100))).divide(new BigDecimal("2"),new MathContext(100)).setScale(decimals,rounding);
-     }
-     }
-     }
-     }
-     // use the dated conversion entity
-     if (UtilValidate.isEmpty(conversionRate)) {
-     List rates = EntityUtil.filterByDate(delegator.findByAnd("UomConversionDated", UtilMisc.toMap("uomIdTo", invoice.getString("currencyUomId"), "uomId", otherCurrencyUomId)), invoice.getTimestamp("invoiceDate"));
-     if (UtilValidate.isNotEmpty(rates)) {
-     conversionRate = (BigDecimal.ONE).divide(((GenericValue) rates.get(0)).getBigDecimal("conversionFactor"), new MathContext(100)).setScale(decimals,rounding);
-     } else {
-     Debug.logError("Could not find conversionrate for invoice: " + invoice.getString("invoiceId"), module);
-     return new BigDecimal("1");
-     }
-     }
-
-     } catch (GenericEntityException e) {
-     Debug.logError(e, "Trouble getting database records....", module);            
-     }
-     return(conversionRate);
+        BigDecimal conversionRate = null;
+        GenericDelegator delegator = invoice.getDelegator();
+        String otherCurrencyUomId = null;
+        // find the organization party currencyUomId which different from the invoice currency
+        try {
+            GenericValue party  = delegator.findByPrimaryKey("PartyAcctgPreference", UtilMisc.toMap("partyId", invoice.getString("partyIdFrom")));
+            if (UtilValidate.isEmpty(party) || party.getString("baseCurrencyUomId").equals(invoice.getString("currencyUomId"))) {
+                party  = delegator.findByPrimaryKey("PartyAcctgPreference", UtilMisc.toMap("partyId", invoice.getString("partyId")));
+            }
+            if (UtilValidate.isNotEmpty(party) && party.getString("baseCurrencyUomId") != null) {
+                otherCurrencyUomId = new String(party.getString("baseCurrencyUomId"));
+            } else {
+                otherCurrencyUomId = new String(UtilProperties.getPropertyValue("general", "currency.uom.id.default"));
+            }
+            if (otherCurrencyUomId == null) {
+                otherCurrencyUomId = "USD"; // final default
+            }
+        } catch (GenericEntityException e) {
+            Debug.logError(e, "Trouble getting database records....", module);            
+        }
+        if (invoice.getString("currencyUomId").equals(otherCurrencyUomId)) {
+            return BigDecimal.ONE;  // organization party has the same currency so conversion not required.
+        }
+        
+        try {
+            // check if the invoice is posted and get the conversion from there
+            List acctgTransEntries = invoice.getRelated("AcctgTrans");
+            if (UtilValidate.isNotEmpty(acctgTransEntries)) {
+                GenericValue acctgTransEntry = ((GenericValue) acctgTransEntries.get(0)).getRelated("AcctgTransEntry").get(0);
+                conversionRate = acctgTransEntry.getBigDecimal("amount").divide(acctgTransEntry.getBigDecimal("origAmount"), new MathContext(100)).setScale(decimals,rounding);
+            }
+            // check if a payment is applied and use the currency conversion from there
+            if (UtilValidate.isEmpty(conversionRate)) {
+                List paymentAppls = invoice.getRelated("PaymentApplication");
+                Iterator ii = paymentAppls.iterator();
+                while (ii.hasNext()) {
+                    GenericValue paymentAppl = (GenericValue) ii.next();
+                    GenericValue payment = paymentAppl.getRelatedOne("Payment");
+                    if (UtilValidate.isNotEmpty(payment.getBigDecimal("actualCurrencyAmount"))) {
+                        if (UtilValidate.isEmpty(conversionRate)) {
+                            conversionRate = payment.getBigDecimal("amount").divide(payment.getBigDecimal("actualCurrencyAmount"),new MathContext(100)).setScale(decimals,rounding);
+                        } else {
+                            conversionRate = conversionRate.add(payment.getBigDecimal("amount").divide(payment.getBigDecimal("actualCurrencyAmount"),new MathContext(100))).divide(new BigDecimal("2"),new MathContext(100)).setScale(decimals,rounding);
+                        }
+                    }
+                }
+            }
+            // use the dated conversion entity
+            if (UtilValidate.isEmpty(conversionRate)) {
+                List rates = EntityUtil.filterByDate(delegator.findByAnd("UomConversionDated", UtilMisc.toMap("uomIdTo", invoice.getString("currencyUomId"), "uomId", otherCurrencyUomId)), invoice.getTimestamp("invoiceDate"));
+                if (UtilValidate.isNotEmpty(rates)) {
+                    conversionRate = (BigDecimal.ONE).divide(((GenericValue) rates.get(0)).getBigDecimal("conversionFactor"), new MathContext(100)).setScale(decimals,rounding);
+                } else {
+                    Debug.logError("Could not find conversionrate for invoice: " + invoice.getString("invoiceId"), module);
+                    return new BigDecimal("1");
+                }
+            }
+
+        } catch (GenericEntityException e) {
+            Debug.logError(e, "Trouble getting database records....", module);            
+        }
+        return(conversionRate);
     }
 
     public static BigDecimal getInvoiceCurrencyConversionRate(GenericDelegator delegator, String invoiceId) {