From f8bbcf97249d531939c13dad1b447c9e9dd43121 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, 14 Jan 2026 10:26:22 +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 --- .../models/overtime_approval.py | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index 6f61230be..3cd374f93 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -254,6 +254,18 @@ class OvertimeApprovals(models.Model): def put_hr_employee(self): for record in self: for employee_id in record.employee_ids: + + start_year = record.start_time.date().year + if record.company_id.name == "天河物管": + start_date = datetime(start_year, 3, 1).date() + valid_date = datetime(start_year + 1, 2, 1).date() + relativedelta(months=1) - relativedelta(days=1) + elif record.company_id.name == "天河粮储": + start_date = datetime(start_year, 7, 1).date() + valid_date = datetime(start_year + 1, 6, 30).date() + else: + start_date = datetime(start_year, 1, 1).date() + valid_date = False + meal_number = employee_id.meal_number if self.meal == 'yes': meal_number += 1 @@ -263,6 +275,8 @@ class OvertimeApprovals(models.Model): allocation = self.env['hr.leave.allocation'].create({ 'employee_id': employee_id.id, 'name': '补休', + 'date_from': start_date, + 'date_to': valid_date, 'number_of_days': self.duration / 8, 'holiday_status_id': holiday_status_id.id, 'allocation_type': 'regular', @@ -292,14 +306,6 @@ class OvertimeApprovals(models.Model): elif record.type_overtime == 'holiday': legal_day = record.duration - start_year = record.start_time.date().year - if record.company_id.name == "天河物管": - valid_date = datetime(start_year + 1, 2, 1).date() + relativedelta(months=1) - relativedelta(days=1) - elif record.company_id.name == "天河粮储": - valid_date = datetime(start_year + 1, 6, 30).date() - else: - valid_date = False - overtime_data = { 'vacation_id': reports_id.id, 'update_type': 'add',