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'