From 7ddcfc6226832f7be446a926df6f7cd3be352b8b Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Thu, 13 Mar 2025 14:39:04 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A4=84=E7=90=86=20=E5=88=B6?= =?UTF-8?q?=E9=80=A0=E8=AE=A2=E5=8D=95=E5=86=85=E5=A4=96=E5=8D=8F=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=8D=95=E8=B4=A8=E9=87=8F=E6=A3=80=E6=9F=A5=E4=B8=8D?= =?UTF-8?q?=E9=80=9A=E8=BF=87=EF=BC=8C=E7=82=B9=E5=87=BB=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=A3=80=E6=9F=A5=E9=A1=B5=E9=9D=A2=E6=8A=A5?= =?UTF-8?q?=E9=94=99=20=EF=BC=9B2=E3=80=81=E5=A4=84=E7=90=86=20=E5=B7=A5?= =?UTF-8?q?=E5=8D=95Rfid=E7=BB=91=E5=AE=9A=E8=A7=A3=E7=BB=91=E6=98=AF?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E6=AD=A3=E7=A1=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mrp_workorder/models/quality.py | 2 +- quality_control/models/stock_picking.py | 3 +++ sf_manufacturing/models/mrp_workorder.py | 8 ++++++-- sf_manufacturing/wizard/production_wizard.py | 3 ++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/mrp_workorder/models/quality.py b/mrp_workorder/models/quality.py index 2b8ca118..7867c029 100644 --- a/mrp_workorder/models/quality.py +++ b/mrp_workorder/models/quality.py @@ -190,7 +190,7 @@ class QualityCheck(models.Model): # doubly linked chain for tablet view navigation next_check_id = fields.Many2one('quality.check') previous_check_id = fields.Many2one('quality.check') - is_produced = fields.Boolean(string="Has Been Produced") + # is_produced = fields.Boolean(string="Has Been Produced") # For components registration move_id = fields.Many2one( diff --git a/quality_control/models/stock_picking.py b/quality_control/models/stock_picking.py index 0f92edde..bc8638d7 100644 --- a/quality_control/models/stock_picking.py +++ b/quality_control/models/stock_picking.py @@ -109,6 +109,9 @@ class StockPicking(models.Model): def action_open_quality_check_picking(self): action = self.env["ir.actions.actions"]._for_xml_id("quality_control.quality_check_action_picking") action['context'] = self.env.context.copy() + keys_to_remove = [key for key in action['context'] if key.startswith('default_')] + for key in keys_to_remove: + del action['context'][key] action['context'].update({ 'search_default_picking_id': [self.id], 'default_picking_id': self.id, diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 9c43db92..d8d69f37 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1519,8 +1519,12 @@ 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.filtered(lambda wo: wo.state != 'rework' or wo.rfid_code is not False).write( - {'rfid_code_old': rfid_code, 'rfid_code': False}) + if record.is_rework is not True: + workorder.write({'rfid_code_old': rfid_code, 'rfid_code': False}) + elif workorder.routing_type != '装夹预调' and workorder.state != 'rework': + workorder.write({'rfid_code_old': False, 'rfid_code': False}) + elif workorder.routing_type == '装夹预调' and workorder.state != 'rework': + workorder.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: diff --git a/sf_manufacturing/wizard/production_wizard.py b/sf_manufacturing/wizard/production_wizard.py index fb835818..abd8b6cc 100644 --- a/sf_manufacturing/wizard/production_wizard.py +++ b/sf_manufacturing/wizard/production_wizard.py @@ -48,7 +48,8 @@ class ProductionWizard(models.TransientModel): rfid_code = workorder.rfid_code 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( + workorder.filtered(lambda wo: (wo.routing_type != '装夹预调' and + (wo.rfid_code_old is not False or wo.rfid_code is not False))).write( {'rfid_code_old': False, 'rfid_code': False}) if self.is_remanufacture is True: