[REF] mrp: remove inherits from workcenter to resource and use resource mixin

This commit is contained in:
Thibault Delavallée
2017-02-27 14:04:48 +01:00
parent 9d092c77c9
commit 5a9cff3387
3 changed files with 14 additions and 13 deletions
+4 -5
View File
@@ -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>
+9 -6
View File
@@ -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)
+1 -2
View File
@@ -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>