推荐学习专栏:
Java基础学习专栏:
java基础知识学习Java进阶学习专栏:
java编程进阶学习
前言
疫情在我们的生活中反反复复,为了方便我们更直观的清楚新冠疫情数据,通过Java编程可以统计疫情信息,更好管控。本文给大家分享一个基于SpringBoot实现的新冠疫情统计系统,本文也适合计科专业毕业设计,也符合当前社会的需求。(文末附源码)
文章目录
前言1、系统功能①系统首页②打卡功能③用户管理④疫情信息⑤疫情人员 2、系统部署①创建数据库②运行代码③打开浏览器 3、系统使用4、代码展示5、资源获取 总结
注:系统使用步骤可直接跳到【系统部署】
1、系统功能
功能介绍:有用户管理、新冠症状管理、新冠防疫管理、疫情数据管理、管理员管理、系统管理等功能
①系统首页
实现了动态的曲线图和饼图 记录每天疫情人员的数量变化
②打卡功能
该功能实现用户的每日打卡,可实现用户信息和状态的增,删,改,查,方便单位的管理。
这里是打卡列表
③用户管理
该功能实现对使用此系统的信息管理,查看用户信息并且增设管理员
④疫情信息
有三个方面的功能——疫苗接种、核酸检测、防疫物资
疫苗接种:根据定位推荐接种点,以及接种须知的说明
核酸检测:介绍核酸及核酸检测的相关知识,让用户对核酸检测有更清晰的认识
防疫物资:对防疫知识作出详细的科普
⑤疫情人员
实现了对疫情人员的管理。实现密切接触者、确诊人员、治愈病例人员和死亡人员信息的增,删,改,查
2、系统部署
需要项目源码的伙伴可在文末下载,这里将整个实现步骤演示一遍
①创建数据库
打开Navicat(Navicat的安装需要激活的可私信),然后右击local点 打开连接
,复制资源包中的文件名,即coronavirus
,再次右击local点 新建数据库
,创建数据库。
然后双击选中新建的数据库,右键运行SQL文件
点击开始运行,等待数据导入,然后选中数据库,按F5刷新,到此项目中所有的数据库表便全部导入成功
接下来开始运行代码
②运行代码
找到资料文件夹中的源码,将名为 coronavirus
的项目拖入 IDEA,等待项目加载它的依赖jar包,加载完毕之后,这里有两个地方需要修改,具体修改内容如图所示。
修改完找到启动类,右键运行(run)运行
可以看出无报错就OK了
③打开浏览器
最后一步,打开浏览器,在搜索框输入访问路径 localhost:8083
,无报错,就可以进入系统的主页面了
3、系统使用
使用该系统需要登录,随便点击首页选项就可以进入登录页面
账号和密码可在数据库user中找到,选择第一个,账号和密码都为admin
系统的功能参照前文
4、代码展示
CheckOutController@Controllerpublic 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"; }}
CureController @Controllerpublic 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"; }}
UserController @Controllerpublic 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"; }}
5、资源获取
CSDN获取:https://download.csdn.net/download/CSDN_anhl/87097686
总结
项目介绍就到这里,学习的过程就是认识自己的过程,在开发中不断补充自己的知识,增加自己的理解,弥补不足,对系统的开发环境、配置和开发软件也能更加熟练地掌握,我能明显感觉到自己的英语水平有待提升,调试的过程虽然很烦躁,但沉下心处理也是一种享受。欢迎订阅下边博主专栏,跟博主一起学习!后期将更新更多精彩文章!感觉还不错的话点个赞吧!