目录

一、待开会议

1、SQL语句

2、dao方法

3、web层

4、js代码

5、jsp文件

6、运行效果

二、所有会议

1、SQL语句

2、dao方法

3、web层

4、js代码

5、jsp

6、运行效果


待开会议:登录人员,属于参与者列席者或者主人其中一个时,并且会议状态为待开时,要将数据查询出来。

所有会议:登录人员,属于参与者列席者或者主人其中一个时,要将数据查询出来。

一、待开会议

1、SQL语句

待开会议
与我的会议的区别在于,待开会议需要匹配3个数据库列段

SELECT CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren),a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren,
b.name zhuchirenname ,
a.location,
DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,
DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,a.state
,(case a.state
when 0 then'取消会议'
when 1 then'新建'
when 2 then'待审核'
when 3 then'驳回'
when 4 then'待开'
when 5 then'进行中'
when 6 then'开启投票'
when 7 then'结束会议'
else '其他' end) meetingstate,
a.seatPic,a.remark,a.auditor,
c.name auditorname from t_oa_meeting_info a
inner join t_oa_user b on a.zhuchiren =b.id
left join t_oa_user c on a.auditor = c.id where 1=1
and a.state=4 and FIND_IN_SET
(6,CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren))

2、dao方法


//  通用的会议查询SQL语句,包含会议信息表数据,主持人姓名、审批人姓名、会议状态private String getSQL() {return "SELECT a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren,b.`name`,a.location\r\n" + ",DATE_FORMAT(a.startTime,'%Y-%m-%d %H:%i:%s') as startTime\r\n" + ",DATE_FORMAT(a.endTime,'%Y-%m-%d %H:%i:%s') as endTime\r\n" + ",a.state\r\n" + ",(case a.state\r\n" + "when 0 then '取消会议'\r\n" + "when 1 then '新建'\r\n" + "when 2 then '待审核'\r\n" + "when 3 then '驳回'\r\n" + "when 4 then '待开'\r\n" + "when 5 then '进行中'\r\n" + "when 6 then '开启投票'\r\n" + "else '结束会' end\r\n" + ") as meetingState\r\n" + ",a.seatPic,a.remark,a.auditor,c.`name` as auditorName\r\n" + "FROM t_oa_meeting_info a\r\n" + "inner join t_oa_user b on a.zhuchiren = b.id\r\n" + "left JOIN t_oa_user c on a.auditor = c.id where 1=1 ";}//   待开会议public List<Map<String,Object>> queryMeetingInfoByState(MeetingInfo info,PageBean pageBean) throws Exception{String sql=this.getSQL();String title = info.getTitle();//按照会议标题模糊查询if(StringUtils.isNotBlank(title))sql+=" and title like '%"+title+"%'";//根据当前登陆用户ID作为主持人字段的条件String zhuchiren = info.getZhuchiren();if(StringUtils.isNotBlank(zhuchiren)) {sql+="and FIND_IN_SET('"+zhuchiren+"',CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren))";}//根据会议状态,查询会议信息Integer state = info.getState();if(state != null) {sql+=" and state = " + state;}//按照会议ID降序排序sql+=" order by a.id desc";return super.executeQuery(sql, pageBean);}

3、web层

//   待开会议public String queryMeetingInfoByState(HttpServletRequest req, HttpServletResponse resp) {try {PageBean pageBean = new PageBean();pageBean.setRequest(req);List<Map<String, Object>> infos = meetingInfoDao.queryMeetingInfoByState(info, pageBean);ResponseUtil.writeJson(resp, R.ok(0, "会议查询成功!!!", pageBean.getTotal(), infos));} catch (Exception e) {e.printStackTrace();try {ResponseUtil.writeJson(resp, R.error(0, "会议查询失败"));} catch (Exception e1) {e1.printStackTrace();}}return null;}

4、js代码

let layer,form,table,$;
var row;
layui.use(['layer','form','table'],function(){layer=layui.layer,form=layui.form,table=layui.table,$=layui.jquery;//初始化会议列表initMeeting();//绑定查询按钮的点击事件$('#btn_meeting_search').click(function(){query();});
});//1.初始化会议列表
function initMeeting(){table.render({           //执行渲染elem: '#tb_meeting',   //指定原始表格元素选择器(推荐id选择器)height: 400,         //自定义高度loading: false,      //是否显示加载条(默认 true)cols: [[             //设置表头{field: 'title', title: '会议标题', width: 180},{field: 'location', title: '会议地点', width: 120},{field: 'startTime', title: '开始时间', width: 180},{field: 'endTime', title: '结束时间', width: 180},{field: 'meetingState', title: '会议状态', width: 90},{field: 'name', title: '主持人', width: 120},//{field: '', title: '操作', width: 260, toolbar: '#tbMeeting'}]]});
}//2.待开会议
function query(){table.reload('tb_meeting', {url: 'info.action',     //请求地址method: 'POST',                    //请求方式,GET或者POSTloading: true,                     //是否显示加载条(默认 true)page: true,                        //是否分页where: {                           //设定异步数据接口的额外参数,任意设'methodName':'queryMeetingInfoByState','title':$('#title').val(),'zhuchiren':$('#userid').val(),'state':4},request: {                         //自定义分页请求参数名pageName: 'page', //页码的参数名称,默认:pagelimitName: 'rows' //每页数据量的参数名,默认:limit},done: function (res, curr, count) {//查询完成的回调函数}});
}

5、jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@include file="/common/header.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/meeting/meetingWaiting.js"></script>
</head>
<style>
body{margin:15px;
}
.layui-table-cell {height: inherit;}
.layui-layer-page .layui-layer-content {  overflow: visible !important;}
</style>
<body><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">会议标题:</label><div class="layui-input-inline"><input type="hidden" id="userid" value="${sessionScope.user.id }"/><input type="text" id="title" autocomplete="off"class="layui-input"></div></div><div class="layui-inline"><button id="btn_meeting_search" class="layui-btn layui-btn-normal"><i class="layui-icon"></i> 查询</button></div></div><table style="margin-top: -15px;" id="tb_meeting" lay-filter="tb_meeting"></table>
</body>
</html>

6、运行效果

二、所有会议

1、SQL语句

SELECT a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren,
b.name zhuchirenname ,
a.location,
DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,
DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,a.state
,(case a.state
when 0 then'取消会议'
when 1 then'新建'
when 2 then'待审核'
when 3 then'驳回'
when 4 then'待开'
when 5 then'进行中'
when 6 then'开启投票'
when 7 then'结束会议'
else '其他' end) meetingstate,
a.seatPic,a.remark,a.auditor,
c.name auditorname from t_oa_meeting_info a
inner join t_oa_user b on a.zhuchiren =b.id
left join t_oa_user c on a.auditor = c.id where 1=1
and FIND_IN_SET
(6,CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren,',',IFNULL(a.auditor,-1)))

2、dao方法

//   通用的会议查询SQL语句,包含会议信息表数据,主持人姓名、审批人姓名、会议状态private String getSQL() {return "SELECT a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren,b.`name`,a.location\r\n" + ",DATE_FORMAT(a.startTime,'%Y-%m-%d %H:%i:%s') as startTime\r\n" + ",DATE_FORMAT(a.endTime,'%Y-%m-%d %H:%i:%s') as endTime\r\n" + ",a.state\r\n" + ",(case a.state\r\n" + "when 0 then '取消会议'\r\n" + "when 1 then '新建'\r\n" + "when 2 then '待审核'\r\n" + "when 3 then '驳回'\r\n" + "when 4 then '待开'\r\n" + "when 5 then '进行中'\r\n" + "when 6 then '开启投票'\r\n" + "else '结束会' end\r\n" + ") as meetingState\r\n" + ",a.seatPic,a.remark,a.auditor,c.`name` as auditorName\r\n" + "FROM t_oa_meeting_info a\r\n" + "inner join t_oa_user b on a.zhuchiren = b.id\r\n" + "left JOIN t_oa_user c on a.auditor = c.id where 1=1 ";}//   所有会议public List<Map<String,Object>> allInfos(MeetingInfo info,PageBean pageBean) throws Exception{String sql=this.getSQL();String title = info.getTitle();//按照会议标题模糊查询if(StringUtils.isNotBlank(title))sql+=" and title like '%"+title+"%'";//根据当前登陆用户ID作为主持人字段的条件String zhuchiren = info.getZhuchiren();if(StringUtils.isNotBlank(zhuchiren)) {sql+="and FIND_IN_SET('"+zhuchiren+"',CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren,',',IFNULL(a.auditor,-1)))";}//按照会议ID降序排序sql+=" order by a.id desc";System.out.println(sql);return super.executeQuery(sql, pageBean);}

3、web层

//   所有会议public String allInfos(HttpServletRequest req, HttpServletResponse resp) {try {PageBean pageBean = new PageBean();pageBean.setRequest(req);List<Map<String, Object>> infos = meetingInfoDao.allInfos(info, pageBean);ResponseUtil.writeJson(resp, R.ok(0, "会议查询成功!!!", pageBean.getTotal(), infos));} catch (Exception e) {e.printStackTrace();try {ResponseUtil.writeJson(resp, R.error(0, "会议查询失败"));} catch (Exception e1) {e1.printStackTrace();}}return null;}

4、js代码

let layer,form,table,$;
var row;
layui.use(['layer','form','table'],function(){layer=layui.layer,form=layui.form,table=layui.table,$=layui.jquery;//初始化会议列表initMeeting();//绑定查询按钮的点击事件$('#btn_meeting_search').click(function(){query();});
});//1.初始化会议列表
function initMeeting(){table.render({           //执行渲染elem: '#tb_meeting',   //指定原始表格元素选择器(推荐id选择器)height: 400,         //自定义高度loading: false,      //是否显示加载条(默认 true)cols: [[             //设置表头{field: 'title', title: '会议标题', width: 180},{field: 'location', title: '会议地点', width: 120},{field: 'startTime', title: '开始时间', width: 180},{field: 'endTime', title: '结束时间', width: 180},{field: 'meetingState', title: '会议状态', width: 90},{field: 'name', title: '主持人', width: 120},//{field: '', title: '操作', width: 260, toolbar: '#tbMeeting'}]]});
}//2.查询所有会议
function query(){table.reload('tb_meeting', {url: 'info.action',     //请求地址method: 'POST',                    //请求方式,GET或者POSTloading: true,                     //是否显示加载条(默认 true)page: true,                        //是否分页where: {                           //设定异步数据接口的额外参数,任意设'methodName':'allInfos','title':$('#title').val(),'zhuchiren':$('#userid').val()},request: {                         //自定义分页请求参数名pageName: 'page', //页码的参数名称,默认:pagelimitName: 'rows' //每页数据量的参数名,默认:limit},done: function (res, curr, count) {//查询完成的回调函数}});
}

5、jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@include file="/common/header.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/meeting/meetingAll.js"></script>
</head>
<style>
body{margin:15px;
}
.layui-table-cell {height: inherit;}
.layui-layer-page .layui-layer-content {  overflow: visible !important;}
</style>
<body><div class="layui-form-item"><div class="layui-inline"><label class="layui-form-label">会议标题:</label><div class="layui-input-inline"><input type="hidden" id="userid" value="${sessionScope.user.id }"/><input type="text" id="title" autocomplete="off"class="layui-input"></div></div><div class="layui-inline"><button id="btn_meeting_search" class="layui-btn layui-btn-normal"><i class="layui-icon"></i> 查询</button></div></div><table style="margin-top: -15px;" id="tb_meeting" lay-filter="tb_meeting"></table>
</body>
</html>

6、运行效果

会议OA之待开会议所有会议相关推荐

  1. 会议OA项目(待开会议历史会议所有会议)

                                                                    文章目录 一.会议OA项目名词介绍 二.SQL编写 待开会议SQL 所有 ...

  2. 会议OA(待开会议所有会议)

    目录 待开会议: 所有会议 ​编辑 待开和所有会议功能实现 前台 哈喽大家好~~我来啦~~今天给大家分享我们会议0A的最后一期啦!!! 是我们会议的待开会议和我们的所有会议!!! 待开会议: 与我的会 ...

  3. 会议OA之会议排座送审

    目录 最近这段时间一直都在与大家分享会议OA项目,今天继续分享关于会议OA项目的一个亮点功能,会议排座.以及一个送审功能. 一.会议排座 二.送审 最近这段时间一直都在与大家分享会议OA项目,今天继续 ...

  4. 会议OA项目(六)--- (待开会议、历史会议、所有会议)

    前言 上一篇分享了会议通知以及会议反馈,根据需求来今天应该到了,历史会议.待开会议以及所有会议了. 一.需求分析 历史会议:登录人员,属于参与者列席者或者主人其中一个时,并且会议状态为已结束时,要将数 ...

  5. 会议OA项目之待开会议所有会议

    目录 一.待开和所有会议SQL语句编 二.待开和所有会议功能实现 1.待开会议 后台 前台 2.所有会议 后台 前台 一.待开和所有会议SQL语句编写 1.待开会议 待开会议: 与我的会议的区别在于, ...

  6. 会议OA项目(三)---我的会议(会议排座、送审)

    目录 前言 一.需求分析 二.准备工作 三.编码 1.后台编码 2.前端编码 四.效果展示 前言 上篇分享了会议OA项目的我的会议功能的查询.取消会议.本篇文章将完善我的会议功能. 我的会议功能有一个 ...

  7. 会议OA项目(项目原型图介绍发布会议功能)

    目录 一.会议OA项目介绍 为什么要开发OA会议管理 会议OA管理的作用 二.项目原型图介绍 1)会议管理 2)投票管理 3)会议室管理 三.数据库表结构 四.发布会议功能&多功能下拉框 La ...

  8. 微信小程序:会议OA项目-首页

    目录 一.flex布局 Flex布局简介 什么是flex布局? flex属性 flex的属性 二.轮播图组件及mockjs的使用 三.会议OA小程序首页布局 一.flex布局 Flex布局简介 布局的 ...

  9. 会议OA项目之会议通知会议反馈反馈详情功能

    目录 一.需要的SQL语句 1.1 会议通知查询的SQL 1.2 反馈详情的SQL 二.会议通知的前台代码 2.1 会议通知的jsp文件 2.2 要封装的js文件 三.会议通知查询的后台代码 2.1  ...

最新文章

  1. glance-50(秒解秒懂)
  2. android 定时器5秒执行一次,如何在android中每30秒执行一次查询?
  3. Vmware虚拟机中CentOS7与Docker安装图文教程
  4. java 并发模型总类_java并发编程系列-内存模型基础
  5. vim如何自动补全,ycm配置
  6. SpringCloud创建Eureka模块集群
  7. Unity枚举和字符串的相互转换
  8. java 判断object类型_Java多态的6大特性|乐字节
  9. python+tensorflow+captcha库:基于TF快速破解验证码
  10. 《嵌入式系统可靠性设计技术及案例解析》读书笔记(七)
  11. 华为鸿蒙os2.0公测结果,网友收到华为鸿蒙 OS 2.0 手机开发者 Beta 公测邮件
  12. 前端 JavaScript 复制粘贴的奥义——Clipboard 对象概述
  13. 非酋用计算机弹唱,非酋简谱 薛明媛/朱贺 听说爱情就是这样子
  14. matlab使用xlsread报错,matlab的IO操作复习
  15. python编写一个汽车类_python实现汽车管理系统
  16. swing宾馆客房管理系统(文档)
  17. 怎么给照片加眼镜(二):3D眼镜模型合成法
  18. QGraphicsView 如何实现百度地图按照鼠标点进行放大缩小效果
  19. Oracle常用文档整理
  20. 关于密钥和密钥管理的常见问题及解答

热门文章

  1. J2EE: JCA (Java Connector Architecture) [转]
  2. 正则表达式来匹配以字母开头,以逗号结尾的字符串
  3. Flutter之路由跳转(上)
  4. Chromium GN入门学习(本文参考于谷歌Brett Wilson PPT学习资料及谷歌官网文档)
  5. 高端又易学的vbs表白程序了解一下
  6. 获取bing背景图片
  7. 利用伪元素给图片在鼠标悬停时添加背景图片
  8. 谈恋爱与IT项目管理
  9. golang---锁
  10. ListView 选择模式