From ad3540bcdbd5b109936d98885a2b4d3a52beed2f Mon Sep 17 00:00:00 2001 From: sunjie Date: Tue, 23 Sep 2025 10:53:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=BB=E8=A1=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_base/models/fields_piyin.py | 6 ++++-- yuthon_hr_attendance/models/yuthon_vacation_reports.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/yuthon_base/models/fields_piyin.py b/yuthon_base/models/fields_piyin.py index e212830a1..1de67b818 100644 --- a/yuthon_base/models/fields_piyin.py +++ b/yuthon_base/models/fields_piyin.py @@ -24,7 +24,8 @@ def _my_setup_fields(self): cls = self.env.registry[self._name] for name in list(cls._fields): field = self._fields[name] - if isinstance(field, CharWithPinyin): + # if isinstance(field, CharWithPinyin): + if type(field) == fields.CharWithPinyin: new_field_name = f'{name}_pinyin' compute_method_name = f'_compute_{new_field_name}' if new_field_name not in cls._fields: @@ -67,7 +68,8 @@ def _replace_char_with_pinyin_order(self, order): continue field_name, direction = m.groups() field = self._fields.get(field_name) - if field and isinstance(field, fields.CharWithPinyin): + # if field and isinstance(field, fields.CharWithPinyin): + if field and type(field) == fields.CharWithPinyin: # 替换成 _pinyin 字段 field_name = f"{field_name}_pinyin" if direction: diff --git a/yuthon_hr_attendance/models/yuthon_vacation_reports.py b/yuthon_hr_attendance/models/yuthon_vacation_reports.py index e3d627684..fe92ecfa3 100644 --- a/yuthon_hr_attendance/models/yuthon_vacation_reports.py +++ b/yuthon_hr_attendance/models/yuthon_vacation_reports.py @@ -181,7 +181,7 @@ class YuthonVacationReports(models.Model): month_end = date(year, month, days_in_month) leave_days = rec._create_leave_record(rec.employee_id, month_start, month_end) entry_date = rec.employee_id.entry_date - if month_start > entry_date: + if not entry_date or month_start > entry_date: start_day = 1 else: days_in_month = (date(year, month + 1, 1) - timedelta(days=1)).day