@@ -133,7 +133,6 @@ class HrAttendance(models.Model):
|
||||
def card_remind(self):
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的异常')])
|
||||
all_employees = self.env['hr.employee'].search([('name', '=', '叶华锋')])
|
||||
abnormal_employees = []
|
||||
current_date = fields.Date.to_date('2025-04-21') # 使用当前年份2025
|
||||
month_start = current_date.replace(day=1)
|
||||
month_end = (month_start + relativedelta(months=1) - relativedelta(days=1))
|
||||
@@ -144,19 +143,33 @@ class HrAttendance(models.Model):
|
||||
('current_data', '>=', month_start),
|
||||
('current_data', '<=', month_end)
|
||||
]
|
||||
is_no_card = 0
|
||||
is_early_card = 0
|
||||
is_late_card = 0
|
||||
is_abnormal = 0
|
||||
absenteeism_card = 0
|
||||
attend_records = self.env['hr.attendance'].search(domain)
|
||||
has_abnormal = False
|
||||
for attend_id in attend_records:
|
||||
if attend_id.is_no_card or attend_id.is_early_card or attend_id.is_late_card or attend_id.is_abnormal or attend_id.absenteeism_card:
|
||||
for record in attend_records:
|
||||
if record.is_no_card or record.is_early_card or record.is_late_card or record.is_abnormal or record.absenteeism_card:
|
||||
has_abnormal = True
|
||||
break
|
||||
if has_abnormal:
|
||||
if employee.id not in [emp.id for emp in abnormal_employees]:
|
||||
abnormal_employees.append(employee)
|
||||
for emp in abnormal_employees:
|
||||
url = f'https://oa.thtzjt.com/web?login={emp.user_id.login}&oauth_uid={emp.wecom_userid}&cids=2&action={menu_id.action.id}&menu_id={menu_id.id}&model={self._name}&view_type=list#action={menu_id.action.id}&model={self._name}&view_type=list&menu_id={menu_id.id}'
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='att', user_id=emp.wecom_userid, title="打卡异常提醒",
|
||||
description="您本月有打卡异常", url=url, btntxt="详细信息")
|
||||
if record.is_no_card:
|
||||
is_no_card += 1
|
||||
if record.is_early_card:
|
||||
is_early_card += 1
|
||||
if record.is_late_card:
|
||||
is_late_card += 1
|
||||
if record.is_abnormal:
|
||||
is_abnormal += 1
|
||||
if record.absenteeism_card:
|
||||
absenteeism_card += 1
|
||||
if has_abnormal:
|
||||
url = (f'https://oa.thtzjt.com/web?login={employee.user_id.login}&oauth_uid={employee.wecom_userid}&cids=2&action={menu_id.action.id}&menu_id={menu_id.id}&model={self._name}'
|
||||
f'&view_type=list#action={menu_id.action.id}&model={self._name}&view_type=list&menu_id={menu_id.id}')
|
||||
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='att', user_id=employee.wecom_userid, title="打卡异常提醒",
|
||||
description="本月迟到: {}\n本月缺卡: {}\n本月早退: {}\n本月异常:{}\n 本月旷工: {}\n"
|
||||
.format(is_late_card, is_no_card, is_early_card, is_abnormal, absenteeism_card),
|
||||
url=url, btntxt="详细信息")
|
||||
|
||||
@api.depends('employee_id', 'check_in', 'check_out')
|
||||
def _compute_display_name(self):
|
||||
|
||||
Reference in New Issue
Block a user