当前位置: 首页 > news >正文

Layui实现OA会议系统之会议管理模块总合

目录

一、项目背景

二、项目概述

1. 概述

2. 环境搭建

3. 工具类引用

4. 功能设计

4.1 会议发布

4.2 我的会议

4.3 会议审批

4.4 会议通知

4.5 待开会议

4.6 历史会议

4.7 所有会议

5. 性能优点

 5.1 兼容性好

 5.2 可维护性和可扩展性

 5.3 轻量灵活

 5.4 模块化设计

5.5 简单易用

三、项目资源


一、项目背景

        会议是公司日常管理的重要手段之一,为了更好的协调部门与部门之间、员工与员工之间的工作,并保证公司的日常事物高效并且有序的进行。小威决定实施会议OA系统;希望通过这个系统完成会议发起、审批、进行、会议室管理的规范化管理;

        该系统的目标是提供一个高效、便捷的会议管理平台,以满足公司内部会议的需求。该系统可以帮助公司管理会议的时间、地点、主题、参与者等信息,从而提高会议的效率和准确性。预期用户群体包括公司内部的各个部门和员工,特别是需要频繁参加会议的人员。该系统的预期效益包括提高会议的效率、减少会议的时间和成本、提高会议的准确性和可靠性等。通过使用OA会议系统,公司可以更好地管理会议,提高工作效率,从而更好地服务客户和实现公司的业务目标。

二、项目概述

1. 概述

        本系统采用MySQL数据库,使用Java EE进行开发,采取B/S架构。数据库设计原则上符合第三范式,且规范,易于维护。 程序使用MVC模式,采用三层架构,保证系统的可维护性和可扩展性。本系统共有四大模块:会议管理、投票管理、会议室管理以及用户管理,本次主要讲解负责的是会议管理模块。

2. 环境搭建

  • commons-beanutils-1.8.0.jar : 

        主要提供了一些操作 Java Bean 的工具类,它提供的工具类和注解,大大简化了 Bean 的创建、属性的读取、设置以及 Bean 之间的转换等操作。

什么是bean?

bean是JavaBean的简称,指的是可重用的Java类。

具备以下特征即可称为Bean:

  1. 是一个普通的Java类
  2. 拥有私有成员变量
  3. 提供公共的getter和setter方法
  4. 没有状态(无状态)
  5. 可以由第三方实例化和管理

简单来说,bean就是一个普通的Java类,但满足了JavaBean的规范。bean经常被用于框架来管理和创建对象,比如Spring框架就是通过bean来管理对象的生命周期和依赖注入的。

bean在框架中的作用是:

  1. 作为对象的默认创建方式
  2. 作为对象之间的依赖注入
  3. 统一的管理对象的生命周期

因此,bean可以说是框架(如Spring)与应用程序之间的一个 connect。通过定义bean,框架可以为我们实例化和管理对象,起到解耦合的作用。

  • commons-logging.jar:

        它是一个日志记录框架,主要是为了统一日志接口,解耦应用与日志框架,方便集成其他依赖它的项目。(没有它项目将会操作不了,可以运行

  • dom4j.jar:

        是一个Java库,用于处理XML数据。它提供了一种方便的方式来读取、操作和生成XML文档。

  • jaxen-1.1-beta-6.jar:

        它也是提供了一种方便的方式来操作 XML 文档,依赖于dom4j.jar包。

  • jackson-core-2.2.3.jar:

        提供了用于 JSON 数据处理的核心 API。Jackson 是一个流行的 JSON 处理库,可以用于 Java 应用程序中的 JSON 数据的序列化和反序列化。

  1. 将 Java 对象转换为 JSON 格式的数据(序列化)
  2. 将 JSON 格式的数据转换为 Java 对象(反序列化)

  • jackson-databind-2.2.3.jar:

        是一个 Java 库,是 Jackson 库的一个组件,提供了用于将 JSON 数据绑定到 Java 对象和将 Java 对象序列化为 JSON 数据的功能。它建立在 jackson-core 库之上,并提供了更高层次的 API。

  • jstl-1.2.jar:

        是一个标准的 JSP 标签库,提供了一组标签来处理 JSP 中的常见任务,如控制流程 (条件判断、迭代等)、格式化输出、国际化、访问数据库等。

  • MyMVC.jar :

        自定义MVC框架,底层利用反射机制和工厂设计模式,提高代码复用性使项目结构更加清晰。

  • mysql-connector-java-8.0.19.jar:

        它包含了MySQL JDBC驱动程序,它是一个Java类库,用于提供Java应用程序与MySQL数据库之间的通信接口。在Java应用程序中,我们可以通过使用该驱动程序的API来连接数据库、执行SQL语句、读取和写入数据等操作。

  • standard-1.1.2.jar :

        它提供了与Web服务器交互的标准方式,包含了Java Servlet规范中的类和接口。用来处理HTTP请求和响应、会话管理、Cookie处理等。

3. 工具类引用

  • Base64ImageUtils.java : 通过流对象将图片下载到本地并将图片路径保存到对象。
  • BaseDao.java : 该类用来连接数据库执行sql语句,专门为增删改查数据做回显,提高了代码的复用性。
  • BuildTree.java :该类是一个用于构建树形结构的工具类,将传入的节点列表组装成树的形式,用来国建项目中的树形导航栏。
  • EncodingFiter.java : 该类是一个用于处理中文乱码的过滤器,对用户请求和数据响应进行处理,确保字符编码正确。
  • R.java : 因为遵循Layui框架的回显数据原则,该类主要用于简化构建统一的响应结果,方便在项目中使用。
  • ResponseUtil.java : 该工具类适用于Web开发中需要返回JSON数据的场景,可将任意对象转换成JSON格式的字符串并输出。这方便了开发人员在控制器中返回JSON数据给前端页面,实现数据的传输和展示。

4. 功能设计

4.1 会议发布

功能描述:填写会议内容可点击立即提交按钮或者重置按钮清空会议内容
输入要求:需选择参会和列席人员、填写正确时间,除备注内容外其他不可为空,不可输入特殊字符。
约束条件:当前登录的用户默认为会议的主持人,会议有只参会、列席人员和主持人参加并可查看会议,发布后的会议会保存到我的会议功能区待进一步审核。

4.2 我的会议

功能描述:可根据会议标题进行会议分页查询,会议排座,送审、取消(删除会议)、召开会议、会议投票、结束会议和反馈操作,不同的会议状态会显示不同操作功能。
输入要求:需根据需求进行排座,选择正确的送审人
约束条件:当前登入用户只能查看当前用发布的会议,并且会议状态为“待开”和“驳回”。接着必须进行排座后才可进行送审,只有指定送审人才可查看会议审批记录,待会议审核通过后才可查看会议反馈信息,并不能再取消会议。如会议被驳回则需重新排座送审。

4.3 会议审批

功能描述:可根据会议标题进行分页会议查询,点击审批弹出窗口可对会议选择通过还是驳回的审批功能。
约束条件:只能看到送审人为当前登入的用户的会议

4.4 会议通知

功能描述:可根据会议标题进行分页会议查询,点击是否参会按钮弹出窗口可选择保存会议反馈信息或关闭窗口。
输入要求:必须选择人员类型是参会还是列席人员,选择反馈结果如选择不参会需在反馈内容写明原因
约束条件:只有该会议主持人选择的参会人员和主持人才可看到会议信息并显示会议反馈状态

4.5 待开会议

功能描述:可根据会议标题进行会议分页查询,不可对会议进行篡改,请供查看。
约束条件:当前登入的用户只可看到自己发布的会议并会议为待开状态。

4.6 历史会议

功能描述:可根据会议标题进行会议分页查询,不可对会议进行篡改,请供查看。
约束条件:只有会议发布者与会议参与人员可看到会议状态为结束的会议。

4.7 所有会议

功能描述:可根据会议标题进行会议分页查询,不可对会议进行篡改,请供查看。
约束条件:只有会议发布者与会议参与人员可看到会议,不限状态。

5. 性能优点

 5.1 兼容性好

        本系统的应用平台设计中选择B/S结构(指的是浏览器/服务器结构(Browser/Server architecture),它是一种典型的分布式系统架构。该结构特点就是将应用程序业务逻辑和数据储存分布在不同层次上,使得客户端浏览器只需负责显示和处理用户界面,而服务器则负责处理业务逻辑和数据存储。这种结构不需要在客户端安装任何额外的软件,只需使用现代浏览器即可访问Web应用程序。这使得B/S结构更加灵活和易于部署,用户可以通过任何设备和操作系统访问应用程序,兼容性好。

 5.2 可维护性和可扩展性

        本系统基于JAVA技术并且符合Java EE开发规范(指一套Java企业级应用程序开发的标准规范),并采用MVC(Model-View-Controller)架构,这种设计模式将应用程序的不同部分分离开来,使得系统中的不同部分具有高度的耦合性,即彼此之间互不影响,从而使得系统更容易维护。这种设计模式对于大型系统来说尤其重要,因为它可以使得系统更加健壮、可靠、易于维护和扩展。

 5.3 轻量灵活

        本系统采用的是Layui框架进行开发,它属于轻量级框架。Layui框架的核心文件非常小巧,加载速度非常快,这使得网页能够更快地呈现给用户提升用户体验。

 5.4 模块化设计

        Layui框架采用了模块化设计思想,将个人模块功能进行拆分和封装,使得每个模块都具有独立的功能和接口,可以被独立开发、测试和部署,从而提高代码的可读性、可维护性、可扩展性和可重用性。

5.5 简单易用

        Layui框架提供了简洁明了的API接口和丰富的组件库,使得开发者可以快速构建出美观、功能强大的界面。这种简单易用的特性有助于提高开发效率和减少代码量,从而提升网页的性能。

三、项目资源

👉👉👉 OA会议系统之会议管理模块总合源码

相关文章:

Layui实现OA会议系统之会议管理模块总合

目录 一、项目背景 二、项目概述 1. 概述 2. 环境搭建 3. 工具类引用 4. 功能设计 4.1 会议发布 4.2 我的会议 4.3 会议审批 4.4 会议通知 4.5 待开会议 4.6 历史会议 4.7 所有会议 5. 性能优点 5.1 兼容性好 5.2 可维护性和可扩展性 5.3 轻量灵活 5.4 模块化设计…...

fishing之踩坑篇捕获数据不齐全

文章目录 一、问题记录二、解决方法三、更新钓鱼模板四、进行点击邮件五、查看仪表盘免责声明 一、问题记录 通过点击邮件内的链接,提交数据,但是只记录密码,无法记录username 二、解决方法 对于需要被捕获的表单数据,除了inp…...

ppt使用笔记

文章目录 如何让文档好看纯文字绝对不可行多用流程图和效果图切换动画母版音乐视频 作品渐变星空放大镜随机抽奖 其他快捷键 作为一个开发,对这种表现类型的软件一直不太上心,但有些场景要用到ppt,例如述职和项目案例分享。 很直观的体验就是…...

java中的hashmap和concurrenthashmap解析

hashmap的初始化数组大小为16,如果发生哈希冲突的时候在当前的索引后面采用头插法以链表的形式继续插入节点。 concurrenthashmap的结构图如下所示: 本身不是16个节点吗?这里分为两个长度为4的数组,变成了4*4总共16个节点&#x…...

元素2D转3D 椭圆形旋转实现

椭圆旋转功能展示 transform-style: preserve-3d;(主要css代码) gif示例(背景图可插入透明以此实现边框线的旋转) 导致的无法点击遮挡问题可以参考我的另一个文章 穿透属性-----------------------css穿透属性 实时代码展示...

Centos7.9 制作openssh9.2p2 rpm升级包和升级实战

一、背景说明 Centos7.9 默认安装的openssh 版本为7.4p1,经绿盟扫描,存在高危漏洞,需要升级到最新。 官网只提供编译安装包,为了方便升级,先通过编译安装包,制作rpm包,并进行升级 如下为做好…...

JavaScript学习(3)

Web API 是开发人员的梦想。 它可以扩展浏览器的功能它可以极大简化复杂的功能它可以为复杂的代码提供简单的语法 什么是 Web API? API 指的是应用程序编程接口(Application Programming Interface)。 Web API 是 Web 的应用程序编程接口…...

2023华为OD机试真题Java实现【寻找最大价值的矿堆/深度优先搜索】

前言 本题使用Java实现,如果需要Python代码,请点击以下链接 点我 题目 我们规定,0表示空地,1表示银矿、2表示金矿,矿堆表示由相邻的金矿或银矿连接形成的地图。 银矿价值是1 ,金矿价值是2 ,你的目标是找出地图中最大价值的矿堆,并且输出该矿堆的价值 示例1 输入:…...

MyCat概述

1.MyCat概述 MyCat是阿里巴巴的产品,他是开源的、基于Java语言编写的MySQL数据库中间件。可以像使用mysql一样来使用mycat,对于开发人员来说根本感觉不到mycat的存在。 MyCat下载地址:http://dl.mycat.org.cn/ MyCat官网:http:/…...

【LeetCode】【数据结构】单链表OJ常见题型(一)

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》 🌝每一个不曾起舞的日子,都是对生命的辜负。 目录 前言: 【LeetCode】203.移除链表元素 【LeetCo…...

QGraphicsView实现简易地图3『局部加载-地图缩放』

前文链接:QGraphicsView实现简易地图2『瓦片经纬度』 第一篇文章提到过,当地图层级较大时,暴力全加载地图会造成程序卡顿,因此需要实现地图的局部加载。 实现思路:以地图窗口(以下称为视口)为地…...

bash的特性(二)IO重定向与管道

bash的I/O重定向及管道 一、概述 在shell中,最常使用的fd(file descriptor)有三个,标准输入,标准输出,错误输出。进程用文件描述符来管理打开的文件。 名称 文件描述符 标准输入(stdin) 0 键盘,也可以…...

elb 直接配置到后端服务器组

出现上图报错的原因是,前面elb配置了https证书,后端的nginx也配置了证书,导致冲突。 需要修改后端的nginx配置文件,将证书配置注释掉。 如果出现健康检查异常,需要在对应服务器的安全组上配置elb所在的网段的访问权限…...

安卓:BottomNavigationBar——底部导航栏控件

目录 一、BottomNavigationBar介绍 二、BottomNavigationBar的常用方法及其常用类 (一)、常用方法 1. 添加菜单项 2. 移除菜单项 3. 设置选中监听器 4. 设置当前选中项 5. 设置徽章 6. 样式和颜色定制 7. 动画效果 8. 隐藏底部导航栏。 9、设…...

十、用 ChatGPT 辅助写文章

目录 一、实验介绍 二、背景 三、ChatGPT 写作方式 3.1 传统写作方式 3.2 ChatGPT 写作方式...

计算机毕设 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往…...

60多行代码仿制B站首页一个好看的卡片效果

文章目录 1、为啥是这个?2、仿制效果3、实现思路4、代码5、查看B站如何实现 1、为啥是这个? 看到Bilibili首页的一个卡片,看着效果很不错,给人很舒适的感觉。一琢磨貌似也不难,甚至只需要一层 div 就可以实现主要框架…...

Redis内网主从节点搭建

Redis内网主从节点搭建 1、文件上传2、服务安装3、服务启动4、配置主从复制 1、文件上传 内网环境手动上传gcc-c、redis.tar文件 2、服务安装 # 解压 unzip gcc-c.zip unzip gcc_rpm.zip tar -zxvf redis-6.2.13.tar.gz# 安装 cd gcc_rpm/ rpm -ivh *.rpm --nodeps --force…...

ESP32-C2开发板 ESP8684芯片 兼容ESP32-C3开发

C2是一个芯片采用4毫米x 4毫米封装,与272 kB内存。它运行框架,例如ESP-Jumpstart和ESP造雨者,同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统,受到了全球用户的信赖。它由支持Espressif以及所有…...

Zebec 创始人 Sam 对话社区,“Zebec 生态发展”主题 AMA 回顾总结

近日,Zebec Protocol 创始人 Sam 作为嘉宾,与社区进行了以“Zebec 生态发展”为主题的 AMA 对话。Sam 在线上访谈上对 Zebec 路线图、Zebec 质押、NautChain通证进行了解读,并对 Zebec 的进展、生态建设的愿景进行了展望。本文将对本次 AMA 进…...

一台电脑给另外一台电脑共享网络

这里写自定义目录标题 有网的电脑上操作一根网线连接两台电脑没网的电脑上 有网的电脑上操作 右键->属性->共享 如同选择以太网,勾选。确认。 一根网线连接两台电脑 没网的电脑上 没网的电脑为mips&麒麟V10 新增个网络配置ww,设置如下。 …...

AAA 认证

概念 AAA是认证(Authentication)、授权(Authorization)和计费(Accounting)的简称,是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务。 AAA 常见架构...

jvm-程序计数器

1、是什么 4 学习路线 类加载器 内存结构方法区 类堆 对象虚拟机栈程序计数器本地方法栈 执行引擎解释器编译器 热点代码 5 程序计数器–作用 java源代码编译蛏二进制字节码 jvm指令。 对所有平台保持一致性。记住下一条jvm指令的执行地址。寄存器,cpu中读取速度…...

NestJs Debug配置文件

(事缓则圆,人缓则安,语迟则贵,虎行似病,鹰立似睡。清俞万春《荡寇志》) {"version": "0.2.0","configurations": [{"type": "node","request": "launch","name": &quo…...

题解 | #C.idol!!# 2023牛客暑期多校6

C.idol!! 数学 题目大意 正整数 n n n 的双阶乘 n ! ! n!! n!! 表示不超过 n n n 且与 n n n 有相同奇偶性的所有正整数乘积 求对于给定 n n n , ∏ i 1 n i ! ! \prod\limits_{i1}^n i!! i1∏n​i!! 的后缀 0 0 0 个数 解题思路 根据双阶乘的性质&…...

使用filebeat收集并解析springboot日志

序 本文主要研究一下如何使用filebeat收集并解析springboot日志 安装 在官网的下载页面filebeat/downloads提供了一些特定平台的安装包,不过对应linux最为省事的安装方式就是直接下载x86_64压缩包,然后解压即可 wget https://artifacts.elastic.co/d…...

P1993 小 K 的农场

小 K 的农场 题目描述 小 K 在 MC 里面建立很多很多的农场,总共 n n n 个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共 m m m 个),以下列三种形式描述:…...

Spring boot 集成 Skywalking 配置 || Skywalking 打不开【已解决】

一、Skywalking官网 Apache SkyWalking 1.下载Skywalking APM (如果下载最新的,双击打开闪退,选老点的版本) 2. 下载 Skywalking Agents 如果下载太慢,建议复制下载链接,然后用下载器下载,比…...

手把手教你使用 ftrace 对 Linux 系统进行 debug

1、简介 strace:用来跟踪 Linux 进程执行时的系统调用和接收所接收的信号,可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 ftrace:是一个 Linux 内核函数跟踪器,function tracer,旨在帮助开发人员和系统设计者可以找到内核内部发生的事情,从 L…...

【练】要求定义一个全局变量 char buf[] = “1234567“,创建两个线程,不考虑退出条件,打印buf

要求定义一个全局变量 char buf[] "1234567",创建两个线程,不考虑退出条件,另: A线程循环打印buf字符串,B线程循环倒置buf字符串,即buf中本来存储1234567,倒置后buf中存储7654321. 不…...