details:   https://code.openbravo.com/erp/devel/pi/rev/9cc2d186f5ad
changeset: 19754:9cc2d186f5ad
user:      Naiara Garcia <naiara.garcia <at> openbravo.com>
date:      Wed Feb 20 12:40:11 2013 +0100
summary:   Fixed issue 22763: Wrong calculation of Cost value on Sales invoice 
dimensional
 Report

details:   https://code.openbravo.com/erp/devel/pi/rev/80e6a3a23b4c
changeset: 19755:80e6a3a23b4c
user:      Naiara Garcia <naiara.garcia <at> openbravo.com>
date:      Wed Feb 20 12:49:24 2013 +0100
summary:   Fixed issue 23123: Sales Invoice Dimensional Report shows conversion 
error if
 it is launched as comparative

diffstat:

 
src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java
      |  28 +++------
 
src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR_data.xsql
 |  20 ++----
 2 files changed, 18 insertions(+), 30 deletions(-)

diffs (137 lines):

diff -r 69a698785135 -r 80e6a3a23b4c 
src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java
--- 
a/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java
    Wed Feb 20 18:04:16 2013 +0100
+++ 
b/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR.java
    Wed Feb 20 12:49:24 2013 +0100
@@ -32,8 +32,6 @@
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
 import org.openbravo.base.secureApp.VariablesSecureApp;
 import org.openbravo.costing.CostingStatus;
-import org.openbravo.dal.core.DalUtil;
-import org.openbravo.dal.service.OBDal;
 import org.openbravo.erpCommon.businessUtility.Tree;
 import org.openbravo.erpCommon.businessUtility.TreeData;
 import org.openbravo.erpCommon.businessUtility.WindowTabs;
@@ -45,8 +43,6 @@
 import org.openbravo.erpCommon.utility.OBError;
 import org.openbravo.erpCommon.utility.ToolBar;
 import org.openbravo.erpCommon.utility.Utility;
-import org.openbravo.financial.FinancialUtils;
-import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.utils.Replace;
 import org.openbravo.xmlEngine.XmlDocument;
 
@@ -681,16 +677,14 @@
       String strConvRateErrorMsg = "";
       OBError myMessage = null;
       myMessage = new OBError();
-      String strBaseCurrencyId = (String) 
DalUtil.getId(FinancialUtils.getLegalEntityCurrency(OBDal
-          .getInstance().get(Organization.class, strOrg)));
       if (strComparative.equals("Y")) {
         try {
           data = ReportInvoiceCustomerDimensionalAnalysesJRData.select(this, 
strCurrencyId,
-              strBaseCurrencyId, strTextShow[0], strTextShow[1], 
strTextShow[2], strTextShow[3],
-              strTextShow[4], strTextShow[5], strTextShow[6], strTextShow[7], 
strTextShow[8],
-              strTextShow[9], Tree.getMembers(this, TreeData.getTreeOrg(this, 
vars.getClient()),
-                  strOrg), Utility.getContext(this, vars, "#User_Client",
-                  "ReportInvoiceCustomerDimensionalAnalysesJR"), strDateFrom, 
DateTimeData
+              strTextShow[0], strTextShow[1], strTextShow[2], strTextShow[3], 
strTextShow[4],
+              strTextShow[5], strTextShow[6], strTextShow[7], strTextShow[8], 
strTextShow[9], Tree
+                  .getMembers(this, TreeData.getTreeOrg(this, 
vars.getClient()), strOrg), Utility
+                  .getContext(this, vars, "#User_Client",
+                      "ReportInvoiceCustomerDimensionalAnalysesJR"), 
strDateFrom, DateTimeData
                   .nDaysAfter(this, strDateTo, "1"), strPartnerGroup, 
strcBpartnerId,
               strProductCategory, strmProductId, strsalesrepId, 
strPartnerSalesrepId,
               strcProjectId, strProducttype, strDateFromRef, 
DateTimeData.nDaysAfter(this,
@@ -701,12 +695,12 @@
       } else {
         try {
           data = 
ReportInvoiceCustomerDimensionalAnalysesJRData.selectNoComparative(this,
-              strCurrencyId, strBaseCurrencyId, strTextShow[0], 
strTextShow[1], strTextShow[2],
-              strTextShow[3], strTextShow[4], strTextShow[5], strTextShow[6], 
strTextShow[7],
-              strTextShow[8], strTextShow[9], Tree.getMembers(this,
-                  TreeData.getTreeOrg(this, vars.getClient()), strOrg), 
Utility.getContext(this,
-                  vars, "#User_Client", 
"ReportInvoiceCustomerDimensionalAnalysesJR"), strDateFrom,
-              DateTimeData.nDaysAfter(this, strDateTo, "1"), strPartnerGroup, 
strcBpartnerId,
+              strCurrencyId, strTextShow[0], strTextShow[1], strTextShow[2], 
strTextShow[3],
+              strTextShow[4], strTextShow[5], strTextShow[6], strTextShow[7], 
strTextShow[8],
+              strTextShow[9], Tree.getMembers(this, TreeData.getTreeOrg(this, 
vars.getClient()),
+                  strOrg), Utility.getContext(this, vars, "#User_Client",
+                  "ReportInvoiceCustomerDimensionalAnalysesJR"), strDateFrom, 
DateTimeData
+                  .nDaysAfter(this, strDateTo, "1"), strPartnerGroup, 
strcBpartnerId,
               strProductCategory, strmProductId, strsalesrepId, 
strPartnerSalesrepId,
               strcProjectId, strProducttype, strOrderby);
         } catch (ServletException ex) {
diff -r 69a698785135 -r 80e6a3a23b4c 
src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR_data.xsql
--- 
a/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR_data.xsql
       Wed Feb 20 18:04:16 2013 +0100
+++ 
b/src/org/openbravo/erpCommon/ad_reports/ReportInvoiceCustomerDimensionalAnalysesJR_data.xsql
       Wed Feb 20 12:49:24 2013 +0100
@@ -28,9 +28,9 @@
       SUM(AMOUNT) AS AMOUNT, SUM(QTY) AS QTY, SUM(WEIGHT) AS WEIGHT, SUM(COST) 
AS COST,
       SUM(AMOUNTREF) AS AMOUNTREF, SUM(QTYREF) AS QTYREF, SUM(WEIGHTREF) AS 
WEIGHTREF, SUM(COSTREF) AS COSTREF,
       SUM(CONVAMOUNT) AS CONVAMOUNT,                                     
-      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(CONVCOST) WHEN SUM(COSTEDAMT) 
= 0 THEN 0 ELSE SUM(CONVCOST)*SUM(CONVAMOUNT)/SUM(COSTEDAMT) END AS CONVCOST,
+      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(CONVCOST) WHEN SUM(COSTEDAMT) 
= 0 THEN 0 ELSE SUM(CONVCOST)*SUM(CONVAMOUNT)/SUM(CASE WHEN CONVCOST = 0 THEN 0 
ELSE CONVAMOUNT END) END AS CONVCOST,
          SUM(CONVAMOUNTREF) AS CONVAMOUNTREF,
-      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(CONVCOSTREF) WHEN 
SUM(COSTEDAMTREF) = 0 THEN 0 ELSE 
SUM(CONVCOSTREF)*SUM(CONVAMOUNTREF)/SUM(COSTEDAMTREF) END AS CONVCOSTREF,
+      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(CONVCOSTREF) WHEN 
SUM(COSTEDAMTREF) = 0 THEN 0 ELSE SUM(CONVCOSTREF)*SUM(CONVAMOUNTREF)/SUM(CASE 
WHEN CONVCOSTREF = 0 THEN 0 ELSE CONVAMOUNTREF END) END AS CONVCOSTREF,
          C_CURRENCY_SYMBOL(?, 0, 'Y') AS CONVSYM,                
          C_CURRENCY_ISOSYM(?) AS CONVISOSYM,
       '' AS ID, '' AS NAME, '' AS TRANSCURRENCYID, '' AS TRANSDATE, '' AS 
TRANSCLIENTID, '' AS TRANSORGID, SUM(ZZ.COSTCALCULATED) AS COSTCALCULATED
@@ -38,9 +38,9 @@
       SUM(LINENETAMT) AS AMOUNT, SUM(QTYINVOICED) AS QTY, SUM(WEIGHT) AS 
WEIGHT, SUM(COST) AS COST, 
       SUM(LINENETREF) AS AMOUNTREF, SUM(QTYINVOICEDREF) AS QTYREF, 
SUM(WEIGHT_REF) AS WEIGHTREF, SUM(COSTREF) AS COSTREF,        
          C_CURRENCY_CONVERT(SUM(LINENETAMT), TRCURRENCYID, ?, TO_DATE(TRDATE), 
NULL, TRCLIENTID, TRORGID) AS CONVAMOUNT, 
-      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(COST) WHEN SUM(COSTEDAMT) = 0 
THEN 0 ELSE (SUM(COST)* C_CURRENCY_CONVERT(SUM(LINENETAMT)/SUM(COSTEDAMT), ?, 
?, TO_DATE(TRDATE), NULL, TRCLIENTID, TRORGID)) END AS CONVCOST,
+      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(COST) WHEN SUM(COSTEDAMT) = 0 
THEN 0 ELSE SUM(COST)*SUM(LINENETAMT)/SUM(COSTEDAMT) END AS CONVCOST,
          C_CURRENCY_CONVERT(SUM(LINENETREF), TRCURRENCYID, ?, TO_DATE(TRDATE), 
NULL, TRCLIENTID, TRORGID) AS CONVAMOUNTREF, 
-      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(COSTREF) WHEN 
SUM(COSTEDAMTREF) = 0 THEN 0 ELSE (SUM(COSTREF)* 
C_CURRENCY_CONVERT(SUM(LINENETREF)/SUM(COSTEDAMTREF) , ?, ?, TO_DATE(TRDATE), 
NULL, TRCLIENTID, TRORGID)) END AS CONVCOSTREF,
+      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(COSTREF) WHEN 
SUM(COSTEDAMTREF) = 0 THEN 0 ELSE 
SUM(COSTREF)*SUM(LINENETREF)/SUM(COSTEDAMTREF) END AS CONVCOSTREF,
          TRCURRENCYID, TRDATE, TRCLIENTID, TRORGID, SUM(AA.COSTCALCULATED) as 
COSTCALCULATED,
       C_CURRENCY_CONVERT(SUM(COSTEDAMT), TRCURRENCYID, ?, TO_DATE(TRDATE), 
NULL, TRCLIENTID, TRORGID) AS costedamt,
       C_CURRENCY_CONVERT(SUM(COSTEDAMTREF), TRCURRENCYID, ?, TO_DATE(TRDATE), 
NULL, TRCLIENTID, TRORGID) AS costedamtref
@@ -133,12 +133,7 @@
     <Parameter name="cCurrencyConv"/>
        <Parameter name="cCurrencyConv"/>
        <Parameter name="cCurrencyConv"/>
-       <Parameter name="cCurrencyBase"/>
        <Parameter name="cCurrencyConv"/>
-       <Parameter name="cCurrencyConv"/>
-       <Parameter name="cCurrencyBase"/>
-    <Parameter name="cCurrencyConv"/>
-    <Parameter name="cCurrencyConv"/>
     <Parameter name="cCurrencyConv"/>
     <Parameter name="cCurrencyConv"/>
     <Parameter name="cCurrencyConv"/>
@@ -174,6 +169,7 @@
     <Parameter name="nivel8" type="replace" optional="true" after="AS NIVEL7 , 
to_char(" text="'17'"/>
     <Parameter name="nivel9" type="replace" optional="true" after="AS NIVEL8 , 
to_char(" text="'19'"/>
     <Parameter name="nivel10" type="replace" optional="true" after="AS NIVEL9 
, to_char(" text="'21'"/>
+    <Parameter name="cCurrencyConv"/>
     <Parameter name="adOrgId" optional="true" type="replace" after="AND 3=3 
AND C_INVOICE.AD_ORG_ID IN (" text="'1'"/>
     <Parameter name="adUserClient" type="replace" optional="true" after="AND 
C_INVOICE.AD_CLIENT_ID IN(" text="'14'"/>
     <Parameter name="dateFromRef" optional="true" after="AND 2=2"><![CDATA[AND 
C_INVOICE.DATEINVOICED >= to_date(?)]]></Parameter>
@@ -242,7 +238,7 @@
         SUM(AMOUNT) AS AMOUNT, SUM(QTY) AS QTY, SUM(WEIGHT) AS WEIGHT, 
SUM(COST) AS COST, 
         SUM(AMOUNTREF) AS AMOUNTREF, SUM(QTYREF) AS QTYREF, SUM(WEIGHTREF) AS 
WEIGHTREF,
         SUM(CONVAMOUNT) AS CONVAMOUNT,  
-        CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(CONVCOST) WHEN 
SUM(COSTEDAMT) = 0 THEN 0 ELSE SUM(CONVCOST)*SUM(CONVAMOUNT)/SUM(COSTEDAMT) END 
AS CONVCOST,               
+        CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(CONVCOST) WHEN 
SUM(COSTEDAMT) = 0 THEN 0 ELSE SUM(CONVCOST)*SUM(CONVAMOUNT)/SUM(CASE WHEN 
CONVCOST = 0 THEN 0 ELSE CONVAMOUNT END) END AS CONVCOST,
         SUM(CONVAMOUNTREF) AS CONVAMOUNTREF,
         SUM(CONVCOSTREF) AS CONVCOSTREF,           
         C_CURRENCY_SYMBOL(?, 0, 'Y') AS CONVSYM,                
@@ -251,7 +247,7 @@
       SUM(LINENETAMT) AS AMOUNT, SUM(QTYINVOICED) AS QTY, SUM(WEIGHT) AS 
WEIGHT, SUM(COST) AS COST,
       SUM(LINENETREF) AS AMOUNTREF, SUM(QTYINVOICEDREF) AS QTYREF, 
SUM(WEIGHT_REF) AS WEIGHTREF,
       C_CURRENCY_CONVERT(SUM(LINENETAMT), TRCURRENCYID, ?, TO_DATE(TRDATE), 
NULL, TRCLIENTID, TRORGID) AS CONVAMOUNT,
-      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(COST) WHEN SUM(COSTEDAMT) = 0 
THEN 0 ELSE (SUM(COST)* C_CURRENCY_CONVERT (SUM(LINENETAMT)/SUM(COSTEDAMT), ?, 
?, TO_DATE(TRDATE), NULL, TRCLIENTID, TRORGID)) END AS CONVCOST,
+      CASE WHEN SUM(COSTCALCULATED) = 0 THEN SUM(COST) WHEN SUM(COSTEDAMT) = 0 
THEN 0 ELSE SUM(COST)*SUM(LINENETAMT)/SUM(COSTEDAMT) END AS CONVCOST,
           0 AS CONVAMOUNTREF,
           0 AS CONVCOSTREF,
       TRCURRENCYID, TRDATE, TRCLIENTID, TRORGID, SUM(AA.COSTCALCULATED) as 
COSTCALCULATED,
@@ -304,8 +300,6 @@
     <Parameter name="cCurrencyConv"/>
     <Parameter name="cCurrencyConv"/>
     <Parameter name="cCurrencyConv"/>
-    <Parameter name="cCurrencyBase"/>
-    <Parameter name="cCurrencyConv"/>
     <Parameter name="cCurrencyConv"/>
     <Parameter name="nivel1" type="replace" optional="true" after="FROM 
(SELECT to_char(" text="'1'"/>
     <Parameter name="nivel2" type="replace" optional="true" after="AS NIVEL1, 
to_char(" text="'2'"/>

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to