[IMP] mrp: domain on Effectiveness Category
When users create new productivity losses of type productivity or performance, they could not be used. Only one is selected randomly. So it makes no sense to allow that configuration. Related to task: 58625
This commit is contained in:
committed by
Arnold Moyaux
parent
5b0a84f702
commit
acbd7beb1d
@@ -35,41 +35,55 @@
|
||||
<field name='manufacture_to_resupply' eval='True'/>
|
||||
</record>
|
||||
|
||||
<!-- Category for Blocking Reasons Workcenter -->
|
||||
<record id="category_availability" model="mrp.workcenter.productivity.loss.type">
|
||||
<field name="loss_type">availability</field>
|
||||
</record>
|
||||
<record id="category_performance" model="mrp.workcenter.productivity.loss.type">
|
||||
<field name="loss_type">performance</field>
|
||||
</record>
|
||||
<record id="category_quality" model="mrp.workcenter.productivity.loss.type">
|
||||
<field name="loss_type">quality</field>
|
||||
</record>
|
||||
<record id="category_productive" model="mrp.workcenter.productivity.loss.type">
|
||||
<field name="loss_type">productive</field>
|
||||
</record>
|
||||
|
||||
<!-- Reasons To Block Workcenter -->
|
||||
<record id="block_reason0" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Material Availability</field>
|
||||
<field name="loss_type">availability</field>
|
||||
<field name="loss_id" ref="mrp.category_availability"></field>
|
||||
<field name="sequence">1</field>
|
||||
</record>
|
||||
<record id="block_reason1" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Equipment Failure</field>
|
||||
<field name="loss_type">availability</field>
|
||||
<field name="loss_id" ref="mrp.category_availability"></field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
<record id="block_reason2" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Setup and Adjustments</field>
|
||||
<field name="loss_type">availability</field>
|
||||
<field name="loss_id" ref="mrp.category_availability"></field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
<record id="block_reason4" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Reduced Speed</field>
|
||||
<field name="loss_type">performance</field>
|
||||
<field name="loss_id" ref="mrp.category_performance"></field>
|
||||
<field name="manual" eval="False"/>
|
||||
<field name="sequence">5</field>
|
||||
</record>
|
||||
<record id="block_reason5" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Process Defect</field>
|
||||
<field name="loss_type">quality</field>
|
||||
<field name="loss_id" ref="mrp.category_quality"></field>
|
||||
<field name="sequence">6</field>
|
||||
</record>
|
||||
<record id="block_reason6" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Reduced Yield</field>
|
||||
<field name="loss_type">quality</field>
|
||||
<field name="loss_id" ref="mrp.category_quality"></field>
|
||||
<field name="sequence">7</field>
|
||||
</record>
|
||||
<record id="block_reason7" model="mrp.workcenter.productivity.loss">
|
||||
<field name="name">Fully Productive Time</field>
|
||||
<field name="loss_type">productive</field>
|
||||
<field name="loss_id" ref="mrp.category_productive"></field>
|
||||
<field name="manual" eval="False"/>
|
||||
<field name="sequence">0</field>
|
||||
</record>
|
||||
|
||||
@@ -166,6 +166,28 @@ class MrpWorkcenter(models.Model):
|
||||
return {'type': 'ir.actions.client', 'tag': 'reload'}
|
||||
|
||||
|
||||
class MrpWorkcenterProductivityLossType(models.Model):
|
||||
_name = "mrp.workcenter.productivity.loss.type"
|
||||
_rec_name = 'loss_type'
|
||||
|
||||
@api.depends('loss_type')
|
||||
def name_get(self):
|
||||
""" As 'category' field in form view is a Many2one, its value will be in
|
||||
lower case. In order to display its value capitalized 'name_get' is
|
||||
overrided.
|
||||
"""
|
||||
result = []
|
||||
for rec in self:
|
||||
result.append((rec.id, rec.loss_type.title()))
|
||||
return result
|
||||
|
||||
loss_type = fields.Selection([
|
||||
('availability', 'Availability'),
|
||||
('performance', 'Performance'),
|
||||
('quality', 'Quality'),
|
||||
('productive', 'Productive')], string='Category', default='availability', required=True)
|
||||
|
||||
|
||||
class MrpWorkcenterProductivityLoss(models.Model):
|
||||
_name = "mrp.workcenter.productivity.loss"
|
||||
_description = "TPM Big Losses"
|
||||
@@ -174,12 +196,8 @@ class MrpWorkcenterProductivityLoss(models.Model):
|
||||
name = fields.Char('Reason', required=True)
|
||||
sequence = fields.Integer('Sequence', default=1)
|
||||
manual = fields.Boolean('Is a Blocking Reason', default=True)
|
||||
loss_type = fields.Selection([
|
||||
('availability', 'Availability'),
|
||||
('performance', 'Performance'),
|
||||
('quality', 'Quality'),
|
||||
('productive', 'Productive')], "Effectiveness Category",
|
||||
default='availability', required=True)
|
||||
loss_id = fields.Many2one('mrp.workcenter.productivity.loss.type', domain=([('loss_type', 'in', ['quality', 'availability'])]), string='Category')
|
||||
loss_type = fields.Selection(string='Effectiveness Category', related='loss_id.loss_type', store=True)
|
||||
|
||||
|
||||
class MrpWorkcenterProductivity(models.Model):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_mrp_workcenter_productivity_loss_manager,mrp.workcenter.productivity.loss,model_mrp_workcenter_productivity_loss,mrp.group_mrp_manager,1,1,1,1
|
||||
access_mrp_workcenter_productivity_loss,mrp.workcenter.productivity.loss,model_mrp_workcenter_productivity_loss,mrp.group_mrp_user,1,0,0,0
|
||||
access_mrp_workcenter_productivity_loss_type,mrp.workcenter.productivity.loss.type,model_mrp_workcenter_productivity_loss_type,mrp.group_mrp_user,1,0,0,0
|
||||
access_mrp_workcenter_productivity,mrp.workcenter.productivity,model_mrp_workcenter_productivity,mrp.group_mrp_user,1,1,1,1
|
||||
access_mrp_workcenter,mrp.workcenter,model_mrp_workcenter,mrp.group_mrp_user,1,0,0,0
|
||||
access_mrp_routing,mrp.routing,model_mrp_routing,mrp.group_mrp_user,1,0,0,0
|
||||
|
||||
|
@@ -451,9 +451,7 @@
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="loss_type"/>
|
||||
</group><group>
|
||||
<field name="manual"/>
|
||||
<field name="loss_id" widget="selection"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user