一、前言
1.导读
在上一次的博文中我们实现了会议审批,会议通过审批后,状态就会由原来的待审核变为待开,这时候我们就可以在我的会议下的反馈详情查看人员是否参与会议的反馈情况。这篇博客就是来了解,人员是怎么接收会议通知并反馈和我的会议模块会议怎么查看反馈情况的功能讲解!!
二、会议通知功能实现
1.功能介绍及分析
我的通知模块
数据初始化:显示会议通知的数据,首先拿到全部的数据判断是不是待开会议和当前登陆的人的id是否在会议的参与者、列席者、主持人中存在,如果存在就显示该条数据。
是否参会按钮:点击此按钮弹出反馈页面,其中有人员身份(拿到当前登录的rid身份进行判断如果为1,2,4那就是参会人员具有投票权,如果是3,5就是列席人员没有投票权利)、是否参会(可选择参加或是不参加)、不参会的原因(如果不参与就要必须填写)
我的会议模块
反馈详情按钮:点击按钮将我的会议jsp页面的html代码从隐藏变为显示并且发送ajax到后端查询该条会议的反馈情况并将查询到的人进行遍历拼接到我们的html代码中。
2.功能实现
2.1.dao层编写
MeetingFeedBackDao
package com.xw.dao; import java.sql.SQLException; import java.util.List; import java.util.Map; import java.util.UUID; import com.xw.entity.MeetingFeedBack; import com.zking.util.BaseDao; import com.zking.util.PageBean; import com.zking.util.StringUtils; /** * MeetingFeedBack会议反馈数据访问层的接口实现 * * @author 索隆 * */ public class MeetingFeedBackDaoImpl extends BaseDao<MeetingFeedBack> implements IMeetingFeedBackDao { @Override public List<Map<String, Object>> list(MeetingFeedBack back, PageBean pageBean) throws Exception { String title=""; if(StringUtils.isNotBlank(back.getTitle())) { title=back.getTitle(); } String sql = " SELECT\r\n" + " t1.*,IFNULL(f.result,-1) result\r\n" + " FROM\r\n" + " (SELECT * FROM t_oa_meeting_info where FIND_IN_SET(" + back.getPersonId() + ",CONCAT(canyuze,',',liexize,',',zhuchiren)) and state=4 and title LIKE '%" + title + "%') t1\r\n" + " LEFT JOIN t_oa_meeting_feedback f on t1.id=f.meetingId AND f.personId=" + back.getPersonId() +" " + " ORDER BY id DESC,result "; return super.executeQuery(sql, pageBean); } @Override public List<Map<String, Object>> queryMeetingBackByMeetingId(MeetingFeedBack back) throws Exception { String sql = " select\r\n" + "t.result,GROUP_CONCAT(t.name) NAMES\r\n" + "from\r\n" + "( select\r\n" + " t1.name,IFNULL(f.result,-1) result\r\n" + " FROM\r\n" + " (SELECT * FROM t_oa_user where FIND_IN_SET(id,(select CONCAT(canyuze,',',liexize,',',zhuchiren) from t_oa_meeting_info where id="+back.getMeetingId()+" and FIND_IN_SET(state,('4,5,6'))))) t1\r\n" + " LEFT JOIN t_oa_meeting_feedback f on t1.id=f.personId and f.meetingId ="+back.getMeetingId()+") t\r\n" + " GROUP BY t.result"; return super.executeQuery(sql, null); } @Override public int add(MeetingFeedBack back) throws Exception { String sql="insert into t_oa_meeting_feedback VALUES(?,?,?,?,?,?)"; back.setId(UUID.randomUUID().toString().replaceAll("-", "")); return super.executeUpdate(sql, back, new String[] {"id","meetingId","personType","personId","result","reason"}); } }