一、项目简介
本项目是一套基于Spring Boot+Vue+ElementUI的人力资源管理系统
包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。
项目都经过严格调试,eclipse或者idea 确保可以运行!
该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值
二、技术实现
前端
Vue、Axios、ElementUI、Vue-Router、Vuex、ECharts
后端
Spring Boot、Jwt、MyBatis-Plus、MySQL、Hutool、Spring Security
三、系统功能
功能包括:
系统管理模块
权限管理模块
考勤管理模块
薪资管理模块
员工模块
角色模块
菜单模块
文件模块
考勤模块
薪资模块
社保模块等功能,具体功能如下图:
四、页面功能
首页主要展示了员工以及系统的一些基本信息。
在请假面板中,员工可以进行请假。在右侧的请假记录中可以查看以往的请假申请,或对当前未被审核的申请进行撤销。
管理员可以对员工的请假进行审批,比如通过或驳回。员工申请请假之后,等待管理员进行审批。如果管理员审批通过,则将员工休假时间段的考勤状态设置为休假(但当请假类型是调休时,考勤状态要设为调休)。
实现了对员工的五险一金进行管理,以及员工五险一金报表的导出。
实现了对员工的薪资进行管理,以及员工月薪资报表的导出。
实现了考勤数据的导入,以及月考勤报表的导出,员工考勤状态的查看与修改。
通过导入员工的考勤记录表,系统就会将员工的上下班时间与员工所在部门规定的上班时间进行比对,判断员工是否迟到、早退、旷工。 (这是数据导入的模板,需要按照此格式填写数据。系统只会读取上下班时间的时间部分,并以考勤日期作为打卡日期)
另外,介绍一下考勤规则:
若考勤日期对应的是周末,则不判读员工考勤状态,默认为休假。
若考勤日期对应的是员工请假的日期,则员工考勤状态设为休假。
若考勤日期对应的是员工调休的日期,则员工考勤状态设为调休。
若员工的四个打卡时间,只要有一个为空,则员工考勤状态设为旷工。
若员工既迟到又早退,则员工考勤状态设为旷工。
若员工迟到,则员工考勤状态设为迟到。
若员工早退,则员工考勤状态设为早退。
若不是以上任何情况,则员工考勤状态设为正常。 考勤数据导入模板
五、论文
六、数据库
一共15张表
CREATE TABLE `att_attendance` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`staff_id` int(11) NULL DEFAULT NULL COMMENT '员工id',
`mor_start_time` time(0) NULL DEFAULT NULL COMMENT '上午上班时间',
`mor_end_time` time(0) NULL DEFAULT NULL COMMENT '上午下班时间',
`aft_start_time` time(0) NULL DEFAULT NULL COMMENT '下午上班时间',
`aft_end_time` time(0) NULL DEFAULT NULL COMMENT '下午下班时间',
`attendance_date` date NOT NULL COMMENT '考勤日期',
`status` tinyint(4) NULL DEFAULT NULL COMMENT '0正常,1迟到,2早退,3旷工,4休假',
`remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` tinyint(4) UNSIGNED NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 260 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工考勤表' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `att_leave`;
CREATE TABLE `att_leave` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`dept_id` int(11) NULL DEFAULT NULL COMMENT '部门id',
`days` int(11) UNSIGNED NULL DEFAULT NULL COMMENT '休假天数',
`type_num` tinyint(4) UNSIGNED NULL DEFAULT NULL COMMENT '休假类型',
`status` tinyint(4) UNSIGNED NULL DEFAULT 1 COMMENT '0禁用,1正常,默认1',
`remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` tinyint(4) UNSIGNED NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '请假表' ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `att_overtime`;
CREATE TABLE `att_overtime` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`salary_multiple` decimal(5, 2) NULL DEFAULT NULL COMMENT '工资倍数,如按照小时计算,就是员工平均小时工资乘以倍数',
`bonus` decimal(10, 3) NULL DEFAULT NULL COMMENT '加班奖金',
`type_num` int(11) NULL DEFAULT NULL COMMENT '加班类型',
`dept_id` int(11) NULL DEFAULT NULL COMMENT '部门id',
`count_type` tinyint(4) NULL DEFAULT NULL COMMENT '0小时,1天,默认0,计数加班工资的类型',
`remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`is_time_off` tinyint(4) UNSIGNED NULL DEFAULT 0 COMMENT '0不补休,1补休,默认0',
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` tinyint(4) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '加班表' ROW_FORMAT = Dynamic;
等等…