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..e2bf1c9ed 100644
--- a/yuthon_hr_attendance/views/overtime_carryover_views.xml
+++ b/yuthon_hr_attendance/views/overtime_carryover_views.xml
@@ -3,6 +3,23 @@
overtime.carryover.tree
overtime.carryover
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ overtime.carryover.tree1
+ overtime.carryover
@@ -16,7 +33,6 @@
-