From d6c194eaa8ad5bca3af54631571c966f38ed03c1 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Wed, 27 Nov 2024 16:18:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=88=B6=E9=80=A0=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=8A=B6=E6=80=81=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/wizard/rework_wizard.py | 11 ++++++++++- sf_tool_management/models/mrp_workorder.py | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sf_manufacturing/wizard/rework_wizard.py b/sf_manufacturing/wizard/rework_wizard.py index 6c723761..bb787c11 100644 --- a/sf_manufacturing/wizard/rework_wizard.py +++ b/sf_manufacturing/wizard/rework_wizard.py @@ -57,8 +57,17 @@ class ReworkWizard(models.TransientModel): # 限制判断 # 1、当制造订单内ZM面的工单都已完成时,返工勾选工序时只能勾选上ZM面的所有工序进行返工 # 2、当FM工单在CNC工单进行选择返工,并将已全部完成的ZM面工序全部勾选上时,FM工单上所有的已完成的工单(装夹预调工单)也必须进行勾选 - done_panel_workorder_ids = self.workorder_ids.filtered( + # 获取已完成的标准工单 + done_normative_workorder_ids = self.workorder_ids.filtered( lambda w: w.state == 'done' and w.processing_panel is not False) + # 获取需要返工的标准工单 + rework_normative_workorder_ids = rework_workorder_ids.filtered( + lambda w: w.processing_panel is not False) + if rework_normative_workorder_ids: + for rw in rework_normative_workorder_ids: + if len(done_normative_workorder_ids.filtered( + lambda w: w.processing_panel == rw.processing_panel)) == 3: + pass else: raise ValidationError('请选择返工工单!!!') if rework_workorder_ids: diff --git a/sf_tool_management/models/mrp_workorder.py b/sf_tool_management/models/mrp_workorder.py index 8fe9748e..25ccc460 100644 --- a/sf_tool_management/models/mrp_workorder.py +++ b/sf_tool_management/models/mrp_workorder.py @@ -221,5 +221,6 @@ class MrpProduction(models.Model): logging.info('调用CAM工单程序用刀计划创建方法!!!') self.env['sf.cam.work.order.program.knife.plan'].sudo().create_cam_work_plan(cnc_ids) if not invalid_tool and not missing_tool_1: + self.sudo().write({'tool_state': '0'}) logging.info('校验cnc用刀正常!!!') logging.info('工单cnc程序用刀校验完成!!!')