基于Java的校园疫情防控管理系统(Vue.js+SpringBoot)

news2024/11/18 4:29:28

在这里插入图片描述


目录

  • 一、摘要
    • 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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于nodejs+vue饮食分享平台python-flask-django-php

本系统采用了nodejs语言的express框架&#xff0c;数据采用MySQL数据库进行存储。进行开发设计&#xff0c;功能强大&#xff0c;界面化操作便于上手。本系统具有良好的易用性和安全性&#xff0c;系统功能齐全&#xff0c;可以满足饮食分享管理的相关工作。 前端技术&#xff…

设计模式学习笔记 - 设计模式与范式 -结构型:3.装饰器模式

概述 上篇文章《设计模式与范式 -结构型&#xff1a;2.桥接模式》&#xff0c;我们介绍了桥接模式&#xff0c;桥接模式的理解方式有两种。第一种理解方式是 “将抽象与实现解耦&#xff0c;让它们能独立开发”。这种理解方式比较特别&#xff0c;应用场景也不多。另一种理解方…

邮件营销工具的必备功能?如何选营销工具?

邮件营销工具的效果如何&#xff1f;营销工具怎么提升邮件营销&#xff1f; 一款优秀的邮件营销工具&#xff0c;不仅能够帮助企业高效地进行邮件发送&#xff0c;还能通过精准的数据分析和用户行为跟踪&#xff0c;提升营销效果。AokSend将探讨邮件营销工具的必备功能。 邮件…

软件杯 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…

代码随想录算法训练营 DAY 21 | 230.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236.二叉树的最近公共祖先

230.二叉搜索树的最小绝对差 二叉搜索树&#xff0c;用中序遍历 用一个全局变量result存储最小绝对差&#xff0c;prev指针存储 在中的逻辑里去更新result&#xff08;保证prev不为空&#xff09;&#xff0c;然后更新prevcur。 牢记谦虚遍历的顺序&#xff01;pre紧跟在cu…

Spring高级面试题-2024

Spring 框架中都用到了哪些设计模式&#xff1f; 1. 简单工厂&#xff1a; ○ BeanFactory&#xff1a;Spring的BeanFactory充当工厂&#xff0c;负责根据配置信息创建Bean实例。它是一种工厂模式的应用&#xff0c;根据指定的类名或ID创建Bean对象。2. 工厂方法&#xff…

numcpp boostvs2017踩坑记录

之前想用boost1.69版本&#xff0c;但是boost与numcpp编译过程死活找不到boost1.69&#xff0c;踩坑无数&#xff0c;只能采用1.79版本。 https://www.cnblogs.com/tang-zhou-zhou/p/16067695.html 在 Windows 下通过 CMake 使用 Boost 库_cmake boost-CSDN博客 在VS2019中配…

析构 函数

对象死亡的时候会调用析构函数 #include<iostream> using namespace std;class MM { public:~MM(){cout << "调用析构函数" << endl << endl;}};int main() {{MM mm;//动态申请的内存需要手动释放MM* p new MM();cout << "1...…

【Java常用的API】JDK7以前时间相关类

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

js实现拖放效果

dataTransfer对象 说明&#xff1a;dataTransfer对象用于从被拖动元素向放置目标传递字符串数据。因为这个对象是 event 的属性&#xff0c;所以在拖放事件的事件处理程序外部无法访问 dataTransfer。在事件处理程序内部&#xff0c;可以使用这个对象的属性和方法实现拖放功能…

Linux(centos7)部署hadoop集群

部署环境要求:已完成JDK环境部署、配置完成固定IP、SSH免费登录、防火墙关闭等。 1、下载、上传主机 官网:https://hadoop.apache.org 2、解压缩、创建软连接 解压: tar -zxvf hadoop-3.3.6.tar.gz软连接: ln -s /usr/local/apps/hadoop-3.3.6 hadoop3、文件配置 hadoo…

合辑下载 | MatrixOne 与 MySQL 全面对比

前言 MatrixOne是一款高度兼容MySQL语法的HTAP数据库&#xff0c;采用云原生化和存储、计算、事务分离的架构打造了HSTAP超融合数据引擎&#xff0c;实现单一数据库系统同时支持OLTP、OLAP、流计算等多种业务负载。基于MatrixOne高度兼容MySQL的定位&#xff0c;社区的小伙伴在…

多层陶瓷电容器(MLCC)的基本结构与特点

多层陶瓷电容器&#xff08;MLCC&#xff09;是一种电子元件&#xff0c;用于存储电荷和调节电路中的电容值。它们由多个陶瓷层组成&#xff0c;每个层之间夹有金属电极&#xff0c;然后堆叠在一起&#xff0c;并在两端连接上导体引线&#xff0c;形成一个整体结构。在外部通常…

【保姆级讲解如何下载MATLAB和安装MATLAB】

&#x1f308;博主&#xff1a;程序员不想YY啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 &#x1f91d;希望本文对您有所裨益&#xff0c;如有…

【Java程序设计】【C00384】基于(JavaWeb)Springboot的民航网上订票系统(有论文)

【C00384】基于&#xff08;JavaWeb&#xff09;Springboot的民航网上订票系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#x…

Linux的VirtualBox中USB设备无法选择USB3.0怎么办?

在VirtualBox中&#xff0c;如果遇到USB设备无法选择 USB 3.0 的问题&#xff0c;可以尝试按照以下步骤来解决&#xff1a; 确保VirtualBox版本支持USB 3.0&#xff1a;首先&#xff0c;你需要确认你的VirtualBox版本是否支持USB 3.0。一些较旧的版本可能不支持&#xff0c;因此…

09 网络ARP请求,响应,ICMP协议

arp协议_arp请求_arp回应 ICMP包构造ping搜狐服务器参考 #include <stdio.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <linux/if_packet.h> #include <linux/if_ether.h> #include <string.h> #includ…

加密软件VMProtect教程:使用脚本Mach-O文件

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic&#xff08;本机&#xff09;、Virtual Pascal和XCode编译器。 同时&#xff0c;VMProtect有一个内置的反汇编程序&#xff0c;可以与Windows和Mac OS X可执行文件一起…

怎么制作iOS证书

首先我们登录appuploder官网 搜索 appuploder 第一个就是我们官网啦&#xff0c;网址是&#xff1a;Appuploader home -- A tool improve ios develop efficiency such as submit ipa to appstore and manage ios certificate 可以跨平台开发&#xff0c;无论是Windows还是Ma…

前端面试题---->JavaScript

const声明的对象属性和数组的值可以被修改吗&#xff1f;为什么 原因&#xff1a;当使用const声明一个对象或数组时&#xff0c;实际上是保证了对象或数组的引用不会被修改&#xff0c;但对象或数组本身的属性或元素是可以被修改的。这是因为const只能保证指向的内存地址不变&a…