添加功能

This commit is contained in:
李鹏宇
2026-04-22 11:10:20 +08:00
parent cab9f6c789
commit 86a0c00ea3
2 changed files with 26 additions and 6 deletions
@@ -76,8 +76,6 @@ class HrAttendance(models.Model):
@api.constrains("check_in")
def _check_in_out(self):
for record in self:
_logger.info('----------打卡取值验证--------')
_logger.info(f"当前员工姓名为{record.employee_id.name}, 当前日期为{record.current_data}")
reminder_id = self.env['message.reminder.tasks'].search([('name', '=', record.employee_id.name), ('state', '=', 'todo'),
('type', '=', 'work'),
('current_data', '=', record.current_data)], limit=1)
@@ -87,8 +85,6 @@ class HrAttendance(models.Model):
@api.constrains("check_out")
def _check_out_in(self):
for record in self:
_logger.info('----------打卡取值验证--------')
_logger.info(f"当前员工姓名为{record.employee_id.name}, 当前日期为{record.current_data}")
if record.shift_name in ['夜班', '旧晚(旧区府晚班)']:
current_data = record.current_data + timedelta(days=1)
else:
@@ -124,9 +124,21 @@ class MessageReminderTasks(models.Model):
shift_name = '行政班次'
for rt, rtype in zip(reminder_times, reminder_types):
current_data_val = rt.date()
# ================== 加了这里:判断是否已存在 ==================
exists = self.env['message.reminder.tasks'].search([
('name', '=', emp_name),
('current_data', '=', current_data_val),
('type', '=', rtype),
], limit=1)
if exists:
continue # 已存在,跳过不创建
# ==============================================================
task_vals = {
'name': emp_name,
'current_data': rt.date(),
'current_data': current_data_val,
'department': emp_department,
'company': emp_company,
'shift_name': shift_name,
@@ -169,12 +181,24 @@ class MessageReminderTasks(models.Model):
shift_name = template.planning_name
for rt, rtype in zip(r_times, r_types):
current_data_val = (rt + timedelta(hours=8)).date()
# ================== 加了这里:判断是否已存在 ==================
exists = self.env['message.reminder.tasks'].search([
('name', '=', employee.name),
('current_data', '=', current_data_val),
('type', '=', rtype),
], limit=1)
if exists:
continue # 已存在,跳过不创建
# ==============================================================
task_plan_vals = {
'name': employee.name,
'department': employee.department_id.name,
'company': employee.company_id.name,
'shift_name': shift_name,
'current_data': (rt + timedelta(hours=8)).date(),
'current_data': current_data_val,
'type': rtype,
'reminder_time': fields.Datetime.to_string(rt),
}