企业OA集成办公系统的开发与研究
2022-09-23赵贵福
赵贵福
(西京学院,陕西西安,710123)
0 前言
如今社会计算机技术和其他科学技术飞速发展,让我们的社会发生巨大变化。各种通信软件和出行工具的诞生使得各种数据爆炸式增长,人们对数据的管理效率和处理速度的提升的渴求越来越强烈。尤其是在企业中各种数据,包括企业最基本的员工信息。随着员工的增多、人员流动的频率加快,员工信息的管理和修改也越来越复杂。
人们为了进一步降低管理人员使用数据库来管理企业员工的门槛,开发出来各种各样的更加人性化的程序来供管理人员使用。管理人员不必是计算机技术的学者,即使不懂计算机也能很快学会使用。
我国企业的OA系统产业是从上世纪七十年代末期开始兴起的,早已不再是单机时代的辅助办公模式,而是从初期阶段的以数据处理为核心的传统模式,经过近半个世纪的发展,跨越了“以工作流为核心”的协同办公阶段,进入了“以信息共享、资源共享、及时通信”为核心的全新现代化办公模式。
但是对于企业的管理来说,管理人员的要求也不仅仅是对于企业中员工的管理,还应该包括员工基本请假报销管理,员工对于自己账号的管理,管理员对于部门的管理等等。所以本系统设计出了一个集这些功能于一身的系统。
1 系统需求分析
1.1 系统需求分析
本系统功能需求分析:首先实现的就是对于所有员工的管理,企业一般都会有部门的分工,所以要实现一个部门管的功能。管理人员对于员工请假的管理也是一个比较重要的事情,所以在人事管理中还有一个请假管理功能。在员工管理、部门管理和请假管理中需要实现对于员工信息、部门信息、请假信息的增删改查。查询的时候应该要有根据条件查询的功能,避免数据量过大而难以找到自己想要的数据。
企业OA集成办公系统中加入对财务处理的模块,每个员工可以通过系统进行选择,提前录入报销原因并填写其他的报销信息进行预报销申请,由管理员进行审批。若审批成功,报销申请报销者就可以带着发票等去财务进行下一步报销。节约了申请报销者的时间和提高了财务部门处理报销信息的效率。
系统账户的管理,每一个员工都有一个唯一的员工编号,由管理员进行新员工的添加,有了员工编号之后就能使用该员工编号申请登录系统所需要的系统账户。账户应该能修改其基本及信息和登录系统使用的密码。超级管理员还有添加其他部门管理人员和添加新角色的功能,并且相应的给该角色赋予权限。
1.2 E-R图
如图1所示。
图1
1.3 数据库的设计
在企业OA集成办公系统中使用navicat-forMysql一共设计八张MySQL表:部门信息表、员工信息表、请假信息表、菜单信息表、报销信息表、权限信息表、角色信息表和用户信息表。
(1)部门信息表中包括部门的信息:部门编号、部门名称、部门位置、部门负责人、创建时间。用于存储所有部门的信息。如表1所示。
表1 部门信息表
(2)员工信息表中包括员工ID、员工标号、员工姓名、部门编号、员工性别、学历、邮箱、电话号、入职时间、创建时间。用于储存所有的员工信息。如表2所示。
表2 员工信息表
(3)请假信息表中包含表的唯一标志请假ID,请假编号,请假申请者,请假类型,请假原因简介,请假开始时间,请假结束时间,提交状态,创建时间。用于储存所有的请假信息。如表3所示。
表3 假期信息表
(4)菜单表中包含菜单ID,菜单名称,菜单地址,菜单父节点,创建时间。用于储存用户功能的菜单。如表4所示。
表4 菜单信息表
(5)报销信息表中包含报销ID,报销编号,报销申请者,报销类型,报销简介,报销金额,报销时间,提交状态。用于储存所有的报销信息。如表5所示。
表5 报销信息表
(6)权限表中包含权限ID,角色ID,菜单ID创建时间。用于保存所有的权限信息,动态控制每个用户显示的菜单。如表6所示。
表6 权限信息表
(7)角色信息表中包含角色ID,角色名称,创建时间。用于保存所有的角色名称。如表7所示。
表7 角色信息表
2 系统具体实现
系统总体使用的是Struct2的框架模式,是一个基于经典的MVC的设计模式的Web框架。
2.1 登录模块
图2
登录的实现逻辑:界面有一个动态的背景图,用户名和密码框使用jQuery进行非空和非法字符的检查,若验证失败则不发送请求在页面提示用户。验证码由随机数生成的一个简单的算式组成,在前端页面中把正确的验证码写入到session中,通过表单把用户输入的用户名密码验证码传入到后台验证,验证失败提示用户失败,验证成功提示用户登录成功,然后跳转到系统的首页。
2.2 首页
首页实现逻辑:首页使用盒子模型画出三个部门:头部,菜单部分,工作区。
图3
头部右侧可以显示当前登陆的账号,左侧的菜单区根据当前登录账号动态查出其权限和权限对应的菜单。用jQuery动态添加到jsp页面中。右侧的工作区,嵌入了一个iframe框架,用于根据用户点击的不同菜单显示不同的功能页面。
2.3 人事管理模块
图4
2.3.1 部门管理
部门的jsp页面使用table显示所有的部门信息,最右边一栏是功能区,点击三个图片分别实现删除,编辑信息,显示详细信息的功能。删除某个部门的时候首先在数据库中检查有无员工属于该部门,若有说明该部门下还有员工,提示不允许删除,修改部门信息时候把该部门原有的信息带入到修改信息的页面。点击新增部门时候部门编号是自动生成的不需要用户自己填写。
2.3.2 员工管理
员工管理的实现大体与部门管理相同,比部门管理多了一个根据条件筛选查询的功能,根据用户提交的请求表单中有无筛选调教用一个if语句判断是否添加该查询条件的sql语句,若两个查询条件都没有选择则查询出所有。
2.3.3 请假管理
总体实现逻辑逻辑如删除查看详情添加等与员工管理相似,在请假管理子模块根据条件查询中多了一个账户的控制,若当前登录账号不是管理员或者部门负责人则查询查询结果中只显示自己的请假信息。按照条件查询时查询条件由下拉框中选择。修改请假信息时先查询当前的提交状态,若提交状态为已提交则提示用户“已提交的不允许修改”转跳回请假首页。
2.4 财务管理模块
报销管理:按照条件查询时若当前用户是管理员或部分负责人则显示全部报销信息,否则只显示当前登录用户的报销信息。修改请假信息的时候首先判断当前的报销信息的提交状态,若状态为已提交,则提示用户已提交的报销申请不允许修改,转跳回报销首页。
2.5 系统管理模块
图5
2.5.1 账号维护
账号维护的实现逻辑与其他基本类似,在本文上面已经描述,不再重复赘述。操作列表中没有查看详情的功能因为账号信息比较少已经全部显示在账号管理的首页。只是在删除账号时添加了对账号角色的判定,如果该账号的角色是部门管理人员或这是管理员则提示用户不允许删除。
角色管理与权限管理模块功能与本模块类似,下面不再赘述。
2.5.2 密码重置
要求用户输入原密码、新密码和新密码的确认密码,进行原密码和两次新密码的判定,若原密码正确并且新密码和确认密码一致则修改成功,转跳到登陆界面要求用户重新登陆账号。
2.5.3 系统退出
点击退出系统,弹出确认框询问用户是否要退出系统,点击确认后,清除session中用户信息,退出系统,跳转到用户登陆界面。
3 结论
本次系统写的是企业OA集成办公系统,顾名思义系统是针对企业管理来在设计的系统,面临的第一个问题就是用什么技术来写系统,在JavaWeb技术和asp.net中选择,asp.net做起来比较方便快捷,其中有很多现成的控件来用,直接套用微软提供的工具模板开发效率很高。但是由于微软的asp.net不是开源的,只套用模板会显得比较死板,只适合做一些中小型网站,而JavaWeb在大型网站中的表现比asp.net要好得多,有利于系统规模以后的扩大。Java的jdbc访问同一个数据库也比asp.net要好很多。所以最终选择了JavaWeb来编写企业OA集成办公系统。在系统分析阶段通过上网搜查资料和企业的实地考察也为系统项目的编写提供了很多有用的建议。