Profit amount updated
This commit is contained in:
commit
e0f44061b3
|
@ -42,6 +42,7 @@ class Project(models.Model):
|
|||
start_date = fields.Date(string='Start Date')
|
||||
end_date = fields.Date(string='End Date')
|
||||
budgeted_hours = fields.Float(string='Total Budgeted Hours', compute='_compute_calc')
|
||||
budgeted_hours2 = fields.Float(string='Total Budgeted Hours')
|
||||
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))
|
||||
|
@ -64,9 +65,9 @@ class Project(models.Model):
|
|||
manager_hour = fields.Float(string='Manager Hour')
|
||||
employee_hour = fields.Float(string='Employee Hour')
|
||||
|
||||
|
||||
@api.depends('cost', 'expenses_amt', 'budgeted_revenue')
|
||||
def _compute_calc(self):
|
||||
print('222222222222')
|
||||
def _compute_consultant_timesheet_hours(self):
|
||||
for record in self:
|
||||
consultant_cost = 0.0
|
||||
hour = 0.0
|
||||
|
@ -81,7 +82,10 @@ class Project(models.Model):
|
|||
record.profit_amt = profit_amt
|
||||
if record.profit_amt > 0 and record.budgeted_revenue > 0:
|
||||
record.profit_per = (record.profit_amt / record.budgeted_revenue) * 100
|
||||
|
||||
if record.project_type == 'hours_in_consultant' and record.budgeted_hours > 0.0:
|
||||
record.hourly_rate = (record.budgeted_revenue / record.budgeted_hours)
|
||||
if record.project_type == 'hours_no_limit' and record.budgeted_hours2 > 0.0:
|
||||
record.hourly_rate = (record.budgeted_revenue / record.budgeted_hours2)
|
||||
|
||||
@api.depends('manager_per', 'hour_distribution')
|
||||
def compute_percentage_hours(self):
|
||||
|
@ -111,41 +115,20 @@ class Project(models.Model):
|
|||
hour = 0.0
|
||||
for rec in self.sale_line_employee_ids:
|
||||
hour = hour + rec.budgeted_qty
|
||||
print('TTTTTTTTTTTTTTT', hour, rec.budgeted_qty)
|
||||
print('SSSSSSSSS', hour)
|
||||
self.budgeted_hours = hour
|
||||
print('TTTTTTTTTTTTTTT', hour)
|
||||
print('UUUUUUUUUUU', self.budgeted_hours)
|
||||
if self.budgeted_hours > 0.0:
|
||||
self.hourly_rate = (self.budgeted_revenue / self.budgeted_hours)
|
||||
|
||||
"""@api.depends('cost', 'expenses_amt', 'budgeted_revenue')
|
||||
def _compute_calc(self):
|
||||
for record in self:
|
||||
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
|
||||
if record.profit_amt > 0 and record.budgeted_revenue > 0:
|
||||
record.profit_per = (record.profit_amt / record.budgeted_revenue) * 100"""
|
||||
|
||||
@api.depends('sale_line_employee_ids')
|
||||
def onchange_compute_values(self):
|
||||
for record in self:
|
||||
# hour = 0.0
|
||||
cost = 0.0
|
||||
budgeted_hour_week = 0.0
|
||||
for rec in record.sale_line_employee_ids:
|
||||
# hour = hour + rec.budgeted_qty
|
||||
cost = cost + rec.cost
|
||||
budgeted_hour_week = budgeted_hour_week + rec.budgeted_hour_week
|
||||
if record.project_type == 'hours_in_consultant':
|
||||
record.cost = cost
|
||||
# record.budgeted_hours = hour
|
||||
# if hour > 0.0:
|
||||
# record.hourly_rate = (cost / hour)
|
||||
# else:
|
||||
# record.cost = record.budgeted_hours * record.hourly_rate
|
||||
record.budgeted_hour_week = budgeted_hour_week
|
||||
|
||||
|
||||
|
@ -172,7 +155,7 @@ class InheritProjectProductEmployeeMap(models.Model):
|
|||
|
||||
def _compute_timesheet_hour(self):
|
||||
for val in self:
|
||||
self._cr.execute('''SELECT project_id, employee_id, SUM(unit_amount) FROM account_analytic_line
|
||||
self._cr.execute('''SELECT project_id, employee_id, SUM(unit_amount) FROM account_analytic_line
|
||||
where project_id = %(project_id)s and employee_id = %(employee_id)s
|
||||
GROUP BY project_id, employee_id''',
|
||||
{'project_id': val.project_id._origin.id, 'employee_id': val.employee_id.id, })
|
||||
|
@ -182,8 +165,6 @@ class InheritProjectProductEmployeeMap(models.Model):
|
|||
else:
|
||||
val.timesheet_hour = 0.0
|
||||
val.consultant_cost = val.timesheet_hour * val.employee_price
|
||||
# Run another method
|
||||
# val.project_id.onchange_compute_values()
|
||||
|
||||
def _compute_budgeted_hour_week(self):
|
||||
for val in self:
|
||||
|
@ -222,4 +203,4 @@ class InheritProjectProductEmployeeMap(models.Model):
|
|||
line.currency_id = line.timesheet_product_id.currency_id
|
||||
else:
|
||||
# line.price_unit = 0
|
||||
line.currency_id = False
|
||||
line.currency_id = False
|
|
@ -107,7 +107,9 @@
|
|||
<field name="profit_per"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="budgeted_hours"/>
|
||||
<field name="budgeted_hours" attrs="{'invisible': [('project_type','!=','hours_in_consultant')]}"/>
|
||||
<field name="budgeted_hours2" attrs="{'invisible': [('project_type','!=','hours_no_limit')],
|
||||
'required': [('project_type','=','hours_no_limit')]}"/>
|
||||
<field name="hourly_rate" readonly="1"/>
|
||||
<field name="budgeted_hour_week"/>
|
||||
</group>
|
||||
|
|
Loading…
Reference in New Issue