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

网友投稿 907 2022-10-18

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

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

目录介绍效果图展示核心代码

介绍

项目编号:BS-XX-105

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

开发工具:idea或eclipse

数据库:mysql5.7

开发语言:java

JDK版本:jdk1.8

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

涉及到的表结构:

效果图展示

具体功能展示如下:

用户注册:

用户登陆

疫苗接种管理

病例史管理

核酸检测报告

行程管理

疫情地区管理

防疫知识管理

个人资料管理

系统用户管理

核心代码

系统的核心代码如下:

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 iPage = caseHistoryService.listCaseHistory(new Page<>(page.getPage(), page.getLimit()), user.getId());

List 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 orhttp://g.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 iPage = inoculationRecordService.listInoculations(new Page<>(page.getPage(), page.getLimit()), user.getId());

List 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 iPage = epidemicPreventionKnowledgeService.listKnowledge(new Page<>(page.getPage(), page.getLimit()));

List 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(PHBeOVaht"请登陆");

}

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 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行程管理系统的资料请关注我们其它相关文章!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Quartz- 作业调度框架
下一篇:cron4j- 任务调度框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~