From 38bb92ad5e881116b749dad8d5dce59864d2579d 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: Fri, 30 Jan 2026 16:28:06 +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 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index da46e4f1c..7464b5d73 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -192,13 +192,14 @@ class OvertimeApprovals(models.Model): if related_model.duration: total_overtime += related_model.duration - if total_overtime + rec.duration > 36 and not rec.is_thwg: - rec.overtime_hours = 0.0 - message = _('本月已加班时长已超过 36 小时') - raise ValidationError(message) - else: rec.overtime_hours = total_overtime + @api.constrains('users_id') + def _check_overtime_hours(self): + if self.overtime_hours + self.duration > 36 and not self.is_thwg: + message = _('本月已加班时长已超过 36 小时') + raise ValidationError(message) + @api.depends('start_time', 'end_time', 'attendance_id', 'rest_start_time', 'rest_end_time') def _compute_duration(self): for rec in self: