From 9ae7b7e651d092af6ca921fad1e6c9af3b7cb021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Thu, 11 Dec 2025 11:59:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wizard/soong_workflow_comment_wizard.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index 9530d2475..9bc94f4e6 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -676,16 +676,23 @@ class SoongWorkflowCommentWizard(models.TransientModel): btntxt="查看详情") if self.node_btn_name == "收回": - log_ids = record_id.log_ids.sorted('sequence') - if log_ids[-1].approval_state == '2': + record = self.env[self.res_model].search([('id', '=', self.res_id)]) + log_ids = record.log_ids.sorted('sequence') + if log_ids[-1].approval_state in ['1', '2']: raise UserError('当前状态不可以收回') related_record = self.env[self.res_model].browse(self.res_id) - log_ids[-1].unlink() if hasattr(related_record, 'self_users_ids'): - related_record.self_users_ids = [(6, 0, [log_ids[-1].done_by.id])] - self.env['soong.workflow.record'].search([('code', '=', record_id.code)]).write({"employee_ids": self.env.user.employee_id.id, }) + related_record.self_users_ids = [(6, 0, [log_ids[-2].done_by.id])] + self.env['soong.workflow.record'].search([('code', '=', record.code)]).write( + {"employee_ids": [(6, 0, [log_ids[-2].done_by.employee_id.id])], + "users_ids": [(6, 0, [log_ids[-2].done_by.id])], + 'soong_state': 'to_do' + }) + log_ids[-1].unlink() log_ids[-2].write({'approval_state': '1'}) - record_id.write({'state': log_ids[-2].name}) + record.write({'state': log_ids[-2].name, + 'work_end': False, + }) return self.node_btn_id.with_context(cx).run()