diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index 0b882c395..646047a09 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -295,6 +295,8 @@ class SoongWorkflowCommentWizard(models.TransientModel): if self.node_btn_name == '转交': self_node_id = record_id.workflow_id.node_ids.search( [('name', '=', record_id.state), ('workflow_id', '=', record_id.workflow_id.id)]) + log = self.env['soong.workflow.log'].search([("model", "=", self.res_model), + ("res_id", "=", self.res_id)]) query_user_id = self.env.user.id if is_admin and record_id: if hasattr(record_id, 'user_id') and record_id.user_id: @@ -302,10 +304,17 @@ class SoongWorkflowCommentWizard(models.TransientModel): elif hasattr(record_id, 'users_id') and record_id.users_id: query_user_id = record_id.users_id.id # 查询审批记录(使用确定的用户ID) - current_node_log = self.sudo().env["soong.workflow.log"].search([("model", "=", self.res_model), - ("res_id", "=", self.res_id), - ("node_id", "=", self.node_btn_id.node_id.id), - ("done_by", "=", query_user_id)]) + if len(log) > 1 and is_admin: + current_node_log = self.sudo().env["soong.workflow.log"].search( + [("model", "=", self.res_model), + ("res_id", "=", self.res_id), + ("node_id", "=", self.node_btn_id.node_id.id)]) + else: + current_node_log = self.sudo().env["soong.workflow.log"].search( + [("model", "=", self.res_model), + ("res_id", "=", self.res_id), + ("done_by", "=", query_user_id), + ("node_id", "=", self.node_btn_id.node_id.id)]) # 创建或更新当前用户的审批记录 if not current_node_log: self.sudo().env["soong.workflow.log"].create({