diff --git a/yuthon_hr_attendance/controllers/applet_attendance.py b/yuthon_hr_attendance/controllers/applet_attendance.py index 6d8103d63..bff589df0 100644 --- a/yuthon_hr_attendance/controllers/applet_attendance.py +++ b/yuthon_hr_attendance/controllers/applet_attendance.py @@ -203,6 +203,7 @@ class AppletAttendance(Controller): 'source': 'mini_programs', }) return_data = {'code': '200', 'message': '打卡成功'} + request.env(user=SUPERUSER_ID)["hr.attendance.detail"].get_hr_attendance_time(kw.get('user_id')) _logger.info("打卡记录创建成功") else: return_data = {'code': '200', 'message': '未识别到员工'} diff --git a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py index 539640cb9..4161ac8c2 100644 --- a/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py +++ b/yuthon_hr_attendance/models/hr_attendance_detail_wechat.py @@ -240,7 +240,7 @@ class HrAttendanceDetail(models.Model): _logger.error('检查保存之前的数据分析出想要的数据失败,异常:{0},数据信息{1},异常详情:{2}'.format(str(e), str(data), str(traceback.format_exc()))) - def get_hr_attendance_time(self): + def get_hr_attendance_time(self, user_id): """ 获取企业微信打卡数据的核心逻辑 :return: 处理结果 @@ -282,11 +282,12 @@ class HrAttendanceDetail(models.Model): # '保存相关的企业微信的原始打卡信息失败,异常:{0},数据信息{1},异常详情:{2}'.format(str(e), str(data), str(traceback.format_exc()))) # 将取回来的数据进行组织整理写入到考勤表中 - employee_ids = self.sudo().env['hr.employee'].search([('use_user_type', '=', 'labor')]) - employee_list = [emp.name for emp in employee_ids] - user_obj = self.sudo().env['res.users'].search([('name', 'not in', ['Administrator', '李鹏宇'] + employee_list), - ('employee_id.contract_id', '!=', False)]).sorted('id') + # employee_ids = self.sudo().env['hr.employee'].search([('use_user_type', '=', 'labor')]) + # employee_list = [emp.name for emp in employee_ids] + # user_obj = self.sudo().env['res.users'].search([('name', 'not in', ['Administrator', '李鹏宇'] + employee_list), + # ('employee_id.contract_id', '!=', False)]).sorted('id') # 暂时先用for循环,如果后期加大频率,需改成并发 + user_obj = self.sudo().env['res.users'].search([('login', '=', user_id)]) total_users = len(user_obj) remaining_users = total_users for user in user_obj: