From a4491e746f4c1201b8c7e55dba2948299ea16e5b 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: Sat, 10 Jan 2026 12:21:38 +0800 Subject: [PATCH 1/7] =?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 | 1 - yuthon_hr_attendance/models/hr_attendance_detail_wechat.py | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 20e74f407..07accdc1d 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -536,7 +536,6 @@ class HrAttendance(models.Model): start_date = fields.Date.from_string('2025-12-01') end_date = fields.Date.from_string('2026-01-09') - # 获取所有员工 existing_employees = self.env['hr.employee'].search([('name', 'not in', ['郭一鸣','罗白义', '罗琼芳', '肖琼', '李芳萍', '钱康', 'Administrator'])]) if not existing_employees: return diff --git a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py index 7c71529cc..bc5306c11 100644 --- a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py +++ b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py @@ -324,8 +324,9 @@ class HrAttendanceDetail(models.Model): hours = int(float_time) minutes = int((float_time - hours) * 60) return fields.Datetime.to_datetime(f"{base_date} {hours:02d}:{minutes:02d}:00") - sch_check_in_time = float_to_datetime(breastfeeding_record.check_in, current_date) - timedelta(hours=8) - sch_check_out_time = float_to_datetime(breastfeeding_record.check_out, current_date)- timedelta(hours=8) + if breastfeeding_record: + sch_check_in_time = float_to_datetime(breastfeeding_record.check_in, current_date) - timedelta(hours=8) + sch_check_out_time = float_to_datetime(breastfeeding_record.check_out, current_date)- timedelta(hours=8) is_early_card, is_late_card, is_abnormal, is_warning, absenteeism_card, is_no_card = self.state_judgment(employee, check_in_time, check_out_time, sch_check_in_time, sch_check_out_time, current_data, is_manual) is_expatriation = self.env['expatriation.approval'].search([('work_end', '=', True),('expatriates_ids', 'in', [employee.id]), ('is_effect', '=', False)]) From 1f5781b8ad1757e28e96f142d2fe1631b10b4f75 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: Sat, 10 Jan 2026 14:26:36 +0800 Subject: [PATCH 2/7] =?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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 07accdc1d..a3bc410fe 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -536,7 +536,7 @@ class HrAttendance(models.Model): start_date = fields.Date.from_string('2025-12-01') end_date = fields.Date.from_string('2026-01-09') - existing_employees = self.env['hr.employee'].search([('name', 'not in', ['郭一鸣','罗白义', '罗琼芳', '肖琼', '李芳萍', '钱康', 'Administrator'])]) + existing_employees = self.env['hr.employee'].search([('name', '=', '王清华')]) if not existing_employees: return From f87f4cde4fd7a987329a032e3068f410b2e7471e 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: Sat, 10 Jan 2026 14:36:47 +0800 Subject: [PATCH 3/7] =?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 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index a3bc410fe..2e80be3b7 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -549,16 +549,14 @@ class HrAttendance(models.Model): existing_records = self.search([ ('employee_id', 'in', existing_employees.ids), - ('check_in', '>=', fields.Date.to_string(start_date)), - ('check_in', '<=', fields.Date.to_string(end_date + timedelta(days=1))) + ('current_data', '>=', fields.Date.to_string(start_date)), + ('current_data', '<=', fields.Date.to_string(end_date + timedelta(days=1))) ]) existing_map = {} for record in existing_records: - record_date = fields.Date.from_string(record.check_in) if record.check_in else fields.Date.from_string( - record.check_out) - if not record_date: + if not record.current_data: continue - key = (record.employee_id.id, fields.Date.to_string(record_date)) + key = (record.employee_id.id, fields.Date.to_string(record.current_data)) existing_map[key] = True # 检查每个员工在每个日期是否有记录 From 9b53d67eeea6e704814c7e13fb3dec0ef3f21ee1 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: Sat, 10 Jan 2026 14:39:11 +0800 Subject: [PATCH 4/7] =?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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 2e80be3b7..4c562b8b5 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -534,9 +534,9 @@ class HrAttendance(models.Model): 若没有则创建一条默认记录 """ start_date = fields.Date.from_string('2025-12-01') - end_date = fields.Date.from_string('2026-01-09') + end_date = fields.Date.from_string('2025-12-15') - existing_employees = self.env['hr.employee'].search([('name', '=', '王清华')]) + existing_employees = self.env['hr.employee'].search([('name', 'not in', ['郭一鸣','罗白义', '罗琼芳', '肖琼', '李芳萍', '钱康', 'Administrator'])]) if not existing_employees: return From 96eb173a83fab2cd725cdfd2af38a40c2c506d7d 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: Sat, 10 Jan 2026 14:39:43 +0800 Subject: [PATCH 5/7] =?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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 4c562b8b5..3b4a1dc3b 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -536,7 +536,7 @@ class HrAttendance(models.Model): start_date = fields.Date.from_string('2025-12-01') end_date = fields.Date.from_string('2025-12-15') - existing_employees = self.env['hr.employee'].search([('name', 'not in', ['郭一鸣','罗白义', '罗琼芳', '肖琼', '李芳萍', '钱康', 'Administrator'])]) + existing_employees = self.env['hr.employee'].search([('name', 'not in', ['Administrator'])]) if not existing_employees: return From 019bcbcfbd0d700504fbbdc791973aa80fe65787 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: Sat, 10 Jan 2026 14:43:31 +0800 Subject: [PATCH 6/7] =?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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 3b4a1dc3b..b0348a08d 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -533,8 +533,8 @@ class HrAttendance(models.Model): 确保选择期间每位员工至少有一条记录 若没有则创建一条默认记录 """ - start_date = fields.Date.from_string('2025-12-01') - end_date = fields.Date.from_string('2025-12-15') + start_date = fields.Date.from_string('2025-12-15') + end_date = fields.Date.from_string('2025-12-31') existing_employees = self.env['hr.employee'].search([('name', 'not in', ['Administrator'])]) if not existing_employees: From 0c589cb9eea534c6d3d35d125886d3d5749c92d9 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: Sat, 10 Jan 2026 14:51:48 +0800 Subject: [PATCH 7/7] =?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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index b0348a08d..792538690 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -533,8 +533,8 @@ class HrAttendance(models.Model): 确保选择期间每位员工至少有一条记录 若没有则创建一条默认记录 """ - start_date = fields.Date.from_string('2025-12-15') - end_date = fields.Date.from_string('2025-12-31') + start_date = fields.Date.from_string('2026-01-01') + end_date = fields.Date.from_string('2026-01-09') existing_employees = self.env['hr.employee'].search([('name', 'not in', ['Administrator'])]) if not existing_employees: