!4272 添加功能

Merge pull request !4272 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-08-04 02:31:17 +00:00
committed by Gitee
+24 -11
View File
@@ -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):