From 43a404c0e61f88d703726399f3d7b8d590f45467 Mon Sep 17 00:00:00 2001 From: Pawan Kumar Date: Mon, 25 Jan 2021 12:17:52 +0530 Subject: [PATCH] add actual_revenue calculation --- cor_custom/models/project.py | 6 ++++++ cor_custom/views/project_view.xml | 2 ++ 2 files changed, 8 insertions(+) diff --git a/cor_custom/models/project.py b/cor_custom/models/project.py index 60bcfbe..af6d059 100755 --- a/cor_custom/models/project.py +++ b/cor_custom/models/project.py @@ -48,6 +48,7 @@ class Project(models.Model): expenses_amt = fields.Float(string='Expenses Amount', digits=(16, 2)) cost = fields.Float("Total Revenue", compute='onchange_compute_values', store=True) consultant_cost = fields.Float("Actual Cost", compute='_compute_calc') + actual_revenue = fields.Float("Actual Revenue", compute='_compute_calc') other_expenses = fields.Float(string='Other Expenses', related='expenses_amt') total_expenses = fields.Float(string='Total Expenses', digits=(16, 2), compute='_compute_calc', store=True) hourly_rate = fields.Float("Hourly Rate", default=0.0) @@ -110,14 +111,17 @@ class Project(models.Model): def _compute_calc(self): for record in self: consultant_cost = 0.0 + actual_revenue = 0.0 hour = 0.0 for rec in record.sale_line_employee_ids: consultant_cost = consultant_cost + rec.consultant_cost + actual_revenue = actual_revenue + rec.actual_revenue hour = hour + rec.budgeted_qty if record.pricing_type == 'fixed_rate': for rec in record.consultant_timesheet_hrs: consultant_cost = consultant_cost + rec.consultant_cost record.consultant_cost = consultant_cost + record.actual_revenue = actual_revenue record.budgeted_hours = hour total_exp = record.consultant_cost + record.expenses_amt record.total_expenses = total_exp @@ -224,6 +228,7 @@ class InheritProjectProductEmployeeMap(models.Model): sale_line_id = fields.Many2one('sale.order.line', "Service", domain=[('is_service', '=', True)]) cost = fields.Float("Cost", default=0.0, store=True) consultant_cost = fields.Float("Actual Cost", compute='_compute_timesheet_hour', default=0.0) + actual_revenue = fields.Float("Actual Revenue", compute='_compute_timesheet_hour', default=0.0) hour_distribution = fields.Selection(related='project_id.hour_distribution') role = fields.Selection([('Manager', 'Manager'), @@ -242,6 +247,7 @@ class InheritProjectProductEmployeeMap(models.Model): else: val.timesheet_hour = 0.0 val.consultant_cost = val.timesheet_hour * val.employee_price + val.actual_revenue = val.timesheet_hour * val.price_unit def _compute_budgeted_hour_week(self): for val in self: diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index b7bb35f..96850c2 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -128,6 +128,7 @@ + @@ -144,6 +145,7 @@ +