diff --git a/yuthon_hr_attendance/models/hr_attendance.py b/yuthon_hr_attendance/models/hr_attendance.py index 1be62778d..4868af804 100644 --- a/yuthon_hr_attendance/models/hr_attendance.py +++ b/yuthon_hr_attendance/models/hr_attendance.py @@ -101,15 +101,15 @@ class HrAttendance(models.Model): #考勤异常提醒 def card_remind(self): - # 获取所有员工 - menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的异常')]) + menu_id = self.env['ir.ui.menu'].sudo().search([('name', '=', '我的考勤')]) all_employees = self.env['hr.employee'].search([]) abnormal_employees = [] - current_date = datetime.today() - month_start = current_date.replace(day=1, hour=0, minute=0, second=0, microsecond=0) - month_end = (month_start + relativedelta(months=1)) - relativedelta(seconds=1) + current_date = fields.Date.today() + month_start = current_date.replace(day=1) + month_end = (month_start + relativedelta(months=1) - relativedelta(days=1)) for employee in all_employees: domain = [ + ('shift_name', '=', '行政班次'), ('employee_id', '=', employee.id), ('current_data', '>=', month_start), ('current_data', '<=', month_end) @@ -117,7 +117,7 @@ class HrAttendance(models.Model): 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: + 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: has_abnormal = True break if has_abnormal: @@ -125,7 +125,7 @@ class HrAttendance(models.Model): 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}#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=form&menu_id={menu_id.id}' + url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=from&menu_id={menu_id.id}' self.sudo().env["wecom.apps"].sync_send_message_textcard(category='attendance', user_id=emp.wecom_userid, title="打卡异常提醒", @@ -177,6 +177,7 @@ class HrAttendance(models.Model): is_early_card += 1 if i.is_no_card: is_late_card += 1 + url = f'https://oa.thtzjt.com/web#id={self.id}&cids=2&action={menu_id.action.id}&model=hr.attendance&view_type=from&menu_id={menu_id.id}' self.sudo().env["wecom.apps"].sync_send_message_textcard(category='att', user_id=rec.employee_id.wecom_userid, title="打卡异常提醒", description="本月迟到: {}\n本月缺卡: {}\n本月早退: {}\n".format(is_late_card, is_no_card, is_early_card),