From 4a91f499d7fd499dcbff3c14439ab1ca28b31e56 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: Wed, 15 Apr 2026 18:30:42 +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 --- .../models/vacation_overtime_active.py | 29 +++++++++++++++---- .../views/overtime_carryover_views.xml | 18 +++++++++++- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/yuthon_hr_attendance/models/vacation_overtime_active.py b/yuthon_hr_attendance/models/vacation_overtime_active.py index c8bfd2fbe..3c095bb39 100644 --- a/yuthon_hr_attendance/models/vacation_overtime_active.py +++ b/yuthon_hr_attendance/models/vacation_overtime_active.py @@ -164,18 +164,37 @@ class VacationOvertimeActive(models.Model): def open_record(self): self.ensure_one() - selected_date = f"{self.select_year}-{self.select_month.zfill(2)}-01" + import datetime + year = int(self.select_year) + month = int(self.select_month) + + if month == 12: + last_day_date = datetime.date(year, 12, 31) + else: + next_month_first = datetime.date(year, month + 1, 1) + last_day_date = next_month_first - datetime.timedelta(days=1) + + last_day = last_day_date.strftime("%Y-%m-%d") domain = [ ('over_line_id.vacation_id.employee_id', '=', self.employee_id.id), - ('carry_forward_date', '>=', selected_date), - ('carryover_type', 'in', ['leave', 'fee']), - ('is_void', '=', False) + ('is_void', '=', False), + '|', + '&', + ('carryover_type', '=', 'fee'), + ('carry_forward_date', '=', last_day), + '&', + ('carryover_type', '=', 'leave'), + ('carry_forward_date', '>', last_day), ] + + view_id = self.env.ref('yuthon_hr_attendance.view_overtime_carryover_tree1').id + return { 'name': f'加班明细', 'type': 'ir.actions.act_window', 'res_model': 'overtime.carryover', 'view_mode': 'tree', + 'view_id': view_id, 'domain': domain, - 'target': 'current' + 'target': 'current', } diff --git a/yuthon_hr_attendance/views/overtime_carryover_views.xml b/yuthon_hr_attendance/views/overtime_carryover_views.xml index 025a4e518..6f1c42660 100644 --- a/yuthon_hr_attendance/views/overtime_carryover_views.xml +++ b/yuthon_hr_attendance/views/overtime_carryover_views.xml @@ -1,6 +1,23 @@ + overtime.carryover.tree + overtime.carryover + + + + + + + + + + +