Java基于Springboot+vue的学生在线请假和考勤系统

188 篇文章 6 订阅

文末获取资源,收藏关注不迷路

前言

自互联网革命以来,网络信息技术已经逐渐融入到我们的社会和生活中,改变着人们的学习、工作、生活乃至思维方式。让信息技术的发展成果走进校园,让其服务于学生以及教职工,能够大大地提高学校工作的运行效率。根据国家统计局的最新教育统计数据显示,自1999年高校扩招至2014年,高校在校生已达到2468.1万人”。面对如此庞大的学生数量,高校学生事务管理工作的繁重程度可想而知。因此,一套可以提高高校学生事务处理效率、方便用户(高校学生及高校学生事务工作者)使用的信息化系统成为用户的共同诉求。以前的请假方式大多是学生到负责人办公室当面请假,需要负责人尽可能地待在办公室中,请假流程也过于繁琐,极大地浪费了师生双方的时间和精力。而且此时正值疫情期间,当面请假可能会引起疾病的传染,不利于学校安全防控。该系统借助移动互联网为学生请假提供便利的途径,解决请假事务缺乏移动性和便利性的问题。其次,该系统借助移动互联网终端平台上原生操作系统的应用为学生请假以及老师审核提供实时的短信推送功能,以解决请假事务实时性的问题。最后,该系统通过调用移动终端拍照功能,来实现佐证文件的上传,解决请假事务可靠性的问题。

一、研究背景

随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理学生网上请假系统的相关信息成为必然。开发合适的学生网上请假系统,可以方便管理人员对学生网上请假系统的管理,提高信息管理工作效率及查询效率,有利于更好的为人们服务。
随着互联网技术的快速发展,网络时代的到来,网络信息也将会改变当今社会。各行各业在日常企业经营管理等方面也在慢慢的向规范化和网络化趋势汇合。学生网上请假系统的信息化程度体现在将互联网与信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用网络信息化管理使信息管理更先进、更高效、更科学,信息交流更迅速。
对于之前学生网上请假系统的管理,大部分都是使用传统的人工方式去管理,这样导致了管理效率低下、出错频率高。而且,时间一长的话,积累下来的数据信息不容易保存,对于查询、更新还有维护会带来不少问题。对于数据交接也存在很大的隐患。如果采用电子化的存储方式就会带来很大的改善,而且给用户的查询带来了很大便利,因此设计一个学生网上请假系统刻不容缓,能够提高信息的管理水平。

二、研究意义

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了学生网上请假系统的开发全过程。通过分析学生网上请假系统管理的不足,创建了一个计算机管理学生网上请假系统的方案。文章介绍了学生网上请假系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。
本学生网上请假系统管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。教师功能有个人中心,学生管理,班级信息管理,请假表格管理,提交请假表管理,学生考勤管理,缺课记录管理。学生功能有班级信息管理,请假表格管理,提交请假管理,学生考勤管理,缺课记录管理。因而具有一定的实用性。
本站是一个B/S模式系统,采用Spring Boot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得学生网上请假系统管理工作系统化、规范化。本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高学生网上请假系统管理效率。

三、主要使用技术

环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈 104
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

四、研究内容

学生网上请假系统具有以下几个功能:
1)学生输入登录信息后,可以访问系统进行查询和填写请假记录表;
2)辅导员输入登录信息后,可以在系统内完成对请假信息的审核、查询、管理;
3)院系领导输入登录信息后,可以在系统内完成对院系所有学生请假信息的管理;
4)导师输入登录信息后,可以在系统内查询自己学生请假的信息;
5)任课老师输入登录信息后,可以在系统内完成对上课学生的请假信息的查询和缺课记录。
在这里插入图片描述

在这里插入图片描述在学生请假管理系统主要具备以下的功能:
1)学生,教师和管理人员的登录系统界面有所不同;
2)相关教师可以对请假表格进行添加、修改、删除等一系列操作;
3)能够记录学生的基本信息,提供便捷查询入口;
4)教师能够管理考勤信息和请假信息;
5)校门管理员能够接收来自学生的请假信息;
6)减少人工的参与,降低管理成本,提高管理效率;
7)能够将请假页面快捷分享至其他教师的客户端,便于课堂考勤。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、核心代码


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六、文章目录

1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Spring Boot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Java基于ssm+mysql的高校学生请假管理系统的实现.zipJava基于ssm+mysql的高校学生请假管理系统的实现.zip 学生请假管理系统,主要有用户登陆、学生端、教师端、管理员端等功能, 用户登陆 学生请假管理系统采用用户名及密码验证模式,进入学生请假管理系统前,用户必须在登陆页面输入用户名及密码,只有验证通过的用户方可进入学生请假管理系统操作主页面。 学生端 包括2个功能模块: 学生个人信息的添加、修改功能,密码修改。 假条信息的添加、查询、打印功能。 (姓名,性别,学号,院系,年级,班级,手机号,辅导员,邮箱...可补充) (学号,姓名,联系方式,请假原因,请假时间,返校时间,审核状态,查询) 教师端 包括3个功能模块: 教师个人信息的添加、修改功能,密码修改。 学生个人信息的添加、修改、删除、查询功能。 假条信息的修改、删除、审批、查询、打印,导出功能。也可选择待办任务(同意拒绝都可附评语),已办任务处理假条。 (姓名,性别,工号,手机号,邮箱...可补充) (可补充) 管理员端 包括4个功能模块: 管理员个人信息的添加、修改、删除、查询,修改密码,功能。 教师个人信息的添加、修改、删除、查询功能。 学生个人信息的添加、修改、删除、查询功能。假条信息的查询、删除、打印,导出等功能
学生在线请假考勤系统是一种基于Java的应用程序,使用了Spring BootVue.js这两个框架。 首先,我们使用Spring Boot作为后端框架来建立系统的服务器端。Spring Boot是一个快速开发框架,可以简化Java应用程序的搭建和配置过程。它提供了很多常见的功能和组件,如数据库访问、安全认证和RESTful API支持等。我们可以利用Spring Boot的优势,快速构建一个稳定可靠的后端服务。 其次,使用Vue.js作为前端框架来实现系统的用户界面。Vue.js是一个流行的JavaScript框架,专注于构建用户界面。Vue.js具有简洁易懂的语法和灵活的组件化开发方式,使得我们可以快速构建可交互和美观的前端页面。通过Vue.js,我们可以实现学生在线请假和考勤功能,并提供用户友好的界面和交互体验。 学生在线请假考勤系统的核心功能包括,请假申请、请假审批、考勤记录和报表统计等。学生可以通过系统提交请假申请,并在后台得到教师或管理员的审批结果。同时,系统还会记录学生的考勤情况,包括迟到、早退、缺勤等。管理员可以通过系统生成的报表对学生请假和考勤情况进行统计和分析。 在实现这个系统的过程中,我们可以利用Spring Boot提供的数据库访问功能,使用关系型数据库如MySQL或PostgreSQL来存储学生、教师、请假申请和考勤记录等数据。同时,借助Vue.js的组件化开发方式,我们可以构建出包括登录页面、请假申请页面、审批页面和报表页面在内的多个页面组件。 总之,基于Spring BootVue.js,我们可以快速高效地构建一个学生在线请假考勤系统,实现学生请假和考勤记录的自动化管理,提高学校工作效率,提供更好的学生服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wqq6310855

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

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

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

打赏作者

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

抵扣说明:

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

余额充值