From 2724396c459c5bfb35cc0fb94a854eb95abc7b94 Mon Sep 17 00:00:00 2001 From: Pawan Kumar Date: Tue, 5 Jan 2021 17:49:56 +0530 Subject: [PATCH] changes in calculation for revenue --- cor_custom/models/project.py | 23 +++++++++++++---------- cor_custom/views/project_view.xml | 12 +++++++----- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/cor_custom/models/project.py b/cor_custom/models/project.py index 22170af..44ec02f 100755 --- a/cor_custom/models/project.py +++ b/cor_custom/models/project.py @@ -42,13 +42,15 @@ class Project(models.Model): budgeted_revenue = fields.Float(string='Budgeted Revenue', digits=(16, 2)) expenses_per = fields.Float(string='Expenses (%)', digits=(16, 2)) expenses_amt = fields.Float(string='Expenses Amount', digits=(16, 2)) - cost = fields.Float("Sum of Cost", compute='onchange_compute_values', store=True) + cost = fields.Float("Total Revenue", compute='onchange_compute_values', store=True) + consultant_cost = fields.Float("Consultant Cost", compute='onchange_compute_values', store=True) + 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("Sum of Hourly rate", compute='onchange_compute_values', store=True) budgeted_hour_week = fields.Float("Budgeted Hours(per week)", compute='onchange_compute_values', store=True) - total_expenses = fields.Float(string='Total Expenses', digits=(16, 2), compute='_compute_calc', store=True) profit_amt = fields.Float(string='Profit Amount', digits=(16, 2), compute='_compute_calc', store=True) profit_per = fields.Float(string='Porfit Percentage', digits=(16, 2), compute='_compute_calc', store=True) - consultant_cost = fields.Float("Sum of Cost", compute='onchange_compute_values', store=True) + @api.onchange('budgeted_revenue', 'expenses_per') def onchange_expenses_per(self): @@ -59,7 +61,7 @@ class Project(models.Model): @api.depends('cost', 'expenses_amt', 'budgeted_revenue') def _compute_calc(self): for record in self: - total_exp = record.cost + record.expenses_amt + total_exp = record.consultant_cost + record.expenses_amt record.total_expenses = total_exp profit_amt = record.budgeted_revenue - total_exp record.profit_amt = profit_amt @@ -70,20 +72,21 @@ class Project(models.Model): def onchange_compute_values(self): for record in self: if record.project_type == 'hours_in_consultant': - val = 0.0 + hour = 0.0 cost = 0.0 consultant_cost = 0.0 budgeted_hour_week = 0.0 for rec in record.sale_line_employee_ids: - val = val + rec.budgeted_qty + hour = hour + rec.budgeted_qty cost = cost + rec.cost consultant_cost = consultant_cost + rec.consultant_cost budgeted_hour_week = budgeted_hour_week + rec.budgeted_hour_week - record.budgeted_hours = val + record.budgeted_hours = hour record.cost = cost - record.consultant_cost = cost - if val > 0.0: - record.hourly_rate = (cost/val) + print('kkkkkkkkkkkkk', consultant_cost) + record.consultant_cost = consultant_cost + if hour > 0.0: + record.hourly_rate = (cost/hour) record.budgeted_hour_week = budgeted_hour_week if record.project_type == 'hours_no_limit': diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index 2ea00ad..c998706 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -88,19 +88,21 @@ - + + + - - + +