diff --git a/sf_manufacturing/wizard/rework_wizard.py b/sf_manufacturing/wizard/rework_wizard.py index cb739830..a29b3aaa 100644 --- a/sf_manufacturing/wizard/rework_wizard.py +++ b/sf_manufacturing/wizard/rework_wizard.py @@ -131,14 +131,20 @@ class ReworkWizard(models.TransientModel): # 'rfid_code_old': order.rfid_code, # 'rfid_code': False # }) - if clamp_workorder_ids: - for clamp_workorder_id in clamp_workorder_ids: - self.production_id.workorder_ids.filtered(lambda wk: ( - wk.processing_panel == clamp_workorder_id.processing_panel)).write( - {'rfid_code_old': clamp_workorder_id.rfid_code, - 'rfid_code': None}) # 返工工单状态设置为【返工】 rework_workorder_ids.write({'state': 'rework'}) + if clamp_workorder_ids: + for clamp_workorder_id in clamp_workorder_ids: + # 清除返工的装夹预调工单以及其他同面返工工单的RFID并保存rfid记录 + self.production_id.workorder_ids.filtered(lambda wk: ( + wk.processing_panel == clamp_workorder_id.processing_panel + and wk.state == 'rework' and wk.rfid_code)).write( + {'rfid_code_old': clamp_workorder_id.rfid_code, 'rfid_code': None}) + # 清除返工的装夹预调工单同面的非返工工单的RFID + self.production_id.workorder_ids.filtered(lambda wk: ( + wk.processing_panel == clamp_workorder_id.processing_paneland and wk.state != 'rework')).write( + {'rfid_code_old': None, 'rfid_code': None}) + # 查询返工工单对应的工艺设计记录,并调用方法拼接数据,用于创建新的工单 workorders_values = [] for work in rework_workorder_ids: