毕业设计 springBoot人力资源管理系统+毕业论文+前后端源代码

目 录

第 1 章 绪论.............................................................................................................................. 1

1.1 选题背景..............................................................................................................................1

1.2 选题目的..............................................................................................................................1

1.3 选题意义..............................................................................................................................1 第 2 章 关键技术介绍.............................................................................................................. 2

2.1 前端技术..............................................................................................................................2

2.1.1 Vue .............................................................................................................................2

2.1.2 Axios ..........................................................................................................................2

2.2 后端技术..............................................................................................................................2

2.2.1 Spring Boot ................................................................................................................2

2.2.2 MyBatis Plus..............................................................................................................2

2.2.3 JWT........................................................................................................................... 3

2.2.4 Swagger ..................................................................................................................... 3 第 3 章 系统设计...................................................................................................................... 4

3.1 功能结构设计......................................................................................................................4

3.2 前端设计..............................................................................................................................4

3.2.1 前端接口封装.......................................................................................................... 4

3.2.2 组件封装.................................................................................................................. 5

3.2.3 动态路由.................................................................................................................. 5

3.3 后端设计..............................................................................................................................5

3.3.1 全局异常处理.......................................................................................................... 5

3.3.2 数据传输对象.......................................................................................................... 5

3.4 数据库设计..........................................................................................................................5

3.4.1 系统管理模块.......................................................................................................... 5

3.4.2 权限管理模块.......................................................................................................... 7

3.4.3 考勤管理模块.......................................................................................................... 8

3.4.4 薪资管理模块........................................................................................................ 10

3.5 系统类结构设计................................................................................................................13

3.5.1 员工模块................................................................................................................ 13

3.5.2 角色模块................................................................................................................ 13

3.5.3 菜单模块................................................................................................................ 14

3.5.4 文件模块................................................................................................................ 15

3.5.5 考勤模块................................................................................................................ 16

3.5.6 薪资模块................................................................................................................ 17

3.5.7 社保模块................................................................................................................ 18 第 4 章 系统实现.................................................................................................................... 19

4.1 登录....................................................................................................................................19

4.2 个人信息编辑....................................................................................................................21

4.3 修改密码............................................................................................................................22

4.4 首页图表展示....................................................................................................................23

4.5 标签栏页面跳转................................................................................................................25

4.6 多条件分页查询................................................................................................................26

4.7 角色分配............................................................................................................................27

4.8 菜单分配............................................................................................................................29

4.9 员工请假............................................................................................................................30

4.10 考勤数据导入..................................................................................................................33

4.11 考勤月报表导出 ..............................................................................................................35

4.12 工资调整..........................................................................................................................36 4.13 月工资报表导出..............................................................................................................38 第 5 章 总结............................................................................................................................ 40

第 1 章 绪论

1.1选题背景

人力资源管理是企业运营中必不可少的一环,它关系到企业的前途与发展。尤其对于中小微企业来说,对企业的发展有着举足轻重的作用。随着近年来,政府对创业项目的大力扶持,我国创业型企业蓬勃发展。据统计,2019 年,我国创业企业数量已达 1810 万余家,占全国企业数的 97%,截止 2020 年,我国创业企业数量达到了 2030 万,同比增长 10%。虽然我国创业企业的基数在不断增大,但是能够长久存活的企业却少之又少。

在创业初期,随着企业初具规模,大多数创业者开始将主要精力集中在市场调研和开发产品上,而忽略了团队的内部管理。据调查,中国企业的平均寿命是 7.02 年,但 70%的企业存活不超过 5 年,究其原因有很多,其中最重要的一点就是,人力资源管理未能有效推动企业向前发展。

1.2选题目的

在传统人事信息管理的模式下,各岗位的人事信息往往是独立,且需要单独分配人员进行管理,提高了维护信息的成本。由于数据互不相通,所以在进行人事调动的时候往往做了重复的工作。

通过开发一款人力资源管理系统,大大减少了企业人事管理的劳动力成本,运用大数据对人力资源进行精准调控和分配。

1.3选题意义

随着计算机技术的不断进步和现代经济的不断发展,传统的管理技术已经不能满足企业的需要,人力资源管理系统越来越受到企业的重视。

人力资源管理是企业生存发展的关键,它可以改善和加强企业的管理,企业要想进行一项生产活动和做出一些远景规划,就应该重视人力资源的分配与规划作用。通过一系列的考核、激励、打卡制度,对员工的工作积极性和业绩进行考察。使得创业者能够对企业的发展状况有更加细致的了解,并及时做出合理的调整,充分发挥员工的潜力。

无论是企业还是小型机构中,人力资源管理都是一个永远都离不开的话题,其对公

司的发展是极其有意义的。

第 2 章 关键技术介绍

2.1前端技术

2.1.1    Vue

Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,

Vue 也完全能够为复杂的单页应用提供驱动。

2.1.2    Axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中,用于前端向后端发起请求,它拥有全局的请求和响应的拦截,可以非常方便的处理请求异常的问题。

2.2 后端技术

2.2.1 Spring Boot

Spring Boot 是 Spring 项目下的子项目,旨在快速开发应用,相比于 Spring,Spring Boot 避免了繁重的 xml 配置,它还采用了约定优于配置的软件设计范式,并提供了大量开箱即用的依赖模块,并且通过少量的配置,就能快速的搭建项目。

2.2.2 MyBatis Plus

MyBatis 是一款优秀的持久层框架,通过 XML 文件或注解配置来完成实体类与数据库之间的映射,舍弃了传统的 preparedStatement 设置参数操作数据库和使用 resultSet 获取结果集的过程。

MyBatis Plus 是由苞米豆团队开发的一款 MyBatis 增强工具,为简化数据库操作,提高开发效率为生。在 MyBatis 的基础上提供了常用的 crud 方法,甚至不需要配置 Mapper.xml 文件都能对数据库进行基础的操作。除此之外,MyBatis Plus 还提供了自动分页、代码生成的功能,通过配置相应的模板,就能一键生成绝大部分的后端代码,真正做到了简化开发。

2.2.3 JWT

JWT 全称 JSON Web Token,是目前比较流行跨域验证方案。相比于 session,session 生成的用户数据都会保存在服务器端,服务器只给用户的返回一个 sessionId,下次访问这个网站时,通过 cookie 将 sessionId 传递给服务器,从而得到相关的用户信息。毫无疑问,在这种情况下,服务器的内存会被大大的消耗,会带来一些性能开销。若服务器突然宕机,保存在服务器的用户数据就会消失,用户再次访问服务器就会被认为是第一次登录。

而 JWT 是保存在浏览器本地的,当用户第一次访问服务器,并且登录成功了,服

务器会根据用户的唯一标识信息(比如 id),生成一个加密的 token,并返回用户信息。只要用户每次访问服务器的时候,在请求头中携带上 token,后端的拦截器获取 token,验证签证信息通过之后,就允许访问。

2.2.4 Swagger

Swagger 是一款用于生成 Api 接口文档的工具,通过简单的注解配置,就可以将后端人员编写的接口,以文档的方式呈现。同时它还拥有简单的在线测试功能,相当于一个小型的 postman。

通过 Swagger 文档,极大地减少了前后端人员的交流成本,将前后端正真的连接起

来。

第 3 章 系统设计

3.1功能结构设计

本系统主要分四个模块,分别是系统管理和权限管理、薪资管理、考勤管理,系统管理主要用于日常事务管理管理,权限管理,用于控制员工的访问权限,薪资管理主要是对员工的五险一金以及社保数据的修改和添加,考勤管理主要是对员工的日常打卡进行记录和统计。

图 4.1 系统功能结构图

3.2前端设计

3.2.1 前端接口封装

本项目对 Axios 进行了全局的封装,对前端请求和后端响应进行了统一的拦截,并进行相应的处理。前端调用的 Api 都封装在 src/api 模块下,进行统一的管理。

3.2.2 组件封装

为了解决代码复用的问题,通过结合 Element UI。本项目对 form 表单和 table 数据表进行了进一步的组件封装。

3.2.3 动态路由

本项目采用了基于后端权限菜单的来实现动态路由,为了保证菜单数据的全局共享,

菜单数据使用 vuex 来保存。当员工访路由时,通过全局路由守卫进行拦截,并向后端请求该员工的菜单数据。

3.3后端设计

3.3.1 全局异常处理

为了高效地处理异常,本项目对异常进行了全局的统一处理,使用 @ControllerAdvice 声明一个全局异常处理器,并通过继承 RuntimeException 实现一个异常类,在需要异常处理的地方抛出自定义的异常。

3.3.2 数据传输对象

本项目中,后端响应给前端的数据都统一封装在 ResponseDTO 中,然后前端通过解析得到 ResponseDTO 的 json 对象。通过定义全局的业务状态码枚举类。前端通过后端响应数据的状态码来判断业务处理是否异常。

3.4数据库设计

根据《阿里开发手册》,本项目的每张表都包含 id、create_time、update_time 三个字段。项目统一采用逻辑删除,每张表都包括 is_deleted 字段。根据实际业务需求,项目分为系统管理、权限管理、薪资管理、考勤管理四大模块。表前缀 sys_(系统管理)、 per_(权限管理)、att_(考勤管理)、sal_(工资管理)、soc_(五险一金)。

3.4.1 系统管理模块

系统管理模块主要涉及 3 张表,负责对员工、部门、以及被上传文件的数据信息进行保存。

图 4.2 系统管理模块物理模型员工表:

员工表包含了用户的基本信息,如电话、生日、地址等。

4.3

员工表

部门表:

用于存放部门数据,本项目中部门只分为两级,一级部门,二级部门。parent_id 代表父级部门 id,若 parent_id 为 0 代表一级部门。

4.

4

部门表

文件表:

用于存放本地上传的文件信息,其中 md5 代表文件的标识,若将要上传的文件已经存在于服务器上,则不用再上传。

4.

5

文件表

3.4.2 权限管理模块

权限管理模块主要涉及 5 张表,主要对菜单数据、角色数据进行保存。

图 4.6 权限管理模块物理模型

角色表:

用于存放角色数据。

4.

7

角色表

菜单表:

用于存放菜单数据,本项目中菜单只分为两级,一级菜单,二级菜单。其中 path 代表路由,parent_id 代表父级菜单的 id。如果为 0,则代表是一级菜单。

4.

8

菜单表

3.4.3 考勤管理模块

员工考勤模块主要涉及 9 张表,主要对员工的考勤数据,以及各部门的考勤规则、

加班、请假、工作时间等规则信息的保存。

图 4.9 考勤管理模块物理模型

考勤表:

用于保存员工每天的上下班打卡时间,并记录当前的员工考勤状态。

4.10

员工考勤表

部门上班时间表:

主要保存每个部门所规定的上下班时间,用于对员工工作日当天是否迟到和旷工等

状态进行判定。

4.11

部门上班时间表

员工请假表:

主要保存员工的一些请假申请的记录,以及请假申请的审核状态。

4.12

员工请假表

3.4.4 薪资管理模块

薪资管理模块主要涉及 7 张表,用于保存参保城市社保信息、员工每个的工资明细、

以及考勤扣款情况。

图 4.13 薪资管理模块物理模型

工资表:

工资表主要保存每个员工每个月的工资明细,以及考勤的罚款情况。

4.14

工资表

城市社保表:

社保城市表详细记录了当地的社保的各个项目以及公积金的缴费比例。

4.15

城市社保表

员工社保表:

员工社保表保存了员工社保以及公积金的缴纳费用和明细,也包括了企业为员工缴纳部分的明细和金额。

图 4.16 员工社保表

3.5系统类结构设计

为了统一处理后端给前端的响应,本项目中后端传递给前端的数据都封装在

ResponseDTO 中。

3.5.1 员工模块

StaffService 主要负责对员工进行操作,而 StaffRoleService 用于处理员工与角色的关联业务,如获取员工角色,为员工设置角色。

图 4.17 员工模块类图

3.5.2 角色模块

RoleService 主要负责对角色进行操作,而 RoleMenuService 用于处理角色与菜单的关联业务,如获取角色所分配的菜单,为角色设置菜单。

图 4.18 角色模块类图

3.5.3 菜单模块

MenuService 用于处理菜单业务,Menu 实体类中的 parentId 标识菜单的父级菜单, children 代表当前菜单的子菜单。

图 4.19 菜单模块类图

3.5.4 文件模块

DocsService 用于处理文件业务,其中 upload、download 分别为文件的上传与下载, imp、download 分别为数据的导入与导出。

图 4.20 文件模块类图

3.5.5 考勤模块

考勤模块主要完成员工考勤状态的统计,以及月考勤报表的生成。通过导入员工的打卡时间表,完成对员工考勤状态的一个考量。

图 4.21 考勤模块类图

3.5.6 薪资模块

薪资模块主要完成员工工资的调整,以及员工工资月报表的导出。

图 4.22 薪资模块类图

3.5.7 社保模块

社保模块主要是对参保地社保以及公积金的缴费税率的修改以及调整,还有个人社保信息的调整。

图 4.23 社保模块类图

第 4 章 系统实现

4.1登录

此模块完成了员工的登录功能,员工通过工号和密码进行登录。若员工状态异常则无法登录。

图 5.1 登录页面登录接口:

@PostMapping("/login")

public ResponseDTO login(@RequestBody Staff staff)

接口说明:

当员工填写好登录账号和密码之后,前端会提交登录表单。后端接收到数据之后,

会进行数据库查询,并将最终的查询结果以状态码的形式封装在 ResponseDTO 之中,并返回到前端。

核心代码:

public ResponseDTO login(Staff staff) {

String password = MD5Util.MD55(staff.getPassword());

StaffDeptVO staffDeptVO = this.staffMapper.findStaffInfo(staff.getCode(), password); if (staffDeptVO != null) {

// 验证用户状态

if (staffDeptVO.getStatus() == 1) {

String token = JWTUtil.generateToken(staffDeptVO.getId(),password); return Response.success(staffDeptVO, token); // 返回员工信息和 token

}

return Response.error(BusinessStatusEnum.STAFF_STATUS_ERROR);

}

return Response.error("用户名或密码错误!"); }

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 人力资源管理系统(Human Resource Management System,简称HRMS)是一种基于Spring Boot和Mybatis Plus的人力资源管理软件。它是为了帮助企业更好地管理和优化其人力资源设计的。 HRMS具有以下几个主要功能: 1. 员工管理:HRMS可以实现对员工的信息进行管理,包括员工基本信息、岗位信息、部门信息等。通过系统管理者可以对员工进行增删改查等操作,方便快捷地管理员工数据。 2. 薪资管理:HRMS可以自动计算员工的薪资并生成工资单,根据不同的岗位、等级和绩效,计算不同员工的薪资,并提供薪资发放的记录和统计。 3. 考勤管理:HRMS可以对员工的考勤情况进行记录和管理,包括请假、出差、加班等。通过系统,可以查看员工的考勤记录和统计数据,方便管理者进行调度和工作安排。 4. 培训管理:HRMS可以记录员工的培训信息和培训成果,包括培训计划、培训材料和培训效果评估。通过系统,可以为员工制定培训计划,统计培训情况,并为企业提供人员培训情况的数据支持。 5. 绩效管理:HRMS可以对员工的绩效进行评估和管理,包括设定目标、评估表和绩效考核结果。通过系统,可以定期对员工的绩效进行评估和考核,并提供绩效评估的数据和报表。 总的来说,人力资源管理系统Spring Boot Mybatis Plus可以帮助企业更好地管理和优化其人力资源,提高企业的运营效率和管理水平。通过自动化和集中化管理,可以减少人力成本和提高工作效率,为企业的发展提供有力的支持。 ### 回答2: 人力资源管理系统springboot mybatisplus 是一种基于springboot和mybatisplus框架开发的人力资源管理系统。该系统主要用于管理企业的人力资源信息,包括员工的基本信息、薪资福利、绩效考核、培训发展等方面。 springboot是一种基于spring框架的开发工具,它简化了项目的配置和部署,并提供了丰富的开发功能和插件,使得开发人员能够更加高效地开发和维护项目。 mybatisplus是mybatis的增强工具,它在mybatis的基础上提供了更多的便利功能,比如自动生成代码、分页查询、多表关联等。使用mybatisplus可以简化数据库操作,提高开发效率。 人力资源管理系统的开发过程中,可以使用springboot作为项目的基础框架,通过其内嵌的Tomcat容器和自动配置功能,简化了项目的搭建和部署。同时,可以借助springboot的starter模块集成mybatisplus,实现与数据库的连接和操作。 在系统的实现过程中,可以通过使用mybatisplus的代码生成功能,根据数据库表结构自动生成DAO层的代码。在代码编写过程中,可以使用mybatisplus提供的查询构造器和分页插件,实现复杂查询和分页查询的功能。 系统中的业务逻辑可以根据实际需求进行编写,比如员工信息的增删改查、薪资福利的计算和调整、绩效考核的评定等。通过使用springboot和mybatisplus的组合,可以快速开发出一个功能完善、性能优良的人力资源管理系统。 综上所述,人力资源管理系统springboot mybatisplus是一种基于springboot和mybatisplus框架开发的系统,它具有高效、简单、灵活等特点,能够满足企业对于人力资源管理的需求。 ### 回答3: 人力资源管理系统是一种通过技术手段管理企业的人力资源,实现人力资源的信息化、系统化和自动化的管理方式。而Spring Boot是一种用于构建独立的、可执行的、生产级别的Spring应用程序的框架。MyBatis Plus则是一款为了简化MyBatis的使用而开发的增强工具包。 结合这三个关键词,可以推测出人力资源管理系统Spring Boot MyBatis Plus应用的情境。正常情况下,人力资源管理系统可以利用Spring Boot作为后框架,MyBatis Plus作为持久层框架,来实现对人力资源数据的存储和处理。 在这个系统中,Spring Boot可以提供丰富的功能和特性,如快速搭建、内嵌Tomcat服务器、自动化配置等。它也可以与其他Spring生态系统的组件(如Spring Data、Spring Security)进行无缝集成,从而加速开发过程。 MyBatis Plus则可以提供更便捷的CRUD操作,将原始的MyBatis进行了增强,简化了常用的SQL操作,减少了手动编写SQL的工作量。它提供了诸如分页、条件构造器、通用的增删改查方法等功能,使开发者能够更加高效地操作数据库。 综上所述,人力资源管理系统Spring Boot MyBatis Plus应用结合了Spring Boot和MyBatis Plus的优势,使得开发者能够更加快速地搭建人力资源管理系统,并且能够更加方便地操作和管理人力资源数据。这样的应用架构能够提高开发效率,降低开发成本,同时也提升了系统的稳定性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

用数据说话用数据决策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值