作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

文末获取源码

项目编号:BS-XX-122

一,项目简介

本项目基于java开发语言,采用SSM框架+MYSQL数据库开发的校园疫情管理系统,系统包含超级管理员,系统管理员、学生角色,功能如下:

超级管理员:管理员管理;学生管理;风险地区管理;行程管理;健康管理;请假管理、疫情通告;个人信息修改、修改密码;

系统管理员:功能和超级管理员基本一致,只是少了一个管理员管理;

学生:首页图表统计(柱状图、饼状图);行程上报(可上传行程码和健康码);健康上报(上传核算检测报告);请假管理;疫情通告;个人信息修改、修改密码;

系统界面美观大方,功能及其丰富,使用了ssm、jquery、ajax、layui、echart等技术栈,适合作为毕业设计、课程设计。

二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发技术:SSM框架+SpringTask定时任务

前端开发技术:Layui+Jquery+AjAX+Echart

三,系统展示

登陆界面

管理员登陆操作:

学生管理

风险地区管理:

行程管理:

健康信息管理:

请假管理:

疫情通告管理

消息提醒:

学生登陆系统:主要是个人的行程和健康信息的上报以及请假等学生用相关功能

不再一一展示

四,核心代码展示

package com.xiaoniucr.controller;import com.xiaoniucr.dto.PageQueryDto;
import com.xiaoniucr.entity.Admin;
import com.xiaoniucr.vo.JSONReturn;
import com.xiaoniucr.vo.LoginSession;
import com.xiaoniucr.vo.PageVo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import java.util.Map;/*** 管理员控制器*/
@Controller
@RequestMapping(value = "/admin")
public class AdminController extends BaseController {/*** 管理员查询分页* @return*/@RequestMapping(value = "/list")@ResponseBodypublic PageVo findAdmin(@RequestParam Map<String,Object> map){PageQueryDto queryDto = new PageQueryDto(map);return adminService.page(queryDto);}/*** 根据ID查询管理员* @param id* @return*/@RequestMapping(value = "/{id}")@ResponseBodypublic JSONReturn selectById(@PathVariable(value = "id")Integer id){Admin admin = adminService.selectById(id);return JSONReturn.success("查询成功!",admin);}/*** 添加管理员* @param admin* @return*/@RequestMapping(value = "/add")@ResponseBodypublic JSONReturn add(@RequestBody Admin admin){return adminService.add(admin);}/*** 更新管理员* @param admin* @return*/@RequestMapping(value = "/update")@ResponseBodypublic JSONReturn update(@RequestBody Admin admin){Integer rows = adminService.update(admin);return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");}/*** 删除管理员* @param admin* @return*/@RequestMapping(value = "/del")@ResponseBodypublic JSONReturn del(@RequestBody Admin admin){Integer rows = adminService.del(admin);return rows > 0 ? JSONReturn.success("删除成功!") : JSONReturn.fail("删除失败!");}/*** 获取当前管理员个人信息* @return*/@RequestMapping(value = "/info")@ResponseBodypublic JSONReturn info(){LoginSession session = (LoginSession) getSession("user");Admin admin = adminService.selectById(session.getId());return JSONReturn.success("查询成功!",admin);}/*** 更新个人信息* @param admin* @return*/@RequestMapping(value = "/updateInfo")@ResponseBodypublic JSONReturn updateInfo(@RequestBody Admin admin){return adminService.updateInfo(admin);}}
package com.xiaoniucr.controller;import com.xiaoniucr.dto.PageQueryDto;
import com.xiaoniucr.entity.AreaRisk;
import com.xiaoniucr.vo.JSONReturn;
import com.xiaoniucr.vo.PageVo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import java.util.List;
import java.util.Map;/**** 风险地区管理控制器*/
@Controller
@RequestMapping(value = "/area")
public class AreaRiskController extends BaseController {/*** 地区查询分页* @return*/@RequestMapping(value = "/list")@ResponseBodypublic PageVo findArea(@RequestParam Map<String,Object> map){PageQueryDto queryDto = new PageQueryDto(map);return areaRiskService.page(queryDto);}/*** 根据ID查询记录* @param id* @return*/@RequestMapping(value = "/{id}")@ResponseBodypublic JSONReturn selectById(@PathVariable(value = "id")Integer id){AreaRisk areaRisk = areaRiskService.selectById(id);return JSONReturn.success("查询成功!",areaRisk);}/*** 添加地区* @param areaRisk* @return*/@RequestMapping(value = "/add")@ResponseBodypublic JSONReturn add(@RequestBody AreaRisk areaRisk){Integer rows = areaRiskService.add(areaRisk);return rows > 0 ? JSONReturn.success("添加成功!") : JSONReturn.fail("添加失败!");}/*** 更新地区* @param areaRisk* @return*/@RequestMapping(value = "/update")@ResponseBodypublic JSONReturn update(@RequestBody AreaRisk areaRisk){Integer rows = areaRiskService.update(areaRisk);return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");}/*** 删除地区* @param areaRisk* @return*/@RequestMapping(value = "/del")@ResponseBodypublic JSONReturn del(@RequestBody AreaRisk areaRisk){Integer rows = areaRiskService.del(areaRisk.getId());return rows > 0 ? JSONReturn.success("删除成功!") : JSONReturn.fail("删除失败!");}/*** 查询所有地区* @return*/@RequestMapping(value = "/findAll")@ResponseBodypublic JSONReturn findAll(){List<AreaRisk> users = areaRiskService.findAll();return JSONReturn.success("查询成功!",users);}}
package com.xiaoniucr.controller;import com.xiaoniucr.dto.PageQueryDto;
import com.xiaoniucr.entity.HealthReport;
import com.xiaoniucr.util.PropertiesUtils;
import com.xiaoniucr.vo.JSONReturn;
import com.xiaoniucr.vo.LoginSession;
import com.xiaoniucr.vo.PageVo;
import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import sun.rmi.runtime.Log;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;/*** 健康上报控制器*/
@Controller
@RequestMapping(value = "/hr")
public class HealthReportController extends BaseController {/*** 健康上报记录查询分页* @return*/@RequestMapping(value = "/list")@ResponseBodypublic PageVo findHealthReport(@RequestParam Map<String,Object> map){LoginSession loginSession = (LoginSession) getSession("user");PageQueryDto queryDto = new PageQueryDto(map);if(loginSession.getRole() == 2){queryDto.put("userId",loginSession.getId());}return healthReportService.page(queryDto);}/*** 根据ID查询健康上报记录* @param id* @return*/@RequestMapping(value = "/{id}")@ResponseBodypublic JSONReturn selectById(@PathVariable(value = "id")Integer id){HealthReport report = healthReportService.selectById(id);return JSONReturn.success("查询成功!",report);}/*** 添加健康上报记录* @param report* @return*/@RequestMapping(value = "/add")@ResponseBodypublic JSONReturn add(@RequestBody HealthReport report){LoginSession session = (LoginSession) getSession("user");report.setUserId(session.getId());Integer rows = healthReportService.add(report);return rows > 0 ? JSONReturn.success("添加成功!") : JSONReturn.fail("添加失败!");}/*** 更新健康上报记录* @param report* @return*/@RequestMapping(value = "/update")@ResponseBodypublic JSONReturn update(@RequestBody HealthReport report){Integer rows = healthReportService.update(report);return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");}/*** 删除健康上报记录* @param report* @return*/@RequestMapping(value = "/del")@ResponseBodypublic JSONReturn del(@RequestBody HealthReport report){Integer rows = healthReportService.del(report);return rows > 0 ? JSONReturn.success("删除成功!") : JSONReturn.fail("删除失败!");}/*** 上传体检报告* @param request* @return*/@RequestMapping(value = "/uploadReport",method = RequestMethod.POST )@ResponseBodypublic JSONReturn uploadHealthCode(HttpServletRequest request) {Integer id = Integer.parseInt(request.getParameter("id"));//得到文件的列表List<MultipartFile> files = ((MultipartHttpServletRequest)            request).getFiles("file");// 创建年月文件夹SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");String dateDirs = sdf.format(new Date());//这里的地址文件上传到的地方for (int i = 0; i < files.size(); i++) {MultipartFile file = files.get(i);if (file.isEmpty()) {return JSONReturn.fail("上传第" + (i++) + "个文件失败");}String originalFilename = file.getOriginalFilename();// 新的文件名称String newFileName = System.currentTimeMillis() + originalFilename.substring(originalFilename.lastIndexOf("."));// 新文件File dest = new File(PropertiesUtils.getValue("file.path") + File.separator + dateDirs + File.separator + newFileName);// 判断目标文件所在的目录是否存在if (!dest.getParentFile().exists()) {// 如果目标文件所在的目录不存在,则创建父目录dest.getParentFile().mkdirs();}try {HealthReport healthReport = healthReportService.selectById(id);healthReport.setReportFileName(originalFilename);healthReport.setReportFilePath("/"+dateDirs+"/"+newFileName);healthReportService.update(healthReport);file.transferTo(dest);} catch (IOException e) {return JSONReturn.fail("上传第" + (i++) + "个文件失败:"+e.getMessage());}}return JSONReturn.success("文件上传成功!");}@RequestMapping(value="/downloadReport")public ResponseEntity<byte[]> download(@RequestParam Integer id)throws Exception {//服务器中下载文件的路径String filePath = PropertiesUtils.getValue("file.path");HealthReport hr = healthReportService.selectById(id);File file = new File(filePath + hr.getReportFilePath());HttpHeaders headers = new HttpHeaders();//下载显示的文件名,解决中文名称乱码问题String downloadFielName = new String(hr.getReportFileName().getBytes("UTF-8"),"iso-8859-1");//通知浏览器以attachment(下载方式)打开图片headers.setContentDispositionFormData("attachment", downloadFielName);//application/octet-stream : 二进制流数据(最常见的文件下载)。headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);//通过fileutils的工具输入输出下载的文件return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}}
package com.xiaoniucr.controller;import com.xiaoniucr.dto.LoginDto;
import com.xiaoniucr.dto.UpdtPwdDto;
import com.xiaoniucr.entity.Admin;
import com.xiaoniucr.entity.Message;
import com.xiaoniucr.entity.User;
import com.xiaoniucr.vo.JSONReturn;
import com.xiaoniucr.vo.LoginSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpSession;
import java.util.List;/*** 登录相关接口*/
@Controller
public class LoginController extends BaseController{@RequestMapping("/login.html")public String login(){return "login";}@RequestMapping("/register.html")public String register(){return "register";}/*** 桌面页,统计以下数据信息* @param map* @return*/@RequestMapping("/welcome.html")public String welcome(ModelMap map){Integer totalNum = userService.countTotal();Integer isolateNum = userService.countByHealth(1);Integer definiteNum = userService.countByHealth(2);map.put("totalNum",totalNum);map.put("isolateNum",isolateNum);map.put("definiteNum",definiteNum);return "admin/welcome";}/*** 首页* @return*/@RequestMapping("/index.html")public String index(ModelMap map){LoginSession loginSession = (LoginSession) getSession("user");if(loginSession == null){return "login";}Integer latestNum = messageService.countLatestNum(loginSession.getId());List<Message> messageList = messageService.selectLatestTopList(loginSession.getId(),4);map.put("latestNum",latestNum);map.put("messageList",messageList);return "index";}/*** 登录验证* @param loginDto* @return*/@RequestMapping("/login")@ResponseBodypublic JSONReturn login(@RequestBody LoginDto loginDto, HttpSession session){return userService.login(loginDto,session);}/*** 管理员修改密码* @param updtPwdDto* @return*/@RequestMapping(value = "/updtpwd")@ResponseBodypublic JSONReturn updtpwd(@RequestBody UpdtPwdDto updtPwdDto) {LoginSession session = (LoginSession) getSession("user");Integer role = session.getRole();if(role == 0 || role == 1){Admin admin = adminService.selectById(session.getId());if (!admin.getPassword().equals(updtPwdDto.getOpassword())) {return JSONReturn.fail("原始密码错误!");}admin.setPassword(updtPwdDto.getNpassword());Integer rows = adminService.update(admin);return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");}else{User user = userService.selectById(session.getId());if(!user.getPassword().equals(updtPwdDto.getOpassword())){return JSONReturn.fail("原始密码错误!");}user.setPassword(updtPwdDto.getNpassword());Integer rows = userService.update(user);return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");}}/*** 退出系统* @return*/@RequestMapping("/logout")public String logout(){removeSession("user");return "login";}/*** 学生比例* @return*/@RequestMapping(value = "/statis")@ResponseBodypublic JSONReturn statis(){return userService.statis();}}

五,项目总结

基于SSM开发实现校园疫情防控管理系统相关推荐

  1. 基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计校园疫情防控管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S ...

  2. 基于springboot+mybatis+mysql+html实现校园疫情防控管理系统

    基于springboot+mybatis+mysql+html实现校园疫情防控管理系统 一.系统介绍 二.采用技术及开发环境 1.开发技术 2.开发环境 二.功能展示 1.登陆 2.首页(管理员) 3 ...

  3. java基于sptingboot+vue的校园疫情防控系统 elementui

    我通过对新冠病毒的到来懵生了开发一套关于校园疫情防控系统,本系统采用了Java技术,将所有业务模块采用以浏览器交互的模式,选择MySQL数据库,springboot作为系统的后台框架,开发工具选择My ...

  4. java-php-python-ssm校园疫情防控管理系统计算机毕业设计

    java-php-python-ssm校园疫情防控管理系统计算机毕业设计 java-php-python-ssm校园疫情防控管理系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  5. C++校园疫情防控管理系统

    C++校园疫情防控管理系统 1.问题描述 新冠疫情爆发三年来,我国人民的生活产生了较大的变化,疫情对我校同学的学习生活都产生了极大的影响,本学期至今仍有很大一部分同学没有返校.为了因为校园师生防疫的需 ...

  6. 基于NodeJS+VUE+Mysql的大学生校园疫情防控管理系统

    一.基于VUE+Mysql的大学生校园疫情管理系统 最近在找到一个不错的校园疫情防控系统,并基于该系统改近成一站式服务框架,如下: 角色:学生.老师.管理员 功能: 二.技术框架 开发工具:vscod ...

  7. 基于Vue+SpringBoot智慧校园疫情防控系统(PC端、手机端)--附源码

    介绍 智慧校园疫情防控系统--PC 手机端 多端并行 项目源码下载:https://download.csdn.net/download/DeepLearning_/87340321 软件架构 手机端 ...

  8. asp.net基于net的居民小区疫情防控管理系统-计算机毕业设计

    项目介绍 随着信息化时代的到来,管理系统都趋向于智能化.系统化,居民小区疫情防控管理系统也不例外,但目前国内的市场仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代 ...

  9. 计算机毕业设计-基于SSM的校园疫情防控管理系统-JavaWeb校园疫情防控管理系统

    项目介绍 核心功能点: 一:个人健康信息上报功能 用于汇报每日体温.健康状况.打卡所在地 二:学生健康档案 用于统一管理学生的健康信息,可及时增删改查 三: 出入校园申请 用于提交进出校园的申请,管理 ...

最新文章

  1. centos7安装tomcat8.5
  2. Vim使用技巧及基本命令分类
  3. php认识正则吗,php正则表达式有什么用
  4. JZOJ 5389. 【NOIP2017提高A组模拟9.26】解梦
  5. 《关键对话》学习总结
  6. nodejs开发 过程中express路由与中间件的理解 - pyj063 - 博客园
  7. 数组:完成等差等比数列,及其他数列
  8. GRPC编译安装及测试
  9. java LinkedList(链表)
  10. 小学计算机课画图软件,小学小学三年级信息技术使用画图软件(一)
  11. 如何在Macbook上装windows
  12. Nginx代理静态图片
  13. 治疗便秘的30种秘方
  14. BUUCTF-[安洵杯 2019]easy_web1
  15. Java培训学习之分词工具之HanLP介绍
  16. GITEE提交代码时出现“文本是相同的,但文件不匹配“问题解决方法
  17. Can‘t load IA 32-bit .dll on a AMD 64-bit platform
  18. jsp+ssm计算机毕业设计房屋中介管理系统【附源码】
  19. BugFree 简介
  20. 利用计算机技术执行去自动化,电力调度运行中计算机技术的应用价值与效果

热门文章

  1. CPaintDC 、CWindowDC、 CClientDC、 CDC的区别与联系
  2. Docker 进入Mysql容器
  3. Java语言的特性和优点
  4. java基本类型和使用
  5. 为了网络安全被束缚的无人机背后的故事!
  6. java程序员烂大街了吗?java入坑之前先来看看行情
  7. Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.dataformat.yaml.YAMLFactory的解决方法
  8. 日常笔记之wifi定频及测试
  9. 主流链分片技术和共识算法
  10. 【转帖】姑娘不是你想追,想追就能追。