diff --git a/yuthon_notice/models/yuthon_notice.py b/yuthon_notice/models/yuthon_notice.py index 5c722321a..68958c5ce 100644 --- a/yuthon_notice/models/yuthon_notice.py +++ b/yuthon_notice/models/yuthon_notice.py @@ -44,16 +44,20 @@ class YuthonNotice(models.Model): def notice_publish(self): if self.is_change_notice: users_role_list = department_users_list = [] + # 部门人员 for depart in self.department_ids: department_users_data = self.env['hr.employee'].search([('department_id', '=', depart.id)]) department_users_list = [de.id for de in department_users_data] - employee_users_list = [em.user_id.id for em in self.employee_ids] + # 人员 + employee_users_list = [em.id for em in self.employee_ids] + # 角色人员 for user_id in self.users_role_ids: - department_users_data = self.env['soong.user.role'].search([('user_role_id', '=', user_id.id)]) + department_users_data = self.env['hr.employee'].search([('user_role_id', '=', user_id.id)]) users_role_list = [ro.id for ro in department_users_data] publish_user_list = department_users_list + employee_users_list + users_role_list if publish_user_list: for user in list(set(publish_user_list)): + # 已读 self.env['yuthon.confirm.users'].create({ 'notice_id': self.id, 'user_id': user, @@ -62,15 +66,17 @@ class YuthonNotice(models.Model): 'state': 'no', }) # 待办关联 - data = '新的通知公告' + self.name + "请及时确认\n" + 'https://www.thtzjt.com/web' - we_id = self.env['hr.employee'].search([('id', '=', user)]).wecom_userid - self.sudo().env["wecom.apps"].sync_send_message(we_id, data) self.env['project.task'].create({ 'name': '新的通知公告' + self.name + "请及时确认", 'user_ids': [(4, user)], 'notice_origin_id': self.id, - 'description': self.sudo().env["wecom.apps"].sync_send_message(we_id, 123), + 'description': self.sudo().env["wecom.apps"].sync_send_message(we_id, data), }) + menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的通知公告')]) + str = 'https://pengyuthon.com/web#id={}&cids=1&menu_id={}&action={}&model=yuthon.notice&view_type=form'.format(self.id, menu_id.id, menu_id.action.id) + data = "您有新的通知公告请及时确认\n" + "{}".format(str, self.name) + we_id = self.env['hr.employee'].search([('id', '=', user)]).wecom_userid + self.sudo().env["wecom.apps"].sync_send_message(we_id, data) # 普通用户权限是否打开,可能需要配置权限