基于ssm jsp高校疫情防控系统源码和论文

【468】基于ssm jsp高校疫情防控系统源码和论文

 开发工具:idea 或eclipse
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

摘  要

随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。

校园疫情防控管理系统,主要的模块包括系统系统用户管理员管理,学生信息管理,风险地区管理,学生行程管理,健康体温上报管理,学生紧急情况管理,防疫措施信息管理等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。

要想实现校园疫情防控管理系统的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的信息,并由此分析得出的关联信息等大量的数据都由数据库管理。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

本系统的开发使获取校园疫情防控管理系统信息能够更加方便快捷,同时也使校园疫情防控管理系统管理信息变的更加系统化、有序化。系统界面较友好,易于操作。

关键词:校园疫情防控管理系统;Java;Mysql ssm

 

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")
    @ResponseBody
    public 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}")
    @ResponseBody
    public JSONReturn selectById(@PathVariable(value = "id")Integer id){
        HealthReport report = healthReportService.selectById(id);
        return JSONReturn.success("查询成功!",report);
    }

    /**
     * 添加健康打卡记录
     * @param report
     * @return
     */
    @RequestMapping(value = "/add")
    @ResponseBody
    public 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")
    @ResponseBody
    public JSONReturn update(@RequestBody HealthReport report){
        Integer rows = healthReportService.update(report);
        return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");
    }


    /**
     * 删除健康打卡记录
     * @param report
     * @return
     */
    @RequestMapping(value = "/del")
    @ResponseBody
    public 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 )
    @ResponseBody
    public 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.PageQueryDto;
import com.xiaoniucr.entity.AreaRisk;
import com.xiaoniucr.entity.Trip;
import com.xiaoniucr.util.PropertiesUtils;
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 org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

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 = "/trip")
public class TripController extends BaseController {

    /**
     * 行程查询分页
     * @return
     */
    @RequestMapping(value = "/list")
    @ResponseBody
    public PageVo findTrip(@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 tripService.page(queryDto);
    }

    /**
     * 根据ID查询记录
     * @param id
     * @return
     */
    @RequestMapping(value = "/{id}")
    @ResponseBody
    public JSONReturn selectById(@PathVariable(value = "id")Integer id){
        Trip trip = tripService.selectById(id);
        return JSONReturn.success("查询成功!",trip);
    }

    /**
     * 添加行程
     * @param trip
     * @return
     */
    @RequestMapping(value = "/add")
    @ResponseBody
    public JSONReturn add(@RequestBody Trip trip){

        LoginSession loginSession = (LoginSession) getSession("user");
        trip.setUserId(loginSession.getId());
        Integer rows =  tripService.add(trip);
        return rows > 0 ? JSONReturn.success("添加成功!") : JSONReturn.fail("添加失败!");
    }

    /**
     * 更新行程
     * @param trip
     * @return
     */
    @RequestMapping(value = "/update")
    @ResponseBody
    public JSONReturn update(@RequestBody Trip trip){

        Integer rows =  tripService.update(trip);
        return rows > 0 ? JSONReturn.success("更新成功!") : JSONReturn.fail("操作失败!");
    }


    /**
     * 删除行程
     * @param trip
     * @return
     */
    @RequestMapping(value = "/del")
    @ResponseBody
    public JSONReturn del(@RequestBody Trip trip){
        Integer rows = tripService.del(trip.getId());
        return rows > 0 ? JSONReturn.success("删除成功!") : JSONReturn.fail("删除失败!");
    }




    /**
     * 行程码上传
     * @param request
     * @return
     */
    @RequestMapping(value = "/uploadTripCode",method = RequestMethod.POST )
    @ResponseBody
    public JSONReturn uploadTripCode(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 {
                file.transferTo(dest);
                Trip trip = tripService.selectById(id);
                trip.setTripCode("/file/"+dateDirs+"/"+newFileName);
                tripService.update(trip);
            } catch (IOException e) {
                return JSONReturn.fail("上传第" + (i++) + "个文件失败:"+e.getMessage());
            }
        }
        return JSONReturn.success("文件上传成功!");
    }



    /**
     * 健康码上传
     * @param request
     * @return
     */
    @RequestMapping(value = "/uploadHealthCode",method = RequestMethod.POST )
    @ResponseBody
    public 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 {
                Trip trip = tripService.selectById(id);
                trip.setHealthCode("/file/"+dateDirs+"/"+newFileName);
                tripService.update(trip);
                file.transferTo(dest);
            } catch (IOException e) {
                return JSONReturn.fail("上传第" + (i++) + "个文件失败:"+e.getMessage());
            }
        }
        return JSONReturn.success("文件上传成功!");
    }


}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【资源介绍】 本科毕设基于Javaweb实现的校园疫情防控管理系统源码+项目说明.zip 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载交流,互相学习,共同进步! 校园疫情防控管理信息系统分为前台部分和后台部分,面向学校的学生和老师,旨在为学校提供一个有效防控校园出现疫情的综合性平台。本管理系统将通过健康打卡的功能实现后台管理系统对师生身体状况数据的收集。有了此系统,大大方便了学校疫情防控工作,加大了学校疫情防控的力度,提高学校疫情防控的效率,尽最大地可能避免学校出现新冠肺炎疫情。借助此系统学校能更好地做好疫情防控措施。 采用技术 : 前端:HTML + CSS + JavaScript + Bootstrap + Jquery + Ajax 后端:servlet +Jps + Maven + Schedule定时任务 + Redis + Security + POI 开发环境 : 工具:IDEA、Navicat、Git 环境:JDK 1.8、Tomcat 7.0、Mysql 8.0 项目管理:Maven 代码托管平台:GitHub 开发流程: 1、数据库设计 2、Model:模型定义,与数据库相匹配 3、Dao层:数据操作 4、Service:服务包装 5、Controller:业务入口,数据交互 6、Util:工具类封装 7、Config:配置类封装 8、单元测试 功能模块 : **前台部分,主要分为以下几个模块:** > 个人信息管理 学生和老师登录 学生和老师修改密码 > 数据显示 学校疫情各情况数据的统计显示 疫情各情况饼状图占比分析 学生和教师各情况统计柱形图显示 各学院学生的各情况统计表格显示 各学院教师的各情况统计表格显示 > 打卡操作 学生每天打卡 教师每天打卡 > 疫情新闻显示 最新疫情新闻播报浏览 查看疫情新闻详情 **后台部分,主要分为以下几个模块:** > 学生管理 查询学生 添加学生 修改学生 删除学生 > 教师管理 查询教师 添加教师 修改教师 删除教师 > 打卡信息管理 查询打卡信息 添加打卡信息 修改打卡信息 删除打卡信息 分析打卡信息 统计打卡信息 > 新闻管理 查询新闻 发布新闻 删除新闻 项目截图: **前台部分展示:** 1. 前台首页面 2. 登录页面(学生与教师的类似) 3. 打卡页面(学生与教师的类似) 4. 个人信息页面(学生与教师的类似) **后台部分展示:** 1. 后台首页 2. 学生列表 3. 教师列表 4. 学生打卡信息列表 5. 老师打卡信息列表 6. 发布新闻
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿毕业分享网

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

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

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

打赏作者

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

抵扣说明:

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

余额充值