摘要

随着时代的变迁,科技的进步,互联网技术的不断成熟使人们的工作、生活发生了极大地变化,而企业就是在这场科技变革中的最大受益者之一。企业作为社会生产中的核心部分,作为一个工作的场合,企业中有着不同部门、不同种类的工作,且这些部门之间的工作都是十分复杂且繁重的,在处理这些工作时,可能出现的问题也是多种多样的。为了解决上述情况,提高企业的工作效率,使处理问题时更加直接、更加便捷,信息技术在其中起到了决定性的作用。利用当前的互联网技术与企业管理中常处理的工作内容这一实际情况相结合,研发了自动化办公系统。

本系统采用Java语言进行系统的开发,框架技术采用SSM框架技术,开发工具是eclipse。本系统的功能模块较为完备,企业管理中经常涉及到的工作内容都有所涵盖,主要有部门管理、员工管理、职位管理、请假管理、加班管理和工作日志汇报这几个模块,是一个针对企业整体的较为全面的自动化办公系统。本系统在维护方便较为简单,使用起来也比较容易操作,因此企业在对员工进行该系统的使用培训时所耗费的时间也不会过长,总体来说是一个性能较好、功能较完备的oa自动化办公系统。

关键词:办公,企业管理,自动化系统,企业办公,人事管理


Abstract

With the change of the times, the advancement of science and technology, and the continuous maturity of Internet technology, people's work and life have undergone great changes, and enterprises are one of the biggest beneficiaries in this technological change. As a core part of social production, as a working place, enterprises have different departments and different types of work, and the work between these departments is very complicated and heavy. When dealing with these tasks, The problems are also diverse. In order to solve the above situation, improve the working efficiency of enterprises, and make the handling of problems more direct and convenient, information technology has played a decisive role in it. Using the current Internet technology and the actual situation of the work content often handled in business management, the development of an automated office system.

This system uses Java language for system development. The framework technology uses SSM framework technology. The development tool is eclipse. The functional modules of this system are relatively complete, and the work content often involved in enterprise management is covered. The main modules are department management, employee management, position management, leave management, overtime management and work log reporting. A more comprehensive automated office system for the entire enterprise. This system is easy to maintain and simple to use, and it is relatively easy to operate. Therefore, it will not take too long for enterprises to train employees to use the system. Generally speaking, it is a better-performing and more complete function oa automated office system.

keywords:office, corporate management, automation system, corporate office, personnel management

第一章 绪论

1.1课题背景

随着互联网技术渗透到了大众日常的工作和生活的每一个环节,许多岗位的工作内容都与信息技术紧密结合了起来,不可避免的,在企业工作中也开始利用信息技术来解决在企业日常事务中较为繁琐的问题。如今,企业内部的管理机制存在着许多问题,例如:人事管理不方便、加班情况不明确、部门职能不清晰、调休机制不完善等情况,这些日常同时又繁琐的事务常常令企业管理者分外头疼。为了解决此类问题,利用互联网技术开发了自动化办公系统,将这些问题的处理利用互联网机制来实现以提高企业管理的工作效率。

1.2研究意义

自动化办公系统的出现,为企业的管理工作带来了极大的方便。例如,在传统的企业管理模式中,想要对不同部门的工作人员进行人事调动的工作较为繁琐,需要两个部门之间的协调,且协调必须要面对面进行,而使用了自动化办公系统之后,这种协调只需通过该系统就可以实现,想要对公司内部人事情况进行调整,只需利用该系统进行相关的修改即可完成。且该系统对于企业管理之中的日常管理环节均有所涉及,这部分的工作利用互联网技术来实现对接,大大加强了企业管理的工作效率,也大大减少了企业在此方面的人力与物力的浪费。上级部门只需通过该系统就可查看手下员工的工作情况,员工想要请假或申请加班也可以通过该系统提出申请,相比以往,这种方式更加快捷也更加直接,使得企业中的每一位工作人员都可以节省出这些时间来处理工作中的事务,对企业的发展和业绩是有利无弊的。

1.3国内外研究现状

目前国内对于该方面的技术还不是十分的成熟,尚未成形,虽然在相当一部分企业中已经使用了一些自动化办公系统,但从全国来看,使用范围还是太小,并且在很大一部分企业中还是采用口头报告和纸质文件等形式来处理很多办公过程中所涉及到的问题,据相关资料表明,北京和上海等一些繁华地区的企业已经采用自动化办公系统来办公,且成效良好,大大提高了该公司的整体工作效率,另外,通过在线平台来记录相关事宜,相比于纸质保存等方式,也更有利于想要查找这些记录的人进行查找。相比于这些一线发达城市的企业,较为偏远的地区对于这类自动化办公系统的使用率极低,采用的还是传统的办公方式,二三线城市对于此类系统的使用率也只有不到百分之五十。所以就国内而言,在自动化办公系统这一方面整体还是处于比较落后的阶段,该类系统的发展和广泛使用仍然需要一个漫长的过程。

国外在自动化办公系统方面研发较早,美国更是率先大范围使用自动化办公系统的国家之一。相比于通过纸质媒介来处理办公中的常见问题,美国的企业员工更倾向于利用互联网平台来处理问题,这也使得自动化办公系统一经出现就收获了美国许多企业老板以及员工的喜爱。正是因为这一思维方式,也推动了国外在自动化办公系统方面的研发工作,所以国外的相关技术比国内要成熟的多,此类系统的使用率也比国内高出许多。

1.4本文的主要内容

根据以上情况,大致将本系统划分为部门管理、员工管理、职位管理、请假管理、加班管理和工作日志汇报这几个主要模块,通过不同的模块可以实现相应的功能。本文接下来将主要再对需求分析进行细化,对本系统进行逻辑结构设计和物理结构的设计,阐明本系统的主要模块所包含的具体功能,并且展示相关操作的具体情形以及这些操作的关键代码,最后对已经设计好的系统进行系统测试,检查设计过程中存在的不足,对相关问题进行修改和完善。

第二章 开发技术介绍

2.1Java介绍 

Java是计算机程序语言开发中最为流行的一种,Java的封装、继承、多态特点使得程序架构更为清晰,且Java基于面向对象开发在设计中层次更为分明,每一个对象都可以根据其特点分离出一个类,每个类可以有方法、属性,方法之间可以进行调用,Java在安卓游戏和app开发的这几年有了很快速的发展,甚至成为第一大开发语言,其实Java是在C++的基础上进行设计的,他规避的c的一些底层复杂交互,c是面向程序设计基于过程,而Java是面向对象人为更容易接受,Java有8大基本对象类型,可以对各自类型进行封装,因此在跟数据库进行对接时也更为方便,Java语言开发的程序可以跨平台部署,二次维护更为简单。 

2.2MYSQL介绍 

Mysql数据库主要为数据存储,可以对网站的数据进行格式化处理,可以依据业务或者是功能模块对数据进行分类,然后对数据进行查询和计算,数据通过表的格式进行存储,也可以通过视图或者是函数进行业务处理,在数据表中可以通过索引对数据进行快速查询,不过在建立索引时便意味着每次插入和编辑数据时效率变慢,每张表中可以建立主键作为唯一标识,表字段数据都有所属类型,主要分为,varchar、int、char、double等,可以对数据类型进行设置,数据字段都有长度和大小,可以根据数据业务类型进行设置,mysql核心为数据存储和数据处理,且查询简单,操作方便,可以通过limit进行分页处理,且对时间字段的格式化处理也很简单,mysql适用于数据为几十万的项目,但比如涉及到权限比较复杂且数据量比较大比如银行或者是火车等这种大数据时,mysql变显得力不从心,而oracle的作用就可以直观体现,因此mysql在中小型项目中数据处理效果更好。

2.3SSM介绍 

目前为容器主流框架,spring的作用非常强大,spring的出现直接让很多代码由繁琐变的简单,spring两大特性为控制反转、切面编程,通过对注入的对象通过注解或者是bean定义进行逆向生成,通过建立动态临时对象,在对象调用时直接使用,无需再每次调用时生成,代码变为单例模式,化解了程序的繁琐,在切面编程方面作用更大,切面编程主要作用于日志以及事务处理,在日志管理时,只要加入注解就可以对方法进行拦截,可以对方法内容操心进行处理,在事务方法,可以对方法新增、编辑、删除进行拦截,确保方法的整体性,同时可以对登陆进行拦截业务操作,可以判断每次操作时是否为登陆模式。

Springmvc主要是通控制层框架,在最初框架为servlet后来慢慢变成struts框架,springmvc相对于struts来说,form表单填充前端页面的数据匹配更为简单,可以直接将页面参数填充到对象类中,springmvc可以自定义请求路径Url,主要为前端请求提交后进行中转处理。可以对method进行方法定义,例如更新为PUT,数据新增提交为POST,获取查询数据为GET,springmvc中可以通过interceptor对登陆或者是每次url请求时进行拦截业务操作,springmvc主要为在web.xml中的dispatcherservlet进行分请求处理,提升servlet的请求处理效率以及框架拦截能力。    Mybatis框架介绍:Mybatis主要为dao层的业务层框架,通过与service跟数据库交互,通过JDBC建立连接,通过c3p0等数据库连接池进行数据库连接,通过mapper与xml中的name进行匹配,通过xml中的标签进行sql拼接,可以通过if或者是null等作为判断,mybatis通过拼接片段建立完整sql,简化了sql语句,可以通过这种动态的结合建立各自模式匹配,自动化自定义sql,mybatis相对于hibernate更为简单,且与mysql这种数据库配置,更加轻便,mybatis在建立中小型数据库中较为明显,而hibernate在大型项目通过hql查询更快,mybatis可以自写sql,且可以通过mapper动态逆向生成对象供调用,作用更为明显。

第三章 系统需求分析

3.1可行性分析

(1)经济可行性

在前期的程序开发到后续的系统维护,整个投入只需要人为的成本以及一台外网服务器成本,且在后期的维护中只需要数据人员完成对数据的规范即可,不需要投入大量金额来维护平台

  1. 技术可信性

在框架的选择上选择目前市场较为新颖的springboot,可以集成SSM框架,只需要对系统通过java代码进行匹配,可以生成jar包自动部署,不需要绑定在tomcat服务器上,且在安全性能上更好

  1. 法律可行性

在项目的需求设计以及理论研究上都是自己进行设计的,没有任何盗用别的系统设计思路的想法,且在系统中开发使用的一些工具以及一些开发语言都是开源的,没有任何的违规行为

  1. 市场可行性

在市场较为发达的今天,更多的企业开始实行智能化管理,为企业的管理工作带来了极大的方便。例如,在传统的企业管理模式中,想要对不同部门的工作人员进行人事调动的工作较为繁琐,需要两个部门之间的协调,且协调必须要面对面进行,而使用了自动化办公系统之后,这种协调只需通过该系统就可以实现

3.2功能需求分析 

功能主要包括以下几个功能模块:

(1)单位组织架构管理:在企业中有很多的分层部门,可以对部门以及各个层级进行关联,一个部门可以有多个下属分级部门,每个部门可以有多个企业人员,通过对组织架构进行设定,对企业的各层级信息进行维护

(2)岗位职位管理:在企业中对人员权限进行定义的就是岗位,每个人都有每个人特定的岗位,人员与岗位之间是多对多的关系,岗位之间决定企业人员的职能权利,岗位是跟数据权限进行挂钩,在人员设定时必须绑定岗位

(3)企业内部人员管理:在拥有人事菜单管理的权限中,可以对人员进行新增,可以对人员信息进行绑定,人员必须绑定所在的部门以及所属的岗位职能,人员的邮箱以及个人信息格式必须完整

(4)菜单展示管理:在岗位职能中可以通过菜单对权限进行设定,通过将人员绑定岗位,岗位对菜单进行设置,可以对每个页面的功能进行细化,通过对人员登陆时权限进行加载。

(5)操作日志管理:在企业内部中需要对每个操作进行记录实时管理,需要对操作的菜单,以及操作的数据的更新进行汇总

(6)请假管理:企业内部的请假流程需填写请假开始跟结束时间,后台可以自动计算天数,可以对审批原因进行填充,提交后,通过deptid对部门的领导进行关联审批

(7)企业报销管理::企业内部的报销流程需填写报销项目以及报销金额,后台可以对数字进行审批等级划分,可以对审批原因进行填充,提交后,通过deptid对部门的领导进行关联审批

(8)工作日记管理:可以对企业的人员的底层人员每天的工作情况以及完成情况进行汇报,领导层可以进行审阅

(9)公告管理:企业内部有些平台开会或者是宣传公告可以通过此模块发布

系统功能模块图如下:

在企业人员登陆时,首先对所在的部门以及岗位进行关联,然后对登陆的填充账号数据以及,动态验证码进行验证,然后获取所属职能下的所有菜单:

图2用户登陆流程图

在具有企业人员新增权限后,首先对企业人员的邮箱或者电话名称等信息校验后填写,然后必须对部门以及职能进行绑定。

图3用户新增流程图

在企业内部的请假流程,首先对时间进行计算,页面中填写的开始时间跟结束时间进行比对,然后获取天数信息,通过dept对部门进行关联审批下:

图4请假审批流程图

在企业内部流程报销中,首先是部门领导然后是财务审批,对此只要对数据流转到拥有此部门的人中即可如下

图5报销流程图

管理员登陆后可以发布通知,可以对通知进行信息的维护,用户可以查看通知

图6通知查询流程图

企业工作日志管理:员工需填写自己的一些每天的工作情况,然后各层级部门的领导可以进行批阅

图7工作日志汇报流程图

3.3数据库设计

根据功能模块梳理,数据库E-R总图,如图3-5所示

图3-5数据E-R图

(1)公司部门,主要是对公司中的核心归属部门进行设置,如下表1所示:

表1 sys_bumen

属性定义

所属类型

约束条件

属性中文名称

bumenid

Varchar(32)

UUID生成

部门ID

bumename

Varchar(30)

不能为空

部门命名

bumezt

Int(2

0或者1

备注状态

(2)人员职位信息表,对企业中的各个人员所担任的岗位信息进行设计如表2所示:

表2 sys_gangwei

属性定义

所属类型

约束条件

属性中文名称

gangweiid

Varchar(32)

UUID生成

生成串

gangweiname

Varchar(20)

不能为空

岗位名称

gangweistate

Int(2

0或者1

岗位状态

(3)企业内部员工表,包含员工的一些登陆账号以及所属的岗位关联部门,如3所示:

表3 sys_yonghu

属性定义

所属类型

约束条件

属性中文名称

qyyhid

Varchar(32)

UUID生成

生成串

qyyhname

Varchar(20)

不能为空

员工账号

qyyhpwd

Varchar(60)

MD5加密

MD5密码

hangwei_id

Varchar(32)

所在职位

bumen_id

Varchar(32)

所在部门

nichengname

Varchar(30)

不能为空

人员姓名

(4)企业员工部门请假流程申请表,包含一些请假的详细信息

表4 userleave

属性定义

所属类型

约束条件

属性中文名称

leaveid

Varchar(32)

UUID生成

生成串

    leaveyhid

Varchar(32)

关联外键

企业人员

tiannum

Int(3

整数

审批天数

leavetime

date

日期格式

调休日期

leavebz

Int(2

0或者1

申批状态

(5)企业内部报销流程信息存储,包含报销人以及一些出差事项等。

表5 reimbursement

属性定义

所属类型

约束条件

属性中文名称

reimid

Varchar(32)

UUID生成

生成串

reimryid

Varchar(32)

外键关联

人员外键

reimmoney

double

必须数字

审批金额

reimtime

Varchar(32)

日期格式

时间

reimbz

Int(2

0或者1

状态

6)企业内部邮箱公告表信息。

6 news

属性定义

所属类型

约束条件

属性中文名称

id

Varchar(32)

UUID生成

生成串

newcontent

Varchar(50)

传输内容

发布内容

fabudate

date

自动生成

公告日期

第四章 系统详细设计

4.1数据库连接

在对数据的操控和交互以及对数据的高压强承载能力中首先是对数据库的连接进行设计,在springboot的集成中,尅可以通过config配置直接实现,通过引入数据连接池druiddatasource,可以对连接异常处理以及连接最小时间和最大等待时间进行限制,在url赋值中可以在后续对编码进行设置如下4-1所示:

图4-1数据库连接配置

4.2登陆管理

在输入地址栏进行系统后,有三个输入框,分别是用户名密码和动态校验码,动态校验是通过后台rand一个数字然后保存到session,同步数据到前端页面,然后根据图片以及一些CSS的样式进行动态码设计,然后在输入账号信息后直接全部提交,首先对验证码进行校验,判断跟session中是否相等且是否已过期然后对账号信息在校验,在整个前台都是使用Vue交互登陆界面如下4-2:

图4-2登陆界面

4.3岗位管理

在企业管理层,可以设置部门岗位,可以对岗位的所属部门以及岗位的所属权限进行设置,每个岗位可以赋予很多职能,岗位跟菜单之间是一对多关系,在岗位设定时,通过按钮事件触发vue拉取所有的功能权限,然后进行勾选,把数据存储到所有的关联表中

,界面如下4-3,4-4:

图4-3岗位查询界面

图4-4岗位绑定权限界面

4.4企业组织管理

可以对企业的所有的部门进行设定,在部门中很多都是有层级的,因此在设置时可以通过parentid对父子级关联,然后通过深度优先的回朔嵌套,在新增部门时可以通过光标移动触发然后拉取所有的层级信息,然后通过树状图进行显示勾选如下4-5,4-6:

图4-5部门查询界面

图4-6部门新增界面

4.5企业人员管理

企业人员管理,可以通过人员的所属部门进行绑定,然后对部门中根据deptid获取到所有的岗位角色,然后选择岗位,人员跟岗位之间需要建立关联表,人员跟岗位都是一对一,在后续的人员权限中对岗位以及菜单进行绑定搜素,界面如下4-7,4-8:

图4-7用户查询界面

图4-8用户新增界面

4.6请假管理

在赋予人员菜单后,具有请假菜单的人,可以输入请假流程中的开始时间跟结束时间可以输入请假理由,提交后首先后台通过转换时间格式然后最大时间减去最小时间获取到请假时长,然后根据当前此人的所在部门deptid关联到所属部门的上级,且把状态置为待审批,如下4-9,4-10:

图4-9请假查询界面

图4-10请假界面

4.7报销管理

在企业报销流程里只需输入报销金额和出差理由以及类型等进行提交,通过在后台shiro权限中获取当前人信息,然后提交到待审批阶段,界面如下4-11,4-12:

图4-11报销查询界面

图4-12报销界面

4.8企业通知管理

管理人员可以发布一些内部的通告或者是一些新闻和办公注意事项,界面如下4-13:

图4-13公告查询界面

第五章 系统测试

5.1测试分析

在整个管理系统软件开发过程中,软件测试一直是一个十分漫长且重要的一环。系统测试是对个软件开发过程的最终检测,包含了软件开发中的需求分析、系统设计和最终的系统实现,可以说是保证系统可靠性和高质量的最后手段,因此软件测试的重要性不言而喻。进行软件测试的目的是尽量彻底检测出系统中可能存在的问题,一旦发现问题,立刻查找出错原因并通过调试准确定位出错位置,最终得以改正纠错。软件测试是对整个开发系统的过程进行测试,是为了检验实现的系统是否满足预期设想,找出与设想存在矛盾的地方,加以改正。测试过程需要确认好测试方案,再根据其方案预设出测试的要点和结果以此设计测试用例,优质的测试也有利于系统满足用户功能和性能需求。

5.2项目测试

(1)企业员工使用测试

表5.1企业员工使用测试

测试内容

前期输入

期待结果

实际测试

账号测试

输入不存在的员工账号

弹窗提示企业无此人账号

弹窗提示企业无此人账号

输入存在的账号

跳转首页获

取菜单

跳转首页获取菜单

输入错误校验码提交

验证码失败

验证码失败

(2)员工请假流程测试

表5.2员工请假流程测试

测试内容

前期输入

期待结果

实际测试

请假流程测试

选择日期输入请假理由

个人申请请假流程开启

天数显示且可以进入待审批

部门领导进入审批

可以显示所有待审批请假单

可以审批,且状态改变

(3)报销流程测试

表5.3报销流程测试

测试内容

前期输入

期待结果

实际测试

报销流程测试

选择金额输入出差申报理由

个人申请报销流程开启

金额显示且可以进入待审批

部门领导进入审批

可以显示所有待审批报销单

可以审批,且状态改变

第六章 总结与展望

6.1 总结

企业内部办公自动化这个论文课题在今天就要完结了,为实现此网站花费了我近五个月的时间,在此期间要多谢指导老师的悉心帮助和指导。网络技术的迅速发展给我们传统生活方式带来了巨大的变革,如今每一个人都被网络深深地影响着,企业的智能办公也在科技般的进行蜕变。本网站的设计是采用Java语言和MySQL数据库技术的,使用eclipse作为开发工具,这些技术的选用是因为它们都是开源的,有利于后期的维护和学习。此网站具有简洁大方的页面,基础功能完善,但由于个人技术有限,在基本实现网站早期预想的条件下,还有许多值得改进的地方。通过这次毕业设计,我得到了一些教训,这些教训也是我最宝贵的财富。

6.2 展望

在设计过程中整体都是完美的,然后由于自己的经验不足和技术薄弱还是有很多的设计欠缺,而通过对系统架构的搭建,以及对系统的安全性和可靠性以及大数据高可用分析下,系统的完善程度更高,系统可以通过springboot简化很多的配置环境,可以使得项目部署更为简化,且在后续的设计中可以采用热部署或者是系统的高可用集成。

更多推荐