From 5b68c4f38ef3a5306621acf470b67e56e7f83546 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, 10 Sep 2025 17:45:58 +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/yuthon_vacation_reports.py | 1 + 1 file changed, 1 insertion(+) diff --git a/yuthon_hr_attendance/models/yuthon_vacation_reports.py b/yuthon_hr_attendance/models/yuthon_vacation_reports.py index 9cde87af2..ee2d835fe 100644 --- a/yuthon_hr_attendance/models/yuthon_vacation_reports.py +++ b/yuthon_hr_attendance/models/yuthon_vacation_reports.py @@ -254,6 +254,7 @@ class YuthonVacationReports(models.Model): def _create_leave_record(self, employee_id, start_date, end_date): entry_date = employee_id.entry_date # 调整日期范围:如果开始日期早于入职日期,则从入职日期开始计算 + start_date = start_date.date() actual_start_date = max(start_date, entry_date) if entry_date else start_date if actual_start_date > end_date: return 0 From d9308bf85896aa7ce9f79452fba05cb35ac2b002 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, 10 Sep 2025 17:48:00 +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_hr_attendance/models/hr_attendance_detail_wechat.py | 3 ++- yuthon_hr_attendance/models/yuthon_vacation_reports.py | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py index 0e581d754..e8c50ff6d 100644 --- a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py +++ b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py @@ -110,7 +110,8 @@ class HrAttendanceDetail(models.Model): for resource_id in role.resource_ids: employee_list.append(resource_id.employee_id.id) if not record.employee_id.id in employee_list: - days = self.env['yuthon.vacation.reports']._create_leave_record(record.employee_id,slot_start_dt, slot_end_dt) + start_dt = slot_start_dt.date() + days = self.env['yuthon.vacation.reports']._create_leave_record(record.employee_id, start_dt, slot_end_dt) else: monthly_slots = self.env['planning.slot'].search([ ('employee_id', '=', record.employee_id.id), diff --git a/yuthon_hr_attendance/models/yuthon_vacation_reports.py b/yuthon_hr_attendance/models/yuthon_vacation_reports.py index ee2d835fe..9cde87af2 100644 --- a/yuthon_hr_attendance/models/yuthon_vacation_reports.py +++ b/yuthon_hr_attendance/models/yuthon_vacation_reports.py @@ -254,7 +254,6 @@ class YuthonVacationReports(models.Model): def _create_leave_record(self, employee_id, start_date, end_date): entry_date = employee_id.entry_date # 调整日期范围:如果开始日期早于入职日期,则从入职日期开始计算 - start_date = start_date.date() actual_start_date = max(start_date, entry_date) if entry_date else start_date if actual_start_date > end_date: return 0