From a2a109006beca3e5a147166c1c7bdb7dc092c85d Mon Sep 17 00:00:00 2001 From: apa-tiny Date: Fri, 16 Apr 2010 10:56:34 +0530 Subject: [PATCH] [IMP]:project:Improved the SQL query for board_project. bzr revid: apa@tinyerp.com-20100416052634-au4b82u6n36i8w69 --- addons/project/report/project_report.py | 35 ++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py index 14175b51311..7279f2c633c 100644 --- a/addons/project/report/project_report.py +++ b/addons/project/report/project_report.py @@ -125,18 +125,29 @@ class project_vs_remaining_hours(osv.osv): cr.execute(""" create or replace view project_vs_remaining_hours as ( select - min(pt.id) as id, - aaa.name as project, - CASE WHEN pu.uid is null - THEN aaa.user_id ELSE pu.uid END as uid, - sum(pt.remaining_hours) as remaining_hours, - aaa.state - from project_task pt - left join project_project as pp ON (pt.project_id=pp.id) - left join account_analytic_account as aaa ON (pp.category_id=aaa.id) - left join project_user_rel as pu ON (pu.project_id=pp.id) - where pt.create_uid=aaa.user_id - group by aaa.name,aaa.state,pu.uid,aaa.user_id + min(pt.id) as id, + aaa.user_id as uid, + aaa.name as project, + aaa.state, + sum(pt.remaining_hours) as remaining_hours + from project_project as pp, + account_analytic_account as aaa, + project_task as pt + where aaa.id=pp.category_id and pt.project_id=pp.id and pp.category_id=aaa.id + group by aaa.user_id,aaa.state,aaa.name + UNION All + select + min(pt.id) as id, + pur.uid as uid, + aaa.name as project, + aaa.state, + sum(pt.remaining_hours) as remaining_hours + from project_project as pp, + project_user_rel as pur, + account_analytic_account as aaa, + project_task as pt + where pur.project_id=pp.id and pt.project_id=pp.id and pp.category_id=aaa.id + group by pur.uid,aaa.state,aaa.name ) """) project_vs_remaining_hours()