功能开启
进度说明:
// TODO @AI:进度说明,参考 mes 的说明呀。
HRM 后端由 yudao-module-hrm 模块实现,前端由 yudao-ui-admin-vue3 的 hrm 目录实现。请确保后端、前端和数据库脚本来自同一版本。
请假功能依赖 BPM。如果项目尚未开启工作流,需要先参见 《工作流手册》 启用 yudao-module-bpm。
HRM 系统,由 yudao-module-hrm 模块实现,前端由 yudao-ui-admin-vue3 的 hrm 目录实现。开启步骤与 MES、WMS 相同:
- 第一步,开启
yudao-module-hrm模块 - 第二步,导入 HRM 数据库、菜单和字典脚本
- 第三步,重启后端项目,确认功能是否生效
# 1. 第一步,开启模块
① 修改后端根目录 pom.xml,确认 yudao-module-hrm 模块已经启用:
<module>yudao-module-hrm</module>
② 修改 yudao-server/pom.xml,确认服务端已经引入 HRM 模块:
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-hrm</artifactId>
<version>${revision}</version>
</dependency>
③ 点击 IDEA 右上角的【Reload All Maven Projects】,刷新 Maven 依赖。也可以在后端根目录执行:
mvn -pl yudao-module-hrm -am -DskipTests compile
# 2. 第二步,导入 SQL
从购买或交付的 HRM 源码包中,导入与当前版本匹配的 MySQL 初始化脚本。脚本不仅创建业务表,也会初始化 HRM 菜单、按钮权限和业务字典;不要混用不同版本的代码与 SQL。
所有 HRM 业务表都使用 hrm_ 前缀,当前共 50 张:
| 业务域 | 表数量 |
|---|---|
| 共享配置 | 1 |
| 员工 | 12 |
| 招聘 | 5 |
| 考勤 | 4 |
| 社保 | 5 |
| 薪资 | 13 |
| 绩效 | 10 |
导入后,可使用下面的 SQL 检查表数量:
SELECT COUNT(*) AS hrm_table_count
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name LIKE 'hrm\_%';
除业务表外,还需要确认 HRM 菜单、按钮权限和业务字典已经导入,并为 HR、主管和员工角色分别分配菜单。
# 3. 第三步,重启项目
重启后端项目,然后启动 Vue3 管理后台,进入 [HRM 人力资源 -> HR 工作台] 菜单确认功能是否生效。
该页面由 @/views/hrm/home/hr/index.vue 实现,通过 HrmHomeController(接口前缀为 /hrm/home)调用 GET /hrm/home/hr-statistics-summary 和 GET /hrm/home/hr-calendar。只要统计卡片与日历能够正常加载,即表示前后端接口已经连通。如下图所示:

如果菜单不存在,优先检查菜单 SQL 和角色授权;如果菜单可以进入但接口不可用,再检查 yudao-module-hrm 是否已经被 yudao-server 加载。
至此,我们就成功开启了 HRM 的管理端功能 🙂
# 4. 全局说明
① 员工端开通:员工端复用后台账号。先在员工档案中将 hrm_employee.user_id 绑定到 system_users.id,再为该账号分配“HRM 员工端”菜单。未绑定员工档案的账号只会看到开通引导。
② 请假流程:员工请假复用 BPM,流程定义 Key 固定为 hrm_attendance_leave。流程审批完成后,由 HRM 监听器回写请假状态;详细流程见 《【考勤】考勤管理》。
③ 定时任务:在 [基础设施 -> 定时任务] 中配置 hrmEmployeeChangeJob、hrmSalaryChangeJob 和 hrmPerformanceAppealTimeoutJob,分别处理到期的人事异动、调薪和绩效申诉阶段。
④ 基础数据:部门和后台账号来自 System 模块。建议先完成组织与员工档案,再配置考勤、社保、薪资和绩效,避免月度计算缺少员工基础资料。