Report updated
This commit is contained in:
parent
21b2edc61d
commit
39a0a6cf8a
|
@ -25,18 +25,18 @@ class BudgetAmtAnalysis(models.Model):
|
|||
tools.drop_view_if_exists(self._cr, self._table)
|
||||
self._cr.execute("""
|
||||
CREATE OR REPLACE VIEW %s AS (
|
||||
SELECT
|
||||
SELECT ROW_NUMBER() OVER() as id, project_id, partner_id, amount_type, revenue from (
|
||||
SELECT
|
||||
row_number() OVER() AS id,
|
||||
PRO.id AS project_id,
|
||||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
'Budgeted Revenue' as amount_type,
|
||||
PRO.budgeted_revenue AS revenue
|
||||
--SO.amount_total AS actual_revenue
|
||||
FROM project_project PRO
|
||||
LEFT JOIN sale_order SO ON PRO.sale_order_id = SO.id
|
||||
LEFT JOIN account_analytic_account AA ON PRO.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id
|
||||
--LEFT JOIN account_analytic_account AA ON PRO.analytic_account_id = AA.id
|
||||
--LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id
|
||||
WHERE PRO.active = 't' and PRO.pricing_type!='fixed_rate'
|
||||
group by Pro.id, PRO.partner_id, Pro.budgeted_revenue, so.amount_total
|
||||
union
|
||||
|
@ -46,14 +46,14 @@ class BudgetAmtAnalysis(models.Model):
|
|||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
'Actual Revenue' as amount_type,
|
||||
SO.amount_total AS revenue
|
||||
sum(AAL.amount * -1) + pro.total_expenses AS revenue
|
||||
FROM project_project PRO
|
||||
LEFT JOIN sale_order SO ON PRO.sale_order_id = SO.id
|
||||
LEFT JOIN account_analytic_account AA ON PRO.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = PRO.id
|
||||
WHERE PRO.active = 't' and PRO.pricing_type!='fixed_rate'
|
||||
group by Pro.id, PRO.partner_id, Pro.budgeted_revenue, so.amount_total
|
||||
order by create_date desc, project_id, amount_type desc
|
||||
order by create_date desc, project_id, amount_type desc) as res
|
||||
)""" % (self._table,))
|
||||
|
||||
|
||||
|
|
|
@ -15,8 +15,9 @@ class BudgetHrsAnalysis(models.Model):
|
|||
project_id = fields.Many2one('project.project', string='Project', readonly=True)
|
||||
partner_id = fields.Many2one('res.partner', string='Client', readonly=True)
|
||||
employee_id = fields.Many2one('hr.employee', string='Employee', readonly=True)
|
||||
hours_type = fields.Char(string="Hours Type")
|
||||
hours_type = fields.Char(string="Hours Type", readonly=True)
|
||||
hours = fields.Float("Hours", digits=(16, 2), readonly=True, group_operator="sum")
|
||||
|
||||
#budgeted_hours = fields.Float("Budgeted Hours", digits=(16, 2), readonly=True, group_operator="sum")
|
||||
#actual_hours = fields.Float("Actual Hours", digits=(16, 2), readonly=True, group_operator="sum")
|
||||
|
||||
|
@ -25,41 +26,71 @@ class BudgetHrsAnalysis(models.Model):
|
|||
tools.drop_view_if_exists(self._cr, self._table)
|
||||
self._cr.execute("""
|
||||
CREATE OR REPLACE VIEW %s AS (
|
||||
SELECT row_number() OVER() AS id,
|
||||
PRO.id AS project_id,
|
||||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
Pro_emp.employee_id AS employee_id,
|
||||
'Budgeted Hours' as hours_type,
|
||||
CASE
|
||||
--WHEN Pro.project_type='hours_no_limit' THEN Pro.budgeted_hours
|
||||
--WHEN Pro.project_type='hours_in_consultant' and Pro_emp.id is not null THEN Pro_emp.budgeted_qty
|
||||
WHEN Pro_emp.id is null THEN Pro.budgeted_hours
|
||||
ELSE Pro_emp.budgeted_qty
|
||||
END AS hours
|
||||
FROM project_project PRO
|
||||
Left JOIN project_sale_line_employee_map Pro_emp ON Pro_emp.project_id = Pro.id
|
||||
LEFT JOIN account_analytic_account AA ON Pro.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = Pro.id
|
||||
and AAL.employee_id = Pro_emp.employee_id
|
||||
Where PRO.active = 't' and PRO.pricing_type!='fixed_rate'
|
||||
group by Pro.id, Pro_emp.id, PRO.partner_id, Pro_emp.employee_id, AAL.unit_amount
|
||||
SELECT ROW_NUMBER() OVER() as id, project_id, partner_id, employee_id, hours_type, hours from (
|
||||
SELECT
|
||||
PRO.id AS project_id,
|
||||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
null AS employee_id,
|
||||
'Budgeted Hours' as hours_type,
|
||||
PRO.budgeted_hours AS hours
|
||||
FROM
|
||||
project_project PRO
|
||||
--LEFT JOIN account_analytic_account AA ON Pro.analytic_account_id = AA.id
|
||||
--LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id
|
||||
--and AAL.project_id = Pro.id
|
||||
Where
|
||||
PRO.active = 't'
|
||||
and PRO.pricing_type != 'fixed_rate'
|
||||
and PRO.project_type = 'hours_no_limit'
|
||||
Union
|
||||
SELECT row_number() OVER() AS id,
|
||||
PRO.id AS project_id,
|
||||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
Pro_emp.employee_id AS employee_id,
|
||||
'Actual Hours' as hours_type,
|
||||
sum(AAL.unit_amount) AS hours
|
||||
FROM project_project PRO
|
||||
Left JOIN project_sale_line_employee_map Pro_emp ON Pro_emp.project_id = Pro.id
|
||||
LEFT JOIN account_analytic_account AA ON Pro.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id and AAL.project_id = Pro.id
|
||||
and AAL.employee_id = Pro_emp.employee_id
|
||||
Where PRO.active = 't' and PRO.pricing_type!='fixed_rate'
|
||||
group by Pro.id, Pro_emp.id, PRO.partner_id, Pro_emp.employee_id, AAL.unit_amount
|
||||
order by create_date desc, project_id, employee_id, hours_type desc
|
||||
SELECT
|
||||
PRO.id AS project_id,
|
||||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
Pro_emp.employee_id AS employee_id,
|
||||
'Budgeted Hours' as hours_type,
|
||||
Pro_emp.budgeted_qty as hours
|
||||
FROM
|
||||
project_project PRO
|
||||
Left JOIN project_sale_line_employee_map Pro_emp ON Pro_emp.project_id = Pro.id
|
||||
LEFT JOIN account_analytic_account AA ON Pro.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id
|
||||
and AAL.project_id = Pro.id
|
||||
Where
|
||||
PRO.active = 't'
|
||||
and PRO.pricing_type != 'fixed_rate'
|
||||
and PRO.project_type = 'hours_in_consultant'
|
||||
Union
|
||||
SELECT
|
||||
PRO.id AS project_id,
|
||||
PRO.create_date AS create_date,
|
||||
PRO.partner_id AS partner_id,
|
||||
AAL.employee_id AS employee_id,
|
||||
'Actual Hours' as hours_type,
|
||||
sum(AAL.unit_amount) AS hours
|
||||
FROM
|
||||
project_project PRO
|
||||
Left JOIN project_sale_line_employee_map Pro_emp ON Pro_emp.project_id = Pro.id
|
||||
LEFT JOIN account_analytic_account AA ON Pro.analytic_account_id = AA.id
|
||||
LEFT JOIN account_analytic_line AAL ON AAL.account_id = AA.id
|
||||
and AAL.project_id = Pro.id
|
||||
--and AAL.employee_id = Pro_emp.employee_id
|
||||
Where
|
||||
PRO.active = 't'
|
||||
and PRO.pricing_type != 'fixed_rate'
|
||||
group by
|
||||
Pro.id,
|
||||
--Pro_emp.id,
|
||||
--PRO.partner_id,
|
||||
AAL.employee_id,
|
||||
AAL.unit_amount,
|
||||
hours_type
|
||||
) as res
|
||||
order by
|
||||
project_id desc,
|
||||
hours_type asc,
|
||||
employee_id
|
||||
)""" % (self._table,))
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue