• 【Java毕设】基于SpringBoot实现新冠疫情统计系统(Idea+Navicat)


    在这里插入图片描述

    推荐学习专栏:


    在这里插入图片描述

    前言

    疫情在我们的生活中反反复复,为了方便我们更直观的清楚新冠疫情数据,通过Java编程可以统计疫情信息,更好管控。本文给大家分享一个基于SpringBoot实现的新冠疫情统计系统,本文也适合计科专业毕业设计,也符合当前社会的需求。(文末附源码)



    注:系统使用步骤可直接跳到【系统部署】

    1、系统功能

    功能介绍:有用户管理、新冠症状管理、新冠防疫管理、疫情数据管理、管理员管理、系统管理等功能

    ①系统首页

    实现了动态的曲线图和饼图 记录每天疫情人员的数量变化
    在这里插入图片描述

    ②打卡功能

    该功能实现用户的每日打卡,可实现用户信息和状态的增,删,改,查,方便单位的管理。
    在这里插入图片描述这里是打卡列表
    在这里插入图片描述

    ③用户管理

    该功能实现对使用此系统的信息管理,查看用户信息并且增设管理员

    在这里插入图片描述

    疫情信息

    有三个方面的功能——疫苗接种、核酸检测、防疫物资
    在这里插入图片描述

    • 疫苗接种:根据定位推荐接种点,以及接种须知的说明
      在这里插入图片描述

    • 核酸检测:介绍核酸及核酸检测的相关知识,让用户对核酸检测有更清晰的认识
      在这里插入图片描述

    • 防疫物资:对防疫知识作出详细的科普
      在这里插入图片描述

    ⑤疫情人员

    实现了对疫情人员的管理。实现密切接触者、确诊人员、治愈病例人员和死亡人员信息的增,删,改,查
    在这里插入图片描述

    2、系统部署

    需要项目源码的伙伴可在文末下载,这里将整个实现步骤演示一遍

    ①创建数据库

    打开Navicat(Navicat的安装需要激活的可私信),然后右击local点 打开连接,复制资源包中的文件名,即coronavirus,再次右击local点 新建数据库,创建数据库。
    在这里插入图片描述在这里插入图片描述
    然后双击选中新建的数据库,右键运行SQL文件
    在这里插入图片描述
    点击开始运行,等待数据导入,然后选中数据库,按F5刷新,到此项目中所有的数据库表便全部导入成功
    在这里插入图片描述
    接下来开始运行代码

    ②运行代码

    找到资料文件夹中的源码,将名为 coronavirus 的项目拖入 IDEA,等待项目加载它的依赖jar包,加载完毕之后,这里有两个地方需要修改,具体修改内容如图所示。
    在这里插入图片描述

    修改完找到启动类,右键运行(run)运行
    在这里插入图片描述
    可以看出无报错就OK了
    在这里插入图片描述

    ③打开浏览器

    最后一步,打开浏览器,在搜索框输入访问路径 localhost:8083,无报错,就可以进入系统的主页面了
    在这里插入图片描述

    3、系统使用

    使用该系统需要登录,随便点击首页选项就可以进入登录页面
    在这里插入图片描述
    账号和密码可在数据库user中找到,选择第一个,账号和密码都为admin
    在这里插入图片描述
    系统的功能参照前文

    4、代码展示

    • CheckOutController
    @Controller
    public class CheckOutController {
        @Autowired
        CheckOutService checkOutService;
    
        //打卡
        @RequestMapping(value = "/checkOut/toAdd")
        public String toAdd() {
            return "checkOutAdd";
        }
    
        //打卡
        @RequestMapping(value = "/checkOut/add", method = RequestMethod.POST)
        public String addCheckOut(@RequestParam("currentPosition") String currentPosition, @RequestParam("bodyTemperature") Double bodyTemperature,
                                 @RequestParam("healthState") String healthState, @RequestParam("isToHighArea") String isToHighArea,
                                 @RequestParam("isTouch") String isTouch, @RequestParam("remarks") String remarks,
                                  @RequestParam("name") String name, @RequestParam("checkOutDate") Date checkOutDate) {
            CheckOut checkOut = new CheckOut().setCurrentPosition(currentPosition).setBodyTemperature(bodyTemperature)
                    .setHealthState(healthState).setIsToHighArea(isToHighArea).setIsTouch(isTouch)
                    .setRemarks(remarks).setName(name).setCheckOutDate(checkOutDate);
            checkOutService.add(checkOut);
            return "redirect:/checkOut/list";
        }
    
        @InitBinder
        public void initBinder(WebDataBinder binder, WebRequest request) {
            //转换日期 注意这里的转化要和传进来的字符串的格式一直 如2015-9-9 就应该为yyyy-MM-dd
            DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
            binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
        }
    
        @RequestMapping(value = "/checkOut/list", method = RequestMethod.GET)
        public String list(Model model, @RequestParam(name="page",required = true,defaultValue = "1")int page, @RequestParam(name="size",required=true,defaultValue = "25")int size){
            java.util.List<CheckOut> checkOuts = checkOutService.findAll(page,size);
            PageInfo<User> pageInfo=new PageInfo(checkOuts);
            model.addAttribute("pageInfo",pageInfo);
            return "checkOutList";
        }
    
        @RequestMapping(value = "/checkOut/listByCheckOutName")
        public String listByCureName(Model model, @RequestParam(name = "name", required = true) String name) {
            java.util.List<CheckOut> checkOut = checkOutService.findByName(name);
            PageInfo<Cure> pageInfo = new PageInfo(checkOut);
            model.addAttribute("pageInfo", pageInfo);
            return "checkOutList";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • CureController
    @Controller
    public class CureController {
        @Autowired
        CureService service;
        //所有治愈者
        @RequestMapping(value = "cure/list",method = RequestMethod.GET)
        public String list(Model model, @RequestParam(name="page",required = true,defaultValue = "1")int page, @RequestParam(name="size",required=true,defaultValue = "25")int size){
            List<Cure> cures = service.findAll(page,size);
            PageInfo<User> pageInfo=new PageInfo(cures);
            model.addAttribute("pageInfo",pageInfo);
            return "list";
    
    
        }
        //根据id查找治愈者
        @RequestMapping(value = "cure/info/{id}",method = RequestMethod.GET)
        public String info(@PathVariable("id")int id,Model model){
            Cure cure = service.get(id);
            model.addAttribute("cure",cure);
            return "cureInfo";
        }
        //更新或插入治愈者的现状
        @RequestMapping(value = "cure/update",method = RequestMethod.GET)
        public String update(int baseId,String current){
    
            service.update(baseId,current);
            System.out.println(baseId+current);
            return "redirect:/cure/info/"+baseId;
        }
    
        @RequestMapping(value = "cure/listByCureName")
        public String listByCureName(Model model, @RequestParam(name = "name", required = true) String name) {
            List<Cure> cures = service.findByName(name);
            System.out.println(cures);
            PageInfo<Cure> pageInfo = new PageInfo<>(cures);
            model.addAttribute("pageInfo", pageInfo);
            return "list";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • UserController
    @Controller
    public class UserController {
        @Autowired
        UserService userService;
    
        @RequestMapping(value = "/manager/list" ,method = RequestMethod.GET)
        public String list(Model model, @RequestParam(name="page",required = true,defaultValue = "1")int page, @RequestParam(name="size",required=true,defaultValue = "25") int size){
            List<User> users = userService.findAll(page, size);
            PageInfo<User> pageInfo=new PageInfo(users);
            model.addAttribute("pageInfo",pageInfo);
            return "managerlist";
        }
    
        //跳转添加页面
        @RequestMapping(value = "/manager/toAdd")
        public String toAdd(){
            return "managerAdd";
        }
    
        //添加管理员功能
        @RequestMapping(value = "/manager/add",method = RequestMethod.POST)
        public String add(@RequestParam("username")String username, @RequestParam("name")String name,
                          @RequestParam("password")String password, @RequestParam("unit")String unit,
                          @RequestParam("phone") BigInteger phone, @RequestParam("supermanager")char supermanager){
            BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
            //加密密码
            String pwd=bCryptPasswordEncoder.encode(password);
            User user=new User().setName(name).setPassword(pwd).setUsername(username).setPhone(phone).setUnit(unit);
            System.out.println(user);
            //添加用户
            userService.addUser(user);
            //找到id
            int id = userService.findByUsername(user.getUsername()).getId();
            //添加普通权限
            userService.addUserRole(id);
            //添加超级管理员权限
            if ("是".equals(supermanager)){
                userService.addAdminRole(id);
            }
            return "redirect:/manager/list";
        }
    
        //升级权限
        @RequestMapping("/manager/toSuper/{id}")
        public String toSuper(@PathVariable("id")int id){
            userService.addAdminRole(id);
            return "redirect:/manager/list";
        }
        //删除用户
        @RequestMapping("/manager/delete/{id}")
        public String delete(@PathVariable("id")int id){
            userService.deleteUser(id);
            return "redirect:/manager/list";
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    5、资源获取

    总结

    项目介绍就到这里,学习的过程就是认识自己的过程,在开发中不断补充自己的知识,增加自己的理解,弥补不足,对系统的开发环境、配置和开发软件也能更加熟练地掌握,我能明显感觉到自己的英语水平有待提升,调试的过程虽然很烦躁,但沉下心处理也是一种享受。欢迎订阅下边博主专栏,跟博主一起学习!后期将更新更多精彩文章!感觉还不错的话点个赞吧!

  • 相关阅读:
    让别人访问电脑本地
    异硫氰酸荧光素标记磁性四氧化三铁纳米粒FITC-Hyd-PEG-Fe3O4|近红外染料CY7.5标记纳米二氧化硅CY7.5-SiO2 NPs
    数据结构
    VC++几种加载图片方法的讨论(附源码)
    C 语言是“最环保”的编程语言
    Python Opencv实践 - Shi-Tomasi角点检测
    【在线编程-Python篇】Python入门 04 列表(中)
    Zebec&Solana基金会AMA圆满召开,Lily Liu盛赞Zebec
    伦敦银一手是多少?
    【无标题】清空吗
  • 原文地址:https://blog.csdn.net/CSDN_anhl/article/details/127938488