当前位置:   article > 正文

基于SpringBoot实现新冠疫情统计系统(Idea+Navicat)_基于springboot新冠疫情信息统计系统

基于springboot新冠疫情信息统计系统

 前言

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

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

1、系统功能

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

①系统首页

实现了动态的曲线图和饼图 记录每天疫情人员的数量变化

②打卡功能

该功能实现用户的每日打卡,可实现用户信息和状态的增,删,改,查,方便单位的管理。

这里是打卡列表

③用户管理

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

④疫情信息

有三个方面的功能——疫苗接种、核酸检测、防疫物资

  • 疫苗接种:根据定位推荐接种点,以及接种须知的说明

  • 核酸检测:介绍核酸及核酸检测的相关知识,让用户对核酸检测有更清晰的认识

  • 防疫物资:对防疫知识作出详细的科普

⑤疫情人员

实现了对疫情人员的管理。实现密切接触者、确诊人员、治愈病例人员和死亡人员信息的增,删,改,查

2、系统部署

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

①创建数据库

打开Navicat,然后右击local点 打开连接,复制资源包中的文件名,即coronavirus,再次右击local点 新建数据库,创建数据库。

然后双击选中新建的数据库,右键运行SQL文件 点击开始运行,等待数据导入,然后选中数据库,按F5刷新,到此项目中所有的数据库表便全部导入成功 接下来开始运行代码

②运行代码

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

修改完找到启动类,右键运行(run)运行

可以看出无报错就OK了

③打开浏览器

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

3、系统使用

使用该系统需要登录,随便点击首页选项就可以进入登录页面

账号和密码可在数据库user中找到,选择第一个,账号和密码都为admin 系统的功能参照前文

4、代码展示

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

总结

项目介绍就到这里,学习的过程就是认识自己的过程,在开发中不断补充自己的知识,增加自己的理解,弥补不足,对系统的开发环境、配置和开发软件也能更加熟练地掌握,我能明显感觉到自己的英语水平有待提升,调试的过程虽然很烦躁,但沉下心处理也是一种享受。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/362471
推荐阅读
相关标签
  

闽ICP备14008679号