首页 >> 大全

基于Springboot+Vue实现高校疫情防控系统

2023-11-15 大全 26 作者:考证青年

作者主页:编程指南针

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

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

文末获取源码

项目编号:BS-GX-040

2020年初发生的这场全球性新冠病毒,如今已经伴随我们2年有余了。回想两年来经过的这些事儿,历历在目。为了对抗这个让人谈之色变的病毒,全国上下一心,众志成城的共同抗疫,渡过了最危险的时候。但是病毒并没有消失,危险也时刻存在,我们并不能放松防疫的心弦,否则有可能功亏一溃,前功尽弃。

而对于这种新冠病毒,防大于治。所以最关键的就是及时发现疫情信息,在初期尽快的做好控制,以防止它的快速蔓延。因为现在这个病毒的变种传染性越来越强,国内采用动态清零的方式很快、很好的控制住了国内疫情的发展。并且目前正在帮助香港进行疫情防控。而如何有效的高效快速的管理疫情患者信息,是我们打赢这场战役的关键。信息化技术的应用,可以帮助我们构建疫情信息管理系统,帮助我们提升工作效率,管理效能,提升疫情信息的共享能力。

一,项目简介

最近根据客户需要新研发了一个项目,本项目基于+Vue开发实现了一个前后台均有的校园疫情防控管理系统,整个系统设计界面美观,功能全面,适合做毕业设计使用。

前端主要的功能:

用户注册登陆疫情新闻查看校务公开信息查看系统通知通告查看校园动态查看媒体校园查看个人中心管理:

老师:个人信息管理、健康信息上报、离校申请、我的请假查看

学生:个人信息管理、健康信息上报、请假审批

后台管理功能:

校内新闻管理疫情新闻管理首页公告管理校务公开管理用户管理:老师管理、学生管理健康管理:老师健康管理、学生健康管理、确诊信息管理请假管理 二,环境介绍

语言环境:Java: jdk1.8

数据库:Mysql: .7

应用服务器:: .5.31

开发工具:IDEA或

后台开发技术:+-plus

前台开发技术:Vue++++Ajax

三,系统展示

前端页面展示

_疫情期间高校防控技术方案设计_高校疫情防控技术方案

新闻查看

详情查看

学生登陆系统:个人中心---个人信息查看

健康信息上报

请假管理之我的请假

请假管理之离校申请

老师登陆

请假审批

系统后台管理

统计信息

系统管理之新闻管理

系统管理之疫情新闻

_高校疫情防控技术方案_疫情期间高校防控技术方案设计

系统管理之公告管理

系统管理之校务公开管理

用户管理之老师管理

用户管理之学生管理

健康管理之老师健康管理

健康管理之学生健康管理

健康管理之确诊信息管理

请假管理

四,核心代码展示

package com.zhiku.yiqing.web.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.pojo.Dynamic;
import com.zhiku.yiqing.service.DynamicService;
import com.zhiku.yiqing.vo.NewsQueryParamsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.Arrays;@RestController
@RequestMapping("/dynamic")
public class DynamicController {@Autowiredprivate DynamicService dynamicService;@DeleteMapping("/batchDelDynamicById/{ids}")public R batchDelDynamicById(@PathVariable("ids") Integer[] ids){System.out.println(Arrays.toString(ids));dynamicService.batchDelDynamicById(ids);return R.success();}/*** 根据id删除校务公开* @param id* @return*/@DeleteMapping("/delDynamicById/{id}")public R delDynamicById( @PathVariable(value = "id" ) Integer id){dynamicService.delDynamicById(id);return R.success();}@PutMapping("/updateDynamicById")public R updateDynamicById(@RequestBody Dynamic dynamic){dynamicService.updateDynamicById(dynamic);return R.success();}/*** 添加校务公开* @param dynamic* @return*/@PostMapping("/addDynamic")public R addDynamic(@RequestBody Dynamic dynamic){dynamicService.addDynamic(dynamic);return R.success();}/*** 查询某个校务公开的详情* @param id* @return*/@GetMapping("/queryDynamicById/{id}")public R queryDynamicById(@PathVariable(value = "id" ) Integer id){Dynamic dynamic = dynamicService.queryDynamicById(id);return R.success(dynamic);}/*** 查询所有的校务公开带分页以及条件查询* @param pageNo* @param pageSize* @param queryParamsVo* @return*/@GetMapping("/queryAllDynamic/{pageNo}/{pageSize}")public R queryAllDynamic(@PathVariable(value = "pageNo" ) Integer pageNo,@PathVariable(value = "pageSize") Integer pageSize,NewsQueryParamsVo queryParamsVo){System.out.println("queryParamsVo: " + queryParamsVo);Page page = new Page<>(pageNo, pageSize);IPage Dynamic = dynamicService.dynamicService(page,queryParamsVo);return R.success(Dynamic);}
}

package com.zhiku.yiqing.web.admin;import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.listener.EasyExcelListener;
import com.zhiku.yiqing.listener.ImportTradingListener;
import com.zhiku.yiqing.pojo.Student;
import com.zhiku.yiqing.pojo.Teacher;
import com.zhiku.yiqing.service.StudentService;
import com.zhiku.yiqing.service.TeacherService;
import com.zhiku.yiqing.util.ContentStyle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.List;/*** EasyExcel导入导出测试Controller*/
@RestController
@RequestMapping("/easyExcel")
public class EasyExcelController {@Autowiredprivate StudentService studentService;@Autowiredprivate TeacherService teacherService;/*导出学生信息列表*/@GetMapping("/exportStudentExcel")@ResponseBodypublic void exportStudentExcel(@RequestParam("ids") Integer[] ids, HttpServletResponse response) throws Exception{//文件名含中文需要转码String fileName =URLEncoder.encode( "学生列表.xlsx", StandardCharsets.UTF_8.toString());//将需要导出的数据从数据库中查出List list = studentService.getAllStudents(ids);//设置响应格式response.setContentType("application/vnd.ms-excel;chartset=utf-8"); //文件扩展名为excel格式response.setHeader("Content-Disposition", "attachment;filename=" + fileName); //触发文件名为filename的“另存为”对话框// 内容样式HorizontalCellStyleStrategy horizontalCellStyleStrategy = ContentStyle.getContentStyle();//将OutputStream对象附着到EasyExcel的ExcelWriter实例EasyExcel.write(response.getOutputStream(), Student.class) //(输出流, 文件头).excelType(ExcelTypeEnum.XLSX).autoCloseStream(true).sheet("学生名单") //第一个sheet的名.doWrite(list); //写入数据}@PostMapping("/readStudentExcel")public R readStudentExcel(@RequestParam("file") MultipartFile file){try {InputStream inputStream=file.getInputStream();System.out.println(file.getOriginalFilename());EasyExcel.read(inputStream,Student.class, new EasyExcelListener(studentService))// 设置sheet,默认读取第一个.sheet().doReadSync();return R.success();}catch (Exception e){e.printStackTrace();return R.failure();}}@PostMapping("/readTeacherExcel")public R readTeacherExcel(@RequestParam("file") MultipartFile file){try {InputStream inputStream=file.getInputStream();System.out.println(file.getOriginalFilename());EasyExcel.read(inputStream,Teacher.class, new EasyExcelListener(teacherService))// 设置sheet,默认读取第一个.sheet().doReadSync();return R.success();}catch (Exception e){e.printStackTrace();return R.failure();}}/*导出老师信息列表*/@GetMapping("/exportTeacherExcel")@ResponseBodypublic void exportTeacherExcel(@RequestParam("ids") Integer[] ids, HttpServletResponse response) throws Exception{//文件名含中文需要转码String fileName =URLEncoder.encode( "老师列表.xlsx", StandardCharsets.UTF_8.toString());//将需要导出的数据从数据库中查出List list = teacherService.getAllTeachers(ids);//设置响应格式response.setContentType("application/vnd.ms-excel;chartset=utf-8"); //文件扩展名为excel格式response.setHeader("Content-Disposition", "attachment;filename=" + fileName); //触发文件名为filename的“另存为”对话框// 内容样式HorizontalCellStyleStrategy horizontalCellStyleStrategy = ContentStyle.getContentStyle();//将OutputStream对象附着到EasyExcel的ExcelWriter实例EasyExcel.write(response.getOutputStream(), Teacher.class) //(输出流, 文件头).excelType(ExcelTypeEnum.XLSX).autoCloseStream(true).sheet("老师名单") //第一个sheet的名.doWrite(list); //写入数据}
}

package com.zhiku.yiqing.web.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.pojo.Health;
import com.zhiku.yiqing.pojo.Teacher;
import com.zhiku.yiqing.service.HealthService;
import com.zhiku.yiqing.service.TeacherService;
import com.zhiku.yiqing.vo.HealthQueryParamsVo;
import com.zhiku.yiqing.vo.UserQueryParamsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.Arrays;@RestController
@RequestMapping("/health")
public class HealthController {@Autowiredprivate HealthService healthService;@DeleteMapping("/batchDelTeacherHealthById/{ids}")public R batchDelTeacherHealthById(@PathVariable("ids") Integer[] ids){System.out.println(Arrays.toString(ids));healthService.batchDelTeacherHealthById(ids);return R.success();}/*** 根据id删除teacher* @param id* @return*/@DeleteMapping("/delTeacherHealthById/{id}")public R delTeacherHealthById( @PathVariable(value = "id" ) Integer id){healthService.delTeacherHealthById(id);return R.success();}/*** 上报省防疫办* @param id* @return*/@PutMapping("/reportedTeacherHealthById/{id}")public R reportedTeacherHealthById(@PathVariable(value = "id" ) Integer id){System.out.println(id);healthService.reportedTeacherHealthById(id);return R.success();}/*** 查询所有的健康列表带分页以及条件查询* @param pageNo* @param pageSize* @param queryParamsVo* @return*/@GetMapping("/queryAllTeacherHealth/{pageNo}/{pageSize}/{remark}")public R queryAllTeacher(@PathVariable(value = "pageNo" ) Integer pageNo,@PathVariable(value = "pageSize") Integer pageSize,@PathVariable(value = "remark") Integer remark,HealthQueryParamsVo queryParamsVo){Page page = new Page<>(pageNo, pageSize);IPage healthIPage = healthService.queryAllTeacherHealth(page,queryParamsVo,remark);return R.success(healthIPage);}
}

package com.zhiku.yiqing.web.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.pojo.Student;
import com.zhiku.yiqing.service.StudentService;
import com.zhiku.yiqing.vo.UserQueryParamsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.Arrays;@RestController
@RequestMapping("/student")
public class StudentController {@Autowiredprivate StudentService studentService;@DeleteMapping("/batchDelStudentById/{ids}")public R batchDelStudentById(@PathVariable("ids") Integer[] ids){System.out.println(Arrays.toString(ids));studentService.batchDelStudentById(ids);return R.success();}/*** 根据id删除teacher* @param id* @return*/@DeleteMapping("/delStudentById/{id}")public R delStudentById( @PathVariable(value = "id" ) Integer id){studentService.delStudentById(id);return R.success();}/*** 重置老师的密码* @param id* @return*/@PutMapping("/updateStudentById/{id}")public R updateStudentById(@PathVariable(value = "id" ) Integer id){studentService.updateStudentById(id);return R.success();}/*** 添加teacher* @param student* @return*/@PostMapping("/addStudent")public R addStudent(@RequestBody Student student){studentService.addStudent(student);return R.success();}/*** 查询所有的teacher带分页以及条件查询* @param pageNo* @param pageSize* @param queryParamsVo* @return*/@GetMapping("/queryAllStudent/{pageNo}/{pageSize}")public R queryAllTeacher(@PathVariable(value = "pageNo" ) Integer pageNo,@PathVariable(value = "pageSize") Integer pageSize,UserQueryParamsVo queryParamsVo){System.out.println("queryParamsVo: " + queryParamsVo);Page page = new Page<>(pageNo, pageSize);IPage Teacher = studentService.queryAllTeacher(page,queryParamsVo);return R.success(Teacher);}
}

package com.zhiku.yiqing.web.admin;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhiku.yiqing.common.R;
import com.zhiku.yiqing.pojo.Teacher;
import com.zhiku.yiqing.service.TeacherService;
import com.zhiku.yiqing.vo.NewsQueryParamsVo;
import com.zhiku.yiqing.vo.UserQueryParamsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.Arrays;@RestController
@RequestMapping("/teacher")
public class TeacherController {@Autowiredprivate TeacherService teacherService;@DeleteMapping("/batchDelTeacherById/{ids}")public R batchDelTeacherById(@PathVariable("ids") Integer[] ids){System.out.println(Arrays.toString(ids));teacherService.batchDelTeacherById(ids);return R.success();}/*** 根据id删除teacher* @param id* @return*/@DeleteMapping("/delTeacherById/{id}")public R delTeacherById( @PathVariable(value = "id" ) Integer id){teacherService.delTeacherById(id);return R.success();}/*** 重置老师的密码* @param id* @return*/@PutMapping("/updateTeacherById/{id}")public R updateTeacherById(@PathVariable(value = "id" ) Integer id){teacherService.updateTeacherById(id);return R.success();}/*** 添加teacher* @param teacher* @return*/@PostMapping("/addTeacher")public R addTeacher(@RequestBody Teacher teacher){teacherService.addTeacher(teacher);return R.success();}/*** 查询所有的teacher带分页以及条件查询* @param pageNo* @param pageSize* @param queryParamsVo* @return*/@GetMapping("/queryAllTeacher/{pageNo}/{pageSize}")public R queryAllTeacher(@PathVariable(value = "pageNo" ) Integer pageNo,@PathVariable(value = "pageSize") Integer pageSize,UserQueryParamsVo queryParamsVo){System.out.println("queryParamsVo: " + queryParamsVo);Page page = new Page<>(pageNo, pageSize);IPage Teacher = teacherService.queryAllTeacher(page,queryParamsVo);return R.success(Teacher);}
}

五,项目总结

基于实现疫情数据管理系统主要基于框架开发实现,。前端采用了框架技术实现了较为友好的用户体验和交互效果,整体采用B/S架构、三层结构,并使用了MYSQL数据库进行了数据存储。这些技术在学校都有接触和学习,为了进一步的掌握这些技术。为此我也进行了基于实现疫情数据管理系统相关知识学习和巩固,在开发技术进行了相应储备,应该来讲从技术方面来看,本系统的开发技术的可行性是没有问题的。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了