服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 基于Springboot疫苗接种行程管理系统的设计与实现

基于Springboot疫苗接种行程管理系统的设计与实现

2022-10-19 14:42编程指南针 Java教程

本文主要介绍了基于Springboot实现的疫苗接种行程管理系统的示例代码,系统主要实现个人疫苗接种管理、行程管理、病史管理、风险地区管理、核酸检测报告结果上报、疫情新闻管理等功能,需要的可以参考一下

介绍

项目编号:BS-XX-105

开发技术:Springboot+springmvc+mybatis+layui

开发工具:idea或eclipse

数据库:mysql5.7

开发语言:java

JDK版本:jdk1.8

本系统主要实现个人疫苗接种管理、行程管理、病史管理、风险地区管理、核酸检测报告结果上报、疫情新闻管理等功能。系统分为两个角色:管理员和普通用户。管理员可以管理所有人的相关信息,普通用户只能管理自己的疫苗接种等信息,可以查看管理员发布的疫情地区和防疫信息。

涉及到的表结构:

基于Springboot疫苗接种行程管理系统的设计与实现

 

效果图展示

具体功能展示如下:

用户注册:

基于Springboot疫苗接种行程管理系统的设计与实现

用户登陆

基于Springboot疫苗接种行程管理系统的设计与实现

疫苗接种管理

基于Springboot疫苗接种行程管理系统的设计与实现

病例史管理

基于Springboot疫苗接种行程管理系统的设计与实现

核酸检测报告

基于Springboot疫苗接种行程管理系统的设计与实现

行程管理

基于Springboot疫苗接种行程管理系统的设计与实现

疫情地区管理

基于Springboot疫苗接种行程管理系统的设计与实现

防疫知识管理

基于Springboot疫苗接种行程管理系统的设计与实现

个人资料管理

基于Springboot疫苗接种行程管理系统的设计与实现

系统用户管理

基于Springboot疫苗接种行程管理系统的设计与实现

 

核心代码

系统的核心代码如下:

package com.vaccination.controller;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vaccination.entity.CaseHistory;
import com.vaccination.entity.InoculationRecord;
import com.vaccination.entity.User;
import com.vaccination.service.CaseHistoryService;
import com.vaccination.service.UserService;
import com.vaccination.util.PageRequest;
import com.vaccination.util.PageResponse;
import com.vaccination.util.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;

@RestController
public class CaseHistoryController {

  @Autowired
  private CaseHistoryService caseHistoryService;
  @Autowired
  private UserService userService;

  @PostMapping("/listCaseHistory")
  public PageResponse listCaseHistory(HttpServletRequest request, PageRequest page) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          PageResponse pageResponse = new PageResponse();
          pageResponse.setMsg("请登陆");
          return pageResponse;
      }
      if (user.getRole() == 2) {
          user.setId(-1L);
      }
      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
      IPage<CaseHistory> iPage = caseHistoryService.listCaseHistory(new Page<>(page.getPage(), page.getLimit()), user.getId());
      List<CaseHistory> records = iPage.getRecords();
      records.forEach(item -> {
          if (StringUtils.isBlank(item.getUsername()) && item.getUserId() != null) {
              User byId = userService.getById(item.getUserId());
              if (byId != null) {
                  item.setUsername(byId.getName());
                  item.setUserIdentity(byId.getIdentityNum());
              }
          }
          if (item.getHappenTime() != null) {
              item.setHappenTimeStr(dateFormat.format(item.getHappenTime()));
          }
      });
      return new PageResponse("0", "请求成功", iPage.getTotal(), records);
  }

  @GetMapping("/delCaseHistory")
  public Result delCaseHistory(Long id) {
      caseHistoryService.removeById(id);
      return Result.success("删除成功");
  }

  @PostMapping("/saveCaseHistory")
  public Result saveInoculation(CaseHistory record, HttpServletRequest request) throws ParseException {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          return Result.error("请登陆");
      }
      record.setUserId(user.getId());
      if (StringUtils.isNoneBlank(record.getUsername())){
          User byUsername = userService.getByUsername(record.getUsername());
          if(byUsername == null) {
              User newUser = new User();
              newUser.setUsername(record.getUsername());
              newUser.setName(record.getUsername());
              newUser.setPassword("123456");
              newUser.setRole(1);
              newUser.setStatus(1);
              userService.save(newUser);
              byUsername = newUser;
          }
          record.setUserId(byUsername.getId());
      }
      if (StringUtils.isNoneBlank(record.getHappenTimeStr())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setHappenTime(dateFormat.parse(record.getHappenTimeStr()));
      }
      caseHistoryService.save(record);
      return Result.success("添加成功");
  }

  @PostMapping("/updateCaseHistory")
  public Result updateInoculation(CaseHistory record) throws ParseException {
      if (record.getId() == null) {
          return Result.error("更新失败");
      }
      if (StringUtils.isNoneBlank(record.getHappenTimeStr())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setHappenTime(dateFormat.parse(record.getHappenTimeStr()));
      }else {
          record.setHappenTime(null);
      }
      caseHistoryService.updateById(record);
      return Result.success("更新成功");
  }
}
package com.vaccination.controller;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vaccination.entity.InoculationRecord;
import com.vaccination.entity.User;
import com.vaccination.service.InoculationRecordService;
import com.vaccination.service.UserService;
import com.vaccination.util.PageRequest;
import com.vaccination.util.PageResponse;
import com.vaccination.util.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;

@RestController
public class InoculationController {

  @Autowired
  private InoculationRecordService inoculationRecordService;

  @Autowired
  private UserService userService;

  @PostMapping("/listInoculations")
  public PageResponse listInoculations(HttpServletRequest request, PageRequest page) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          PageResponse pageResponse = new PageResponse();
          pageResponse.setMsg("请登陆");
          return pageResponse;
      }
      if (user.getRole() == 2) {
          user.setId(-1L);
      }
      SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
      IPage<InoculationRecord> iPage = inoculationRecordService.listInoculations(new Page<>(page.getPage(), page.getLimit()), user.getId());
      List<InoculationRecord> records = iPage.getRecords();
      records.forEach(item -> {
          if (StringUtils.isBlank(item.getUsername()) && item.getUserId() != null) {
              User byId = userService.getById(item.getUserId());
              if (byId != null) {
                  item.setUsername(byId.getName());
                  item.setUserIdentity(byId.getIdentityNum());
              }
          }
          if (item.getInoculationTimeOne() != null) {
              item.setInoculationTimeStrOne(dateFormat.format(item.getInoculationTimeOne()));
          }
          if (item.getInoculationTimeTwo() != null) {
              item.setInoculationTimeStrTwo(dateFormat.format(item.getInoculationTimeTwo()));
          }
          if (item.getInoculationTimeThree() != null) {
              item.setInoculationTimeStrThree(dateFormat.format(item.getInoculationTimeThree()));
          }
      });
      return new PageResponse("0", "请求成功", iPage.getTotal(), records);
  }

  @GetMapping("/delInoculation")
  public Result delInoculation(Long id) {
      inoculationRecordService.removeById(id);
      return Result.success("删除成功");
  }

  @PostMapping("/saveInoculation")
  public Result saveInoculation(InoculationRecord record, HttpServletRequest request) throws ParseException {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          return Result.error("请登陆");
      }
      if(record.getStatusThree() == 1 && (record.getStatusTwo() == 2 || record.getStatusOne() == 2)) {
          return Result.error("请先接种第一二针");
      }

      if(record.getStatusTwo() == 1 && record.getStatusTwo() == 2) {
          return Result.error("请先接种第一针");
      }
      record.setUserId(user.getId());
      if (StringUtils.isNoneBlank(record.getUsername())){
          User byUsername = userService.getByUsername(record.getUsername());
          if(byUsername == null) {
              User newUser = new User();
              newUser.setUsername(record.getUsername());
              newUser.setName(record.getUsername());
              newUser.setPassword("123456");
              newUser.setRole(1);
              newUser.setStatus(1);
              userService.save(newUser);
              byUsername = newUser;
          }
          record.setUserId(byUsername.getId());
      }
      if (StringUtils.isNoneBlank(record.getInoculationTimeStrOne())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setInoculationTimeOne(dateFormat.parse(record.getInoculationTimeStrOne()));
      }
      if (StringUtils.isNoneBlank(record.getInoculationTimeStrTwo())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setInoculationTimeTwo(dateFormat.parse(record.getInoculationTimeStrTwo()));
      }
      if (StringUtils.isNoneBlank(record.getInoculationTimeStrThree())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setInoculationTimeThree(dateFormat.parse(record.getInoculationTimeStrThree()));
      }
      inoculationRecordService.save(record);
      return Result.success("添加成功");
  }

  @PostMapping("/updateInoculation")
  public Result updateInoculation(InoculationRecord record) throws ParseException {
      if (record.getId() == null) {
          return Result.error("更新失败");
      }

      if(record.getStatusThree() == 1 && (record.getStatusTwo() == 2 || record.getStatusOne() == 2)) {
          return Result.error("请先接种第一二针");
      }

      if(record.getStatusTwo() == 1 && record.getStatusTwo() == 2) {
          return Result.error("请先接种第一针");
      }

      if (StringUtils.isNoneBlank(record.getInoculationTimeStrOne())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setInoculationTimeOne(dateFormat.parse(record.getInoculationTimeStrOne()));
      }
      if (StringUtils.isNoneBlank(record.getInoculationTimeStrTwo())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setInoculationTimeTwo(dateFormat.parse(record.getInoculationTimeStrTwo()));
      }
      if (StringUtils.isNoneBlank(record.getInoculationTimeStrThree())) {
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
          record.setInoculationTimeThree(dateFormat.parse(record.getInoculationTimeStrThree()));
      }
      inoculationRecordService.updateById(record);
      return Result.success("更新成功");
  }
}
package com.vaccination.controller;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vaccination.entity.EpidemicPreventionKnowledge;
import com.vaccination.entity.User;
import com.vaccination.service.EpidemicPreventionKnowledgeService;
import com.vaccination.service.UserService;
import com.vaccination.util.PageRequest;
import com.vaccination.util.PageResponse;
import com.vaccination.util.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

@RestController
public class KnowledgeController {

  @Autowired
  private EpidemicPreventionKnowledgeService epidemicPreventionKnowledgeService;
  
  @Autowired
  private UserService userService;

  @PostMapping("/listKnowledge")
  public PageResponse listKnowledge(HttpServletRequest request, PageRequest page) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          PageResponse pageResponse = new PageResponse();
          pageResponse.setMsg("请登陆");
          return pageResponse;
      }
      if (user.getRole() == 2) {
          user.setId(-1L);
      }
      IPage<EpidemicPreventionKnowledge> iPage = epidemicPreventionKnowledgeService.listKnowledge(new Page<>(page.getPage(), page.getLimit()));
      List<EpidemicPreventionKnowledge> records = iPage.getRecords();
      records.forEach(item-> {
          if (item.getSendUserId() == null) {
              return;
          }
          User byId = userService.getById(item.getSendUserId());
          if (byId == null) {
              return;
          }
          item.setUsername(byId.getName());
      });
      return new PageResponse("0", "请求成功", iPage.getTotal(), records);
  }

  @GetMapping("/delKnowledge")
  public Result delCaseHistory(Long id, HttpServletRequest request) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          return Result.error("请登陆");
      }
      if (user.getRole() == 1) {
          return Result.error("非管理员用户,删除失败");
      }
      epidemicPreventionKnowledgeService.removeById(id);
      return Result.success("删除成功");
  }

  @PostMapping("/saveKnowledge")
  public Result saveInoculation(EpidemicPreventionKnowledge record, HttpServletRequest request) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          return Result.error("请登陆");
      }
      if (user.getRole() == 1) {
          return Result.error("非管理员用户,添加失败");
      }
      record.setSendUserId(user.getId());
      epidemicPreventionKnowledgeService.save(record);
      return Result.success("添加成功");
  }

  @PostMapping("/updateKnowledge")
  public Result updateInoculation(EpidemicPreventionKnowledge record, HttpServletRequest request) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null) {
          return Result.error("请登陆");
      }
      if (user.getRole() == 1) {
          return Result.error("非管理员用户,修改失败");
      }
      if (record.getId() == null) {
          return Result.error("更新失败");
      }
      epidemicPreventionKnowledgeService.updateById(record);
      return Result.success("更新成功");
  }
}
package com.vaccination.controller;

import com.alibaba.fastjson.JSONObject;
import com.sun.org.apache.xpath.internal.operations.Mod;
import com.vaccination.entity.EpidemicPreventionKnowledge;
import com.vaccination.entity.User;
import com.vaccination.service.EpidemicPreventionKnowledgeService;
import com.vaccination.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.time.OffsetDateTime;
import java.util.List;

@Controller
public class PageController {

  @Autowired
  EpidemicPreventionKnowledgeService epidemicPreventionKnowledgeService;
  @Autowired
  UserService userService;

  @GetMapping("/")
  public String index() {
      return "login";
  }

  @GetMapping("/toReg")
  public String toReg() {
      return "reg";
  }

  @GetMapping("/toInoculation")
  public ModelAndView toInoculation(ModelAndView mv, HttpServletRequest request) {
      mv.setViewName("yimiao");
      return getModelAndView(mv, request);
  }

  @GetMapping("/toCaseHistory")
  public ModelAndView toCaseHistory(ModelAndView mv, HttpServletRequest request) {
      mv.setViewName("case_history");
      return getModelAndView(mv, request);
  }

  @GetMapping("/toTestReport")
  public ModelAndView toTestReport(ModelAndView mv, HttpServletRequest request) {
      mv.setViewName("nucleic_test_report");
      return getModelAndView(mv, request);
  }

  @GetMapping("/toTravel")
  public ModelAndView toTravel(ModelAndView mv, HttpServletRequest request) {
      mv.setViewName("travel");
      return getModelAndView(mv, request);
  }

  @GetMapping("/toRiskArea")
  public ModelAndView toRiskArea(ModelAndView mv, HttpServletRequest request) {
      mv.setViewName("risk_area");
      return getModelAndView(mv, request);
  }

  @GetMapping("/toKnowledge")
  public ModelAndView toKnowledge(ModelAndView mv, HttpServletRequest request) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null ){
          mv.addObject("msg", "请登陆");
          mv.setViewName("login");
          return mv;
      }
      if (user.getRole() == 2) {
          mv.setViewName("knowledge");
          mv.addObject("isAdmin", true);
          return mv;
      }
      List<EpidemicPreventionKnowledge> list = epidemicPreventionKnowledgeService.list();
      list.forEach(item -> {
          if (item.getSendUserId() == null) {
              return;
          }
          User byId = userService.getById(item.getSendUserId());
          if (byId == null) {
              return;
          }
          item.setUsername(byId.getName());
      });
      mv.addObject("knowledgeList", list);
      mv.setViewName("knowledge_user");
      return mv;
  }

  private ModelAndView getModelAndView(ModelAndView mv, HttpServletRequest request) {
      String loginUser = (String) request.getSession().getAttribute("loginUser");
      User user = JSONObject.parseObject(loginUser, User.class);
      if (user == null ){
          mv.addObject("msg", "请登陆");
          mv.setViewName("login");
          return mv;
      }
      if (user.getRole() == 2) {
          mv.addObject("isAdmin", true);
      }else {
          mv.addObject("isAdmin", false);
      }
      return mv;
  }

  @GetMapping("/toUserManage")
  public String toUserManage() {
      return "user_manage";
  }
  @GetMapping("/toEditInoculation")
  public String toEditInoculation() {
      return "editInoculation";
  }

  @GetMapping("/toEditCaseHistory")
  public String toEditCaseHistory() {
      return "editCaseHistory";
  }

  @GetMapping("/toEditTestReport")
  public String toEditTestReport() {
      return "editTestReport";
  }

  @GetMapping("/toEditTravel")
  public String toEditTravel() {
      return "editTravel";
  }

  @GetMapping("/toEditRiskArea")
  public String toEditRiskArea() {
      return "editRiskArea";
  }

  @GetMapping("/toEditKnowledge")
  public String editKnowledge() {
      return "editKnowledge";
  }
}

以上就是基于Springboot疫苗接种行程管理系统的设计与实现的详细内容,更多关于Springboot行程管理系统的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/whirlwind526/article/details/123684168

延伸 · 阅读

精彩推荐
  • Java教程IKAnalyzer结合Lucene实现中文分词(示例讲解)

    IKAnalyzer结合Lucene实现中文分词(示例讲解)

    下面小编就为大家带来一篇IKAnalyzer结合Lucene实现中文分词(示例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看...

    funnyboy012811412021-01-17
  • Java教程挑战4道Java试题

    挑战4道Java试题

    这篇文章主要为大家分享了4道Java基础题,帮助大家巩固基础知识,夯实java基础技能,感兴趣的朋友快点挑战 ...

    _Himan_5192020-03-13
  • Java教程Fluent Mybatis让你摆脱Xml文件的技巧

    Fluent Mybatis让你摆脱Xml文件的技巧

    Fluent-Mybatis类似于Mybatis-Plus是对Mybatis进一步的封装,可以只用一个实体类对象,通过代码生成器,在编译的过程中生成所需要的各类文件,简化了项目的基...

    樱花、散落的季节╮7152021-11-05
  • Java教程深入讲解Java 9中的九个新特性

    深入讲解Java 9中的九个新特性

    Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了。 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新。 这里有九...

    leoxu3842020-09-25
  • Java教程Failed to execute goal org...的解决办法

    Failed to execute goal org...的解决办法

    这篇文章主要介绍了Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1的解决办法的相关资料,需要的朋友可以参考...

    u01173414411352020-11-20
  • Java教程maven项目引用外部jar包的方法

    maven项目引用外部jar包的方法

    本篇文章主要介绍了maven项目引用外部jar的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    psvmhw5492021-03-05
  • Java教程springmvc直接不经过controller访问WEB-INF中的页面问题

    springmvc直接不经过controller访问WEB-INF中的页面问题

    这篇文章主要介绍了springmvc直接不经过controller访问WEB-INF中的页面问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不...

    夕下奕林9172022-07-28
  • Java教程Vert-x-通过异步的方式使用JDBC连接SQL

    Vert-x-通过异步的方式使用JDBC连接SQL

    在这篇文章中,我们将会看到怎样在vert.x应用中使用HSQL,当然也可以使用任意JDBC,以及使用vertx-jdbc-client提供的异步的API,这篇文章的代码在github ...

    不安分的码农6682020-03-22