人力资源系统开发复盘文档
简介
项目背景
原有人力资源管理系统已无法满足多部门、多分支机构的管理需求,并且旧系统存在功能分散、数据不互通、流程审批效率低等问题,导致人力资源管理成本高、决策支持不足。为提升管理效率、优化业务流程,需要开发一套集成化的人力资源系统。
重点功能点实现
员工信息管理
功能概述:实现员工从入职到离职的全生命周期管理,包括基础信息、合同管理、培训记录、考试记录等模块
技术亮点:
基于Vue3的组件化开发,实现员工信息卡片式展示和编辑
集成Excel导入导出功能,支持批量员工信息维护
采用图表方式展示公司人员情况,直观呈现员工年龄/司龄分布、学历情况、月度/季度流失率等
考勤、请休假和排班管理
功能概述:
考勤管理:从其他系统同步员工考勤数据,并支持手动打卡、异常打卡记录查询、考勤异常申诉等功能
请休假管理:提供请假申请、审批、销假全流程管理,支持多种假期类型(年假、病假、事假等),不同假期类型有不同的休假内容填写与审批规则
排班管理:支持自动排班和手动调整动态排版,先根据班次与员工的请休假情况的匹配情况进行分析,再根据现有的排班规则进行自动排班,生成对应月份的排班表,并支持排班表的预览、发布和导出等功能
技术难点与解决方案:
复杂考勤规则处理:
问题:不同部门、不同岗位考勤规则差异大(如白班、大夜小夜、中班)
解决方案:设计可配置的考勤规则引擎,支持自定义考勤时间、迟到早退计算规则等
排班与请休假数据联动:
问题:请休假/调班申请审批完成后需同步更新当月的排班计划,避免后续动态排班人工调整导致错误
解决方案:通过RabbitMQ实现请休假/调班申请审批完成信息实时推送到班组长,通知对应班组的排班已调整并重新进行排班表确认
绩效与薪酬计算
功能概述:
绩效管理:对指标公式进行管理,拖拽式生成对应公式,支持不同班组的绩效指标打分和绩效等级评定,根据班组导入基础指标,自动计算出对应班组的绩效得分、奖金表等数据。同时支持绩效编辑、确认与申诉。
薪酬计算:基于考勤、绩效、社保公积金等数据自动计算员工薪酬,支持个税自动计算。
技术难点与解决方案:
绩效指标公式拖拽式生成:
问题:多个指标公式复杂,难以统一管理和维护
解决方案:基于Vue3的拖拽式组件库实现指标公式可视化编辑,支持自定义字段、运算符和条件判断,并实时生成计算公式
会计台账自动记录与定时推送
功能概述:根据薪酬发放数据自动生成会计台账,并按设定时间周期推送给财务部门
技术亮点:
基于定时任务框架实现台账自动生成和推送
采用数据脱敏技术确保财务数据安全
支持推送结果反馈和异常处理
开发过程中的难点与挑战
数据一致性保障
问题描述:员工信息变更、考勤数据更新、绩效评估结果等都会影响薪酬计算,如何确保各模块数据一致性
解决方案:
采用领域事件驱动架构,通过事件总线实现各模块间的数据同步
实现分布式事务管理,确保跨服务数据操作的原子性
建立数据对账机制,定期对各模块数据进行比对和修正
系统性能优化
问题描述:考勤数据量大、薪酬计算复杂,导致系统响应慢,影响用户体验
解决方案:
对高频访问数据进行缓存优化,使用Redis缓存员工基本信息、考勤规则等
采用异步处理模式,将耗时的薪酬计算任务放入消息队列,由专门的工作节点处理
对数据库进行索引优化和分库分表,提升数据读写性能
复杂业务规则处理
问题描述:人力资源管理业务规则复杂多变,如何设计系统架构以快速响应业务变化
解决方案:
采用规则引擎(Drools)处理复杂业务规则,实现业务逻辑与代码分离
设计可配置化的工作流引擎,支持审批流程的灵活配置和调整
建立业务中台,将通用业务能力抽象成服务,提高系统复用性和扩展性
权限细化
问题描述:系统采用RBAC的权限控制模型,系统内同个模块不同的角色访问会有不同的权限展示,一共有17个角色,需要对应角色细化按钮权限。
解决方案:
使用vue的自定义指令开发根据当前用户权限对页面组件的显隐(
v-auth)开发当前用户对应权限获取的hook(
usePermission),可在模块全场景通用,直接访问后端接口获取用户权限并对模块进行判断,无需额外处理权限校验角色管理细化角色权限,对每个模块的所有按钮权限都可进行新增编辑取消,每个角色都有专属的权限细化(新增、编辑、删除/批量删除、导入/导出、发布、撤回、审批、查看个人数据、查看全体数据)