SpringBoot實(shí)現(xiàn)疫苗接種行程管理系統(tǒng)
來源:https://bcznz.blog.csdn.net/?type=blog
項(xiàng)目簡介
本系統(tǒng)主要實(shí)現(xiàn)個(gè)人疫苗接種管理、行程管理、病史管理、風(fēng)險(xiǎn)地區(qū)管理、核酸檢測報(bào)告結(jié)果上報(bào)、疫情新聞管理等功能。系統(tǒng)分為兩個(gè)角色:管理員和普通用戶。管理員可以管理所有人的相關(guān)信息,普通用戶只能管理自己的疫苗接種等信息,可以查看管理員發(fā)布的疫情地區(qū)和防疫信息。
項(xiàng)目編號:BS-XX-105
開發(fā)技術(shù):Springboot+springmvc+mybatis+layui
開發(fā)工具:idea或eclipse
數(shù)據(jù)庫:mysql5.7
開發(fā)語言:java
JDK版本:jdk1.8
涉及到的表結(jié)構(gòu):

具體功能展示如下:
用戶注冊:

用戶登陸

疫苗接種管理

病例史管理

核酸檢測報(bào)告

行程管理

疫情地區(qū)管理

防疫知識管理

個(gè)人資料管理

系統(tǒng)用戶管理

系統(tǒng)的核心代碼如下:
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?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?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("請登陸");
????????}
????????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";
????}
} END
推薦閱讀 一鍵生成Springboot & Vue項(xiàng)目!【畢設(shè)神器】
Java可視化編程工具系列(一)
Java可視化編程工具系列(二)
順便給大家推薦一個(gè)GitHub項(xiàng)目,這個(gè) GitHub 整理了上千本常用技術(shù)PDF,絕大部分核心的技術(shù)書籍都可以在這里找到,
GitHub地址:https://github.com/javadevbooks/books
電子書已經(jīng)更新好了,你們需要的可以自行下載了,記得點(diǎn)一個(gè)star,持續(xù)更新中..
評論
圖片
表情

