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