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: