Report overall field added

This commit is contained in:
prakash 2022-04-06 14:44:33 +05:30
parent 407c7426ca
commit 6380d8c25d
2 changed files with 27 additions and 2 deletions

View File

@ -36,8 +36,17 @@ class ProjectRevenueCustomReport(models.Model):
budgeted_revenue = fields.Float("Budgeted Revenue", digits=(16, 2), readonly=True, group_operator="sum")
actual_revenue = fields.Float("Actual Revenue", digits=(16, 2), readonly=True, group_operator="sum")
actual_cost = fields.Float("Actual Cost", digits=(16, 2), readonly=True, group_operator="sum")
overall_budgeted_revenue = fields.Float("Overall Budgeted Rev.", digits=(16, 2), readonly=True, group_operator="sum")
overall_hourly_rate = fields.Float("Overall Hourly Rate", group_operator="sum")
"""def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
if 'pro_hourly_rate' in fields:
print("fields", fields)
#fields.remove('pro_hourly_rate')
res = super().read_group(domain, fields, groupby, offset=offset, limit=limit, orderby=orderby, lazy=lazy)
return res"""
def init(self):
'''Create the view'''
tools.drop_view_if_exists(self._cr, self._table)
@ -49,10 +58,12 @@ class ProjectRevenueCustomReport(models.Model):
project_type,
pricing_type,
employee_id,
overall_budgeted_revenue,
partner_id,
budgeted_revenue,
budgeted_hours,
pro_hourly_rate,
overall_hourly_rate,
actual_revenue,
actual_cost,
expenses_amt,
@ -68,9 +79,11 @@ class ProjectRevenueCustomReport(models.Model):
pro.project_type AS project_type,
pro.pricing_type as pricing_type,
AAL.employee_id AS employee_id,
0.0 AS overall_budgeted_revenue,
0.0 AS budgeted_revenue,
0.0 AS budgeted_hours,
0.0 AS pro_hourly_rate,
0.0 AS overall_hourly_rate,
0.0 AS actual_revenue,
(AAL.amount * -1) AS actual_cost,
0.0 AS expenses_amt,
@ -91,9 +104,11 @@ class ProjectRevenueCustomReport(models.Model):
pro.project_type AS project_type,
pro.pricing_type as pricing_type,
null::int AS employee_id,
0.0 AS overall_budgeted_revenue,
pro.budgeted_revenue AS budgeted_revenue,
pro.budgeted_hours2 AS budgeted_hours,
pro.hourly_rate AS pro_hourly_rate,
0.0 AS overall_hourly_rate,
0.0 AS actual_revenue,
0.0 AS actual_cost,
pro.expenses_amt AS expenses_amt,
@ -112,9 +127,11 @@ class ProjectRevenueCustomReport(models.Model):
pro.project_type AS project_type,
pro.pricing_type as pricing_type,
AAL.employee_id AS employee_id,
0.0 AS overall_budgeted_revenue,
0.0 AS budgeted_revenue,
0.0 AS budgeted_hours,
0.0 AS pro_hourly_rate,
0.0 AS overall_hourly_rate,
(AAL.unit_amount * pro.hourly_rate) AS actual_revenue,
(AAL.amount * -1) AS actual_cost,
0.0 AS expenses_amt,
@ -135,9 +152,11 @@ class ProjectRevenueCustomReport(models.Model):
pro.project_type AS project_type,
pro.pricing_type as pricing_type,
pro_emp.employee_id AS employee_id,
0.0 AS overall_budgeted_revenue,
pro_emp.cost AS budgeted_revenue,
pro_emp.budgeted_qty AS budgeted_hours,
COALESCE(pro_emp.price_unit, 0) as pro_hourly_rate,
0.0 AS overall_hourly_rate,
0.0 AS actual_revenue,
0.0 AS actual_cost,
0.0 AS expenses_amt,
@ -159,9 +178,11 @@ class ProjectRevenueCustomReport(models.Model):
pro.project_type AS project_type,
pro.pricing_type as pricing_type,
null::int AS employee_id,
0.0 as pro_hourly_rate,
pro.budgeted_revenue AS overall_budgeted_revenue,
0.0 AS budgeted_revenue,
0.0 AS budgeted_hours,
0.0 as pro_hourly_rate,
pro.hourly_rate AS overall_hourly_rate,
0.0 AS actual_revenue,
0.0 AS actual_cost,
pro.expenses_amt AS expenses_amt,
@ -180,9 +201,11 @@ class ProjectRevenueCustomReport(models.Model):
pro.project_type AS project_type,
pro.pricing_type as pricing_type,
AAL.employee_id AS employee_id,
0.0 AS pro_hourly_rate,
0.0 AS overall_budgeted_revenue,
0.0 AS budgeted_revenue,
0.0 AS budgeted_hours,
0.0 AS pro_hourly_rate,
0.0 AS overall_hourly_rate,
(AAL.unit_amount * pro_emp.price_unit) AS actual_revenue,
case when pro_emp.employee_price is null then (AAL.amount * -1) else (AAL.unit_amount * pro_emp.employee_price) end as actual_cost,
0.0 AS expenses_amt,

View File

@ -7,10 +7,12 @@
<field name="arch" type="xml">
<pivot string="Revenue Analysis" disable_linking="True" sample="1">
<field name="project_id" type="row"/>
<field name="overall_budgeted_revenue" type="measure"/>
<field name="budgeted_revenue" type="measure"/>
<field name="actual_revenue" type="measure"/>
<field name="actual_cost" type="measure"/>
<field name="budgeted_hours" type="measure"/>
<field name="overall_hourly_rate" type="measure"/>
<field name="pro_hourly_rate" type="measure"/>
<field name="expenses_amt" type="measure"/>
<field name="profit_amt" type="measure"/>