From cae2ef81e8585a77e30823580be0ea21f43a30cb 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: Tue, 24 Mar 2026 11:24:14 +0800 Subject: [PATCH 1/2] =?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_record.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 1e9add9bd..dd3769b67 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -183,7 +183,7 @@ class SoongWorkflowRecord(models.Model): # 初始化所有记录为非待办(上下文流畅,保留原有初始化逻辑) self.is_to_do = False valid_records = self.filtered( - lambda r: (current_employee.id in r.employee_ids.ids or current_employee.id in r.employee2_ids.ids) + lambda r: (current_uid in r.users_ids.ids) and not r.reclaim_state ) if not valid_records: @@ -228,13 +228,8 @@ class SoongWorkflowRecord(models.Model): def _search_is_to_do(self, operator, value): current_uid = self.env.user.id - current_employee = self.env['hr.employee'].search([('user_id', '=', current_uid)], limit=1) - if not current_employee: - return [('id', '=', False)] base_domain = [ - '|', - ('employee_ids', 'in', [current_employee.id]), - ('employee2_ids', 'in', [current_employee.id]), + ('users_ids', 'in', current_uid), ('reclaim_state', '=', False) ] candidate_records = self.search(base_domain) From 9f5332c78877757f98223a8b400665bbe1a2ecb7 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: Tue, 24 Mar 2026 11:25:06 +0800 Subject: [PATCH 2/2] =?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_record.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index dd3769b67..7a69c8c0c 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -173,14 +173,6 @@ class SoongWorkflowRecord(models.Model): 'employee2_ids') def _compute_is_to_do(self): current_uid = self.env.user.id - # 关键修改:不再查users_ids,改为查当前用户对应的hr.employee记录 - current_employee = self.env['hr.employee'].search([('user_id', '=', current_uid)], limit=1) - if not current_employee: - # 若当前用户无对应员工记录,所有记录均为非待办 - for rec in self: - rec.is_to_do = False - return - # 初始化所有记录为非待办(上下文流畅,保留原有初始化逻辑) self.is_to_do = False valid_records = self.filtered( lambda r: (current_uid in r.users_ids.ids)