员工打卡工资管理系统
创建于 2026 年 1 月 27 日
项目介绍
员工打卡工资管理系统是一套基于若依(RuoYi)框架开发的数字化企业智能管理后台,围绕”打卡、排班、请假、工资、报表、匿名信箱”六条业务线,把中小型团队的日常人事管理收敛到一个系统里。项目采用前后端分离架构,后端基于 Spring Boot,前端基于 Vue 2 + Element UI,业务数据以 biz_ 前缀的九张表独立存储,与若依自带的权限体系(sys_user、sys_role、sys_menu)无缝衔接。
系统内置了员工、经理、老板三类业务角色:员工负责打卡、查看排班、请假申请、查看个人工资、提交报表与匿名信;经理负责排班管理、员工信息维护与请假审批;老板则拥有工资管理、报表查看、匿名信查看等全局权限,配合若依的菜单与按钮级权限点(如 attendance:employee:list)实现精细控制。
项目架构
后端工程沿用若依的多模块结构:ruoyi-admin 提供管理后台入口与业务控制器,ruoyi-system 承载业务领域代码(controller 层之外还有 domain、mapper、service),ruoyi-common、ruoyi-framework、ruoyi-generator、ruoyi-quartz 分别负责公共组件、框架配置、代码生成与定时任务。业务代码集中在 com.ruoyi.biz 包下,共 13 个控制器,覆盖打卡、异常考勤、排班、留班、请假、员工扩展信息、工资、我的工资、报表提交与查看、匿名信收发等接口。
数据库共九张业务表:biz_employee_ext(员工扩展信息)、biz_attendance(打卡记录)、biz_attendance_abnormal(异常考勤)、biz_schedule(排班)、biz_availability(留班)、biz_leave(请假)、biz_salary(工资)、biz_report(报表)、biz_anonymous_letter(匿名信)。SQL 脚本按若依基础表、定时任务表、业务表、业务字典、业务菜单的顺序提供,另有一份包含演示数据的完整库导出(20260127-daka.sql)可直接还原体验。
核心功能
- 考勤打卡:员工点击上班/下班打卡,系统根据当日排班的上下班时间自动判定状态(正常/迟到/早退/缺勤/请假),并同步写入异常考勤表;针对迟到、早退、缺勤记录支持补签,同一员工每月最多补签 3 次
- 排班与留班:经理按日期为员工安排早班、中班、晚班、休息四种班次,员工可查看自己的排班安排;留班表记录加班时段,作为考勤与工资的补充依据
- 请假审批:员工提交事假、病假、年假、调休申请并填写天数与原因,经理审批(待审批/已通过/已拒绝),老板可查看全部请假记录
- 工资管理:老板按员工与月份录入基本工资、加班费、奖金、扣款,系统按”实发工资 = 基本工资 + 加班费 + 奖金 - 扣款”计算后发放,员工在”我的工资”页面查看个人明细
- 报表与匿名信箱:员工提交日报/周报/月报,老板查看并标记已读;员工可匿名提交建议、投诉、举报,系统仅内部记录提交人,老板端不展示,查看后自动标记已读
功能截图
暂无运行截图。
快速上手
环境要求 JDK 1.8+、MySQL 5.7+、Redis、Node.js 14+ 与 Maven 3.6+。先创建数据库 ry_vue(utf8mb4),依次执行 ry_20250522.sql、quartz.sql、biz_table.sql、biz_dict.sql、biz_menu.sql,再修改 application-druid.yml 中的数据源与 Redis 配置。后端在工程根目录执行 mvn clean package -DskipTests 后运行 java -jar ruoyi-admin/target/ruoyi-admin.jar;前端进入 vue 目录执行 npm install 与 npm run dev 即可启动。默认管理员账号 admin/admin123,员工、经理、老板角色可在系统管理-用户管理中创建。后端启动后可通过 http://localhost:8080/swagger-ui/index.html 查看接口文档。
总结
这个项目以若依框架为底座,把考勤、薪资、报表与匿名反馈串成一条完整的员工管理闭环:打卡异常自动判定并支持补签,工资按公式自动核算,报表与匿名信打通上下级信息通道,三角色权限让员工、经理、老板各司其职。对于想快速搭建中小企业人事管理后台、或者学习若依二次开发与业务表扩展的同学,是一份结构清晰、可完整运行的参考实现。