From 8237d04f32a723a9ee08c015f81102b9e1ab4dba Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Tue, 11 Mar 2025 16:12:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7?= =?UTF-8?q?=E7=BB=84=E8=A3=85=E6=89=AB=E7=A0=81=E9=AA=8C=E8=AF=81=E7=89=A9?= =?UTF-8?q?=E6=96=99=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/models/base.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index 237d5b91..40100a93 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -983,19 +983,19 @@ class FunctionalToolAssembly(models.Model): # 物料必填校验 if not self.handle_code_id: - raise ValidationError('缺少【刀柄】物料信息!') + raise ValidationError('请扫【刀柄】RFID,录入【刀柄】物料信息!') if self.integral_lot_id: if not self.integral_verify: - raise ValidationError('【整体式刀具】未进行验证!') + raise ValidationError('请扫【整体式刀具】的货位编码进行验证!') elif self.blade_lot_id: if not self.blade_verify: - raise ValidationError('【刀片】未进行验证!') + raise ValidationError('请扫【刀片】的货位编码进行验证!') if self.bar_lot_id: if not self.bar_verify: - raise ValidationError('【刀杆】未进行验证!') + raise ValidationError('请扫【刀杆】的货位编码进行验证!') elif self.pad_lot_id: if not self.pad_verify: - raise ValidationError('【刀盘】未进行验证!') + raise ValidationError('请扫【刀盘】的货位编码进行验证!') # 组装参数必填校验 if self.after_assembly_max_lifetime_value == 0: raise ValidationError('组装参数信息【最大寿命值】不能为0!') From 0d8445e444744054da0e731a0e7d85fbd79ae0fc Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Thu, 13 Mar 2025 08:36:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E7=9A=84Rfid=E6=89=AB=E7=A0=81=E7=BB=91=E5=AE=9A=E8=A7=A3?= =?UTF-8?q?=E7=BB=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 7 ++++--- sf_manufacturing/wizard/production_wizard.py | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index c0c45ac8..4b877aa7 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1510,8 +1510,8 @@ class ResMrpWorkOrder(models.Model): for workorder in record.production_id.workorder_ids: if workorder.processing_panel == record.processing_panel: rfid_code = workorder.rfid_code - workorder.write({'rfid_code_old': rfid_code, - 'rfid_code': False}) + workorder.filtered(lambda wo: wo.state != 'rework' or wo.rfid_code is not False).write( + {'rfid_code_old': rfid_code, 'rfid_code': False}) self.env['stock.lot'].sudo().search([('rfid', '=', rfid_code)]).write( {'tool_material_status': '可用'}) if workorder.rfid_code: @@ -1928,7 +1928,8 @@ class SfWorkOrderBarcodes(models.Model): self.write(val) workorder_rfid = self.env['mrp.workorder'].search( [('production_id', '=', workorder.production_id.id), - ('processing_panel', '=', workorder.processing_panel)]) + ('processing_panel', '=', workorder.processing_panel), + ('state', '!=', 'rework')]) if workorder_rfid: for item in workorder_rfid: item.write({'rfid_code': barcode}) diff --git a/sf_manufacturing/wizard/production_wizard.py b/sf_manufacturing/wizard/production_wizard.py index aa2a4075..fb835818 100644 --- a/sf_manufacturing/wizard/production_wizard.py +++ b/sf_manufacturing/wizard/production_wizard.py @@ -46,8 +46,11 @@ class ProductionWizard(models.TransientModel): mrp_workorder_list = self.mrp_production_id.workorder_ids.filtered(lambda kw: kw.rfid_code) for workorder in mrp_workorder_list: rfid_code = workorder.rfid_code - workorder.write({'rfid_code_old': rfid_code, - 'rfid_code': False}) + workorder.filtered(lambda wo: wo.routing_type == '装夹预调' and wo.rfid_code is not False).write( + {'rfid_code_old': rfid_code, 'rfid_code': False}) + workorder.filtered(lambda wo: wo.routing_type != '装夹预调' and wo.rfid_code is not False).write( + {'rfid_code_old': False, 'rfid_code': False}) + if self.is_remanufacture is True: ret = {'programming_list': [], 'is_reprogramming': self.is_reprogramming} if self.is_reprogramming is True: