From 6debca89b5310d5c84fc2c83e2e6e532d56e2576 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: Fri, 16 Jan 2026 19:05:31 +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 --- soong_workflow/models/soong_workflow_mixin.py | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 29b427174..df236d802 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -125,12 +125,24 @@ class SoongWorkflowMixin(models.AbstractModel): for record in self: record.is_confirm = False record.is_end = False - domain = [('done_by', '=', self.env.user.id), ('workflow_id', '=', record.workflow_id.id), - ('res_id', '=', record.id), ('approval_state', 'in', ['0', '1']), ('name', '!=', '归档')] - lg2 = record.log_ids2.search(domain) - lg1 = record.log_ids.search(domain) - if lg2 or lg1: + log_ids_domain = [ + ('done_by', '=', self.env.user.id), + ('workflow_id', '=', record.workflow_id.id), + ('res_id', '=', record.id), + ('approval_state', 'in', ['0', '1']), + ('name', '=', '承办') + ] + log_ids2_domain = [ + ('done_by', '=', self.env.user.id), + ('workflow_id', '=', record.workflow_id.id), + ('res_id', '=', record.id), + ('approval_state', 'in', ['0', '1']) + ] + lg1 = record.log_ids.search(log_ids_domain) + lg2 = record.log_ids2.search(log_ids2_domain) + if lg1 or lg2: record.is_confirm = True + if (not lg1 and not lg2) or not record.is_confirm: record.is_end = True