# openhrms **Repository Path**: ningnannping/openhrms ## Basic Information - **Project Name**: openhrms - **Description**: 企业级人力资源管理系统 - 基于 Spring Boot + Vue, 简称:人力资源管理系统、人力资源系统、人才管理系统、人力资本系统、人才系统、人事系统、人事软件、hrms、ehr、hcm、hrsoft、erp - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2026-05-16 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HRMS 开源版 - 企业级人力资源管理系统

基于 Spring Boot + Vue 的前后端分离架构

Spring Boot Vue Java Ant Design Vue License

--- ## 📖 项目简介 HRMS 是一款开源的企业级人力资源管理系统,采用前后端分离架构,提供完整的 HR 管理解决方案。系统包含组织架构、考勤管理、薪资管理、系统监控等核心功能模块,支持灵活的权限管理和数据权限控制。 ### ✨ 主要特性 - **前后端分离**: 后端 Spring Boot + 前端 Vue.js - **权限管理**: 基于 RBAC 的权限控制模型,支持数据权限 - **多模块架构**: 模块化设计,包含 common、logging、system 等核心模块 - **考勤管理**: 支持打卡、请假、加班、公出等多种考勤场景 - **组织架构**: 多层级组织架构管理,支持树形结构展示 - **系统监控**: 实时监控系统运行状态和服务部署 - **日志管理**: 完整的操作日志和系统日志记录 - **OCR 识别**: 集成 OCR 技术,支持证件识别等功能 - **报表导出**: 支持 Excel、PDF 等多种格式导出 --- ## 🛠️ 技术栈 ### 后端技术 | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 2.5.8 | 核心框架 | | Spring Security | - | 安全认证 | | MyBatis-Plus | 3.5.3.1 | ORM 框架 | | Redis | - | 缓存 | | MySQL | - | 数据库 | | Druid | 1.2.8 | 数据库连接池 | | Knife4j | 3.0.3 | API 文档 | | JWT | 0.11.5 | Token 认证 | | Hutool | 5.7.16 | Java 工具库 | | RapidOCR | 0.0.7 | OCR 识别 | | EasyExcel | 3.1.1 | Excel 处理 | | WebSocket | - | 实时通信 | ### 前端技术 | 技术 | 版本 | 说明 | |------|------|------| | Vue | 2.6.14 | 渐进式 JavaScript 框架 | | Vue Router | 3.5.3 | 路由管理 | | Vuex | 3.6.2 | 状态管理 | | Ant Design Vue | 1.7.8 | UI 组件库 | | Axios | 0.26.1 | HTTP 客户端 | | ECharts | 5.4.0 | 图表库 | | VXE Table | 3.6.13 | 表格组件 | | Univer | 0.15.3 | 在线表格 | | Mock.js | 1.0.8 | 模拟数据 | --- ## 📦 项目结构 ``` hrms-open/ ├── hrms/ # 后端项目 │ ├── common/ # 公共模块 │ │ └── src/main/java/com/rizeen/ │ │ ├── annotation/ # 自定义注解 │ │ ├── aspect/ # AOP 切面 │ │ ├── base/ # 基础类 │ │ ├── config/ # 配置类 │ │ ├── exception/ # 异常处理 │ │ └── utils/ # 工具类 │ ├── logging/ # 日志模块 │ │ └── src/main/java/com/rizeen/ │ │ ├── domain/ # 日志实体 │ │ ├── mapper/ # 数据访问层 │ │ ├── service/ # 业务逻辑层 │ │ └── rest/ # 控制器 │ ├── system/ # 核心业务模块 │ │ └── src/main/java/com/rizeen/ │ │ ├── modules/ │ │ │ ├── system/ # 系统管理 (用户、角色、部门、菜单) │ │ │ ├── security/ # 安全认证 (JWT) │ │ │ ├── mnt/ # 运维管理 (部署、服务监控) │ │ │ └── attend/ # 考勤管理 │ │ └── HrtApplication.java # 启动类 │ └── pom.xml # Maven 配置 └── hrms-ui/ # 前端项目 ├── src/ │ ├── api/ # API 接口 │ ├── components/ # 组件 │ ├── config/ # 配置 │ ├── core/ # 核心功能 │ ├── layouts/ # 布局 │ ├── store/ # Vuex 状态管理 │ ├── utils/ # 工具函数 │ └── views/ # 页面视图 ├── package.json # 依赖配置 └── vue.config.js # Vue 配置 ``` --- ## 🚀 快速开始 ### 环境要求 - JDK = 1.8 - MySQL >= 5.7 - Node.js >= 14.x - Maven >= 3.5 ### 后端部署 #### 1. 克隆项目 ```bash git clone https://github.com/your-repo/hrms-open.git cd hrms-open/hrms ``` #### 2. 修改数据库配置 编辑 `application.yml` 配置文件: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/hrms?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: your_password redis: host: localhost port: 6379 password: ``` #### 3. 导入数据库脚本 执行 `sql/hrms.sql` 创建数据库和表结构。 #### 4. Maven 构建 #### 5. 启动应用 运行hrms/system/目录下的 `HrtApplication.java` 主类。 ### 前端部署 #### 1. 进入前端目录 ```bash cd hrms-ui ``` #### 2. 安装依赖 ```bash npm install # 或使用淘宝镜像 npm install --registry=https://registry.npm.taobao.org ``` #### 3. 启动开发服务器 ```bash npm run dev ``` 浏览器访问:http://localhost:9000 ## 🔐 默认账号 - 用户名:`admin` - 密码:`123456` **⚠️ 首次使用后请及时修改密码!** --- ## 📋 核心功能模块 ### 1. 系统管理 - 用户管理:用户增删改查、重置密码、导入导出 - 角色管理:角色权限配置、数据权限设置 - 菜单管理:动态路由配置、按钮权限控制 - 部门管理:组织架构树形管理 - 岗位管理:岗位信息维护 ### 2. 员工管理 - 员工档案:员工信息管理、入职转正 - 合同管理:劳动合同签订、续签、解除 - 档案管理:员工学历、证书、培训记录 - 异动管理:调岗、晋升、离职管理 - 考勤统计:员工考勤汇总、异常统计 ### 3. 考勤管理 - 打卡管理:打卡记录查询、补卡申请 - 请假管理:请假申请、审批、统计 - 加班管理:加班申请、审核 - 公出管理:外出登记管理 - 班次管理:班次设置、排班管理 - 假期管理:法定节假日配置 - 考勤分析:日报、月报统计分析 ### 4. 薪资管理 - 薪资套账:薪资结构设计 - 薪资计算:自动计算员工薪资 - 薪资发放:工资条生成与发放 - 个税计算:个人所得税计算 - 社保公积金:五险一金管理 ### 4. 组织架构 - 机构管理:单位、部门多级管理 - 编制管理:部门编制设置 - 职级体系:职位级别管理 ### 5. 运维监控 - 服务监控:系统资源监控(CPU、内存、磁盘) - 部署管理:应用部署、启停服务 - 日志管理:系统日志、操作日志查询 - SQL 监控:SQL 执行分析 ### 6. 安全认证 - JWT Token 认证 - 图形验证码 - 密码加密存储 - 登录日志 - 数据权限隔离 --- ## 🎯 系统特色 ### 权限管理 采用 RBAC(Role-Based Access Control)权限模型: - **功能权限**: 控制菜单、按钮级别的访问权限 - **数据权限**: 支持全部、自定义、本级、仅本人等数据范围 - **角色管理**: 灵活的角色配置,支持多角色 --- ## 📸 系统截图展示 > 用户登录 ![img_3.png](sys_display_img%2Fimg_3.png) > 首页 ![img.png](sys_display_img%2Fimg.png) > 员工管理 ![img_2.png](sys_display_img%2Fimg_2.png) > 图形分析 ![img_4.png](sys_display_img%2Fimg_4.png) > 员工历史时点 ![img_5.png](sys_display_img%2Fimg_5.png) > 考勤分析 ![img_7.png](sys_display_img%2Fimg_7.png) > 工资核算 ![img_6.png](sys_display_img%2Fimg_6.png) > 用户管理 ![img_9.png](sys_display_img%2Fimg_9.png) --- ## 🔧 开发指南 ### 新增模块 #### 后端开发流程 1. 创建数据库表 2. 在 `system/modules` 下创建对应模块目录 3. 生成或编写 Entity、Mapper、Service、Controller 4. 配置菜单和权限 #### 前端开发流程 1. 在 `src/views` 下创建页面组件 2. 在 `src/api` 下创建 API 接口文件 3. 配置路由(可在数据库菜单表中配置) ## ❓ 常见问题 ### 1. 启动时报数据库连接失败 检查 MySQL 是否启动,确认数据库配置是否正确。 ### 2. 前端跨域问题 开发环境已配置代理,生产环境需在后台配置 CORS。 ### 3. Redis 连接失败 确保 Redis 服务已启动,检查配置文件中 Redis 连接信息。 --- ## 📄 开源协议 Apache License 2.0 --- ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request --- ## 👨‍💻 开发团队 - **作者**: yousowe - **邮箱**: yousowe@163.com --- ## 📞 联系方式 如有问题或建议,请添加微信联系: ![img_1.png](sys_display_img%2Fimg_1.png) --- ## 🙏 致谢 感谢以下开源项目: - [Spring Boot](https://spring.io/projects/spring-boot) - [Vue.js](https://vuejs.org/) - [Ant Design Vue](https://antdv.com/) - [MyBatis-Plus](https://baomidou.com/) - [RapidOCR](https://github.com/RapidAI/RapidOCR) ---

如果这个项目对你有帮助,请给一个 ⭐️ Star 支持!