基于javaweb+mysql的springboot蓝天幼儿园管理系统(java+springboot+thymeleaf+html+maven+mysql)

基于javaweb+mysql的springboot蓝天幼儿园管理系统(java+springboot+thymeleaf+html+maven+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot蓝天幼儿园管理系统(java+springboot+thymeleaf+html+maven+mysql)

项目介绍

蓝天幼儿园管理系统,共分为三种角色,管理员、家长、教师。

管理员角色具有功能:

系统管理-用户管理、页面管理、角色管理,

校园管理-老师管理、工资管理、物资管理、菜谱管理、班级管理

班级管理-学生管理、公告管理、课程管理

考勤管理-老师考勤、学生考勤、老师考勤统计、学生考勤统计、签到签退

技术栈

  1. Springboot

  2. html+thymeleaf

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

4.数据库:MySql 8.0版本;

使用说明

运行项目,输入localhost:8081 登录

管理员账户admin 密码123456

教师账号wangjianlin 密码123456

						noticeService.delNoticeById(Integer.parseInt(id));
					}
					return "SUCCESS";
				} catch (Exception e) {
					
					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
					return "ERROR";
				}
			}
			
			//考勤管理
			
			/**
			 * Method name: lskq <BR>
			 * Description: 教师管理页面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/lskq")
			public String lskq() {
				return "ls/sign";
			}
			
			/**
			 * Method name: getAllSignByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * 
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllSignByLimit")
			@ResponseBody
			public Object getAllSignByLimit(Sign signParameter) {
				return signService.getAllSignByLimit(signParameter);
			}
			
		
			//打卡
			@RequestMapping(value = "/qianDaoTui")
			public String qianDaoTui() {
				return "ls/daKa";
			}
				course.setCreateTime(new Date());
			    try {					
			    	courseService.addCourse(course);
			    	return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}
			
			@ResponseBody
			@RequestMapping("/delCourse")
			public String delCourse(Integer id) {
			    try {					
			    	courseService.delCourse(id);
			    	return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}
}

@Controller
@RequestMapping(value = "/jz")
			 * 
			 * @param ids
			 * @return String<BR>
			 */
			@RequestMapping(value = "delMaterial")
			@ResponseBody
			@Transactional
			public String delMaterial(String[] ids) {
				try {
					for (String id : ids) {
						materialService.delMaterialById(Integer.parseInt(id));
					}
					return "SUCCESS";
				} catch (Exception e) {
					logger.error("根据班级id删除异常", e);
					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
					return "ERROR";
				}
			}
			
			//菜单管理
			
			/**
			 * Method name: footMG <BR>
			 * Description: 物资管理页面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/footMG")
			public String footMG() {
				return "sa/foot";
			}
			
			/**
			 * Method name: getAllFootByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * 
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllFootByLimit")
			@ResponseBody
			public Object getAllFootByLimit(Foot foot) {
				return footService.getAllFootByLimit(foot);
			}
			
			/**
			 * Method name: addFootPage <BR>
			 * Description: 增加教师界面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/addFootPage")
			public String addFootPage(Integer id, Model model) {

@Controller
@RequestMapping(value = "/jz")
@ResponseBody
public class JiaZhangController {
	@Autowired
	NoticeService noticeService;
	@Autowired
	JiaZhangService jiaZhangService;
	@Autowired
	SignService signService;
	
	@RequestMapping(value = "/notices")
	public Object notices() {
		List<Notice> notices = new ArrayList<>();
		notices = noticeService.getAllNotice();
		return JSON.toJSONString(notices);
	}
	
	@RequestMapping(value = "/xy")
	public Object xy(String userId) {
		XiaoYuan xy = new XiaoYuan();
		
		if(userId==null || userId.equals("null")) {
			return JSON.toJSONString(xy);
		}
		
		//获取当天食物
		Foot foot = jiaZhangService.getFoot();
	}

	/**
	 * Method name: updateUser <BR>
	 * Description: 更新用户 <BR>
	 * 
	 * @param user
	 * @return String<BR>
	 */
	@ResponseBody
	@RequestMapping("/updateUser")
	public String updateUser(User user, String oldId) {
		return userService.updateUser(oldId, user);
	}

	/**
	 * Method name: delUserPage <BR>
	 * Description: 已删除用户列表 <BR>
	 * 
	 * @return String<BR>
	 */
	@RequestMapping("/delUserPage")
	public String delUserPage() {
		return "sa/userDelPage";
	}

	/**
	 * Method name: recoverUser <BR>
	 * Description: 恢复用户 <BR>
	 * 
	 * @param ids
	 * @return String<BR>
	 */
	@RequestMapping("/recoverUser")
	@ResponseBody
	public String recoverUser(String[] ids) {
		try {
			for (String id : ids) {
				userService.recoverUser(id);
			}
			return "SUCCESS";
		} catch (Exception e) {
			return "ERROR";

	/**
	 * Method name: login <BR>
	 * Description: 登录页面 <BR>
	 * 
	 * @return String login.html<BR>
	 */
	@RequestMapping(value = "/index")
	public String login() {
		return "login";
	}

	/**
	 * Method name: index <BR>
	 * Description: 登录页面 <BR>
	 * 
	 * @return String login.html<BR>
	 */
	@RequestMapping(value = "/")
	public String index(Model model) {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();

		if (null != user) {
			model.addAttribute("user", user);

			List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());

			model.addAttribute("pageList", pageList);
			return "index";
		} else {
			return "login";
		}
	}

	/**
	 * Method name: main <BR>
	 * Description: 进入主页面 <BR>
	 * 
	 * @param model
	 * @return String<BR>
	 */
	@RequestMapping(value = "/main")
	public String main(Model model) {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (null != user) {
		return "sa/classesAdd";
	}
	
	/**
	 * Method name: addClasses <BR>
	 * Description: 班级添加 <BR>
	 * 
	 * @param user
	 * @return String<BR>
	 */
	@ResponseBody
	@RequestMapping("/addClasses")
	public String addClasses(Classes classes) {
		try {
			classes.setCreateTime(new Date());
			classService.addClasses(classes);
			return "SUCCESS";
		} catch (Exception e) {
			return "ERR";
		}
	}

	/**
	 * Method name: updateClasses <BR>
	 * Description: 更新班级 <BR>
	 * 
	 * @param user
	 * @return String<BR>
	 */
	@ResponseBody
	@RequestMapping("/updateClasses")
	public String updateClasses(Classes classes) {
		return classService.updateClasses(classes);
	}
	
	/**
	 * Method name: delUser <BR>
	 * Description: 批量删除班级 <BR>
	 * 
	 * @param ids
	 * @return String<BR>
	 */
	@RequestMapping(value = "delClasses")
	@ResponseBody
	@Transactional
	public String delClasses(String[] ids) {
				try {
					Date date=new Date();
					SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
					String time = formatter.format(date).split(" ")[2];
					String time1 = formatter.format(date).split(" ")[1];
					
					String s=PropertyUtil.getConfigureProperties("endTime");
					
					if(time.equals("下午") && time1.compareTo(s)<0) {
						sign.setState(1);
					}else{
						sign.setState(2);
					}
					sign.setType(2);
					sign.setSignIn(date);
					sign.setKqrId(user.getUserId());
					sign.setKqrType(user.getUserState());
					signService.addSign(sign);
					return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}
           //学生考勤
			@RequestMapping(value = "/xskq")
			public String xskq() {
				return "ls/childSign";
			}
			
			/**
			 * Method name: getAllSignByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllChildSignByLimit")
			@ResponseBody
			public Object getAllChildSignByLimit(Sign signParameter) {
				return signService.getAllChildSignByLimit(signParameter);
			}
			
			//所有老师签到的总次数统计
			@RequestMapping(value = "/kqtj")
			public String kqtj(Model model) {
				List<TongJi> ts = signService.getAllTeacherCount();
				List<String> names = new ArrayList<>();
				List<Integer> zc =  new ArrayList<>();
				List<Integer> tq =  new ArrayList<>();
				List<Integer> cd =  new ArrayList<>();
				
				for (TongJi tongJi : ts) {
					names.add(tongJi.getUserName());
	@RequestMapping("/addPage")
	@ResponseBody
	public Page addPage(Page page) {
		return pageService.addPage(page);
	}

	/**
	 * Method name: delPageById <BR>
	 * Description: 根据页面id删除页面 <BR>
	 * 
	 * @param id
	 * @return ResultMap<BR>
	 */
	@RequestMapping("/delPageById")
	@ResponseBody
	public ResultMap delPageById(Integer id) {
		if (null == id) {
			return new ResultMap().fail().message("参数错误");
		}
		return pageService.delPageById(id);
	}

	/**
	 * Method name: addRole <BR>
	 * Description: 增加角色 <BR>
	 * 
	 * @param name
	 * @return String<BR>
	 */
	@RequestMapping("/addRole")
	@ResponseBody
	public String addRole(String name) {
		return roleService.addRole(name);
	}

	/**
	 * Method name: delManageRole <BR>
	 * Description: 根据角色id删除角色 <BR>
	 * 
	 * @param id
	 * @return String<BR>

@Controller
@RequestMapping(value = "/sa")
public class SaController {

	@Autowired
	private PageService pageService;
	@Autowired
	private RoleService roleService;
	@Autowired
	private PageRoleService pageRoleService;
	@Autowired
	private UserRoleService userRoleService;
	@Autowired
	private UserService userService;
	@Autowired
	private IExcel2DB excel2db;
	@Autowired
	private ClassService classService;
	@Autowired
	private TeaService teaService;
	@Autowired
	private PayService payService;
	@Autowired
	private MaterialService materialService;
	@Autowired
	private FootService footService;

	private final Logger logger = LoggerFactory.getLogger(SaController.class);

	/**
	 * Method name: page <BR>
	 * Description: 跳转到页面设置页面 <BR>
	 * 
	 * @param model
	 * @return String<BR>
	 */
	@RequestMapping("/page")
	public String page(Model model) {
		List<Page> pageList = pageService.getAllPage();
		model.addAttribute("pageList", pageList);
		return "sa/page";
	}
	@RequestMapping(value = "/upsub")
	public Object upsub(Children child) {
		child.setBirthday(MyUtils.getStringDate(child.getCsrq()));
		String result =  jiaZhangService.upChild(child);
		if(result.equals("1")) {
			return "SUCC";
		}else {
			return "ERR";
		}
	}
	
	@RequestMapping(value = "/sigin")
	public Object sigin(String uid, String type) {
		if(uid==null && type==null) {
			return "ERR";
		}
		if(type.equals("1")) {
			//签到
			Sign sign = new Sign();
			sign.setKqrId(uid);
			Date date=new Date();
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
			
			String time = formatter.format(date).split(" ")[2];
			String time1 = formatter.format(date).split(" ")[1];
			String s=PropertyUtil.getConfigureProperties("startTime");
			
			if(time.equals("上午") && time1.compareTo(s)>0) {
				sign.setState(1);
			}else {
				sign.setState(3);
			}
			sign.setType(Integer.parseInt(type));
			sign.setKqrType(2);
			sign.setSignIn(new Date());
			signService.addSign(sign);
		}else {
			//签退
			Sign sign = new Sign();
			sign.setKqrId(uid);
			Date date=new Date();
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
			String time = formatter.format(date).split(" ")[2];
					}
					return "SUCCESS";
				} catch (Exception e) {
					logger.error("根据班级id删除异常", e);
					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
					return "ERROR";
				}
			}
			
			//菜单管理
			
			/**
			 * Method name: footMG <BR>
			 * Description: 物资管理页面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/footMG")
			public String footMG() {
				return "sa/foot";
			}
			
			/**
			 * Method name: getAllFootByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * 
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllFootByLimit")
			@ResponseBody
			public Object getAllFootByLimit(Foot foot) {
				return footService.getAllFootByLimit(foot);
			}
			
			/**
			 * Method name: addFootPage <BR>
			 * Description: 增加教师界面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/addFootPage")
			public String addFootPage(Integer id, Model model) {
				model.addAttribute("manageFoot", id);
				if (null != id) {
					Foot foot = footService.selectByPrimaryKey(id);
					model.addAttribute("manageFoot", foot);
				}
				
				return "sa/footAdd";
			}
			
			/**
			 * Method name: addFoot <BR>
		return layui.fail().message(msg);
	}

	/**
	 * Method name: checkUserId <BR>
	 * Description: 检测用户账号是否存在 <BR>
	 * 
	 * @param userId
	 * @return User<BR>
	 */
	@ResponseBody
	@RequestMapping("/checkUserId")
	public User checkUserId(String userId) {
		return userService.selectByPrimaryKey(userId);
	}

	/**
	 * Method name: addUser <BR>
	 * Description: 用户添加 <BR>
	 * 
	 * @param user
	 * @return String<BR>
	 */
	@ResponseBody
	@RequestMapping("/addUser")
	public String addUser(User user) {
		try {
			user.setUserPassword(MD5.md5(user.getUserPassword()));
			user.setAccountCreateTime(new Date());
			userService.addUser(user);
			return "SUCCESS";
		} catch (Exception e) {
			return "ERR";
		}
	}

	/**
	 * Method name: updateUser <BR>
	 * Description: 更新用户 <BR>
	 * 
	 * @param user
	 * @return String<BR>
	 */
	@ResponseBody
	@RequestMapping("/updateUser")
	public String updateUser(User user, String oldId) {
		return userService.updateUser(oldId, user);
	private PageService pageService;

	private final Logger logger = LoggerFactory.getLogger(LoginController.class);

	@RequestMapping(value = "/notLogin", method = RequestMethod.GET)
	@ResponseBody
	public ResultMap notLogin() {
		logger.warn("尚未登陆!");
		return resultMap.success().message("您尚未登陆!");
	}

	@RequestMapping(value = "/notRole", method = RequestMethod.GET)
	@ResponseBody
	public ResultMap notRole() {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (user != null) {
			logger.info("{}---没有权限!", user.getUserName());
		}
		return resultMap.success().message("您没有权限!");
	}

	/**
	 * Method name: logout <BR>
	 * Description: 退出登录 <BR>
	 * @return String<BR>
	 */
	@RequestMapping(value = "/logout", method = RequestMethod.GET)
	public String logout() {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (null != user) {
			logger.info("{}---退出登录!", user.getUserName());
		}
		subject.logout();
		return "login";
	}

	/**
	 * Method name: login <BR>
	 * Description: 登录验证 <BR>
	 * Remark: <BR>
	 * 
	 * @param username 用户名
	 * @param password 密码
	 * @return ResultMap<BR>
	 */
	@RequestMapping("/recoverUser")
	@ResponseBody
	public String recoverUser(String[] ids) {
		try {
			for (String id : ids) {
				userService.recoverUser(id);
			}
			return "SUCCESS";
		} catch (Exception e) {
			return "ERROR";
		}
	}
	
	
	//班级管理
	
	/**
	 * Method name: classesPage <BR>
	 * Description: 班级管理页面 <BR>
	 * 
	 * @return String<BR>
	 */
	@RequestMapping(value = "/classesPage")
	public String classesPage() {
		return "sa/Classes";
	}
	
	/**
	 * Method name: getAllClassByLimit <BR>
	 * Description: 根据条件获取所有用户 <BR>
	 * 
	 * @param userParameter
	 * @return Object<BR>
	 */
	@RequestMapping("/getAllClassByLimit")
	@ResponseBody
	public Object getAllClassByLimit(Classes classParameter) {
		return classService.getAllClassByLimit(classParameter);
	}
	
	/**
	 * Method name: addClassesPage <BR>
	 * Description: 增加班级界面 <BR>
	 * 
	/**
	 * Method name: login <BR>
	 * Description: 登录页面 <BR>
	 * 
	 * @return String login.html<BR>
	 */
	@RequestMapping(value = "/index")
	public String login() {
		return "login";
	}

	/**
	 * Method name: index <BR>
	 * Description: 登录页面 <BR>
	 * 
	 * @return String login.html<BR>
	 */
	@RequestMapping(value = "/")
	public String index(Model model) {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();

		if (null != user) {
			model.addAttribute("user", user);

			List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());

			model.addAttribute("pageList", pageList);
			return "index";
		} else {
			return "login";
		}
	}

	/**
	 * Method name: main <BR>
	 * Description: 进入主页面 <BR>
	 * 
	 * @param model
	 * @return String<BR>
	 */
	@RequestMapping(value = "/main")
	public String main(Model model) {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (null != user) {
			model.addAttribute("user", user);
		} else {
			return "login";
			model.addAttribute("manageStu", id);
			if (null != id) {
				Children student = studentService.selectByPrimaryKey(id);
				//UserChildren userChild = userChildrenService.selectById(id);
				model.addAttribute("manageStu", student);
				//model.addAttribute("manageChild", userChild);
				UserChildren uc = userChildrenService.selectByUCId(student.getId());
				model.addAttribute("uc", uc);
			}
			List<Classes> classes=classService.selectAllClasses();
			model.addAttribute("cla", classes);
			
			List<User> user=userService.selectAllJiazhang();
			model.addAttribute("user", user);
			return "ls/stuPageAdd";
		}
		
		/**
		 * Method name: addStu <BR>
		 * Description: 教师添加 <BR>
		 * 
		 * @param user
		 * @return String<BR>
		 */
		@ResponseBody
		@RequestMapping("/addStu")
		public String addStu(Children student) {
			try {
				
				studentService.addStudent(student);
				addUserChildren(student);
				return "SUCCESS";
			} catch (Exception e) {
				return "ERR";
			}
		}
        public void addUserChildren(Children student) {
        	UserChildren userChildern = new UserChildren();
        	userChildern.setChildrenId(student.getId());
        	userChildern.setUserId(student.getUserId());
	 * @param roleId
	 * @param pageIds
	 * @return String<BR>
	 */
	@RequestMapping("/addPageRoleByRoleId")
	@ResponseBody
	public String addPageRoleByRoleId(Integer roleId, Integer[] pageIds) {

		if (null == roleId) {
			return "ERROR";
		}

		// 先删除老的权限
		boolean flag1 = pageRoleService.delPageRoleByRoleId(roleId);
		boolean flag2 = pageRoleService.addPageRoles(roleId, pageIds);

		if (flag1 && flag2) {
			return "SUCCESS";
		}
		return "ERROR";
	}

	/**
	 * Method name: getAllUserByMap <BR>
	 * Description: 根据角色查询下面所有的人员/非角色下所有人员 <BR>
	 * 
	 * @param paramUser
	 * @return Object<BR>
	 */
	@RequestMapping("/getAllUserByRoleId")
	@ResponseBody
	public Object getAllUserByRoleId(Integer roleId, String roleNot, Integer page, Integer limit) {
		if (null == roleNot) {
			return userService.getAllUserByRoleId(roleId, page, limit);
		}
		return userService.getAllUserByNotRoleId(roleId, page, limit);
	}

	/**
	 * Method name: delUserRoleByUserIdAndRoleId <BR>
	 * Description: 根据用户id权限id删除用户权限表 <BR>
	 * 
	 * @param userId
	 * @param roleId
	 * @return ResultMap<BR>
	 */
	@RequestMapping("/delUserRoleByUserIdAndRoleId")
	@ResponseBody
	public ResultMap delUserRoleByUserIdAndRoleId(String userId, Integer roleId) {
		return userRoleService.delUserRoleByUserIdAndRoleId(userId, roleId);
	}

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

java毕业

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

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

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

打赏作者

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

抵扣说明:

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

余额充值