diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 25436081..62a63f72 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -735,7 +735,15 @@ class ResMrpWorkOrder(models.Model): def button_start(self): if self.routing_type == '装夹预调' and self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name: self.pro_code = self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name - + if self.routing_type == '装夹预调': + if not self.cnc_ids: + raise UserError(_('该制造订单还未下发CNC程序,请稍后再试')) + else: + for item in self.cnc_ids: + functional_cutting_tool = self.env['sf.functional.cutting.tool.entity'].search( + [('tool_name_id.name', '=', item.cutting_tool_name)]) + if not functional_cutting_tool: + raise UserError(_('该制造订单的CNC程序为%s没有对应的功能刀具%s' % item.cutting_tool_name)) if self.routing_type == '解除装夹': ''' 记录开始时间 diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 22228ea7..843a9c53 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -125,7 +125,7 @@ attrs="{'invisible': ['|', '|', '|', ('production_state','in', ('draft', 'done', 'cancel')), ('working_state', '=', 'blocked'), ('state', 'in', ('done', 'cancel')), ('is_user_working', '!=', False)]}"/>