基于springboot的会议室预约管理系统

摘  要

中国经济迅速发展,各方面都取得了值得骄傲的进步,随着互联网的飞速发展,当前网络信息也越来越普及,无论是乡下还是城市,都有许多的人了解或是正在使用互联网。计算机成为了辅助类工具中的最佳。它方便快捷,操作简单且价格公道。致使越来越多的人能够购买计算机。疫情的结束使人们的生活逐渐回复稳固,还使社会发展的速度十分迅猛,竞争也变得越来越激烈。不管是企业还是事业单位,内部会议变得越来越多,会议信息的数量也在不断的增加。然而,在会议管理工作越加繁重的情况下,仍有些企业或者单位处于无系统管理的状态,出现了很多弊端,比如效率低下,易出错,不易管理。在这种形势下,提高会议管理是不容忽视的。该会议室预定系统是基于SSM + Spring Boot平台框架。本系统主要是为了提高会议室的利用率,减少各部门因会议室的使用时间而引发的冲突,对公司造成不必要的经济损失。

同时,本系统提供极其完善的多用户功能,会议室预约系统具有两种登录身份,分别是管理员和普通用户。用户可以进行会议室预定、会议信息查询、预约记录查询、预约会议室、取消预约申请。管理员除了具备用户的基本功能外,还可以会议室信息管理、用户注册管理、预约记录查询、预约审核管理等。为进一步完善会议室预约系统及信息资源的统一管理,更加全面、更加有效的服务于软件开发过程,更好的方便软件开发过程中的管理,故开发此会议室预约系统。

经过本人的综合考虑和研究,会议室预约系统的设计是基于java+mysql数据库+tomcat服务器+基于Java SSM和Spring Boot架构的会议室预约方式设计,以ieda为开发工具。系统是基于面向对象编程(Java面向对象)的web应用程序。本系统是根据会议室相关的业务流程等需求设计并实现业务。在过去公司使用传统人工的方式进行对会议室进行管理,这种方式存在着许多的缺点例如:效率低占用大家时间、保密性差,另外时间一长将产生大量的冗余问题例如:大量的信息不知道从何处查询,这对于查找业务、更新和维护会议室都带来了不少的困难。如今采用计算机进行信息化数据的管理,大大提高了管理的方便性、数据的安全性等,而且也适应了当今社会信息化高速发展的特征。

【关键词】会议室预约系统,SSM, spring booot,jsp编程技术, mysql数据库

Abstract

China's rapid economic development, all aspects have made great progress, with the rapid development of the Internet, the current network is more and more popular, the computer has become the best auxiliary tools. The end of the epidemic has gradually restored people's lives to stability, but also made the speed of social development very fast, and the competition has become increasingly fierce. Whether enterprises or institutions, internal meetings are becoming more and more, and the number of meeting information is also increasing. However, in the case of meeting management work more and more onerous, there are still some enterprises or units in the state of no system management, there are many drawbacks, such as low efficiency, easy to make mistakes, not easy to manage. In this situation, the improvement of meeting management is not negligible. The conference room reservation system is based on JS platform framework. The main purpose of this system is to improve the utilization rate of meeting rooms and reduce the conflicts caused by the use time of meeting rooms, causing unnecessary losses.

At the same time, the system provides perfect multi-user function, with two login identities, respectively administrator and ordinary user. Users can reserve meeting rooms, query meeting information, query reservation records, reserve meeting rooms, and cancel reservations. In addition to the basic functions of the user, the administrator can also manage conference room information, user registration management, appointment record query, appointment review management, etc. In order to further improve the conference room reservation system and the unified management of information resources, more comprehensive and effective service in the software development process, better facilitate the software development process management, so the development of the conference room reservation system.

After my comprehensive consideration and research, the design of meeting room reservation system is based on java+mysql database +tomcat server + Java SSM architecture of meeting room reservation design, with ieda as the development tool. The system is a web application based on object-oriented programming. This system is designed and implemented according to the requirements of meeting room related business processes. In the past, the traditional manual way was used for booking. This way has many shortcomings, such as low efficiency, poor confidentiality, and a large number of problems after a long time, which brought a lot of difficulties for finding business, updating and maintenance. Now the use of computer information data management, improve the convenience of management, security, but also adapt to the characteristics of the rapid development of information society. [Key words] Housekeeping financial management system, SSM, spring booot, jsp programming technology, mysql database

Key wordsMeeting room reservation system, SSM, spring booot, jsp programming technology, mysql database

目  录

摘  要

Abstract

第1章 绪论

1.1 课题的目的及意义

1.1.1 课题的目的

1.1.2 课题的意义

1.2 研究现状

1.3 本课题主要研究内容

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 系统需求

2.2.1 用户需求

2.2.2 用例分析

2.2.3 系统功能分析

2.2.4 功能描述

2.3 开发工具介绍

2.3.1 J2SE平台

2.3.2 IDEA简介

2.3.3 SSM简介

2.3.4 jsp嵌入式脚本

2.3.5 数据库选型

2.4 本章小结

第3章 总体设计

3.1 系统功能模块设计

3.2 数据库设计

3.2.1 设计依据

3.2.2 数据库的概念结构设计

3.2.3 数据库的逻辑结构设计

3.3 本章小结

4章 详细设计

4.1 用户各功能模块

4.1.1登录功能模块的实现

4.1.2首页模块的实现

4.1.3会议室信息

4.1.4预约记录查询

4.1.5预约会议室

4.1.6取消预约申请

4.2 管理员各功能模块的实现

4.2.1首页

4.2.2 会议室信息管理

4.2.3预约审核管理

4.2.4预约记录查询

4.2.5用户注册模块的实现

4.2.6退出系统

4.3 本章小结

第5章 系统测试

5.1 系统测试的基本原则

5.2 软件测试方法

5.3 系统测试用例

5.4 本章小结

结  论

致  谢

参考文献

附 录 1

附 录 2

附 录 3

第1章 绪论

1.1 课题的目的及意义

1.1.1 课题的目的

对于互联网技术和计算机科学技术迅速发展的二十一世纪来说,越来越多的事情得益于计算机网络技术而被快速并且完美地解决了。与此同时,随着互联网快速的增长发展,在当前的互联网上存在极其海量的数据信息。当用户想要进行数据信息的筛选的时候,一般会通过搜索引擎进行查找。但是通过搜索引擎所搜索到的信息总是被动的信息,有的时候还需要进行多个网页的反复对比筛查才能够找到自己想要的那一份信息,甚是耗时耗力还不讨好。随着计算机网络技术发展日趋的成熟,特别是软件技术的蓬勃的发展,人们完全可以通过一些计算机软件系统或是计算机某些技术在浩如烟海的互联网信息中轻松地筛选找到自己所需要的信息。

对一个企业来说,好的企业管理方式必不可少,信息化的管理方式更是重中之重。“会议室预约系统”便是为企业管理开发出来的一种信息化的管理方式之本系统是为了完成会议室的预定业务开发的。业务核心是对会议室进行管理,为用户提供快速、有效的服务,避免人工处理程序的繁琐及造成的误差,及时反映会议室预定情况,配合现代化的会议室管理来节约人力和精力。然后使得员工的时间掌握更加准确,增强工作效率,为公司创造最大的利益。

1.1.2 课题的意义

随着疫情的结束,各企业也是百废待兴,而卷文化的横空出世更是加剧了员工们的工作效率,随之而来的是竞争也变得越来越激烈。内部会议变得越来越多,会议信息的数量也在不断的增加,会议管理工作也越加繁重。

会议室预定系统是由计算机进行管理的,包括预定会议室使用时间,会议的主题,参加会议的人员,会议室所在位置等。它的优势很明显,比如用户利用计算机登录会议室预定系统,就可以直接进行会议室预定,能直接避免会议室的使用冲突,方便快捷。从更深层次来讲,就是它能帮助企业更规范化更电子化地管理会议室资源,使会议室的使用率大大提高,让企业的管理制度日趋完善。

本会议室预定系统可以将用户从传统的会议预定方式中解脱出来,将大大减小管理员的工作量,将出错的概率降到最低并提高了管理的效率,使人们有更多时间去获取、了解和掌握其他信息。增加员工的工作效率。

1.2 研究现状

当今社会人们的内卷心理日益强大,想要创造出业绩的心也越来越渴望,随着观念的不断更新,会议也是越开越多,而有的企业并没有与之匹配的会议室数量,这就造成了各种事务来不及处理,导致公司的收益产生了损失,如何使员工能更加方便的预约会议室,查看会议室的使用情况,如何让员工为公司产生更多的利益,一款真正有效的会议室预约系统软件正等待出现。

迄今为止,计算机的功能一直在不断地增强,不停地在进步,其价格却越来越低廉。所以,赖于计算机的人的数量在持续的增长,计算机的运用也越来越广泛。一些比较发达的城市甚至还有无人售货商场,无人售货餐厅等,这都得益于计算机技术的迅速发展。使人们的生活也越发的便捷轻松。

计算机使用如此广泛的因素包括以下几个方面:第一,计算机能够帮助人们完成部分复杂的工作,节约人力资源;其次,计算机能够节省资源,避免不必要的浪费;第三,计算机能够在很大程度提高时间的利用率,减少不必要的时间消耗;第四,计算机能够提高重要文档的安全性等。

目前我国的大部分的企业对于会议室的操作记录还处于在纸质的层面上,而这种体制显然无法追上这个时代成长的脚步,而且还会消耗更多的资源。在信息技术飞速发展的时代,这种陈旧的管理方式终将被基于IT技术的管理方式取而代之。

1.3 本课题主要研究内容

实现本次会议室预约系统过程中主要采用Spring、Spring MVC、MyBatis、spring boot框架,MySQL数据库技术,前台采用html,css,js等技术。首先对项目进行需求分析,通过查阅资料或其他方式来了解与会议室预约相关的过程,了解这个有助于我更好的进行需求分析。接下来分别从可行性分析、性能分析、功能分析这几个方面对系统进行了完善的系统分析。系统分析完毕后就是对各个本系统的各个功能模块进行详细的设计并完成代码编写,最后进行代码简化以及对系统进行系统测试,分别从两个方面对系统进行测试,一个是单元测试,一个是集成测试。本项目的论文的内容大概由以下几个部分组成:(1)绪论:主要对会议室预约系统的开发目的和开发意义以及研究背景,还有对国内外的发展现状进行了充分阐述。(2)系统所用的技术:对本次系统设计的时候所用到的一些主流技术进行简要的概括讲解,以及对比其他相似的技术来说,运用这些技术的一些好处与如何便捷。(3)需求分析:先对项目进行可行性的分析,从多个方面分析系统是可以被开发的;在对系统进行功能的分析,分析应该需要拥有的功能以及可以待开发的功能。(4)系统总体设计:系统设计就是对刚刚进行的功能分析后所设计的功能,用代码进行实现。然后再展示出系统数据库里面表的一些基本数据字段以及一些功能结构画图。(5)系统的实现:分别介绍系统所能实现的所有功能,其目的以及如何去操作系统,并且加以配图展现的更加详细,清晰。(6)系统测试:先进行单元测试,待单元测试完善完毕后进行集成测试,来判断系统的功能以及各接口处是否能达到预期的功能效果。

部分图片展示 需要的私信up

 

 

 

@Controller
@RequestMapping("/admin")
public class AdminController {

    @Resource(name = "roomServiceImpl")
    private RoomService roomService;

    @Resource(name = "reservationServiceImpl")
    private ReservationService reservationService;

    @Resource(name = "userServiceImpl")
    private UserService userService;

    /*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<会议室信息管理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
    // 会议室信息显示
    @RequestMapping("/showRoom")
    public String showRoom(Model model, Integer page) throws Exception {

        List<Room> list = null;
        //页码对象
        PagingVO pagingVO = new PagingVO();
        //设置总页数
        pagingVO.setTotalCount(roomService.roomCount());
        if (page == null || page == 0) {
            pagingVO.setToPageNo(1);
            list = roomService.findByPaging(1);
        } else {
            pagingVO.setToPageNo(page);
            list = roomService.findByPaging(page);
        }

        model.addAttribute("roomList", list);
        model.addAttribute("pagingVO", pagingVO);

        return "/admin/showRoom";
    }

    //搜索会议室
    @RequestMapping(value = "/queryRoom", method = {RequestMethod.POST})
    private String queryRoom(String findByName, Model model) throws Exception {

        List<Room> list = roomService.findByName(findByName);

        model.addAttribute("roomList", list);
        return "/admin/showRoom";
    }

    //添加会议室页面跳转
    @RequestMapping(value = "/addRoom", method = {RequestMethod.GET})
    public String addRoom(Model model) throws Exception {

        return "/admin/addRoom";
    }

    //添加会议室业务实现
    @RequestMapping(value = "/addRoom", method = {RequestMethod.POST})
    public String addRoom(Room room, Model model) throws Exception {

        roomService.add(room);

        return "redirect:/admin/showRoom";
    }

    // 修改会议室信息页面显示
    @RequestMapping(value = "/editRoom", method = {RequestMethod.GET})
    public String editRoomUI(Integer id, Model model) throws Exception {
        if (id == null) {
            return "redirect:/admin/showRoom";
        }
        Room room = roomService.findById(id);
        model.addAttribute("roomList", room);

        return "/admin/editRoom";
    }

    // 修改会议室信息页面处理
    @RequestMapping(value = "/editRoom", method = {RequestMethod.POST})
    public String editRoom(Room room) throws Exception {
        roomService.updateById(room);

        //重定向
        return "redirect:/admin/showRoom";
    }

    // 删除会议室信息
    @RequestMapping("/removeRoom")
    public String removeRoom(Integer id) throws Exception {
        if (id == null) {
            //加入没有带教师id就进来的话就返回教师显示页面
            return "/admin/showRoom";
        }
        roomService.removeById(id);

        return "redirect:/admin/showRoom";
    }

    /*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<会议室预约管理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
    //查询所有待审核预约记录
    @RequestMapping("/showReservation")
    public String findAllReservation(Model model, Integer page) throws Exception {
        List<ReservationVo> list = null;
//        List<ReservationVo> list = reservationService.findByPaging(page);
        //页码对象
        PagingVO pagingVO = new PagingVO();
        //设置总页数
        pagingVO.setTotalCount(reservationService.reservationCount());
        if (page == null || page == 0) {
            pagingVO.setToPageNo(1);
            list = reservationService.findByPaging(1);
        } else {
            pagingVO.setToPageNo(page);
            list = reservationService.findByPaging(page);
        }

        model.addAttribute("reservationList", list);
        model.addAttribute("pagingVO", pagingVO);

        return "/admin/showReservation";
    }

    //搜索借用人
    @RequestMapping(value = "queryUser", method = {RequestMethod.POST})
    private String queryUser(String findByName, Model model) throws Exception {

        List<Reservation> list = reservationService.findByName(findByName);

        model.addAttribute("reservationList", list);
        return "/admin/showReservation";
    }

    //同意会议室申请
    @RequestMapping("/reviewReservation")
    public String reviewReservation(Integer id) throws Exception {
        reservationService.reviewReservation(id);
        return "redirect:/admin/showReservation";
    }

    //查询所有审核通过预约记录
    @RequestMapping("/showRecord")
    public String findRecord(Model model, Integer page) throws Exception {
        List<ReservationVo> list = null;

        //页码对象
        PagingVO pagingVO = new PagingVO();
        //设置总页数
        pagingVO.setTotalCount(reservationService.reservationPassCount());
        if (page == null || page == 0) {
            pagingVO.setToPageNo(1);
            list = reservationService.findRecord(1);
        } else {
            pagingVO.setToPageNo(page);
            list = reservationService.findRecord(page);
        }

        model.addAttribute("recordList", list);
        model.addAttribute("pagingVo", pagingVO);

        return "/admin/showRecord";
    }

    /*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<用户信息管理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
    //添加新用户
    @RequestMapping(value = "/userRegister", method = {RequestMethod.GET})
    public String userRegister(Model model) throws Exception {
        return "/admin/userRegister";
    }

    @RequestMapping(value = "/userRegister", method = RequestMethod.POST)
    public String userRegister(User user) throws Exception {
        if (user.getId() != null && user.getId() != "" && user.getPassword() != null && user.getPassword() != "") {
            userService.addNewUser(user);
        }
        return "redirect:/admin/userRegister";
    }
}

@Controller
public class LoginController {

    //登录跳转
    @RequestMapping(value = "/login", method = {RequestMethod.GET})
    public String loginUI() throws Exception {
        return "../../login";
    }

    //登录表单处理
    @RequestMapping(value = "/login", method = {RequestMethod.POST})
    public String login(User user) throws Exception {

        //Shiro实现登录
        UsernamePasswordToken token = new UsernamePasswordToken(user.getId(),user.getPassword());
        Subject subject = SecurityUtils.getSubject();

        //如果获取不到用户名就是登录失败,但登录失败的话,会直接抛出异常
        subject.login(token);

        if (subject.hasRole("admin")) {
            return "redirect:/admin/showRoom";
        } else if (subject.hasRole("ordinary")) {
            return "redirect:/ordinary/showRoom";
        }

        return "/login";
    }
    @GetMapping("/logout")
    public String logout(HttpSession session){
        return "redirect:login";
    }

}

/**
 *
 */
@Controller
@RequestMapping("/ordinary")
public class OrdinaryController {

    @Resource(name = "roomServiceImpl")
    private RoomService roomService;

    @Resource(name = "reservationServiceImpl")
    private ReservationService reservationService;

    @Resource(name = "userServiceImpl")
    private UserService userService;

    /*<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<会议室信息管理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
    // 会议室信息显示
    @RequestMapping("/showRoom")
    public String showRoom(Model model, Integer page) throws Exception {

        List<Room> list = null;
        //页码对象
        PagingVO pagingVO = new PagingVO();
        //设置总页数
        pagingVO.setTotalCount(roomService.roomCount());
        if (page == null || page == 0) {
            pagingVO.setToPageNo(1);
            list = roomService.findByPaging(1);
        } else {
            pagingVO.setToPageNo(page);
            list = roomService.findByPaging(page);
        }

        model.addAttribute("roomList", list);
        model.addAttribute("pagingVO", pagingVO);

        return "/ordinary/showRoom";
    }

部分的代码实现   需要源码和论的  私信

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
项目描述 基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统是为座位管理打造的一款在线管理平台,它可以实时完成信息处理,使其系统化和规范化。 系统功能说明 管理员 1、用户管理 管理员可以新增、删除管理员 管理员可以删除学生 2、自习室管理 管理员可以新增自习室、设置自习室的座位数量、开放时间,对自习室进行管理 管理员可以管理学生的预订情况、可以强制退订 3、学院班级管理 管理员可以新增、修改、删除学院、班级(实际上这部分数据应该来源于教务系统) 4、个人管理 管理员可以对自己信息进行修改 学生 1、自习室管理 学生可以查看自习室座位的预定情况并进行预定 学生可以查看自己的预定情况,并退订 2、个人信息管理 学生可以修改自己的用户信息 需改进之处 1、学生在预定座位后,无法判断是否按时去座位学习,可加入学生签到打卡功能。 2、学生在预定座位后,如未去学习,该作为在该时间段无法被其他同学预约,浪费公共资源,可加入学生信用的功能,指定信用分之下禁止预定座位 3、到学期末座位紧张,可考虑加入学生求座功能,管理员精确控制自习室的情况,以保证作为供应充足(实际上还需要教室资源充足) 4、可加入学生留言功能,方便接收更好的建议 5、...... 运行环境 jdk8+tomcat8+mysql5.7+IntelliJ IDEA+maven 项目技术(必填) 服务端:SpringBoot + mybatis-plus + thymeleaf 前端:layui + jquery 数据库文件(可选) 项目中包含了 资源包文件(可选) MySQL5下载链接:https://pan.baidu.com/s/1cuu0F2RM_DulSz2Tk1fXIA 提取码:jcxs Maven3.6.0下载链接:https://pan.baidu.com/s/1vmEo2EB2kvNB1v4IowILRQ 提取码:67mg 运行视频(可选) 链接: https://pan.baidu.com/s/1H2Fmvk5Z-kANnAkqSooYHQ?pwd=xwex 提取码: xwex

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值