ssm学生请假系统java学生请假系统源码_程序猿毕业分享网的博客-程序员秘密

技术标签: java  后端  开发语言  

 
开发工具:idea (eclipse) 环境:jdk1.8  mysql5.7
数据库库连接工具 navcat

 框架:
项目整体采用spring+springMVC+mybatis框架
前端 jsp bootstrap jquery
数据库:
使用mysql数据库,数据库版本 5.5 5.6 5.7 

package controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import service.LeaveService;
import entity.Leave;
import entity.User;

@Controller
public class LeaveController {
	@Autowired
	private LeaveService leaveService;
	
	/**
	 * 跳转到学生请假页面
	 * @return
	 */
	@RequestMapping("toStuLeave")
	public String toStuLeave(){
		
		return "stu_leave";
		
	}
	/**
	 * 学生提交请假申请
	 * @param leave
	 * @param request
	 * @return
	 */
	@RequestMapping("sublitLeave")
	public String sublitLeave(Leave leave,HttpServletRequest request){
		HttpSession session = request.getSession();
		User user = (User) session.getAttribute("user");
		//我要获取当前的日期
        Date date = new Date();
        //设置要获取到什么样的时间
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //获取String类型的时间
        String createdate = sdf.format(date);
        
        //保存请假
        leave.setId(UUID.randomUUID().toString());
        leave.setIsagree("未审批");
        leave.setCreatetime(createdate);
        leave.setUserid(user.getId());
		leaveService.insert(leave);
		
		return "redirect:/getStuLeaveRecord.action";
	}
	
	/**
	 * 学生个人请假记录
	 * @return
	 */
	@RequestMapping("getStuLeaveRecord")
	public String getStuLeaveRecord(HttpServletRequest request,Model model){
		//从session中获取用户信息
		HttpSession session = request.getSession();
		User user = (User) session.getAttribute("user");
		 //查询当前登录用户的请假集合
		 List<Leave> list = leaveService.selectStuList(user.getId());
		 //保存到model里面,页面取数
		 model.addAttribute("list", list);
		return "stu_record";
		
	}
	/**
	 * 查询需要审批的学生
	 * @return
	 */
	@RequestMapping("getneedLeave")
	public String needLeave(Model model){
		List<Leave> list = leaveService.selectNeedList();
		 model.addAttribute("list", list);
		return "tea_needleave";
	}
	
	/**
	 * 查询所有学生请假记录
	 * @return
	 */
	@RequestMapping("selectAllList")
	public String selectAllList(Model model){
		List<Leave> list = leaveService.selectAllList();
		 model.addAttribute("list", list);
		return "tea_allleave";
	}
	
	/**
	 * 教师审批
	 * @return
	 */
	@RequestMapping("shenpi")
	@ResponseBody
	public String shenpi(HttpServletRequest request,String leaveid,Integer type,String content2){
		//我要获取当前的日期
        Date date = new Date();
        //设置要获取到什么样的时间
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //获取String类型的时间
        String createdate = sdf.format(date);
		HttpSession session = request.getSession();
		User user = (User) session.getAttribute("user");
		Leave record = leaveService.selectByPrimaryKey(leaveid);
		record.setContent2(content2);
		record.setEdittime(createdate);
		record.setEditpeople(user.getName());
		if(type==1){
			record.setIsagree("已拒绝");
		}else{
			record.setIsagree("已同意");
		}
		leaveService.updateByPrimaryKey(record);
		 
		return "success";
	}

}

 

 

 

package controller;

import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;

import entity.User;
import service.UserService;

@Controller
public class UserController {
	@Autowired
	private UserService userService;
	
    /**
     * 用户登录
     * @return
     */
	@RequestMapping("/checklogin")
	public String checkedLogin(String username,String password,Integer usertpye,Model model,HttpServletRequest request){
		//验证用户和密码是否为空
		if(StringUtils.isEmpty(username) || StringUtils.isEmpty(password)){
			model.addAttribute("error", "用户名或密码不能为空");
			return "login";
		}
		//验证是否选了登录类型
		if(usertpye==null){
			model.addAttribute("error", "请选择用户类型");
			return "login";
		}
		//验证用户密码是否正确
		User user = userService.checkLogin(username, password, usertpye);
		if(user==null){
			model.addAttribute("error", "用户或密码错误");
			return "login";
		}
		//验证成功后,将登录信息放入session
		HttpSession session = request.getSession();
		session.setAttribute("user", user);
		
		//如果用户类型 1学生,2教师,跳转不同的页面
	     if(usertpye==1){
	    	 return "redirect:/toStuLeave.action";
	     }else if(usertpye==2){
	    	 return "redirect:/getneedLeave.action";
	     }
	     
		return "login";
	}
	
	/**
	 * 跳转到学生注册页面
	 * @return
	 */
	@RequestMapping("registerpage")
	public String registerpage(){
		
		return "register";
		
	}
	
	
	/**
	 * 学生注册
	 * @return
	 */
	@RequestMapping("register")
	public String register(User user,Model model){
		//保存注册信息
		user.setId(UUID.randomUUID().toString());
		user.setUsertype(1);
		user.setRemark("学生");
		userService.insert(user);
		model.addAttribute("error", "注册成功");
		return "register";
		
	}
	
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46437112/article/details/122281578

智能推荐

Oracle Job定时任务的使用详解_diyan9833的博客-程序员秘密

oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据一 1.创建一张测试表-- Create tablecreate table A8( a1 VARCHAR2(500))tablespace DSP_DATA pctfree 10 i...

【JavaGUI demo】swing仿Windows气泡屏保动画(含源码)_Elylicery的博客-程序员秘密_swing 特效

概述java实现简单泡泡屏保动画及点击变实心泡泡,空格暂停动画实现思路采用MVC(Model-View-Controller(模型-视图-控制器))设计思路。将数据层与视图层与控制层分开。在本例中Mycircle-数据层 定义圆圈类,并实现圆圈的移动函数和碰撞检测功能。AlgoFrane-视图层 绘制视图AlgoVisualizer-控制层 将视图与数据连接起来附:Alg...

MySQL8.0.23版本下载以及安装教程详解_续命咖啡猿的博客-程序员秘密_mysql8.0.23

下载地址MySQL官方下载地址:https://www.mysql.com/下载MySQL免安装版根据下图顺序操作即可:我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语

Myeclipse安装SVN插件_小火柴wh的博客-程序员秘密

相关文件Myeclipse2017 site-1.10.3.zip一、下载SVN插件 site下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240二、解压安装 在Myeclipse的安装目录dropins文件夹下创建文件夹SVN,将site包中的内容解压到...

使用heartbeat需要了解的。。[email protected]的博客-程序员秘密

使用heartbeat需要了解的。。Heartbeat 3与 2.x的最大差别在于,3 按模块把的原来2.x 拆分为多个子项目,并且提供了一个cluster-glue的组件,专用于Local ResourceManager 的管理。即heartbeat + cluster-glue + resouce-agent 三部分:引用(1)hearbeat本身是整个集群的基础(cluster

随便推点

爱普生epson lq-630k打印机没有反应,发送成功,就是不打印_云修网的博客-程序员秘密_epsonlq-630k打印机打印不了

epson lq-630k打印机,连接成功,就是不打印,windowsXP可以打印,刚装的windows7不行。

强化学习6大前沿算法复现 | 乘风破浪,热情不减_百度大脑的博客-程序员秘密

点击左上方蓝字关注我们学习成就梦想,AI遇见未来。作为国内AI行业的重要一员,百度不仅在人工智能的研究应用上做出了巨大贡献,还致力于培养和选拔最具核心竞争力的AI人才。强化学习作为人工智...

网络协议关系拓扑图 很全面 很好_深度Java的博客-程序员秘密

NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS 网络协议关系拓扑图 很全面 很好 值得收藏!

Python面试题及答案:12个 Python 程序员面试必备问题与答案_cpfsdzs2014的博客-程序员秘密

这段时间很多伙伴问我有没有关于Python的面试题和答案,哈哈哈,7月确实也是面试跳槽的高峰哈!这两天总结了一下,这12个Python面试题和答案是必考的,给大家列了下来,认真看哈!...

Bootstrap如何弹出modal窗,并动态传值?_Heartsuit的博客-程序员秘密_bootstrap 弹窗传值

Let Code tell you<div class="modal fade" id="qrcode" tabindex="-1" role="dialog" aria-labelledby="information"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-head

year 和 weak year 的区别_weixin_30612769的博客-程序员秘密

java 中使用 SimpleDateFormat 时,会遇到 year 和 week year 这两个概念,特此记录。google 答案:A week year is in sync with a WEEK_OF_YEAR cycle. All weeks between the first and last weeks (inclusive) have the same week year...

推荐文章

热门文章

相关标签