《网络工程企业员工管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《网络工程企业员工管理系统的设计与实现.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业设计(论文)企业员工管理系统的设计与实现Design and implementation ofemployee management system 院 (系)计算机学院专 业网络工程班 级一班学 号16210220101学生姓名陈雪美指导教师谭康裕提交日期2020年 4 月 15 日毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包人已含他经发表或撰写的作品及成果。对本文的研究作出贡献的个人和集体,均已在论文中作
2、了明确的说明。本人完全意识到本声明的法律结果由本人承担。毕业论文作者(签字): 签字日期: 年 月 日成绩评定 成绩项论文成绩(百分制)折合比例实得成绩(折合分)指导教师成绩30%评阅教师成绩20%答辩成绩50%总评成绩 注:毕业设计(论文)成绩按百分制评定。答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。摘 要本论文主要是对员工管理系统的设计与实现,帮助企业管理员工,使用计算机技术实现员工基本信息的记录与管理,公告的发布与展示,文档的上传与下载,员工日常打卡信息和请假信息的记录等功能。本系统使用网页形式方便企业进入系统管理操作,方便员工登陆打卡、信息查询,有操作
3、方便、界面简洁等特点。关键词:短信验证;MD5加密;MVC模型;JAVA;Abstract This paper is mainly about the design and implementation of employee management system, helping enterprises manage employees, using computer technology to record and manage basic information of employees, publish and display announcements, upload and dow
4、nload documents, record daily clock in information and leave information of employees. This system uses the form of web page to facilitate the enterprise to enter the system management and operation, to facilitate the staff to log in and punch in, information query, and has the characteristics of co
5、nvenient operation and simple interface.Key words: SMS Verification;MD5 Encryption;MVCModel;JAVA;广东东软学院本科生毕业设计(论文)目录第一章 绪论11.1 课题背景和意义11.2 员工管理系统11.2.1员工管理系统的意义11.2.2员工考勤系统地定义21.2.3考勤管理系统设计要素21.3 开发工具的介绍31.3.1 Mysql数据库31.3.2 Eclipse31.3.3 Tomcat31.4 系统设计与技术介绍31.4.1 系统用户角色31.4.2系统加密技术与加密介绍41.4.3 Ajax
6、的使用51.4.4 系统结构5第二章 系统功能介绍与实现72.1 列表查询功能72.2 搜索功能72.3 删除功能72.4 添加功能82.5 修改功能82.6 分页功能82.7 文档上传92.8 文档下载92.9 密码修改102.10 账户退出102.11 员工个人空间102.12 员工打卡102.13 员工请假功能112.14 短信验证功能112.14.1 短信验证实现登陆112.14.2短信验证实现手机绑定122.15数据库的设计122.15.1用户表user_inf132.15.2部门表dept132.15.3文档表document132.15.4员工表emp_inf132.15.5职位
7、表job132.15.6公告表notice132.15.7签到表Signaure13第三章 总结与展望143.1 工作总结143.2 展望14参 考 文 献15致 谢16附 录17第一章 绪论1.1 课题背景和意义随着时代的发展,科技越来越发达,我们的生活也发生了很大的变化。在如今的信息时代里,吃饭可以通过app点外卖,出门可以滴滴,衣食住行只要有一部手机都可以解决,信息化的时代给我们带来了更加方便、快捷的生活方式。借助计算机技术我们可以做到以前做不到的事情,计算机的出现给所有行业都带来了进一步的发展:在医疗行业里,计算机技术被广泛应用,外科手术使用机械手臂来进行精密手术,突破了人手的极限,做
8、到了比人类的手更加灵活、精确与稳定;以往的病历本也从纸质病历本变为电子病历本,让医生更了解患者的病史从而正确的判断患者的病情,亦可以避免使用过敏药物,同时电子病历也可以反向监管医生有没有按规定行医。在农业方面,人们使用计算机技术模拟作物生长,科学指导农民播种、施肥等时间与方法,有效地提高了农作物的产量与质量。在交通方面,全球定位系统(GPS)计算机技术应用之一被广泛应用,基本上每一辆车都加载了GPS系统,它可以精确定位,方便我们交通运输的经营管理和合理调度,对警用车辆的指挥和安全管理都有非常大的帮助。计算机技术体现在我们生活的方方面面,他的广泛应用源于他的方便快捷,计算机技术可以高效地完成我们
9、很多的工作,减轻了人们的负担,解放了劳动力,改善了我们的生活。使用计算机技术辅助来提高企业的劳动生成率以及人员效率成为了大多数企业管理企业的各项运作的方法之一。计算机技术拥有自主运算、运算速度快,运算精度高等特点,对于数据的处理与运算相比人工占有绝对的优势,一台计算机所能做到的事情有时候可以远超十人甚至百人所做的事情。员工考勤系统是计算机技术应用的一种表现,大多数企业都会选择使用员工考勤系统来对员工进行管理。1.2 员工管理系统1.2.1员工管理系统的意义在现在的社会里,一个企业少则数十人多则上万人,人员管理变得复杂,如果使用人工来进行员工管理会增加人力成本,同时人工统计的数据误差程度高,考勤
10、制度关系着员工的工资计算,一旦出现数据误差,员工的工资发放就会出现问题。给多了工资,公司的人力成本无形地就增加了,给少了,损害了员工的基本权益,同样的事件发生的多了就会损害公司地威信,员工对企业的归属感也会减弱,同时在后续的审查同样也会消耗时间与资源,对公司的发展有害无益。而结合计算机技术的员工管理系统数据运算误差小,成本低廉,只要一台计算机就可以完美解决人员的信息的录入,对员工的排班、调休、人员调动等都可以做到根据企业需求只能调整。使用员工管理系统可以让员工管理更加高效,信息获取方式更便捷,员工的日常考勤的标准更统一。一套可靠的、规范的员工管理系统,在日常生活中规律的习惯能促使员工养成遵章守
11、纪的习惯,自觉完成每日打卡的行为,可以增加员工工作的积极性,让企业形成良好的工作氛围,良好的工作氛围不仅使让企业变得更加高效规范,还有利于员工专注于工作,工作的效率提高,节省成本和资源。1.2.2员工考勤系统地定义考勤是企业管理公司的一种基本制度,他使企业在管理员工的时候更加规范,在为员工结算工资提供了相关依据,员工考勤系统就是辅助企业管理理员工的一种方式,它记录员工的考勤状况,帮助企业准确快速统计员工日常出勤的情况,方便企业快速地发布公告,同时公告可以在同一时间让员工都接收到。1.2.3考勤管理系统设计要素设计一款考勤管理系统应考虑以下几个因素:(1)安全性考勤数据是企业用来绩效评估的重要依
12、据,这些数据若是被窃取,篡改,不仅会对企业形象造成伤害,还会让企业在经济上要承受巨大的损失。同时信息的泄露,损害了员工的隐私权,一旦这些信息被某些不法分子获得,员工的人生安全与财产安全都会遭到威胁。作为企业在搜集记录这些信息的同时,有责任有义务去保护员工信息,防止员工信息被盗窃,避免造成严重的后果。所以考勤管理系统必须确保数据的安全性、完整性以及真实性。(2)可靠性考勤制度是维护企业每日正常工作的基本制度,作为辅导考勤工作正常进行的考勤管理系统应具有故障率低、寿命长、售后服务和维修成本低等性质。当系统出现故障时,工作人员能根据故障处理手册快速处理故障,当工作人员无法解决时,系统的售后人员应立刻
13、检测系统,消除故障使系统正常运行。(3)稳定性考勤制度是企业运作的基本制度,是每天都要进行的一项工作,它是企业运作的基石,它为企业提供对员工评估的依据。倘若考勤管理系统不够稳定,经常发生故障无法运行,那考勤制度就会被破坏,考勤的数据便是不完整的,不真实的,违背了考勤工作的基本要求。一个不稳定的考勤系统,会挫伤员工的工作积极性与效率,会阻碍公司的持续性发展,成为公司发展道路上的挡路石。1.3 开发工具的介绍1.3.1 Mysql数据库Mysql是关系型数据库,是如今最流行的数据库,大多运用于中小型WEB项目。他有以下几个特点:1、 有标准的语言形式;2、 开源,无需额外交费,完全免费;3、 支持
14、多语言、多平台的使用;4、 提供了多种数据库连接方式;5、 提供了图形化的软件进行数据库操作,对新手友好Mybatis在使用数据库中,员工管理系统还使用到了mybatis。MyBatis 一个支持普通 SQL 查询的框架,mybatis使用了简单的 XML或注解来用于配置和原始映射,通过mybatis我们可以动态地去执行一些Myaql代码。1.3.2 EclipseEclipse是基于JAVA的编程软件, eclipse非常具有包容性,它可以支持多语言编程,像C/C+、PHP、Android等编程语言都可以与eclipse环境集合,共同实现项目地功能,这都依靠与Ecipse本身自带的插件开发环
15、境使得大多是语言都可与java共同开发项目。这种特性使得使用eclipse编程更加方便,功能实现更加简单,再加上eclipse是开源软件,这让eclipse的使用变得非常广泛。1.3.3 TomcatTomcat是Web应用服务器,普遍使用于中小型系统,是开发和调试JSP 程序的首选。Tomcat服务器优点显著:1、轻量级,使用方便,直接解压就可以使用;2、开源免费;3、占用的系统资源少。1.4 系统设计与技术介绍考勤管理系统是辅助企业管理员工的工具,它的任务目标就是实现帮助企业的员工日常考勤,所以在设计的时候需要充分考虑企业的需求。1.4.1 系统用户角色系统因使用者权限和系统数据安全的要求
16、下,将用户分为管理员和普通用户两种角色,方便管理员工信息,防止在普通用户在不知情的条件下误删或错删重要文件,唯有拥有删除权限的管理员才有资格删除文件。1.4.2系统加密技术与加密介绍为保证数据的安全性,对信息进行加密,是必不可少的,加密方法主要分两种类型对称加密和非对称加密(RSA)。对称加密原理是在发送方发送数据时将这些未加密的数据与密钥做加密运算,在运算完成后再将数据传输给接收方,接收方要想获得发送方未加密前的数据,就必须使用相同的密钥经过相同的运算过程来逆运算反推算出发送方发送的明文。非对称加密需要发送方和接收方都要产生公钥和私钥,公钥需要传输给对方,用于加密使用,私钥是私有的,用于在接
17、收揭秘数据后解密用的。当发送方需要传递数据时,使用接收方之前发送过来的公钥对信息进行加密运算处理,接收方接到这个信息就可以使用自己本身持有的私钥进行解密。两个加密方法各有优势,非对称加密相比对称加密来说要更加安全,因为对称加密使用的是相同的密钥,一旦这个密钥被窃取,那么整个通信的信息都会被破解;而非对称加密中,可以解密的只有自身的私钥,并且这个私钥不会被公开传输,避免了解密用的密钥被窃取的风险。但在安全性更高的同时,非对称加密算法更加复杂,加密与解密的速度要比对称加密慢,当数据量一大时,对称算法运行的时间要更久,设备消耗的资源要更多。常用的加密算法介绍DES、3DES加密算法DES算法本质是置
18、换,它主要包括KEY、Date和Mode三个参数。在加密的时候,即mode为encryption时,Date就是数据,数据与Key一一对应生成加密数据;当mode为decryption是,使用密码与Key对应置换还原之前数据。3DES算法与DES的原理相同,只不过3DES将数据叠加加密了三次,就是将数据使用三个不同的KEY叠加置换三次,相比于DES,3DES加密性更高,但是缺点是太过于复杂,消耗运算成本。AESAES是排序与置换的相继使用,AES将数据分成等量大小的组,然后将这些组与密钥进行置换运算来达到加密的效果。优点是加密程度高,缺点是明文容易泄露。RSA加密RSA是不对称加密,RSA算法
19、加密原理是明文分组并加密,算法为c me mod n,解密算法为c me mod n。密钥与公钥的产生:随机生成两个不同的质数,然后将q和p相乘等到了n,算出欧若拉函数,随即生成一个整数e,数值在1与欧若拉函数之间,其中(n,e)为公钥,(n,d)为密钥。MD5MD5是现今使用最多的加密方法,虽然前几年已经可以破解,但MD5算法的加密性依旧很高,足够大多数的加密使用。1.4.3 Ajax的使用Ajax使用于前端,用于网页的异步更新,使在不跳转页面的前提下后台像前台提交数据。同时Ajax提交减小了前端像后端传输的数据量,将不必要的数据传输减去,使系统运转更快。1.4.4 系统结构系统采用了的是B
20、/S浏览器服务器的架构形式,B/S形式一般分为表示层、业务逻辑层以及数据存储层。这三层结构角色职能各有不同,表示层用来供给用户浏览、接收用户各项请求的,这一层还可以细分为控制层和展示层,控制层一般用于请求的接收与业务逻辑层的连接,展示层顾名思义就是将数据展示出来的层;第二层业务逻辑层一般用来调用数据储存层的数据,在两个层次间传递信息;最后一层数据存储层用来存储数据,是整个项目的核心,所有的信息都要从存储层中获取。形式为B/S,框架系统使用的是Spring MVC框架,Spring MVC框架是现今最流行的框架之一。Spring MVC中Spring为Spring框架,Spring框架包含多个模
21、块,Spring MVC是它的其中一个模块。MVC指的是MVC模型,M是Model、V是View、C是Controller的缩写,Model用来封装数据,View用来展示数据,Controller是用来控制数据。这三个部分可以完美掌控HTML、CSS、JavaScript的代码,可以说MVC模型实现了数据请求和数据展示的分离,为前端工作变得更方便更快速。在员工管理系统,主要可以分成三大块,一前端页面、二后台控制类、三DAO数据库连接,所有功能的实现都依赖于这三大块的运作。前端用来与用户交互,后台控制类编写不同的方法,在接到前端请求时,单独运行方法;并向数据库请求数据,将数据传回前端。 系统主要
22、分为两大块,一块是管理员界面、一块时是普通用户界面,在普通界面可以增删改查,普通用户界面只有查、增与改(这里的增只包括打卡数据,改只是用户手机号的绑定)。图1-4-4 系统结构图18第二章 系统功能介绍与实现在系统中用户角色设计为管理员和普通用户,管理员登陆后将跳转到管理页面,普通用户跳转到用户界面。2.1 列表查询功能列表查询功能基本在所有的列表当中都会被使用到,列表查询包括了管理界面的用户类别、部门列表、部门职工列表、总职工列表、公告列表、文档列表以及普通用户界面的个人列表、公告列表与文档列表。列表的实现是在加载页面的时候后台程序向数据库申请数据,当这些数据存在于数据库时,数据库就会将数据
23、以数组形式返回数据给后台,后台将数据通过session传输前台,之后前台通过c:forEach标签来循环输出每个数组中的信息。2.2 搜索功能搜索功能在所有的列表查询中都会存在,列表查询本质上来讲也是一种另类的搜索,列表查询可以说是没有任何关键词的搜索或者说是说有关键词都为初始值的搜素,在Mybatis中会通过动态搜素语句去判断是否需要添加该关键词,当为初始值时这些关键词不会出现在Mysql语句中,所以列表查询会将表中所有数据都传输出来。搜索功能的实现就是用户在前端将关键词在输入框输入或在选择框中选择,通过Ajax把这些关键词传到后台,后台连接数据库搜索相关数据之后传回前端,同时传回前端的还有
24、非空的关键词。2.3 删除功能删除功能同样也是被普遍使用的一个功能,这个功能只在管理界面的列表当中出现,普通用户页面不具有该功能,避免普通用户删除重要文件。删除功能包括了删除用户,删除部门、删除文档、删除公告以及删除职工等功能实现。首先要想执行删除程序必须要在与想要删除的数据对应的页面中执行,例如删除用户须在用户列表、删除部门必须在部门列表、删除文档也必须在下载中心。只有当在列表中的复选框中选中了一个或以上的数据,程序才会开始执行,否则JS事件会返回提示“请选择一个需要删除的员工!”。当选中需要删除的信息后,通过复选框操作事件获取了可唯一表示所删除信息的数据后,使用Ajax将数据传给后台相应的
25、方法,之后后台执行Mysql删除语句,当删除语句成功执行后,后台返回“删除成功”的提示,表示删除这一过程已完成。2.4 添加功能添加功能与添加用户账号功能基本相似,同时这是一个需要权限的功能,所以这个功能只出现在管理界面。这个功能除了职员的添加只能在人员管理的下属目录部门查询中相应的部门进行添加之外,其他的都与添加用户功能别无二致。实现过程同样是在对应的添加页面中输入信息通过Ajax传递,后台接收数据后,判断此数据数据库中是否还未存在,是则不存储数据,否的话就把数据加入对应的数据库表中。2.5 修改功能修改功能只在管理界面中,在每一个列表的每一行数据后都有一个修改按钮,当点击按钮时,在按钮外包
26、裹input标签的a标签中的超链接就会触发,向后台传输唯一标识数据的关键词,后台根据这个关键词在数据库中搜索查询出数据,然后将数据以对象类的形式返回到修改页面中,这时管理员就可对原有的数据进行修改,之后点击提交按钮,后台有一次根据关键词去执行update语句从而达到修改的效果,当完成这一功能时同样会有“成功修改”的提示词。2.6 分页功能所有列表查询都使用了分页功能,分页功能的实现主要使用Mysql的limit语句完成,limit语句是用来强制select搜索语句返回指定的数据行数,这个语句可接收一个或两个参数,第一个参数指定从第几行开始返回数据(在下文简称为始参),第二个参数是指定一次返回多
27、少行数据(在下文简称为页面大小)。始参的计算是由从前端获取的页数减一后与页面大小相乘,所以初始页面一的始参为0,数据将会从第0行数据开始,返回页面大小指定的行数。在分页功能中还有跳页的实现,在跳页的输入框中输入要跳到第几页,确定后就可以实现跳页功能。如果当前页面为初始页面,点击上一页会有“当前为首页”提示,如果当前页面是末页,会有“当前为末页”提示。2.7 文档上传文档上传是管理员页面中下载中心下属目录上传文档的功能,在上传文档界面中可以自由上传文档。此页面需要输入文档标题、文档描述,之后点击文件上传按钮获取文件后,点击确认即可完成文档上传。文档上传依靠封装的MultipartFile中的tr
28、ansferTo()方法实现。前端通过Ajax将form表单数据提交,后台接收数据,从session中得到上传人的登陆账号,request中拿到标题与描述内容,之后定义文件存储名字,指定文件上传位置,倘若这个存储文件夹不存在则生成存储文件的目录。之后执行transferTo()方法将文件传输到指定目录,当成功传输时将上传人信息、文档标题、描述、文件存储地址等数据插入数据库的document表中。完成后提示“文件上传成功”,在上传文档的页面中,标题设置不得低于两个字符,必须上传文件,当不符合条件时不执行上传过程并跳出提示“请输入两个字符以上的标题”或“请上传文档!”。transferTo方法可接
29、受一个或三个参数,这些参数分别为position文件存放地址 ,count传输的最大字节数,传输的文件不得超过这个数,target是目标通道,其中position和count都必须为非负数。transferTo方法非常简便,使用的是IO流进行文件传输,同时可传输的文件容量也非常大,最高可达到2G,对于员工管理系统的文档上传来讲已经够用了。2.8 文档下载文档下载在下载中心列表中,点击下载图标,浏览器就会弹出提示保存文件。功能实现主要运用到了字节传输的方式,前端点击按钮后a标签超链接到后台的方法中。后台根据DocumentId从数据库中查询到文件的存储地址,使用缓冲输入流从存储地址中读取文件,再
30、用输出流将文件输出,为防止文件过大导致内存溢出,设置了数组bytes,把输入流里的东西读到bytes数组里去。之后输出流调用write方法输出数据。这里面主要使用的就是数据流的方法,将文档数据从地址缓冲之后用输出数据流输出。在上传与下载两个功能都需要注意数据的大小,要设定缓冲流防止内存溢出,以免文件损坏。2.9 密码修改密码修改功能是管理用户和普通用户都可以操作的功能,位于界面的右上方位置。修改密码的实现非常简单,就是用户在弹窗中重新输入当前密码并输入两次新密码点击提交,后台根据session获取当前用户账号,对比当前密码与session中的密码是否一致,不一致返回“当前密码错误”提示,一致则
31、对比新旧密码是否一致,一致返回“请勿输入相同密码”提示,不一致执行update语句,完成密码的更新。在前端中会有判断当前密码是否为空、新密码与确认密码是否一致、新密码是否长度在6-20位之间等判断,当条件不符合要求时,Js函数会返回提示并且不执行密码修改操作。2.10 账户退出账号退出同样在界面右上方,点击之后后台注销当前session的用户信息并返回登陆页面。实现过程用户在前端点击文字退出登录,后台使用RemoveAttribute方法将session中的用户信息注销,ModelAndView通过SetViewName方法更改页面。2.11 员工个人空间在普通用户登录考勤管理系统后,页面会显
32、示用户登陆的名称,头像,以及员工相关信息,这些信息包括姓名、学历、所属部门、联系方式、性别、工种、邮箱、地址,实现的过程是在登陆完成后,后台获取当前用户绑定的手机信息来向数据库查询并输出相关数据,如果用户还未绑定手机信息,则用户需先绑定手机后方可进入普通用户页面,当然再绑定手机的时候会先进行判断此手机号是否唯一,若不唯一则手机绑定失败。2.12 员工打卡普通用户登陆系统后,在打卡签到界面中,可以进行每日的打卡。页面中分别有五个签到按钮,分别是上午上班打卡、下班打卡,下午上班打卡、下班打卡以及今日请假按钮。上班与下班的打卡都规定了打卡的时间范围,早上上班必须在六点后,八点半之前,下班打卡在十二点
33、后、两点前。下午上班在两点到两点半之间,六点后可下班打卡,最迟不得超过晚上十点半。打卡实现过程在用户点击打卡按钮后,触发了js函数事件,事件通过Ajax将打卡的类型传输给后台。后台获取系统时间判断当前打卡状态,若当前在打卡时间范围之前则不允许打卡,返回提示“还未到打卡时间,请稍后”,在时间范围内正常打卡,范围外则打卡迟到。2.13 员工请假功能请假功能是普通用户页面中打卡签到中的功能,当点击签到的按钮,Js事件触发,弹出请假会话框填写请假理由,当填写完毕后点击确定按钮。同样触发Js事件,请假理由将会由Ajax传入后台,后台从session中获取用户信息,再通过用户登录名在数据库用户表中获取用户
34、ID,用户姓名,用户部门等信息,将用户ID与系统获取的日期相加生成打卡表Signature中的ID属性数据。根据新生成的ID号检测Signature表中是否存在相同数据,存在就进行Update语句,将是否请假改为是,更新请假理由;不存在就执行Insert语句,将ID、姓名、部门、今日日期以及请假理由等数据插入Signature表中。当完成操作后,返回提示“请假成功”。弹出会话框的实现在这里的会话框弹窗,因不满意jsp自带的弹窗样式,就自己写了一个弹窗。整个弹窗的Html内容都是有Js生成,并且设置弹窗的大小与是否居中。弹窗中包含一个title,一个文本框、两个按钮:确认与取消。分别在确认与取消
35、两个按钮中加入了点击触发事件。确认事件:获取文本框的内容后通过Ajax传输给后台,之后使用remove()方法将弹窗移除。取消事件:点击后移除弹出窗口。2.14 短信验证功能短信验证功能主要在两个地方中使用到,第一个就是短信登录功能,第二个就是普通用户登陆页面时需要先绑定手机号才能进入用户界面。2.14.1 短信验证实现登陆第一个短信登陆功能就在登陆界面,点击短信登陆的按钮,触发Js函数弹出窗口,窗口包含了分别需要输入手机号码、输入验证码的文本框以及获取验证码的按钮。在我们输入了手机号时(Ps:在这里会有一个简单的判断:当输入的号码为空或不是十二位数会会有提示“请输入合法的手机号”并且不会继续
36、往下运行程序),点击获取验证码的按钮,这时出发了onclick函数,函数通过Ajax将手机号码发送到后台,按钮里的value也从验证码变为60s倒计时的重新发送。后台根据Ajax的url运行发送短信sendSMS()方法,发送短信需要订购短信云服务,此过程将在下文介绍。使用云服务需要创建两个变量appid、appkey,这两个变量的值都必须在申请云服务后,云服务系统生成的固定的值,以及短信模板templateId,这个变量可写可不写代表发送短信所使用的模板。随机生成6个随机数作为验证码,然后将手机号码与随机数放入session中方便实现登陆功能的验证。之后调用云服务中的SmsSingleSen
37、der方法即可成功发送短信。在手机接收到短信后,输入短信验证码点击确定,Ajax传输手机号和验证码到后台validate()方法进行登陆。从session中获取sendSMS()方法中的手机号以及验证码,在当前手机号和验证码与session中的手机号、验证码匹配时,用户登录成功,用户信息将保存在session中。2.14.2短信验证实现手机绑定第二个绑定手机短信功能,在普通用户使用账号密码登录时,检测到用户并没有绑定手机号时,系统跳转到绑定手机页面。绑定手机的过程与短信登陆功能一样,同样是两个输入框,分别输入手机号与验证码,一个获取验证码的按钮。获取验证码上文亦有提及,这里不再重复。点击确定按
38、钮后,在手机号与验证码正确的条件下,用户执行Update语句更新用户手机号信息,手机号与用户绑定成功,页面跳转到用户界面。在java编写代码进行短信验证的前提是必须和短信接口服务商对接,以下内容我会介绍我是如何实现这一过程的。在对比多家短信接口服务商后,选择了腾讯云的SMS服务,原因一、腾讯云接受用户类型更多,并不仅仅为企业,个人同样可以申请短信服务,相比之下百度云就显得业务范围不广,它并不允许非企业人员申请使用此服务。原因二、腾讯云的短信云服务对开发学习人员非常友好,在使用短信云服务的时候可以申请一个免费套餐,此套餐包含了一百次的短信发送次数并且在三个月内有效,可以说这个套餐足够我们这种需求
39、量不大的学生党了。在订购了短信云服务之后还需要申请短信签名以及正文模版才可以正常使用。在申请短信签名的时候,个人申请要求是需要将网站搭建并且申请了备案的,若是没有达成这个条件也有另外一条方法,那就是在微信公众平台申请注册公众号。在腾讯云服务这边条件此公众号必须是以及上线且可在微信上搜索得到的。完成签名后还需要创建正文模板,当这两个申请都被通过时,我们就可以使用腾讯云的短信服务了。2.15数据库的设计数据库设计了七个表,分别使用户表user_inf、部门表dept、文档表document、员工表emp_inf、职位表job、公告表notice、签到表Signaure。2.15.1用户表user_
40、inf用户表中包含了主键ID、用户账户吗、用户密码、用户的角色、创建时间、用户绑定手机号码。2.15.2部门表dept部门表包含部门名称depts和部门ID号deptId。2.15.3文档表document文档表包含标题title、内容content、上传文件路径filepath、上传账号uploader、创建时间time以及文档ID号DocumentId。2.15.4员工表emp_inf员工表包含用户名称username、性别sex、职位job_id、手机号phone、邮箱地址mail、身份证cardId、部门ID号deptId、学历edc、联系地址address。2.15.5职位表job职
41、位表包含职位名称jobs、职位ID号job_id、部门ID号deptId、员工数量job_num2.15.6公告表notice公告表包含会议名noticeName、会议标题noticeTitle、会议内容noticeContent、发布者名称Announcer、会议时间noticeTime、会议ID号noticeId。2.15.7签到表Signaure签到表ID号ID、用户名称username、部门名称depts、打卡时间UserTime、早上上班打卡时间WorkingAM、早上上班打卡状态WorkingAMStatus、早上下班打卡时间GetGffWorkAM、早上下班打卡时间状态GetGf
42、fWorkAMStatus、下午上班打卡时间WorkingPM、下午上班打卡时间状态WorkingPMStatus、下午下班打卡时间GetGffWorkPM、下午下班打卡时间状态GetGffWorkPMStatus、是否请假Leaves、请假理由LeaveReason。第三章 总结与展望3.1 工作总结在这一次对于员工管理系统的设计与实现中,通过不断的查找资料与代码的实现,使我学习到了很多知识,同时通过代码的编写使我对代码熟悉程度加深,对代码的了解更深,可以熟练的设计与实现系统的各项功能。这一次的项目实现过程中,我尝试了以前从未做过的短信验证,知道了实现短信验证的正常操作步骤,对Ajax以及J
43、avaScript有了更深的理解,学会了使用mybatis来对数据库进行操作,学会了如何使用mybatis的动态语句达到条件的动态化,知道了使用动态语句的格式。第一次尝试了订购云服务的套餐,也是第一次去注册个人公众号。这么多的尝试让我学到了更多的知识,也体会到了不一样的体验,相信在这期间学习到的东西会对我未来的道路上提供帮助,帮助我走得更高更远。3.2 展望员工管理里系统的设计与实现还有很多不足之处,受限于本人的技术于经历,还有以下方面需要改善的地方:(1)表格添加用户功能,员工管理系统中,用户的添加是简单的单次增加用户,这样的设计无法满足企业大量的员工信息录入。所以设计出多人多次的用户功能非
44、常有必要。同时企业大多使用表格来进行人员信息的记录,设计用户添加与表格对接可以极大地方便企业增加员工操作,使人员信息的录入更加快速。(2)设计手机app或设计系统与指纹打卡器等方便员工每日上下班打卡,网上的打卡需要在登陆网页后才能通过点击按钮进行打卡,第一、这种方式对员工来讲不够方便同时也容易遗忘,错过打卡时间。第二、通过按钮打卡的方式还是不够安全,最好的打卡方式就是通过指纹打卡器进行打卡。(3)员工管理系统现在只是在本地上运行,并没有在网上搭建,想要让系统真正的正常运行就必须要搭建网站才能实现用户通过网页就可登陆系统的设计。参 考 文 献1 刘虹. 基于Java的员工管理系统的设计与实现J.
45、 现代农村科技, 2019, 572(04):97-98.2 何栋. 基于B/S模式的中小企业员工管理系统的设计与实现J. 图书情报导刊, 2009, 19(5):86-88.3 张雪娇. 员工管理系统的设计与实现D. 电子科技大学.4 不公告发明人. 一种基于C/S架构的商场员工管理系统5 张家田. 企业员工信息管理系统设计C/ 天津市电视技术研究会2014年年会. 0.6 杨慧志. 基于J2EE的员工管理系统研究J. 电脑迷, 2017(6):116-117.致 谢在完成我的毕业设计项目的过程中,在不断的学习新知识的同时我学会去运用这些知识来完成各项功能,同时还要感谢我的指导老师谭康裕老师,在我完成毕业设计的工作中给予我许多建议与指导,帮助我完成了这次项目的设计与实现。最后,我特别的感谢我的父母,他们不仅支持我完成学业,同时也给予我很多宽容和爱,谨以此文回报父母。在此,我要向所有在百忙之中审阅论文并参加答辩的专家教授们表示衷心的感谢!附 录20