changes in calculation for revenue
This commit is contained in:
parent
63bd1346b2
commit
2724396c45
|
@ -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':
|
||||
|
|
|
@ -88,19 +88,21 @@
|
|||
</field>
|
||||
<group attrs="{'invisible': [('pricing_type','=','fixed_rate')]}">
|
||||
<group>
|
||||
<field name="budgeted_hours"
|
||||
attrs="{'invisible': [('pricing_type','=','fixed_rate')], 'readonly': [('project_type','=','hours_in_consultant')],
|
||||
'required': [('pricing_type','!=','fixed_rate')]}"/>
|
||||
<field name="cost"/>
|
||||
<field name="consultant_cost"/>
|
||||
<field name="other_expenses" readonly="1"/>
|
||||
<field name="total_expenses"/>
|
||||
<field name="profit_amt"/>
|
||||
<field name="profit_per"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="cost"/>
|
||||
<field name="consultant_cost"/>
|
||||
<field name="hourly_rate"/>
|
||||
<field name="budgeted_hour_week"/>
|
||||
<field name="budgeted_hours"
|
||||
attrs="{'invisible': [('pricing_type','=','fixed_rate')], 'readonly': [('project_type','=','hours_in_consultant')],
|
||||
'required': [('pricing_type','!=','fixed_rate')]}"/>
|
||||
</group>
|
||||
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
|
|
Loading…
Reference in New Issue