details:   https://code.openbravo.com/erp/devel/pi/rev/447428f58b15
changeset: 28148:447428f58b15
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Wed Dec 09 16:24:10 2015 +0530
summary:   Fixes Issue 31473:Project Profitability report does not consider 
project
information set at invoice line

Invoice Line project information is used prior to Invoice project info.

diffstat:

 src/org/openbravo/erpCommon/ad_reports/ReportProjectProfitability_data.xsql |  
22 +++++-----
 1 files changed, 11 insertions(+), 11 deletions(-)

diffs (98 lines):

diff -r 653ed78431dc -r 447428f58b15 
src/org/openbravo/erpCommon/ad_reports/ReportProjectProfitability_data.xsql
--- 
a/src/org/openbravo/erpCommon/ad_reports/ReportProjectProfitability_data.xsql   
    Tue Dec 15 14:54:22 2015 +0100
+++ 
b/src/org/openbravo/erpCommon/ad_reports/ReportProjectProfitability_data.xsql   
    Wed Dec 09 16:24:10 2015 +0530
@@ -12,7 +12,7 @@
     * under the License. 
     * The Original Code is Openbravo ERP. 
     * The Initial Developer of the Original Code is Openbravo SLU 
-    * All portions are Copyright (C) 2001-2012 Openbravo SLU 
+    * All portions are Copyright (C) 2001-2015 Openbravo SLU 
     * All Rights Reserved. 
     * Contributor(s):  ______________________________________.
     ************************************************************************
@@ -64,7 +64,7 @@
 
                       LEFT JOIN (SELECT c_Project, sum(amount) as amount
            FROM (
-           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
ia.c_project_id ELSE ila.c_project_id END AS C_Project,
+           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
COALESCE(il.c_project_id, ia.c_project_id) ELSE ila.c_project_id END AS 
C_Project,
                   CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL 
                   THEN COALESCE(C_CURRENCY_CONVERT(il.linenetamt, 
ia.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ia.DATEINVOICED, NOW())), NULL, 
il.AD_CLIENT_ID, il.AD_ORG_ID),0) * 
                   (1 + (CASE WHEN ia.totallines IS NULL OR disc.dis_amt IS 
NULL THEN 0 ELSE (COALESCE(disc.dis_amt,0)/(C_CURRENCY_CONVERT(ia.totallines, 
ia.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ia.DATEINVOICED, NOW())), NULL, 
ia.AD_CLIENT_ID, ia.AD_ORG_ID) - disc.dis_amt)) END)) 
@@ -85,13 +85,13 @@
              AND 2=2
              AND ia.AD_Org_ID IN ('1')
              AND ia.AD_Client_ID IN ('1')
-             AND (ila.c_project_id IS NOT NULL OR ia.c_project_id IS NOT NULL)
+             AND (ila.c_project_id IS NOT NULL OR ia.c_project_id IS NOT NULL 
OR il.c_project_id IS NOT NULL)
              AND il.c_invoice_discount_id IS NULL
              AND p.producttype = 'S') AAA
            GROUP BY c_Project) serrev ON p.C_Project_ID = serrev.C_Project
                       LEFT JOIN (SELECT c_Project, sum(amount) as amount
            FROM (
-           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
ib.c_project_id ELSE ila.c_project_id END AS C_Project,
+           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
COALESCE(il.c_project_id, ib.c_project_id) ELSE ila.c_project_id END AS 
C_Project,
                   CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL 
                   THEN COALESCE(C_CURRENCY_CONVERT(il.linenetamt, 
ib.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ib.DATEINVOICED, NOW())), NULL, 
il.AD_CLIENT_ID, il.AD_ORG_ID),0) * 
                   (1 + (CASE WHEN ib.totallines IS NULL OR disc.dis_amt IS 
NULL THEN 0 ELSE (COALESCE(disc.dis_amt,0)/(C_CURRENCY_CONVERT(ib.totallines, 
ib.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ib.DATEINVOICED, NOW())), NULL, 
ib.AD_CLIENT_ID, ib.AD_ORG_ID) - disc.dis_amt)) END)) 
@@ -112,14 +112,14 @@
              AND 3=3
              AND ib.AD_Org_ID IN ('2')
              AND ib.AD_Client_ID IN ('2')
-             AND (ila.c_project_id IS NOT NULL OR ib.c_project_id IS NOT NULL)
+             AND (ila.c_project_id IS NOT NULL OR ib.c_project_id IS NOT NULL 
OR il.c_project_id IS NOT NULL)
              AND il.c_invoice_discount_id IS NULL
              AND p.producttype <> 'S') BBB
            GROUP BY c_Project) exprei ON p.C_Project_ID = exprei.C_Project
 
                       LEFT JOIN (SELECT c_Project, sum(amount) as amount
            FROM (
-           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
ic.c_project_id ELSE ila.c_project_id END AS C_Project,
+           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
COALESCE(il.c_project_id, ic.c_project_id) ELSE ila.c_project_id END AS 
C_Project,
                   CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL 
                   THEN COALESCE(C_CURRENCY_CONVERT(il.linenetamt, 
ic.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ic.DATEINVOICED, NOW())), NULL, 
il.AD_CLIENT_ID, il.AD_ORG_ID),0) * 
                   (1 + (CASE WHEN ic.totallines IS NULL OR disc.dis_amt IS 
NULL THEN 0 ELSE (COALESCE(disc.dis_amt,0)/(C_CURRENCY_CONVERT(ic.totallines, 
ic.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ic.DATEINVOICED, NOW())), NULL, 
ic.AD_CLIENT_ID, ic.AD_ORG_ID) - disc.dis_amt)) END)) 
@@ -140,14 +140,14 @@
              AND 4=4
              AND ic.AD_Org_ID IN ('3')
              AND ic.AD_Client_ID IN ('3')
-             AND (ila.c_project_id IS NOT NULL OR ic.c_project_id IS NOT NULL)
+             AND (ila.c_project_id IS NOT NULL OR ic.c_project_id IS NOT NULL 
OR il.c_project_id IS NOT NULL)
              AND ic.issotrx = 'N'
              AND Coalesce(p.producttype,'') <> 'S') CCC
            GROUP BY c_Project) expexp ON p.C_Project_ID = expexp.C_Project
 
                       LEFT JOIN (SELECT c_Project, sum(amount) as amount
            FROM (
-           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
ie.c_project_id ELSE ila.c_project_id END AS C_Project,
+           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
COALESCE(il.c_project_id, ie.c_project_id) ELSE ila.c_project_id END AS 
C_Project,
                   CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL
                   THEN COALESCE(C_CURRENCY_CONVERT(il.linenetamt, 
ie.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ie.DATEINVOICED, NOW())), NULL, 
il.AD_CLIENT_ID, il.AD_ORG_ID),0) *
                   (1 + (CASE WHEN ie.totallines IS NULL OR disc.dis_amt IS 
NULL THEN 0 ELSE (COALESCE(disc.dis_amt,0)/(C_CURRENCY_CONVERT(ie.totallines, 
ie.C_CURRENCY_ID, ?, TO_DATE(COALESCE(ie.DATEINVOICED, NOW())), NULL, 
ie.AD_CLIENT_ID, ie.AD_ORG_ID) - disc.dis_amt)) END))
@@ -165,7 +165,7 @@
              AND 7=7
              AND ie.AD_Org_ID IN ('7')
              AND ie.AD_Client_ID IN ('7')
-             AND (ila.c_project_id IS NOT NULL OR ie.c_project_id IS NOT NULL)
+             AND (ila.c_project_id IS NOT NULL OR ie.c_project_id IS NOT NULL 
OR il.c_project_id IS NOT NULL)
              AND ie.issotrx = 'N'
              AND p.producttype = 'S') CCC
            GROUP BY c_Project) serout ON p.C_Project_ID = serout.C_Project
@@ -175,7 +175,7 @@
 
                       LEFT JOIN (SELECT c_Project, sum(amount) as amount
            FROM (
-           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
id.c_project_id ELSE ila.c_project_id END AS C_Project,
+           SELECT CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL THEN 
COALESCE(il.c_project_id, id.c_project_id) ELSE ila.c_project_id END AS 
C_Project,
                   CASE WHEN ila.C_InvoiceLine_AcctDimension_ID IS NULL 
                   THEN C_CURRENCY_CONVERT(il.linenetamt, id.C_CURRENCY_ID, ?, 
TO_DATE(COALESCE(id.DATEINVOICED, NOW())), NULL, il.AD_CLIENT_ID, il.AD_ORG_ID) 
* (CASE WHEN id.grandtotal=0 THEN 0 ELSE (id.totalpaid/id.grandtotal) END) 
                   ELSE C_CURRENCY_CONVERT(ila.amt, id.C_CURRENCY_ID, ?, 
TO_DATE(COALESCE(id.DATEINVOICED, NOW())), NULL, ila.AD_CLIENT_ID, 
ila.AD_ORG_ID) * (CASE WHEN id.grandtotal=0 THEN 0 ELSE 
(id.totalpaid/id.grandtotal) END) END AS amount
@@ -187,7 +187,7 @@
              AND 5=5
              AND id.AD_Org_ID IN ('4')
              AND id.AD_Client_ID IN ('4')
-             AND (ila.c_project_id IS NOT NULL OR id.c_project_id IS NOT NULL)
+             AND (ila.c_project_id IS NOT NULL OR id.c_project_id IS NOT NULL 
OR il.c_project_id IS NOT NULL)
              AND id.issotrx = 'Y') DDD
            GROUP BY c_Project) collected ON p.C_Project_ID = 
collected.C_Project
         WHERE p.C_BPartner_ID = bpclient.C_BPartner_ID

------------------------------------------------------------------------------
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to