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 @@
+