From 9ab01463fcd1ec75877e9c2a73dbf1803d4a8fda Mon Sep 17 00:00:00 2001
From: zhou <123@>
Date: Mon, 6 Jan 2025 19:02:38 +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/card_approval.py | 19 ++++++++++++-------
yuthon_hr_attendance/views/card_approval.xml | 2 +-
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/yuthon_hr_attendance/models/card_approval.py b/yuthon_hr_attendance/models/card_approval.py
index 3aebfe5ec..0d7295ff2 100644
--- a/yuthon_hr_attendance/models/card_approval.py
+++ b/yuthon_hr_attendance/models/card_approval.py
@@ -58,18 +58,23 @@ class CardApprovals(models.Model):
max_hour = int(max_hour_to)
max_minute = int(max_hour_to * 10 % max_hour_to)
for rec in self:
- # if rec.replacement_time == 'work':
- # rec.attendance_id.check_in = rec.attendance_id.check_in.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8)
- # if rec.replacement_time == 'quitting':
- # rec.attendance_id.check_out = rec.attendance_id.check_in.replace(hour=max_hour, minute=max_minute) - timedelta(hours=8)
- # if rec.replacement_time == 'all':
- rec.attendance_id.check_in = rec.attendance_id.check_in.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8)
- rec.attendance_id.check_out = rec.attendance_id.check_in.replace(hour=max_hour, minute=max_minute) - timedelta(hours=8)
+ current_data = rec.attendance_id.current_data
+ current_datetime = datetime.combine(current_data, datetime.min.time())
+ if rec.attendance_id.check_in:
+ rec.attendance_id.check_in = rec.attendance_id.check_in.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8)
+ else:
+ rec.attendance_id.check_in = current_datetime.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8)
+ if rec.attendance_id.check_out:
+ rec.attendance_id.check_out = rec.attendance_id.check_in.replace(hour=max_hour, minute=max_minute) - timedelta(hours=8)
+ else:
+ rec.attendance_id.check_out = current_datetime.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8)
+
rec.attendance_id.is_approval = True
rec.attendance_id.is_abnormal = False
rec.attendance_id.is_no_card = False
rec.attendance_id.is_early_card = False
rec.attendance_id.is_late_card = False
+
@api.onchange('is_issues')
def _onchange_is_issues(self):
if self.is_issues:
diff --git a/yuthon_hr_attendance/views/card_approval.xml b/yuthon_hr_attendance/views/card_approval.xml
index 9fabf0c16..68e2a50d8 100644
--- a/yuthon_hr_attendance/views/card_approval.xml
+++ b/yuthon_hr_attendance/views/card_approval.xml
@@ -29,7 +29,7 @@
-
+