From 762306f6b2810df15b425a2d4376941e6fe0324f 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: Mon, 9 Mar 2026 14:34: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 --- yuthon_hr_attendance/models/overtime_approval.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index 2fe5d6efd..20f06e758 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -368,7 +368,8 @@ class OvertimeApprovals(models.Model): ('vacation_date', '=', vacation_date) ]) workflow_record_id = self.env['soong.workflow.record'].search([ - ('code', '=', self.code) + ('code', '=', self.code), + ('reclaim_state', '=', False) ]) workday = 0.0 legal_day = 0.0 From e9e91813bd93a6dd5711ecb9691ec413a79a28df 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: Mon, 9 Mar 2026 14:52:18 +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 --- yuthon_issue/models/issue_library.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py index 38718f46e..9ea4e9d47 100644 --- a/yuthon_issue/models/issue_library.py +++ b/yuthon_issue/models/issue_library.py @@ -353,6 +353,12 @@ class IssueLibrary(models.Model): @api.depends_context('uid', 'company') @api.depends('department_id') def _compute_part_of_department(self): + is_manager = self.env.user.has_group('soong_workflow.group_soong_workflow_manager') + if is_manager: + # 管理员可以看到所有数据,全部标记为 True + for employee in self: + employee.member_of_department = True + return user_employee = self._get_valid_employee_for_user() active_department = user_employee.department_id if active_department: @@ -375,12 +381,22 @@ class IssueLibrary(models.Model): return employee def _search_part_of_department(self, operator, value): + # 检查当前用户是否属于管理员群组 + is_manager = self.env.user.has_group('soong_workflow.group_soong_workflow_manager') + if is_manager: + # 管理员搜索时返回所有数据(domain 为空) + if (operator == '=' and value) or (operator == '!=' and not value): + return [] + # 如果搜索条件是 False,则返回空数据 + elif (operator == '=' and not value) or (operator == '!=' and value): + return [('id', '=', False)] user_employee = self._get_valid_employee_for_user() active_department = user_employee.department_id if active_department: base_domain = [('department_id', 'child_of', active_department.id)] else: base_domain = [('department_id', '=', False)] + return (['!'] if operator == '!=' else []) + base_domain def _get_default_name_title(self):