[REF] mrp: remove inherits from workcenter to resource and use resource mixin
This commit is contained in:
@@ -38,27 +38,26 @@
|
||||
|
||||
<record id="mrp_workcenter_0" model="mrp.workcenter">
|
||||
<field name="name">Assembly Station 1</field>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="resource_calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="capacity">5</field>
|
||||
<field name="time_start">10</field>
|
||||
<field name="time_stop">8</field>
|
||||
<field name="time_efficiency">87</field>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_3" model="mrp.workcenter">
|
||||
<field name="name">Cutting</field>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="resource_calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_1" model="mrp.workcenter">
|
||||
<field name="name">Drill Station 1</field>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="resource_calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
<record id="mrp_workcenter_2" model="mrp.workcenter">
|
||||
<field name="name">Assemble Station 2</field>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="resource_calendar_id" ref="resource.resource_calendar_std"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
@@ -10,9 +10,15 @@ from odoo import api, exceptions, fields, models, _
|
||||
class MrpWorkcenter(models.Model):
|
||||
_name = 'mrp.workcenter'
|
||||
_description = 'Work Center'
|
||||
_inherits = {'resource.resource': 'resource_id'}
|
||||
_order = "sequence, id"
|
||||
_inherit = ['resource.mixin']
|
||||
|
||||
# resource
|
||||
name = fields.Char(related='resource_id.name', store=True)
|
||||
time_efficiency = fields.Float('Time Efficiency', related='resource_id.time_efficiency', store=True)
|
||||
active = fields.Boolean('Active', related='resource_id.active', default=True, store=True)
|
||||
|
||||
code = fields.Char('Code', copy=False)
|
||||
note = fields.Text(
|
||||
'Description',
|
||||
help="Description of the Work Center.")
|
||||
@@ -25,10 +31,7 @@ class MrpWorkcenter(models.Model):
|
||||
color = fields.Integer('Color')
|
||||
time_start = fields.Float('Time before prod.', help="Time in minutes for the setup.")
|
||||
time_stop = fields.Float('Time after prod.', help="Time in minutes for the cleaning.")
|
||||
resource_id = fields.Many2one('resource.resource', 'Resource', ondelete='cascade', required=True)
|
||||
code = fields.Char('Code', copy=False)
|
||||
routing_line_ids = fields.One2many('mrp.routing.workcenter', 'workcenter_id', "Routing Lines")
|
||||
|
||||
order_ids = fields.One2many('mrp.workorder', 'workcenter_id', "Orders")
|
||||
workorder_count = fields.Integer('# Work Orders', compute='_compute_workorder_count')
|
||||
workorder_ready_count = fields.Integer('# Read Work Orders', compute='_compute_workorder_count')
|
||||
@@ -206,8 +209,8 @@ class MrpWorkcenterProductivity(models.Model):
|
||||
d1 = fields.Datetime.from_string(blocktime.date_start)
|
||||
d2 = fields.Datetime.from_string(blocktime.date_end)
|
||||
diff = d2 - d1
|
||||
if (blocktime.loss_type not in ('productive', 'performance')) and blocktime.workcenter_id.calendar_id:
|
||||
r = blocktime.workcenter_id.calendar_id.get_work_hours_count(d1, d2, blocktime.workcenter_id.resource_id.id)
|
||||
if (blocktime.loss_type not in ('productive', 'performance')) and blocktime.workcenter_id.resource_calendar_id:
|
||||
r = blocktime.workcenter_id.resource_calendar_id.get_work_hours_count(d1, d2, blocktime.workcenter_id.resource_id.id)
|
||||
blocktime.duration = round(r * 60, 2)
|
||||
else:
|
||||
blocktime.duration = round(diff.total_seconds() / 60.0, 2)
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="resource_type" invisible="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="active" invisible="1"/>
|
||||
</tree>
|
||||
@@ -290,7 +289,7 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="calendar_id"/>
|
||||
<field name="resource_calendar_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user