This commit is contained in:
李鹏宇
2025-07-20 23:03:36 +08:00
parent a4514083c0
commit 77377e431e
2 changed files with 7 additions and 5 deletions
@@ -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': '未识别到员工'}
@@ -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: