基于多平台的人事管理系统的设计与实现
2018-03-31周静严嘉萍
周静 严嘉萍
摘要:人事管理是企事业单位在日常管理中非常重要的部分,随着单位不断地发展壮大,为了更好地规范人事管理流程,提高人事录用效率,在单位内实现各部门人力资源共享,同时为了适应多平台工作环境,方便管理人员通过电脑、手机、平板等多种终端进行人事管理工作,提出了基于多平台的人事管理系统。介绍了系统的总体架构、功能模块及设计,并以多平台中的在线考勤为例详细说明了该模块的具体实现。通过人事管理系统实现了日常人事管理电子化、流程化、规范化、便捷化,具有较高的实用价值。
关键词:人事管理;多平台;在线考勤;招聘管理
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)06-0068-03
随着网络的快速发展,手机及移动终端的普及,企事业和政府部门通过建设信息化系统提高工作效率,并且使用相应的移动终端来实现异地的办公。移动端的便捷性也逐步得到了大众的认可。在企事业单位的行政管理工作中,人事管理是核心部分,人力资源也是一个企业的核心价值。
上海市质量监督检验技术研究院现有员工1100人,每年的人事变动有近百人,院下属共有8个职能部门,10个所,对于人事的集中管理如果使用传统的纸质方式,将花费大量的人力物力,并且实时性较差。利用电子信息化的规范性,简历统一的电子化流程,能够很好地帮助单位规范化管理,同时,利用移动终端的便捷性,可以方便人事专员在不同的环境中进行办公,提高办事效率。
1相关技术
1.1RESTfulAPI
Representational State Transfer,简称REST,它是一种网络架构风格,虽然它不是一种标准,但却被互联网企业普遍接受。主要对网络应用的设计和开发,通过JSON的数据格式降低了开发的复杂性,同时也提高系统的可伸缩性。在REST架构中,通过URI来标识每项资源,通过HTYP的不同请求方式来对资源进行各种状态的操作。
1.2微服务API网关架构
API Gateway是客户端与微服务系统之间的中间件,是客户端访问微服务系统的唯一入口。通过API网关可以对服务进行授权、监控、负载均衡、缓存、分片和管理。
2系统架构设计
2.1系统功能设计
基于多平台的人事管理系统的主要功能如图1所示:
1)简历管理,人事专员对每个投送简历的人员进行简历管理,形成简历资料库,并通知意向人员进行面试,面试成功后可以直接转为员工信息,对于面试不符合的人员可以对信息进行存档作为储备人员。对于离职后的人员,简历信息也可存档备查。
2)人员信息管理,此功能对系统中所有的职工信息进行统一管理,建立了单位内部的人力资源库,每个员工在信息变更后通过流程可以申请修改个人信息。
3)工资管理,对全院及下属所的所有岗位和职称进行工资管理,根据每月考勤和绩效可自动计算出所有人员的工资及奖金,并形成报表。
4)招聘管理,招聘是人事管理过程中的核心部分,系统通过内部发布招聘需求,由人事部门统一审核并对外发布招聘信息。通过对接外部系统可以在线提交应聘人员的简历,并进行初步筛选,筛选后可以线下安排面试.面试完成后可以转交各部门进行评分并最终录用,被录用的人事信息会自动转入系统中的职工人员信息。
5)培训管理,人事培训管理人员可以在系统内部发布培训信息,培训信息可以按不同人员的岗位进行查看,普通员工在查看培训信息时可以过滤掉与自己岗位不相关的培训信息。通过在线培训申请、审批、打卡功能后可以记录员工的培训记录,为之后的人员晋升提供数据支持。
6)流程管理,流程管理负责对人事日常的事物流程进行管理。包括入职、请假、离职等流程,每个流程可以自由设置流程等审批环节及相应的负责人。并通过流程管理可以产生绩效信息。
7)在线考勤管理,通过PC端的考勤功能可以直接记录员工的考勤时间,通过手机端及其他移动终端可以记录外出人员的考勤信息,并通过移动端的定位信息记录考勤的地点及时间。
8)系统管理。为了保证系统正常运行,对系统参数进行设置,系统管理主要包括了各类系统内部及与外部系统对接的接口设置,并通过对服务器的实时监控保证系统的正常运作和维护。
2.2系统架构设计
基于多平台的人事管理系统采用Tomcat作为应用服务器,MySQL作为数据库存储。
系统的底层主要采用经典的三层架构,主要用JAVA语言编写,将底层分为RESTful API接口层,业务逻辑层,数据访问层,在RESTful接口的基础上,对将系统内的业务进行封装成API网关,所有的客户端(包括Web端、移动iOS端、移动An-droid端、移动H5端)通过对API网关的统一访问处理业务逻辑,见图2所示:
2.3系统使用的框架
1)Maven:Maven是一个Java的包管理工具,本系统使用了Maven对项目的包管理和打包。
2)Spring:Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构。系统中使用了Spring JPA Data模块与数据框架Hibernate进行了整合,使用了Spring的AOP模块进行了权限控制和日志处理,使用了SpringMVC实现了RESTfulAPI的暴露,使用了Spring Cloud实现了API网關的功能。
3)Hibernate:Hibernate是Gavin King于2001年开始,作为EJB2风格实体bean的替代品开发的对象关系映射工具。用于数据与实体之间的映射,也就是ORM框架。
4)RabbitMQ:RabbitMQ是一个成熟的消息队列框架,本系统中对于异步消息的处理是通过RabbitMQ来实现的。
5)Jedis:Jedis是{ava对Radis处理的框架,本系统使用Ra-dis处理了系统中对缓存,提高整个系统的运行效率,节省了服务器资源。
3系统功能实现
本系统主要使用的技术是利用API网关架构与RESTful架构结合实现的。下面以在线考勤功能为例。
3.1数据实体设计
在线考勤的对象是所有员工,因此需要员工信息。对于考勤分为正常考勤和外出考勤,正常考勤是在日常到达单位后操作的,外出考勤需要结合相关的流程,因此需要流程信息。相关ER图如图3所示:
3.2 RESTful接口设计
基于REST风格的架构中的资源是由URI来指定。对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。以员工的信息为例。
员工信息定义资源标识的规则如下:
http:∥服务所在的IP地址:服务的端口号/{本系统名称:即employeement}/{员工ID}
员工ID是本系统中每个员工分配的唯一标识。利用HTTP的不同的请求方式,可对该资源进行状态改变。以获取员工信息为例,通过HTTP协议的GET方法对资源信息进行获取,获取后的响应格式为JSON的数据格式,通过键值对的方式构成,属性名称记为PNi,属性值记为PVi,格式如下:
{PNI1:PV1,PN2:PV2,……,PNn:PVn}
以员2120032为例,姓名张三,性别男,身份证31010119xxx,需要将数据更新到系统中时,对http:∥IP:PORT/system/employ-ee/000032的URI进行PUT请求,请求的内容大致为:
3.3 API网关设计
系统使用SpringCloud实现了API网关的设计,签到功能首先利用RESTful API获取员工信息,如果员工属于外出签到,使用流程的RESTful API获取流程信息,最后通过签到API实现对签到功能的记录。流程如图4所示:
3.4在线考勤界面
系统登录界面,系统通过员工工号和密码进行登录,如图4所示,左侧是Web端登录界面,右侧为移动端登录界面。登录系统后,员工可在系统首页进行考勤,如图6所示:
4结束语
基于多平台的人事管理系统采用了目前效率最高的RESTful与API网关结合的方式实现,并在实际应用中获得了较满意的效果。在此系統的基础上,解决了院员工的人事管理工作,提高了管理的效能。方便了所有员工的考勤及统计。系统中的基于RESTful与API网关结合的技术可以为相关技术人员提供借鉴。