From 52ceb5ea855ea397bed89b8af26133b58c55244d Mon Sep 17 00:00:00 2001 From: "pawan.sharma" Date: Thu, 14 Apr 2022 18:04:35 +0530 Subject: [PATCH 1/2] add other employee hours and cost --- cor_custom/models/project.py | 34 ++++++++++++++++++++++++++----- cor_custom/views/project_view.xml | 4 +++- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/cor_custom/models/project.py b/cor_custom/models/project.py index ecdbdfa..26f7b1e 100755 --- a/cor_custom/models/project.py +++ b/cor_custom/models/project.py @@ -51,6 +51,8 @@ class Project(models.Model): 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') + other_emp_hour = fields.Float("Other Employee Hour", compute='_compute_other_employee_cost') + other_emp_cost = fields.Float("Other Employee Cost", compute='_compute_other_employee_cost') total_expenses = fields.Float(string='Total Expenses', digits=(16, 2), compute='_compute_calc', store=True) hourly_rate = fields.Float("Hourly Rate", default=0.0) hourly_rate2 = fields.Float("Hourly Ratee") @@ -94,7 +96,7 @@ class Project(models.Model): if self._origin.id: if self.pricing_type == 'employee_rate': self.sale_line_employee_ids.create({'project_id': self._origin.id, - 'employee_id': employee}) + 'employee_id': employee}) def _onchange_calculate_timesheet_hours(self): self.consultant_timesheet_hrs = [(6, 0, False)] @@ -110,6 +112,27 @@ class Project(models.Model): 'employee_id': rec[1], 'timesheet_hour': rec[2]}) + def _compute_other_employee_cost(self): + for val in self: + #######Code for order line consultant + list1 = [] + if val.sale_line_employee_ids: + for record1 in val.sale_line_employee_ids: + list1.append(record1.employee_id.id) + if val._origin.id: + self._cr.execute('''SELECT project_id, employee_id, SUM(unit_amount), SUM(amount) FROM account_analytic_line + where project_id = %(project_id)s + GROUP BY project_id, employee_id''', {'project_id': val._origin.id}) + res = self._cr.fetchall() + hour = 0.0 + cost = 0.0 + for record2 in res: + if record2[1] not in list1: + hour = hour + record2[2] + cost = cost + abs(record2[3]) + val.other_emp_hour = hour + val.other_emp_cost = cost + @api.depends('cost', 'expenses_amt', 'budgeted_revenue', 'is_check') def _compute_calc(self): for record in self: @@ -133,15 +156,16 @@ class Project(models.Model): record.actual_revenue = record.hourly_rate * timesheet_hour record.budgeted_hours = hour record.timesheet_hour = timesheet_hour - total_exp = record.consultant_cost + record.expenses_amt + #total_exp = record.consultant_cost + record.expenses_amt + total_exp = record.consultant_cost + record.other_emp_cost + record.expenses_amt record.total_expenses = total_exp - #record.profit_amt = record.budgeted_revenue - total_exp + # record.profit_amt = record.budgeted_revenue - total_exp # if record.profit_amt > 0 and record.budgeted_revenue > 0: # record.profit_per = (record.profit_amt / record.budgeted_revenue) * 100 ##### CR Changes record.profit_amt = record.actual_revenue - record.total_expenses - if record.profit_amt > 0.0 and record.actual_revenue > 0.0: + if record.actual_revenue > 0.0: record.profit_per = (record.profit_amt / record.actual_revenue) * 100 ######################## if record.project_type == 'hours_in_consultant' and record.budgeted_hours > 0.0: @@ -217,6 +241,7 @@ class Project(models.Model): 'default_res_model': 'project.consultant.hrs.report'} return action + class ProjectConsultantTimesheetHrs(models.Model): _name = 'consultant.timesheet.hrs' _description = 'Project Consultant Timesheet Hrs' @@ -355,4 +380,3 @@ class InheritProjectTask(models.Model): for stage in self: stage.write({'stage_id': stage_id.id, 'active': False}) - diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index 52b08ce..926fd96 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -59,7 +59,7 @@ - + @@ -111,6 +111,7 @@ + @@ -122,6 +123,7 @@ + From 4d01b1591a396fe8dd4a89490c734b859707be6c Mon Sep 17 00:00:00 2001 From: "pawan.sharma" Date: Thu, 14 Apr 2022 18:04:56 +0530 Subject: [PATCH 2/2] add other employee hours and cost --- cor_custom/views/project_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index 926fd96..f4dc19a 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -59,7 +59,7 @@ - +