From 2442401210e1ec508c8472ad4e25f71f786a8fc8 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, 11 May 2026 16:27:12 +0800 Subject: [PATCH] =?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 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index 43462c9b4..ac2d8aa38 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -527,6 +527,7 @@ class OvertimeApprovals(models.Model): def _compute_overtime_type(self): for record in self: current_date = datetime.today() + record.type_overtime = 'work' if record.start_time and record.end_time: if record.start_time > record.end_time: raise UserError("开始时间不能晚于结束时间") @@ -554,10 +555,16 @@ class OvertimeApprovals(models.Model): date_str = start_date.strftime('%m月%d日') date_str = self.remove_leading_zero(date_str) is_weekend = start_date.weekday() in [5, 6] - if date_str in statutory_set: + # 调班补班日 + if date_str in shift_days_set: + record.type_overtime = 'work' + # 法定节假日 + elif date_str in statutory_set: record.type_overtime = 'holiday' + # 周末 或 调休日 elif date_str in holidays_set or is_weekend: record.type_overtime = 'weekend' + # 普通工作日 else: record.type_overtime = 'work'