基于SpringBoot2+vue2的人力资源管理系统 1. 资源https://blog.xiaobias.com/article/442. 项目简介人力资源管理系统旨在为企业提供员工信息管理、部门管理、工资管理、人事调配管理、招聘与应聘管理等核心功能。系统基于 B/S 架构分为管理员端和员工端管理员可进行全部数据维护员工可查看个人工资、人事调配等信息。系统数据存储使用 MySQL 数据库后端采用 Spring Boot 框架前端使用 Vue Element UI 构建后台管理界面。3. 技术栈后端Java 1.8Spring Boot 2.2.2MyBatis-Plus 2.3Apache Shiro 1.3.2权限控制MySQL 5.7.32数据库Apache Commons、Fastjson、Hutool 等工具库前端Vue 2.xVue RouterElement UIaxiosvue-json-excel、vue-qr 等辅助组件4. 详细介绍4.1 功能模块4.1.1 管理员端功能模块功能说明部门管理对部门进行增删改查记录部门名称、人数、职责、介绍等。员工管理维护员工基本信息账户、密码、所属部门、编号、姓名、手机号、身份证号、头像、职位、性别、邮箱支持重置密码。工资管理为员工发放工资记录工资名称、发放月份、基本工资、奖金、实发工资自动计算及备注。人事调配管理记录员工的人事调动信息调配名称、详情、调配时间。招聘信息管理发布招聘岗位包括招聘名称、类型社会/校园、人数、详情。应聘记录管理查看应聘者提交的信息姓名、手机号、身份证号、教育经历、工作经历、个人介绍、应聘时间并可标记是否已面试及面试结果。字典数据管理维护系统中使用的枚举类型如性别、招聘类型、是否已面试、面试结果等。4.1.2 员工端功能模块功能说明工资管理查看本人历史工资记录。人事调配管理查看本人相关的人事调动信息。部门管理查看公司部门信息只读。4.2 数据库设计bumen部门表id, bumen_name, bumen_number, bumen_zhize, bumen_content, insert_time, create_timeyuangong员工表id, username, password, bumen_id, yuangong_uuid_number, yuangong_name, yuangong_phone, yuangong_id_number, yuangong_photo, zhiwei, sex_types, yuangong_email, create_timegongzi工资表id, yuangong_id, gongzi_name, gongzi_time, jiben_gongzi, jiangjin_gongzi, shifa_gongzi, gongzi_content, insert_time, create_timerenshidiaopei人事调配表id, yuangong_id, renshidiaopei_name, renshidiaopei_content, diaopei_time, insert_time, create_timezhaopinxinxi招聘信息表id, zhaopinxinxi_name, zhaopinxinxi_types, zhaopinxinxi_number, zhaopinxinxi_content, insert_time, create_timeyingpinjilu应聘记录表id, zhaopinxinxi_id, yingpinjilu_name, yingpinjilu_phone, yingpinjilu_id_number, jiaoyu_content, gongzuo_content, geren_content, yingpin_time, mianshi_types, mianshi_jieguo_types, insert_time, create_timedictionary字典表id, dic_code, dic_name, code_index, index_name, super_id, beizhu, create_timeusers管理员表id, username, password, role, addtimetoken登录令牌表id, userid, username, tablename, role, token, addtime, expiratedtime4.3 核心业务逻辑工资实发自动计算在保存或修改工资记录时后端自动计算shifa_gongzi jiben_gongzi jiangjin_gongzi。员工唯一性校验员工账户名、手机号、身份证号在系统中不可重复。权限控制通过 Shiro Token 实现管理员可操作所有模块员工仅可查看本人相关数据。字典转换所有类型字段如性别、招聘类型等在前端展示时自动从dictionary表中读取对应的中文名称。5. 部分代码5.1 工资模块后端 ControllerGongziController.javaRequestMapping(/save)publicRsave(RequestBodyGongziEntitygongzi,HttpServletRequestrequest){// 权限判断StringroleString.valueOf(request.getSession().getAttribute(role));if(StringUtil.isEmpty(role))returnR.error(511,权限为空);elseif(员工.equals(role))gongzi.setYuangongId(Integer.valueOf(String.valueOf(request.getSession().getAttribute(userId))));// 同一员工同一月份只能有一条工资记录WrapperGongziEntityqueryWrappernewEntityWrapperGongziEntity().eq(yuangong_id,gongzi.getYuangongId()).eq(gongzi_time,gongzi.getGongziTime());GongziEntitygongziEntitygongziService.selectOne(queryWrapper);if(gongziEntitynull){gongzi.setShifaGongzi(gongzi.getJibenGongzi()gongzi.getJiangjinGongzi());gongzi.setInsertTime(newDate());gongzi.setCreateTime(newDate());gongziService.insert(gongzi);returnR.ok();}else{returnR.error(511,该员工该月份已有工资);}}5.2 员工登录接口YuangongController.javaIgnoreAuthRequestMapping(value/login)publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YuangongEntityyuangongyuangongService.selectOne(newEntityWrapperYuangongEntity().eq(username,username));if(yuangongnull||!yuangong.getPassword().equals(password))returnR.error(账号或密码不正确);StringtokentokenService.generateToken(yuangong.getId(),username,yuangong,员工);RrR.ok();r.put(token,token);r.put(role,员工);r.put(username,yuangong.getYuangongName());r.put(tableName,yuangong);r.put(userId,yuangong.getId());returnr;}5.3 应聘记录 MyBatis 联表查询YingpinjiluDao.xml 片段selectidselectListViewresultTypecom.entity.view.YingpinjiluViewSELECT a.id, a.yingpinjilu_name, a.yingpinjilu_phone, ... zhaopinxinxi.zhaopinxinxi_name as zhaopinxinxiName FROM yingpinjilu a left JOIN zhaopinxinxi ON a.zhaopinxinxi_id zhaopinxinxi.idwhereiftestparams.yingpinjiluName ! null and params.yingpinjiluName ! and a.yingpinjilu_name like CONCAT(%,#{params.yingpinjiluName},%)/if.../whereorder by a.${params.orderBy} desc/select6. 部分截图7. 项目总结人力资源管理系统涵盖了企业人事管理中的核心业务场景包括员工档案、部门架构、薪酬发放、人事调动、招聘应聘等。系统具备以下特点功能完整从员工入职到薪资发放、岗位调动、招聘闭环全流程支持。权限清晰管理员与员工角色分离数据隔离保证安全。技术规范采用主流 Spring Boot MyBatis-Plus Vue 技术栈代码结构清晰易于二次开发。数据字典化将类型字段抽象为字典表增强了系统的可配置性。易用性前端使用 Element UI 组件库界面友好支持表格分页、搜索、导出等常见操作。通过本项目可以快速搭建企业级人事管理系统并可根据实际需求扩展考勤、绩效等更多模块。