当前位置:   article > 正文

基于Springboot人事管理系统设计与实现(附源码开发文档)-可用于毕业设计-课程设计-练手学习_基于spring人事管理系统

基于spring人事管理系统

提供:项目源码、项目文档、数据库脚本、软件工具等所有资料
该项目源码资料可作为毕设使用
文章底部查看项目源码获取联系方式

基于Springboot人事管理系统设计与实现(附源码开发文档)-可用于毕业设计-课程设计-练手学习

1.项目简介

基于springboot人事管理系统分为七大业务模块:绩效考核,招聘管理,档案管理,工资管理,考勤管理,培训管理,系统管理等。

可满足小企业日常办公。本系统最大特色是有强大和灵活的权限控制功能,所有菜单,按钮功能均可由管理通过配置来控制。

系统默认有四个角色:管理员,财务专员,人事专员,普通用户

  • 管理员:可以操作所有功能
  • 财务专员:可查看工资管理,考勤管理,培训管理等内容
  • 人事专员:可查看和管理招聘管理,档案管理,培训管理等内容
  • 普通用户:只可查看工资,打卡考勤,参加培训等

2.功能概述

2.1.绩效考核

绩效考核目前只做了简单的考核设置,后期可扩展更多功能与工资和培训挂钩。后期会从以下几个方面扩展:

  1. 季度考核不达标需要参加培训;
  2. 考核不达标影响绩效;
  3. 在公司做培训增加绩效;

2.2.招聘管理

招聘管理子模块:招聘需求和面试计划。招聘需求是为各个部门需要人才时到招聘需求申请,申请成功后,由人事部门和招聘部门协商面试时间添加面试计划,并跟踪面试结果。

  • 招聘需求
    可由人事部门或有招聘需求部门填写招聘需求。

  • 面试计划
    人事专员看到各个部门的招聘需求后,联系候选人并和用人部门协商面试时间,并将面试计划提交,等面试结束再将面试结果同步到系统。招聘结束后结束流程。

2.3.档案管理

  • 员工档案
    员工档案是“系统管理-账号管理”的延伸,即“系统管理-账号管理”是系统的登录账号信息,而员工档案是对账号信息的补充。必须由管理员先创建好账户,才能添加员工档案

  • 合同档案
    公司商业合同管理

2.4.工资管理

工资管理目前有工资查询子模块。普通用户可查看自己工资记录,财务专员可增加员工工资记录。

2.5.考勤管理

考勤管理目前有出勤记录子模块。普通用户可每日打卡,查看出勤记录,后期可扩展与工资计算挂钩。

2.6.培训管理

培训管理子模块:个人计划,工作日报,转正申请和工作日报。

  • 个人计划
    员工可写当日工作计划

  • 工作日报
    员工可写当日工作日报

  • 转正申请
    员工到了转正日期可申请转正由其领导进行审批。后期可与工资和绩效挂钩进行扩展,扩展内容如下:

1. 转正前工资按合同80%计算,转正后100%;
2. 转正后绩效不达标则绩效奖金按百分比算
  • 1
  • 2
  • 培训计划
    可添加新员工培训计划,新技能培训计划,新业务培训计划,后期可扩展会议室管理功能

2.7.系统管理

系统管理子模块:员工管理,部门管理,角色管理,菜单管理和字典管理。

  • 账号管理
    可为新员工增加系统登录账号,为离职员工删除账号。后期可扩展员工忘记密码后,重置密码功能,通常只有人事专员和管理员可用

  • 部门管理
    可增加新部门或新成立子公司,通常只有管理员和高级管理领导可用

  • 角色管理
    可新增角色,并为角色赋予相应权限,如招聘专员只能操作系统管理模块以外的其他模块功能,从财务专员只能进行工资记录添加等,通常只有管理员和高级管理领导可用

  • 菜单管理
    管理系统左侧的菜单树,只有管理员可用

  • 字典管理
    管理系统常用字典值,只有管理员可用

3.技术选型

  1. 核心框架:Spring Boot 、SpringMvc、Spring、MyBatis(MyBatis Plus)
  2. 数据库连接池:Druid
  3. 日志:SLF4J ,Log4j
  4. 前端框架:LayUI,Ztree,jQuery,Bootstrap
  5. 数据库:Myysql
  6. 开发工具: IDEA或Eclipse

4.系统角色

系统默认有四个角色:管理员,财务专员,人事专员,普通用户

  • 管理员(admin/admin):可以操作所有功能
  • 财务专员(cw/cw):可查看工资管理,考勤管理,培训管理等内容
  • 人事专员(rs/rs):可查看和管理招聘管理,档案管理,培训管理等内容
  • 普通用户(wdc/wdc):可以操作工资,打卡考勤,参加培训等

4.1.管理员登录

在这里插入图片描述

4.2.财务人员登录

在这里插入图片描述

4.3.人事登录

在这里插入图片描述

4.4.普通用户登录

在这里插入图片描述

5.系统运行部分截图

5.1.登录

在这里插入图片描述

5.2.后台首页

在这里插入图片描述

5.3.考核设置

在这里插入图片描述

5.4.面试管理

在这里插入图片描述

5.5.档案管理

在这里插入图片描述

5.6.合同管理

在这里插入图片描述

5.7.工资管理

在这里插入图片描述

5.8.考勤管理

在这里插入图片描述

5.9.个人计划

在这里插入图片描述

5.10.工作日报

在这里插入图片描述

5.11.转正申请

在这里插入图片描述

5.12.培训计划

在这里插入图片描述

5.13.员工管理

在这里插入图片描述

5.14.部门管理

在这里插入图片描述

5.15.角色管理

在这里插入图片描述

5.16.菜单管理

在这里插入图片描述

5.17.字典管理

在这里插入图片描述

6.部分源码

/**
 * 员工档案
 *
 * @author 
 */
@RestController
@RequestMapping("/person/doc")
public class UserDocController  extends AbstractController {
	@Autowired
	private UserDocService userDocService;

	/**
	 * 所有员工档案列表
	 */
	@RequestMapping("/list")
	@RequiresPermissions("person:doc:list")
	public R list(@RequestParam Map<String, Object> params){
		PageUtils page = userDocService.queryPage(params);

		return R.ok().put("page", page);
	}


	/**
	 * 员工档案信息
	 */
	@RequestMapping("/info/{id}")
	@RequiresPermissions("person:doc:info")
	@ResponseBody
	public R info(@PathVariable("id") Long id){
		UserDocEntity doc = userDocService.getById(id);

		return R.ok().put("doc", doc);
	}

	/**
	 * 保存员工档案
	 */
	@SysLog("保存员工档案")
	@RequestMapping("/save")
	@RequiresPermissions("person:doc:save")
	public R save(@RequestBody UserDocEntity doc){
		ValidatorUtils.validateEntity(doc);
		doc.setCreateTime(DateUtils.currentTimeFormat() );
		//查询是否已存在
		UserDocEntity d = new UserDocEntity();
		d.setUserId(doc.getUserId());
		QueryWrapper q = new QueryWrapper();
		q.setEntity(d);
		UserDocEntity one = userDocService.getOne(q);
		if (null != one) {
			return R.error( "该员工已有档案,请勿重复添加");
		}
		doc.setUserNo(StringUtils.leftPad(doc.getUserId().toString(),4,"0"));
		userDocService.save(doc);
		return R.ok();
	}

	/**
	 * 修改员工档案
	 */
	@SysLog("修改员工档案")
	@RequestMapping("/update")
	@RequiresPermissions("person:doc:update")
	public R update(@RequestBody UserDocEntity doc){
		ValidatorUtils.validateEntity(doc);
		userDocService.update(doc);
		return R.ok();
	}

	/**
	 * 删除员工档案
	 */
	@SysLog("删除员工档案")
	@RequestMapping("/delete")
	@RequiresPermissions("person:doc:delete")
	public R delete(@RequestBody Long[] ids){
		userDocService.deleteBatch(ids);
		return R.ok();
	}

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82

7.源码获取

精彩专栏推荐订阅:在下方专栏

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/845591
推荐阅读
相关标签