From bdd2e76beecae5421ceed49dc04d90ab62240237 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: Mon, 17 Nov 2025 19:43:32 +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/hr_attendance.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index ed2404123..97076a551 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -819,10 +819,12 @@ class HrAttendance(models.Model): for slot in planning_slots: start_datetime, end_datetime = self.normal_clock_in_time(slot.template_id, current_date) if is_check_in: - if self._is_within_10min_by_float(start_datetime): + is_card = self.env['hr.attendance'].search([('employee_id', '=', slot.employee_id.id), ('check_in', '=', True)]) + if self._is_within_10min_by_float(start_datetime) and not is_card: self.card_in_comment(slot.employee_id, planning_name) else: - if self._is_within_10min_by_float(end_datetime): + is_card = self.env['hr.attendance'].search([('employee_id', '=', slot.employee_id.id), ('check_out', '=', True)]) + if self._is_within_10min_by_float(end_datetime) and not is_card: self.card_out_comment(slot.employee_id, planning_name) # 保安部 - 早班 @@ -917,7 +919,7 @@ class HrAttendance(models.Model): self._common_card_remind(dept_name='保安部', planning_name='保安计划行政', is_check_in=False) def card_in_comment(self, employee_id, planning_name): - data = f"您的班次是{planning_name},还有10分钟上班,记得打卡" + data = f"您的班次是{planning_name},还有5分钟上班,记得打卡" url = '#小程序://天投云/XttsPpKg3MEpY7h' try: self.sudo().env["wecom.apps"].sync_send_message(