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(),