Merge branch 'dev' of https://gitee.com/jinan-pengyusen-data/gzth into dev
This commit is contained in:
@@ -533,11 +533,10 @@ class HrAttendance(models.Model):
|
||||
确保选择期间每位员工至少有一条记录
|
||||
若没有则创建一条默认记录
|
||||
"""
|
||||
start_date = fields.Date.from_string('2025-12-01')
|
||||
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'])])
|
||||
existing_employees = self.env['hr.employee'].search([('name', 'not in', ['Administrator'])])
|
||||
if not existing_employees:
|
||||
return
|
||||
|
||||
@@ -550,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
|
||||
|
||||
# 检查每个员工在每个日期是否有记录
|
||||
|
||||
@@ -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)])
|
||||
|
||||
Reference in New Issue
Block a user