功能开启
进度说明:
- 管理后台,请使用 https://gitee.com/yudaocode/yudao-ui-admin-vue3 (opens new window) 仓库的
master分支 - 后端项目,请使用 https://gitee.com/zhijiantianya/ruoyi-vue-pro (opens new window) 仓库的
master(JDK8)、master-jdk17(JDK17/21)或master-jdk25(JDK25)分支
HRM 系统,后端由 yudao-module-hrm 模块实现,前端由 yudao-ui-admin-vue3 的 hrm 目录实现。
考虑到编译速度,默认 yudao-module-hrm 模块是关闭的,需要手动开启。步骤如下:
- 第一步,开启
yudao-module-hrm模块 - 第二步,导入 HRM 系统的 SQL 数据库脚本
- 第三步,重启后端项目,确认功能是否生效
补充说明:
由于 HRM 请假使用到 BPM 的审批功能,所以你需要先看 《工作流》 文档,将工作流开启!
# 1. 第一步,开启模块
① 修改根目录的 pom.xml (opens new window) 文件,取消 yudao-module-hrm 模块的注释。如下图所示:

② 修改 yudao-server 目录的 pom.xml (opens new window) 文件,引入 yudao-module-hrm 模块。如下图所示:

③ 点击 IDEA 右上角的【Reload All Maven Projects】,刷新 Maven 依赖。如下图所示:

# 2. 第二步,导入 SQL
点击 hrm.sql.zip 下载附件,解压出 SQL 文件,然后导入到数据库中。如下图所示:
友情提示:↑↑↑ hrm.sql 是可以点击下载的! ↑↑↑
重要说明:该 SQL 仅芋道星球成员可使用和商用,否则视为侵权(索赔 100 万,永久追溯)【下载即视为同意】。

以 hrm_ 作为前缀的表,就是 HRM 模块的表,一共 50 张,按业务模块分为:
| 子前缀 | 模块 | 表数量 |
|---|---|---|
hrm_config | 共享配置 | 1 |
hrm_employee* | 员工管理 | 12 |
hrm_recruit_* | 招聘管理 | 5 |
hrm_attendance_* | 考勤管理 | 4 |
hrm_insurance_* | 社保管理 | 5 |
hrm_salary_* | 薪资管理 | 13 |
hrm_performance_* | 绩效管理 | 10 |
# 3. 第三步,重启项目
重启后端项目,然后访问前端的 HRM 菜单,确认功能是否生效。如下图所示:

至此,我们就成功开启了 HRM 的功能 🙂
# 4. 全局说明
① HRM 的基础数据来自 System 模块:部门复用 system_dept,后台账号复用 system_users。建议先完成组织与员工档案,再配置考勤、社保、薪资和绩效,避免月度计算缺少员工基础资料。
② HRM 区分管理端与员工端两套菜单,但共用同一个后台账号体系。SQL 导入后,需要为 HR、主管和员工角色分别分配菜单;员工端还要先在员工档案中把 hrm_employee.user_id 绑定到 system_users.id。未绑定员工档案的账号只会看到开通引导,详见 《【组织】工作台、组织架构》。
③ 请假审批复用 BPM:员工请假的流程定义 Key 固定为 hrm_attendance_leave,审批完成后由 HrmAttendanceLeaveStatusListener 回写请假状态,详见 《【考勤】考勤管理》。
④ 预约生效依赖定时任务:在 [基础设施 -> 定时任务] 中配置 HrmEmployeeChangeJob、HrmSalaryChangeJob 和 HrmPerformanceAppealTimeoutJob,分别处理到期的人事异动与离职、到期的调薪,以及超时的绩效申诉节点。未配置时,预约生效的记录会一直停留在待生效状态。(如果是微服务版本,需要去 XXL-Job 里去配置)