各位同学大家好,学完这一章的内容,线下会议模块的开发任务就全都结束了。这一章的内容挺新颖的,前端页面有周日历和甘特图,后端项目的SQL语句写起来挺复杂的,而且emos-api项目还要调用工作流项目的Web方法,我们甚至用上了异步线程技术。看来在这一章,我们确实学到了以前不知道的技术。下面咱们就一起回顾一下,这一章的重点内容是什么。
这一章的内容技术含量确实挺高的,特别是前端页面的设计,非常有技巧。由于咱们这个课程侧重后端程序,所以没有太多时间给大家讲解前端页面的排版设计。如果同学们有时间,一定要好好看看VUE页面的代码,肯定对你会起到帮助的。
一、掌握了SQL中把多条记录合并的办法
前端页面显示周日历和甘特图的时候,对会议记录的格式有特殊要求,一定得是方便循环,方便条件判断的。所以我们编写SQL语句查询数据,就得用点绝技才行。比如说把多个字段整合成一个字段,这个字段是JSON对象格式的。然后再把多个会议室的会议记录合并成JSON数组格式。这样的数据格式,前端页面用起来特别的舒服,但是SQL语句可一点都不好写,咱们自己是深有体会。
二、用甘特图和周日历展示会议记录
线下会议页面有两种展现形式,一种是日程表,另一种是周日历。日程界面显示为甘特图,我们能看到当天每个会议室的预约情况,而周日历界面是查看某个会议室7天的预约情况。无论甘特图还是周日历,显示数据的时候都要用上好多for循环和条件判断,才最终把数据显示出来。
三、任意员工创建线下会议申请
除了显示会议记录还不行,我们还能创建会议申请。在弹窗页面里面,我们写好申请信息,Ajax就会把数据提交给后端的Java项目。会议申请写到数据表里很简单,但是这个会议申请得有人审批,这就需要工作流项目了。我们用异步线程向工作流项目提交数据,工作流项目创建工作流实例。等将来我们做工作审批模块的时候,就能看到员工提交的会议申请了。现在咱们只是先申请,不用管审批,那是后面章节的事情。
四、会议申请人删除线下会议申请
会议申请一旦创建是不能再修改的,但是申请人可以删除申请,起到撤回申请的目的。删除会议申请是有前提条件的,首先必须申请人才有资格删除会议,而且会议必须得是1和3状态,距离会议开始时间大于20分钟,满足这三个条件,才能删除会议记录。跟创建会议申请类似,我们还是需要用异步线程去调用工作流项目的web方法。让工作流项目删除定时器、关闭工作流实例。
五、线上会议模块的CRUD功能
这一章咱们实现了线下会议模块,那与之对应的线上会议模块是不是也要做一下?没错,当然要做线上会议模块。只不过线上会议模块的页面还是以表格为主,跟用户管理、角色管理哪些页面布局相同,技术含量不高,而且大家还有线下会议模块的经验,那么大家自己照着手册做线上会议模块应该没什么问题。如果有问题大家可以在问答区或者QQ群里面留言提问。好了以上这些就是本章的重点内容了,各位同学们,咱们下一章再见吧。