diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index da7294173..06b1626cd 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -564,9 +564,9 @@ class SoongWorkflowCommentWizard(models.TransientModel): # 给申请人发消息 biz_record = self.env[self.res_model].browse(self.res_id) if hasattr(biz_record, 'user_id') and biz_record.user_id: - employee = biz_record.user_id.employee_id + employee = biz_record.users_id.employee_ids elif hasattr(biz_record, 'users_id') and biz_record.users_id: - employee = biz_record.users_id.employee_id + employee = biz_record.users_id.employee_ids action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0] url = f'https://oa.thtzjt.com/web?login={employee.user_id.login}&oauth_uid={employee.wecom_userid}#id={record_id.id}&cids=2&action={action_id.id}&model={record_id._name}&view_type=form&menu_id=10104' self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa', @@ -579,9 +579,9 @@ class SoongWorkflowCommentWizard(models.TransientModel): if self.node_btn_id.workflow_id.archive_type == 'applicant': biz_record = self.env[self.res_model].browse(self.res_id) if hasattr(biz_record, 'user_id') and biz_record.user_id: - employee = biz_record.user_id.employee_id + employee = biz_record.user_id.employee_ids elif hasattr(biz_record, 'users_id') and biz_record.users_id: - employee = biz_record.users_id.employee_id + employee = biz_record.users_id.employee_ids recipients.append(employee) elif self.node_btn_id.workflow_id.archive_type == 'role': role_ids = self.node_btn_id.workflow_id.role_ids diff --git a/yuthon_hr_attendance/models/yuthon_vacation_reports.py b/yuthon_hr_attendance/models/yuthon_vacation_reports.py index eb057ca7d..cccbf4d5b 100644 --- a/yuthon_hr_attendance/models/yuthon_vacation_reports.py +++ b/yuthon_hr_attendance/models/yuthon_vacation_reports.py @@ -1059,10 +1059,9 @@ class AttendanceMessageLog(models.Model): _description = '消息提醒日志' vacation_id = fields.Many2one('yuthon.vacation.reports', string='关联假期额度记录') - employee_id = fields.Many2one('hr.employee', string='员工') # 数据库存储问题 - user_id = fields.Many2one('res.users', string='员工') - department_id = fields.Many2one(related='user_id.employee_id.department_id', string="部门", index=True) - company_id = fields.Many2one(related='user_id.employee_id.company_id', string="公司") + employee_id = fields.Many2one('hr.employee', string='员工') + department_id = fields.Many2one(related='employee_id.department_id', string="部门", index=True) + company_id = fields.Many2one(related='employee_id.company_id', string="公司") update_date = fields.Datetime(string='提醒时间') shift_id = fields.Many2one('planning.slot', string="班次", compute="_compute_shift_id", store=True) content = fields.Text(string='内容') @@ -1072,13 +1071,14 @@ class AttendanceMessageLog(models.Model): @api.depends('employee_id') def _compute_shift_id(self): - att_id = self.env['hr.attendance'].search([('employee_id', '=', self.employee_id.id), - ('current_data', '=', self.update_date.date()) - ], limit=1) - if att_id: - self.shift_id = att_id.shift_id.id - else: - self.shift_id = False + for rec in self: + att_id = rec.env['hr.attendance'].search([('employee_id', '=', rec.employee_id.id), + ('current_data', '=', rec.update_date.date()) + ], limit=1) + if att_id: + rec.shift_id = att_id.shift_id.id + else: + rec.shift_id = False class DetailsTree(models.Model): _name = 'details.tree' diff --git a/yuthon_hr_attendance/views/attendance_message_log.xml b/yuthon_hr_attendance/views/attendance_message_log.xml index 5a6c4a5bb..8fb550a59 100644 --- a/yuthon_hr_attendance/views/attendance_message_log.xml +++ b/yuthon_hr_attendance/views/attendance_message_log.xml @@ -4,7 +4,7 @@ attendance.message.log - + @@ -20,7 +20,7 @@ attendance.message.log - + diff --git a/yuthon_wechat/models/wecom_apps.py b/yuthon_wechat/models/wecom_apps.py index 8ee227032..d6533cf9f 100644 --- a/yuthon_wechat/models/wecom_apps.py +++ b/yuthon_wechat/models/wecom_apps.py @@ -160,9 +160,9 @@ class WeComApps(models.Model): }, } result_data = self.sync_function_api("message_send", "MESSAGE_SEND", data, category) - users_id = self.env["res.users"].search([("id", "=", user_id)], limit=1) + employee_id = self.env["res.users"].search([("login", "=", user_id)], limit=1).employee_ids self.env["attendance.message.log"].create({ - "user_id": users_id.id, + "employee_id": employee_id.id, "content": description, "notice_type": 'attendance', 'update_date': fields.Datetime.now(),