diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 3afef01d..6ae825c2 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -379,6 +379,12 @@ class MrpProduction(models.Model): workorders_values.append( self.env['mrp.workorder'].json_workorder_str('', production, route)) production.workorder_ids = workorders_values + if production_programming.programming_state == '已编程': + logging.info("production_programming: %s" % production_programming.name) + production.workorder_ids.filtered(lambda t: t.routing_type == 'CNC加工').write({ + 'cnc_ids': production_programming.workorder_ids.filtered( + lambda + t1: t1.routing_type == 'CNC加工').cnc_ids}) for workorder in production.workorder_ids: workorder.duration_expected = workorder._get_duration_expected() diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 743f060c..fd93eb4d 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1337,6 +1337,13 @@ class WorkPieceDelivery(models.Model): obj = super(WorkPieceDelivery, self).create(vals) return obj + @api.constrains('name') + def _check_name(self): + if self.type == '运送空料架': + wd = self.sudo().search([('name', '=', self.name), ('id', '!=', self.id)]) + if wd: + raise UserError("该名称已存在") + def action_delivery_history(self): return { 'name': _('配送历史'), diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 5976915b..85e3e5ed 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -667,7 +667,7 @@ 空料架配送 sf.workpiece.delivery - +