Thanks Adam,

Got caught another time by this one http://markmail.org/thread/wrzc4d4arfgqaawp, changes still sitting from https://issues.apache.org/jira/browse/OFBIZ-1599
I have to clarify and to drop or commit...

Jacques

From: <doo...@apache.org>
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) {




Reply via email to