From 5dbc6dcc901775852dd3caf8ec042ae06b66057b 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, 28 Jan 2026 19:25:52 +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_employee/models/yuthon_medical_manage.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/yuthon_hr_employee/models/yuthon_medical_manage.py b/yuthon_hr_employee/models/yuthon_medical_manage.py index 24e6c4690..89e0bdba6 100644 --- a/yuthon_hr_employee/models/yuthon_medical_manage.py +++ b/yuthon_hr_employee/models/yuthon_medical_manage.py @@ -51,6 +51,17 @@ class YuthonMedicalManage(models.Model): elif employee.marital == 'married': final_quota += rule.allowance_married_women + entry_date = fields.Date.from_string(employee.entry_date) + current_year = current_date.year + entry_year = entry_date.year + + # 判断是否为当年入职 + if entry_year == current_year: + entry_month = entry_date.month + ratio = (12 - entry_month + 1) / 12 + final_quota = final_quota * ratio + final_quota = max(final_quota, 0.0) + if rule.cap > 0: final_quota = min(base_quota, rule.cap) @@ -111,6 +122,7 @@ class YuthonMedicalManage(models.Model): 'prev_last_year_balance': prev_last_year_rec.current_year_remaining, }) + def button_details(self): form_id = self.env.ref('yuthon_hr_employee.view_yuthon_medical_manage_form').id return {