基于springboot+mybatis+html+bootstrap+jquery的请假审批管理系统(源码+SQL)

完整资源获取
点击下载

1、资源项目源码均已通过严格测试验证,保证能够正常运行;
2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;
3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;
4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

基于Spring Boot、MyBatis、HTML、Bootstrap和jQuery的请假审批管理系统是一个结合了现代Web开发技术的综合性解决方案。

一、系统背景与意义

随着信息化时代的到来,传统的请假审批流程显得繁琐且效率低下。学生或员工需要填写纸质请假单,经过多层审批,不仅耗时较长,还容易出现信息错误或遗漏。因此,开发一个基于Web的请假审批管理系统显得尤为重要。该系统通过自动化、信息化的方式,实现了请假申请的提交、审批、统计和查询等功能,大大提高了管理效率。

二、系统架构与技术选型

1. 系统架构

系统采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统,服务器处理业务逻辑并存储数据。这种架构具有跨平台、易维护、易扩展等优点。

2. 技术选型
  • Spring Boot:作为系统的核心框架,Spring Boot简化了Spring应用的初始搭建以及开发过程。它提供了大量的自动配置,使得开发者能够专注于业务逻辑的实现。
  • MyBatis:作为持久层框架,MyBatis支持定制化SQL、存储过程以及高级映射。它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索,从而降低了开发难度。
  • HTML/CSS/JavaScript:用于前端页面的构建和样式设计。HTML提供页面结构,CSS负责样式美化,JavaScript则用于实现页面的动态交互。
  • Bootstrap:一个前端框架,它提供了丰富的CSS样式和JavaScript插件,使得开发者能够快速构建响应式布局和美观的页面。
  • jQuery:一个快速、小巧、功能丰富的JavaScript库,它简化了HTML文档遍历和操作、事件处理、动画和Ajax交互等任务。

三、系统功能模块

1. 用户管理
  • 支持用户注册、登录、密码找回等功能。
  • 用户角色分为普通用户(如学生、员工)、审批者(如辅导员、部门经理)和管理员。
2. 请假申请
  • 用户可以在线填写请假申请,包括请假类型、起止时间、请假事由等信息。
  • 支持上传附件,如病历证明等。
3. 审批流程
  • 请假申请提交后,自动流转至相应的审批者。
  • 审批者可以在线查看请假申请详情,并进行审批操作(同意/拒绝)。
  • 支持多级审批,如先由辅导员审批,再由院系领导审批。
4. 统计查询
  • 提供请假记录的统计和查询功能,包括按时间、按部门、按类型等多种查询方式。
  • 支持导出查询结果到Excel文件。
5. 系统设置
  • 管理员可以对系统参数进行设置,如审批流程配置、用户权限管理等。
  • 支持系统日志的查看和管理,以便追踪问题。

四、系统优势

  1. 提高效率:自动化审批流程减少了人工干预,提高了审批效率。
  2. 减少错误:电子化记录减少了纸质文档的错误和遗漏。
  3. 便捷性:用户可以随时随地通过浏览器访问系统,进行请假申请和审批。
  4. 可扩展性:系统采用模块化设计,易于扩展新的功能模块。
  5. 安全性:系统采用多种安全措施,确保数据的安全性和稳定性。

五、结论

基于Spring Boot、MyBatis、HTML、Bootstrap和jQuery的请假审批管理系统是一个高效、便捷、可扩展的解决方案。它实现了请假审批流程的自动化和信息化,提高了管理效率,减少了人工错误,为用户提供了更好的使用体验。

SQL部分:

/*
Navicat MySQL Data Transfer

Source Server         : zhangsenlin
Source Server Version : 50710
Source Host           : localhost:3306
Source Database       : leave_system

Target Server Type    : MYSQL
Target Server Version : 50710
File Encoding         : 65001


*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for class
-- ----------------------------
DROP TABLE IF EXISTS `class`;
CREATE TABLE `class` (
  `class_id` int(11) NOT NULL AUTO_INCREMENT,
  `grade_id` int(11) DEFAULT NULL,
  `class_name` varchar(30) NOT NULL,
  PRIMARY KEY (`class_id`),
  KEY `FK_Relationship_11` (`grade_id`),
  CONSTRAINT `FK_Relationship_11` FOREIGN KEY (`grade_id`) REFERENCES `grade` (`grade_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11802 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of class
-- ----------------------------
INSERT INTO `class` VALUES ('11301', '113', '13级1班');
INSERT INTO `class` VALUES ('11302', '113', '13级2班');
INSERT INTO `class` VALUES ('11401', '114', '14级1班');
INSERT INTO `class` VALUES ('11402', '114', '14级2班');
INSERT INTO `class` VALUES ('11501', '115', '15级1班');
INSERT INTO `class` VALUES ('11601', '116', '16级1班');
INSERT INTO `class` VALUES ('11701', '117', '17级1班');
INSERT INTO `class` VALUES ('11801', '118', '18级1班');

-- ----------------------------
-- Table structure for grade
-- ----------------------------
DROP TABLE IF EXISTS `grade`;
CREATE TABLE `grade` (
  `grade_id` int(11) NOT NULL AUTO_INCREMENT,
  `grade_name` varchar(20) NOT NULL,
  PRIMARY KEY (`grade_id`)
) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of grade
-- ----------------------------
INSERT INTO `grade` VALUES ('113', '13级');
INSERT INTO `grade` VALUES ('114', '14级');
INSERT INTO `grade` VALUES ('115', '15级');
INSERT INTO `grade` VALUES ('116', '16级');
INSERT INTO `grade` VALUES ('117', '17级');
INSERT INTO `grade` VALUES ('118', '18级');

-- ----------------------------
-- Table structure for leader
-- ----------------------------
DROP TABLE IF EXISTS `leader`;
CREATE TABLE `leader` (
  `leader_id` int(11) NOT NULL AUTO_INCREMENT,
  `role_id` int(11) DEFAULT NULL,
  `leader_name` varchar(30) NOT NULL,
  `leader_password` varchar(30) NOT NULL,
  PRIMARY KEY (`leader_id`),
  KEY `FK_Relationship_9` (`role_id`),
  CONSTRAINT `FK_Relationship_9` FOREIGN KEY (`role_id`) REFERENCES `role` (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=134012 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of leader
-- ----------------------------
INSERT INTO `leader` VALUES ('134011', '3', '刘德华', '1234567');

-- ----------------------------
-- Table structure for leave
-- ----------------------------
DROP TABLE IF EXISTS `leave`;
CREATE TABLE `leave` (
  `leave_id` int(11) NOT NULL AUTO_INCREMENT,
  `student_id` bigint(20) NOT NULL,
  `cause` varchar(500) NOT NULL,
  `start_time` date NOT NULL,
  `end_time` date NOT NULL,
  `status` int(11) unsigned zerofill NOT NULL DEFAULT '00000000000' COMMENT '0待审核,1代表审核通过,2代表拒绝,3代表假条过期',
  `total_day` int(11) NOT NULL,
  `handler_name` varchar(11) DEFAULT NULL,
  `handler_role` varchar(11) DEFAULT NULL,
  `handler_time` date DEFAULT NULL,
  PRIMARY KEY (`leave_id`),
  KEY `FK_student_leave` (`student_id`),
  CONSTRAINT `FK_student_leave` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of leave
-- ----------------------------
INSERT INTO `leave` VALUES ('1', '11503080102', '生病', '2019-05-08', '2019-05-12', '00000000002', '7', null, null, null);

-- ----------------------------
-- Table structure for manager
-- ----------------------------
DROP TABLE IF EXISTS `manager`;
CREATE TABLE `manager` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `password` varchar(20) NOT NULL,
  `name` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13453001 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of manager
-- ----------------------------
INSERT INTO `manager` VALUES ('13453000', '123456', '梁朝伟');

-- ----------------------------
-- Table structure for role
-- ----------------------------
DROP TABLE IF EXISTS `role`;
CREATE TABLE `role` (
  `role_id` int(11) NOT NULL AUTO_INCREMENT,
  `role_name` varchar(10) NOT NULL,
  `msg` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of role
-- ----------------------------
INSERT INTO `role` VALUES ('1', '学生', '学生角色');
INSERT INTO `role` VALUES ('2', '班导', '教师角色');
INSERT INTO `role` VALUES ('3', '系领导', '领导角色');

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `student_id` bigint(20) NOT NULL AUTO_INCREMENT,
  `role_id` int(11) DEFAULT NULL,
  `class_id` int(11) DEFAULT NULL,
  `student_name` varchar(30) NOT NULL,
  `student_password` varchar(30) NOT NULL,
  PRIMARY KEY (`student_id`),
  KEY `FK_Relationship_5` (`role_id`),
  KEY `FK_class_student` (`class_id`),
  CONSTRAINT `FK_Relationship_5` FOREIGN KEY (`role_id`) REFERENCES `role` (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11503080407 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('11503080102', '1', '11402', '学生101', '123456');
INSERT INTO `student` VALUES ('11503080103', '1', '11501', '学生145', '123456');
INSERT INTO `student` VALUES ('11503080104', '1', '11501', '学生146', '123456');
INSERT INTO `student` VALUES ('11503080105', '1', '11501', '学生147', '123456');
INSERT INTO `student` VALUES ('11503080106', '1', '11301', '学生1', '123456');
INSERT INTO `student` VALUES ('11503080107', '1', '11601', '学生191', '123456');
INSERT INTO `student` VALUES ('11503080108', '1', '11601', '学生192', '123456');
INSERT INTO `student` VALUES ('11503080109', '1', '11301', '学生2', '123456');
INSERT INTO `student` VALUES ('11503080110', '1', '11402', '学生102', '123456');
INSERT INTO `student` VALUES ('11503080111', '1', '11801', '学生271', '123456');
INSERT INTO `student` VALUES ('11503080112', '1', '11302', '学生40', '123456');
INSERT INTO `student` VALUES ('11503080113', '1', '11801', '学生272', '123456');
INSERT INTO `student` VALUES ('11503080114', '1', '11601', '学生193', '123456');
INSERT INTO `student` VALUES ('11503080116', '1', '11501', '学生148', '123456');
INSERT INTO `student` VALUES ('11503080117', '1', '11402', '学生103', '123456');
INSERT INTO `student` VALUES ('11503080118', '1', '11701', '学生229', '123456');
INSERT INTO `student` VALUES ('11503080119', '1', '11701', '学生230', '123456');
INSERT INTO `student` VALUES ('11503080120', '1', '11302', '学生41', '123456')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业小助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值