基于SpringBoot的校园疫情防控管理系统 JAVA简易版

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 学生
    • 2.2 老师
    • 2.3 学校管理部门
  • 三、系统展示
  • 四、核心代码
    • 4.1 新增健康情况上报
    • 4.2 查询健康咨询
    • 4.3 新增离返校申请
    • 4.4 查询防疫物资
    • 4.5 查询防控宣传数据
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的校园疫情防控管理系统,包含了健康情况上报模块、健康咨询模块、离返校申请模块、防疫物资模块和防控宣传模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,校园疫情防控管理系统基于角色的访问控制,给学生、高校管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

校园疫情防控管理系统是一个基于信息技术的应用系统,旨在通过计算机网络和相关技术,协助学校管理部门实现对校园疫情的及时监测、管理、预警和防控。

  1. 分析目前校园疫情防控的现状,确定系统的设计目标和功能需求。

  2. 设计系统的数据库、用户界面,制定系统的预警和防控策略,实现对校园疫情的及时监测、预警和防控,开发系统的相关功能模块,完成对问题的定义,可行性研究,需求分析,概要设计,详细设计,测试,软件功能说明。

功能要求如下。

设计制作校园疫情防控管理系统,具有基本的网站结构,有数据采集、防控宣传、数据分析等功能模块,是结合目前校园疫情防控要求所设定。建立学生、老师、学校管理部门三级权限,管理部门对后台及下一级老师进行管理。要有一定的安全加密模块。

2.1 学生

可主动申请上报健康状况、离校方式与时间、个人居住地,浏览疫情防控知识、疫情心理健康留言等。

2.2 老师

隔离学生管理、分析学生健康情况、提供防控措施和指导、批准学生离返校、查看学生各省分布、确认班车送达、回复留言板。

2.3 学校管理部门

对防疫物资进行管理,能够采集并上传学生、教师和校园公共区域的健康信息、发布校园疫情状况、分院系及专业统计学生健康情况,查看学生健康动态与教师工作动态。


三、系统展示

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


四、核心代码

4.1 新增健康情况上报

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增健康情况上报")
public Result<HealthReport> insert(HealthReport healthReport){
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<HealthReport> hrQw = new QueryWrapper<>();
    hrQw.eq("user_id",currUser.getId());
    hrQw.eq("date",healthReport.getDate());
    if(iHealthReportService.count(hrQw) > 0L) {
        return ResultUtil.error("已创建");
    }
    healthReport.setUserId(currUser.getId());
    healthReport.setUserName(currUser.getNickname());
    healthReport.setDate(DateUtil.today());
    iHealthReportService.saveOrUpdate(healthReport);
    return new ResultUtil<HealthReport>().setData(healthReport);
}

4.2 查询健康咨询

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询健康咨询")
public Result<IPage<HealthyConsulting>> getByPage(@ModelAttribute HealthyConsulting healthyConsulting ,@ModelAttribute PageVo page){
    QueryWrapper<HealthyConsulting> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("consulting_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(healthyConsulting.getConsultingName())) {
        qw.eq("consulting_name",healthyConsulting.getConsultingName());
    }
    if(!ZwzNullUtils.isNull(healthyConsulting.getContent())) {
        qw.like("content",healthyConsulting.getContent());
    }
    IPage<HealthyConsulting> data = iHealthyConsultingService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<HealthyConsulting>>().setData(data);
}

4.3 新增离返校申请

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增离返校申请")
public Result<LeavingApply> insert(LeavingApply leavingApply){
    User currUser = securityUtil.getCurrUser();
    leavingApply.setUserId(currUser.getId());
    leavingApply.setUserName(currUser.getNickname());
    iLeavingApplyService.saveOrUpdate(leavingApply);
    return new ResultUtil<LeavingApply>().setData(leavingApply);
}

4.4 查询防疫物资

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询防疫物资")
public Result<IPage<Material>> getByPage(@ModelAttribute Material material ,@ModelAttribute PageVo page){
    QueryWrapper<Material> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(material.getTitle())) {
        qw.like("title",material.getTitle());
    }
    if(!ZwzNullUtils.isNull(material.getCategory())) {
        qw.like("category",material.getCategory());
    }
    if(!ZwzNullUtils.isNull(material.getSupplier())) {
        qw.like("supplier",material.getSupplier());
    }
    IPage<Material> data = iMaterialService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Material>>().setData(data);
}

4.5 查询防控宣传数据

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询防控宣传")
public Result<IPage<Propaganda>> getByPage(@ModelAttribute Propaganda propaganda ,@ModelAttribute PageVo page){
    QueryWrapper<Propaganda> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(propaganda.getTitle())) {
        qw.like("title",propaganda.getTitle());
    }
    if(!ZwzNullUtils.isNull(propaganda.getPublisher())) {
        qw.like("publisher",propaganda.getPublisher());
    }
    if(!ZwzNullUtils.isNull(propaganda.getContent())) {
        qw.like("content",propaganda.getContent());
    }
    IPage<Propaganda> data = iPropagandaService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Propaganda>>().setData(data);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/265409.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字音频编辑软件audition 2021 mac功能介绍

Audition 2021 mac是一款专业数字音频编辑软件&#xff0c;提供先进的音频混音、编辑和效果处理功能&#xff0c;专为音频和视频专业人员设计。无论是要录制音乐、无线电广播&#xff0c;还是为录像配音&#xff0c;Audition都能帮到您。它可提供先进的音频混合、编辑、控制和效…

大创项目推荐 深度学习 植物识别算法系统

文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核&#xff0c;池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…

AutoEncoder个人记录

原理 最常见的降维算法有主成分分析法PCA&#xff0c;通过对协方差矩阵进行特征分解而得到数据的主要成分&#xff0c;但是 PCA 本质上是一种线性变换&#xff0c;提取特征的能力极为有限。 AutoEncoder把长度为d_in输入特征向量变换到长度为d_out的输出向量&#xff0c;借助于…

地震勘探原理---数字滤波处理

一. 地震数字滤波的目标 核心任务&#xff1a;去噪&#xff0c;提高地震资料信噪比 噪声压制: 野外采集中可以通过检波器组合, 震源组合, 地震多次覆盖技术来压制干扰波, 但是由于多种原因, 野外采集的资料仍然残留一定干扰波, 必须采用室内数字处理的方式来进行压制. 根据有效…

MyBatis 通过 SqlSession 实现动态Entity批量插入

需要几个关键点: 1、entity对应的service需要继承BaseService 2、entity对应的serviceImpl需要实现baseMapper方法&#xff0c;需要把当前的mapper返回去 3、entity对应的Mapper需要BaseMapper

Java并发工具类---ForkJoin、countDownlatch、CyclicBarrier、Semaphore

一、Fork Join fork join是JDK7引入的一种并发框架&#xff0c;采用分而治之的思想来处理并发任务 ForkJoin框架底层实现了工作窃取&#xff0c;当一个线程完成任务处于空闲状态时&#xff0c;会窃取其他工作线程的任务来做&#xff0c;这样可以充分利用线程来进行并行计算&a…

官宣!DevExpress Blazor UI组件,支持全新的.NET 8渲染模式

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验&#xff0c;这个UI自建库提供了一套全面的原生Blazor UI组件&#xff08;包括Pivot Grid、调度程序、图表、数据编辑器和报表等&#xff09;。 .NET 8为Blazor引入了令人兴奋的重…

柯桥外语学习-俄语零基础入门教学之与衣服有关的词汇

本期为大家带来的是与衣物有关的相关词汇&#xff01; 最近全国大范围降温&#xff0c;大家一定要关注天气预告及时增减衣物&#xff0c;小心不要感冒啦~ 一、服装组成部分 领子 воротник 方领 квадрадный воротник 圆领 закругленн…

基于SSM框架的电脑测评系统论文

基于 SSM框架的电脑测评系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;作为一个一般的用户都开始注重与自己的信息展示平台&#xff0c;实现基于SSM框架的电脑测评系统在技术上已成熟。本文介绍了基于SSM框架的电脑测评系统的开发全过程。通过分析用户对于…

Wavesurfer.js绘制波形图

HTML使用Wavesurfer.js 要使用wavesurfer.js&#xff0c;首先需要在HTML文件中引入Wavesurfer.js库&#xff0c;然后创建一个音频元素并将其添加到页面中。接下来&#xff0c;初始化Wavesurfer实例并配置相关选项。以下是一个简单的示例&#xff1a; 在HTML文件中引入Wavesurf…

瑞幸咖啡用户运营的秘诀是什么?普通用户通过数据分析也能得到答案!

大数据产业创新服务媒体 ——聚焦数据 改变商业 在快速发展的数字经济时代&#xff0c;BI已成为企业决策过程中不可或缺的工具。通过高效地收集、处理和分析海量数据&#xff0c;BI技术赋予企业洞察市场动态、优化运营策略、提升客户体验的能力。与人工智能、大数据和云计算的…

碳排放预测 | 基于ARIMA和GM(1,1)的碳排放预测(Matlab)

目录 预测效果基本介绍模型描述ARIMA模型GM(1,1)模型 程序设计参考资料 预测效果 基本介绍 基于ARIMA和GM(1,1)的碳排放预测&#xff08;Matlab&#xff09; 基于ARIMA&#xff08;自回归移动平均模型&#xff09;和GM(1,1)&#xff08;灰色预测模型&#xff09;的碳排放预测是…

如何自定义右键弹框并实现位置自适应?

一、问题 右键显示弹框&#xff0c;但是靠近浏览器边缘的部分会被隐藏&#xff0c;需要实现弹框位置自适应 二、 问题分析 如果想要最终弹框的宽高不超过屏幕视口&#xff0c;就等于屏幕视口的总宽/高减去弹框打开时的起点坐标&#xff0c;剩下的部分大于等于弹框的宽/高&…

智能优化算法应用:基于猎食者算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于猎食者算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于猎食者算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.猎食者算法4.实验参数设定5.算法结果6.参考文…

flutter开发实战-设置bottomNavigationBar中间按钮悬浮效果

flutter开发实战-设置bottomNavigationBar中间按钮悬浮的效果 在使用tabbar时候&#xff0c;可以使用bottomNavigationBar来设置中间凸起的按钮&#xff0c;如下 一、效果图 中间按钮凸起的效果图如下 二、实现代码 我们使用BottomAppBar 一个容器&#xff0c;通常与[Sscaf…

【Redis】六、Redis发布订阅

文章目录 1、订阅/发布消息图&#xff1a;2、Redis命令3、测试订阅端:发送端: 3、原理vx公众号发文章 4、使用场景 参考&#xff1a;狂神说Java 在之前的线程通信概念中&#xff0c;也有一个队列&#xff0c;发送者线程把消息发给接收者线程。 Redis 发布订阅(pub/sub)是一种消…

后台留言列表

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>后台管理系统</title> <meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"> <meta http-equiv"Acc…

步兵 cocos2dx 加密和混淆

文章目录 摘要引言正文代码加密具体步骤代码加密具体步骤测试和配置阶段IPA 重签名操作步骤 总结参考资料 摘要 本篇博客介绍了针对 iOS 应用中的 Lua 代码进行加密和混淆的相关技术。通过对 Lua 代码进行加密处理&#xff0c;可以确保应用代码的安全性&#xff0c;同时提高性…

java设计模式学习之【命令模式】

文章目录 引言命令模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用股票示例代码地址 引言 想象一下&#xff0c;你在一个忙碌的厨房里&#xff0c;厨师们正忙于准备各种菜肴。每当服务员带来一个新订单时&#xff0c;他们不会直接对厨师说需要做什么菜。相…

Elasticsearch Reroute API 的使用

本文通过一个 Elasticsearch 集群中主分片分配不均衡的例子演示一下 Cluster reroute API 的使用。 对于 Elasticsearch 分片分配策略不了解的同学可以点一下关注&#xff0c;后面更文之后获取第一手资料。 环境信息 Windows 10 Elasticsearch 8.1 JDK17 初始集群状态 分片…