mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
[IMP] mrp_operations_extension: nuevas funcionalidades en workorders.
Closes #750 #812 - Se han realizado solo algunos puntos del issue ya que algunos de ellos se han solucionado en las nuevas actualizaciones - nueva vista calendario, según fechas previstas - permitir modificar la fecha planificada de una OF si no está iniciada - cambiar la fecha prevista de una OF cuando se cambia la fecha prevista de una OT si esta es menor que la de su OF
This commit is contained in:
@@ -10,6 +10,9 @@ class MrpProduction(models.Model):
|
||||
_inherit = 'mrp.production'
|
||||
|
||||
workcenter_lines = fields.One2many(readonly=False)
|
||||
date_planned = fields.Datetime(states={'draft': [('readonly', False)],
|
||||
'confirmed': [('readonly', False)],
|
||||
'ready': [('readonly', False)]})
|
||||
|
||||
def _get_minor_sequence_operation(self, operations):
|
||||
return min(operations, key=lambda x: x.sequence)
|
||||
@@ -119,6 +122,31 @@ class MrpProductionWorkcenterLine(models.Model):
|
||||
def force_assign(self):
|
||||
self.move_lines.force_assign()
|
||||
|
||||
@api.multi
|
||||
def _load_mo_date_planned(self, production, date_planned):
|
||||
if date_planned < production.date_planned:
|
||||
production.write({'date_planned': date_planned})
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
production_obj = self.env['mrp.production']
|
||||
dp = vals.get('date_planned', False)
|
||||
production_id = vals.get('production_id', False)
|
||||
if dp and production_id:
|
||||
production = production_obj.browse(production_id)
|
||||
self._load_mo_date_planned(production, dp)
|
||||
return super(MrpProductionWorkcenterLine, self).create(vals)
|
||||
|
||||
@api.multi
|
||||
def write(self, vals, update=False):
|
||||
if vals.get('date_planned', False):
|
||||
dp = vals.get('date_planned')
|
||||
self._load_mo_date_planned(self.production_id, dp)
|
||||
update = True
|
||||
res = super(MrpProductionWorkcenterLine, self).write(vals,
|
||||
update=update)
|
||||
return res
|
||||
|
||||
def check_minor_sequence_operations(self):
|
||||
seq = self.sequence
|
||||
for operation in self.production_id.workcenter_lines:
|
||||
|
||||
@@ -225,5 +225,19 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="workcenter_line_future_calendar" model="ir.ui.view">
|
||||
<field name="name">mrp.production.workcenter.line.future.calendar</field>
|
||||
<field name="model">mrp.production.workcenter.line</field>
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="arch" type="xml">
|
||||
<calendar color="production_id" date_stop="date_planned_end" date_start="date_planned" string="Operations">
|
||||
<field name="workcenter_id"/>
|
||||
<field name="production_id"/>
|
||||
<field name="product"/>
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
Reference in New Issue
Block a user