当前位置:网站首页>SSM+JSP实现企业管理系统(OA管理系统源码+数据库+文档+PPT)
SSM+JSP实现企业管理系统(OA管理系统源码+数据库+文档+PPT)
2022-07-06 21:40:00 【程序员小王java】
程序员小王的博客:程序员小王的博客
欢迎点赞 收藏 留言
如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
java自学的学习路线:java自学的学习路线
一、前言
今天给大家分享一个合适大学生学习的SSM+JSP实现的企业信息管理系统!
如今的社会随着国家的经济和互联网的快速发展,企业的信息管理正在快速的发展着。企业的信息管理是为了打破传统的纸质办公,为工作人员提供方便、高效、快捷的工作而存在的。由于计算机的使用越来越广泛,建立一个简单,好用的企业信息管理系统是十分重要的。该系统是一款简单好用,功能多样的一个信息管理系统。而且企业的信息管理系统是相当的广泛的,这里主要针对的是费用的报销和部门及员工的管理。
根据上述问题,此次由我们共同设计的自动化系统实际上是一种中前端的分离项目,前端大部分使用JSP为管理系统设计语句,而后端大部分使用MySQL为数据库系统管理,Spring、Spring MVC、Mybatis作为后端框架。主要的模板有登入模块,财务管理模块,基础管理模块,个人信息管理;财务管理又包括待处理报销单、个人报销单、填写报销单;基本信息管理模块包括员工管理和部门管理,个人信息管理包括个人信息、设置密码、日志记录、退出登录。
二、自动化办公历史背景
1、系统开发的背景和意义
近年来,由于电脑日益普及,中国国内网络如雨过春笋,发展势头也非常的很快,而网络也已变成了我们工作、学习、日常生活所离不开的一个平台了,互联网的应用给人们的生活带来了十分深刻的影响。互联网信息技术已不仅局限于单纯的进行信息服务,而且也日益形成了一种向消费者提供强大信息能力的信息平台。比如,网络电子商务、社会信息数据库等。互联网实现了远程沟通,人们可以利用计算机网络传递电子邮件,召开网上大会,在线购物,或者在家中也可以上学校(在线教育)。互联网还有很大的潜能可以发展和运用。所以,OA管理系统的诞生给公司带来了信息化的管理。
OA管理系统也成为了所有公司在投入企业建立之初的基础管理系统。从C/S架构发展到了B/S架构之后,从原来的桌面办公软件应用、收发邮件,到了后来的文件流转、车辆管理、会议控制、网上审批等软件的使用,OA始终是人们在平时应用得最多、也最常见的一种基础操作系统。
由于网络应用技术的不断完善,公司内部对其相互间的信息沟通能力提出了更高的需求。现在很多公司都有了相应的信息技术基础设施,有相当数量的信息系统设备和信息源,有彼此联系的接口,都需要进行信息的无缝传输。所以,用信息化技术来武装公司已经是目前的发展趋势。适应着这一发展趋势,就产生了办公自动化管理系统,以适应人类的需要。而办公自动化管理系统又被叫做OA(Office Automation)。它是运用现代化的信息,使人们的各项办公管理经营活动逐渐地由各类机械设备、各类人机及信息系统来辅助和进行,并运用现代信息技术来改善效率和服务质量,从而极大地提高了生产率的一个系统。
2、国内外发展情况
OA系统可以从使用内容的角度区分为四个阶段:第一阶段:文档型OA(1980~一九九九年)主要是关注个人的工作行为,主要提供电子文档等服务,因此我们可以把这个阶段称为"文档型OA"。随后的第二个阶段:流程型OA(000-005年)由原始的主要注重个人、以办公文件/档案管理为基础的文件式OA系统,到了目前的发展阶段已经形成了流程式OA的主流系统,它主要以个人办公流程为核心,实现了文件流转、程序审核、文件管控、制度管理、会议控制、车辆管理、信息发布等一系列的实用功能。接下来就是第三阶段:知识型OA(005-010)随着OA技术使用的逐渐广泛,我们在一天早上的第一个事情大概是登陆OA管理系统,收收电子邮件,看企业的最新消息,以及处理一些自己今天要干的事情等。
OA现已变成人们日常工作的基础网络平台。目前最普遍的是智能OA,它是随着组织业务流程的固化和完善,以及专业知识的累积和运用,创新意识和管理技能的提高而呈现起来的,在这个阶段的OA将更加注重组织决策的有效性,为决策支撑、知识挖掘、商业智能管理等服务。
3、作品研究内容
本作品的研发内容是通过目前主流前后端分离的技术,前端主要采用JSP,后端主要采用Spring、Spring MVC、Mybatis、MySQL数据库的技术去实现一个OA管理系统,其中的主要内容包括系统的登录,然后注册由系统内部进行注册,然后登录管理系统后,有待处理报销单、个人报销单查询、填写报销单、员工管理、部门管理以及个人中心模块。如图:
三、开发工具
1、IDEA后端开发工具
IDEA全名IntelliJ IDEA,是一种用Java编程语言技术开发的综合环境(也可使用任何编程语言),IntelliJ在业内一直被认为是最佳的Java编程语言技术开发工具一种,尤其是在智能代码助手、代码自动建议、重构、j EE支持、Ant、JUnit、CVS集成、代码审计、创新GUI等领域,IDEA是JetBrains的主要产品,该企业总部地址设在捷克人民共和国首府布拉格,其开发者中大多是以严谨而闻名的中东欧国家程序员。
2、JSP前端开发工具
JSP:全称:java服务器页面,由sun有限公司提出,是一个动态网页程序设计技术,是java服务器端的动态资源,它与HTML相比,只能给使用者提交的静态数据信息,但JSP技术也只能在整个页面中嵌套java代码,向使用者提交的动态财务数据中,和Servlet比较,Servlet很难对财务数据做出排名,而JSP科技不但能够生成动态数字,并且也更易于对财务数据做出布局,因此JSP科技和Servlet科技都可用来发布动态网络资源。不过,正因为这二个科技的特殊性,在长期的软件实践中,人们已经逐渐地把Servlet科技视为网络应用中的控制器组件,并把JSP科技当做财务数据的展示模块来应用。其实,JSP只是个Servlet。当你首次使用JSP时,JSP引擎就会把JSP翻译成Servlet,并保存到Tomcat的工作目录文件中,如图所示:
3、tomcat服务器
Tomcat是Apache软件基金会Jakarta项目的一种核心建设项目,由Apache、Sun集团和另外几个企业与个人开发。在Sun集团的长期投入和支持下,更新的Servlet和JSP标准在Tomcat中始终使用,Tomcat5也支持了更新的Servlet.4和JSP.0规范。由于Tomcat的技术领先,特性安全,而且免费。它现已成为了当今比较热门的Web应用服务器之一。
Tomcat服务器是一款免费的、开放性的Web应用服务器,同时还是一款轻量级的应用客户端,适合于在中小型系统和同时拜访使用者不高的状况下,是发布和测试JSP程式的理想选择。对初学者而言,应该这么想象:在某个计算机上设定了Apache服务器之后,它就将能够用来应答浏览HTML网站的要求。而Tomcat其实是Apache服务器的一项功能,但是由于它在执行时会是独自工作的,所以在你操作Tomcat时候,它其实只是为Apache的一项独立进程工作。
诀窍就是,在设置正确时,由Apache提供了HTML网页,而Tomcat实际上运行着JSP页面和Servlets。独立的Servlet容器也是Tomcat的默认模板。但是,Tomcat管理静态HTML的力量并没有比Apache服务器好。目前,Tomcat的更新版本为九点零。
4、 Spring
Spring是一种开源架构,Spring是零零三年诞生的一种轻量级Java研发框架,源自于Rod Johnson在他的《专家一对一J EE研发与产品设计》一书中介绍的部分理论和原型。这是为克服企业应用研发的复杂度而产生的。该框架的重要优点一点就是它的分级结构,它使得使用者可以自由选择采用何种模块,并同时也为中小企业J EE研究开发人员提供了一种高度集成的框架。虽然Spring可以通过基本的JavaBeans来做过去可以用EJB实现的事务。但是,Spring的应用并不只是局限伺服器端研发。所有Java技术应用都能够在Spring的高简化度、可测试性和松散耦合特性中获益。因为Spring的核心技术是反转控制(IoC)和面向唐人(AOP)。简而言之,Spring是一种分层的JavaSE/EE全栈(一站式)轻量级开放架构。
5、 Spring MVC
Spring MVC是Spring架构的一个模板,Spring MVC与Spring不需要使用中间的整合层进行集成,它是一种基于MVC的web架构,它的表现层可以方便对前后端的数据进行传递;它的控制层功能和Struts差不多,负责接受外界的要求,并分析参数传给服务层。MVC的M是模板层,C是控制层,V是显示层,而在SSM架构里的Spring MVC本身也就是MVC架构,mvc实现逻辑如图2-3所示。
6、maven
Maven是跨平台的项目管理开发工具。主要服务于基于Java平台的工程项目建设,管理以及项目信息管理。其中maven分为中央仓库,私服,本地仓库等,如图2-5所示,然后我们下载一个maven之后一般使用的是在美国的中央仓库,由于国家原因,去,美国下载jar包到私服或者本地仓库,就会很慢,阿里云也给我们搭建了maven服务器,相当于一个中转站,我们访问阿里云的中央服务器,阿里云去访问美国的这样下载就很快了,我们国内都是访问阿里云的中央服务器。
四、系统总体设计
1、系统用例图
用例图是用来描述执行者和系统之间的关系,说明是谁要使用系统,以及他们使用系统可以做一些什么。这里我们用到的图是由powerdesigner画的企业用例图,而powerdesigne则是Sybase的企业模型和产品设计解决方案,采用了模型驱动方法。如图:
2、系统目录结构
3、数据库设计
4、数据库表设计
- 表 4-1 claim_voucher表
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | 报销单编号 | |
2 | cause | varchar | 100 | 0 | Y | N | 报销原由 | |
3 | create_id | char | 10 | 0 | Y | N | 创建人 | |
4 | create_time | datetime | 19 | 0 | Y | N | 创建时间 | |
5 | next_deal_id | char | 10 | 0 | Y | N | 待处理人 | |
6 | total_amount | double | 23 | 0 | Y | N | 总金额 | |
7 | status | varchar | 20 | 0 | Y | N | 处理状态 |
- 表 4-2 claim_voucher_item表
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | 编号 | |
2 | claim_voucher_id | int | 10 | 0 | Y | N | 报销单 | |
3 | item | varchar | 20 | 0 | Y | N | 费用类型 | |
4 | amount | double | 23 | 0 | Y | N | 金额 | |
5 | comment | varchar | 100 | 0 | Y | N | 描述 |
- 表 4-3 deal_record表
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | 报销单处理编号 | |
2 | claim_voucher_id | int | 10 | 0 | Y | N | 报销单 | |
3 | deal_id | char | 10 | 0 | Y | N | 处理人 | |
4 | deal_time | datetime | 19 | 0 | Y | N | 处理时间 | |
5 | deal_type | varchar | 20 | 0 | Y | N | 处理类型 | |
6 | deal_result | varchar | 20 | 0 | Y | N | 处理结果 | |
7 | comment | varchar | 100 | 0 | Y | N | 描述 |
- 表 4-4 department表
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | char | 10 | 0 | N | Y | 部门编号 | |
2 | name | varchar | 20 | 0 | Y | N | 部门名称 | |
3 | address | varchar | 100 | 0 | Y | N | 部门地址 |
- 表 4-5 employee表
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | char | 10 | 0 | N | Y | 员工编号 | |
2 | password | varchar | 20 | 0 | Y | N | 密码 | |
3 | name | varchar | 20 | 0 | Y | N | 员工姓名 | |
4 | department_id | char | 10 | 0 | Y | N | 所属部门 | |
5 | post | varchar | 20 | 0 | Y | N | 职位 |
- 表 4-6 log表
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | id | int | 10 | 0 | N | Y | ||
2 | employee_id | char | 10 | 0 | N | N | ||
3 | operation_time | datetime | 19 | 0 | Y | N | ||
4 | operation | varchar | 100 | 0 | Y | N |
五、 主要界面设计
登录界面:登录页面只需要输入工号和密码并点击登录就可以顺利进入系统,但只要你输入的密码或者工号错误,系统会提示“你输入的工号和密码错误,请重新输入”,为了不需要每次都输入工号和密码,我们只需要点一下记住密码,则下次登录就不需要重复输入。如图所示:
用户主界面:用户的主界面可以很清楚的看见有财务管理,基本信息管理模块以及个人信息管理三大主要模块。如图所示:
填写报销单界面:我们只需要填写报销的事由、报销的类型以及金额,点击保存,然后再点击提交。流程就会到达领导那里由领导进行审核。如图所示:
个人报销单界面:可以查看自己的全部报销流程,右边有一个详细信息,点进去可以很清楚的看见怎个流程的所有记录。如图所示:
待处理报销单界面:点击审核就会进入第二个界面,可以通过,可以打回,打回一般是填写错误,需修改之后再提交,拒绝是直接不给报销。如图所示:
报销的流程:填写报销单然后提交到部门经理审核,部门经理可以通过或者打回或者拒绝,如果金额小于10000元,部门经理通过就直接到财务打款,如果金额大于10000则需要总经理审核。如图所示:
员工列表界面:可查看所有员工的基本信息。如图所示:
添加员工界面:只需要输入员工的工号、姓名、部门和职位即可。如图所示:
部门列表界面:可查看部门编号、部门地址。如图所示:
部门添加界面:需输入部门的编号名称以及地址。如图所示:
修改密码界面:需输入原始密码及可修改密码。如图所示:
日志记录界面:可记录账号进入此系统的时间。如图所示:
六、总结与展望
该系统为企业的智能化办公提供了方便,该系统最主要实现的功能是报账的功能。由于时间有限个人的能力有限,整个系统并不完善,离一个完善的系统远远不够,目前只是冰山一角。系统以简单、方便的方式给办公室办公人员提供了很大的方便,全面实现了互联网时代的人机操作,给人们节省了时间。在系统开发的过程中遇到了不少的困难,例如:SQL语句的设置和调优呀等,但通过老师的指导和向同学们的请教以及网络的查询,都得到了很好的解决。在这两三个月的设计中我自己也学到了很多的东西,体会十分的深刻,收获也很大。
企业的信息管理系统是一个长期的工作,目前我开发的这个系统只是一个小小的开端,整个系统还有着很大的改进空间,结合我做的系统,我认为后面的改进可以按照一下几个反面进行改造:
(1)由于系统只有部份的办公业务,没有全部的业务,距离真正的智能化办公还有很大的差距,将在实际应用中进一步了解用户的需求,并做进一步的改善。
(2)系统在人事这一方面,几乎没有提现,需进一步完善。
综上所述:随着计算机水平的不断提高,办公自动化已经有了一个极大的跨越,我们企业的信息化管理这条道路还很漫长。我将在今后的工作和学习中不断的努力,提高自己的计算机水平。
七、源码下载
项目源码+数据库+毕业论文+答辩PPT的下载地址:https://download.csdn.net/download/weixin_44385486/85934132
边栏推荐
- 中青杯2022A题高校数学建模竞赛与课程教育思路分析
- . Net interface can be implemented by default
- The most complete security certification of mongodb in history
- 史上最全MongoDB之安全认证
- web服务性能监控方案
- Mongo shell, the most complete mongodb in history
- Codeworks 5 questions per day (1700 average) - day 7
- 本机mysql
- 科兴与香港大学临床试验中心研究团队和香港港怡医院合作,在中国香港启动奥密克戎特异性灭活疫苗加强剂临床试验
- Do you choose pandas or SQL for the top 1 of data analysis in your mind?
猜你喜欢
Tflite model transformation and quantification
Operational amplifier application summary 1
数据的存储
ggplot 分面的细节调整汇总
再AD 的 界面顶部(菜单栏)创建常用的快捷图标
一些常用软件相关
Summer 2022 daily question 1 (1)
机器学习笔记 - 使用机器学习进行鸟类物种分类
预处理——插值
When QT uses qtooltip mouse to display text, the picture of the button will also be displayed and the prompt text style will be modified
随机推荐
The first introduction of the most complete mongodb in history
ABAP dynamic inner table grouping cycle
Opencv third party Library
termux设置电脑连接手机。(敲打命令贼快),手机termux端口8022
2022电工杯A题高比例风电电力系统储能运行及配置分析思路
[dpdk] dpdk sample source code analysis III: dpdk-l3fwd_ 001
ERROR: Could not build wheels for pycocotools which use PEP 517 and cannot be installed directly
CUDA Programming
Unity3D在一建筑GL材料可以改变颜色和显示样本
How to write a resume that shines in front of another interviewer [easy to understand]
Top 50 hit industry in the first half of 2022
超越Postman,新一代国产调试工具Apifox,用起来够优雅
使用Thread类和Runnable接口实现多线程的区别
Leetcode: interview question 17.24 Maximum cumulative sum of submatrix (to be studied)
Simple implementation of AVL tree insertion and verification operations
Do you choose pandas or SQL for the top 1 of data analysis in your mind?
Native MySQL
[leetcode]Spiral Matrix II
数据的存储
史上最全MongoDB之Mongo Shell使用