撸了一个疫苗接种行程管理系统,爽!

全栈架构社区

共 19597字,需浏览 40分钟

 ·

2022-05-14 11:51

上一篇:只有自己牛B,才能对社会无情鞭挞!

项目简介

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

项目编号: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 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";
    }
}
来源:https://bcznz.blog.csdn.net/?type=blog




  1. 为什么我勤奋工作8年,却还是个基层员工?

  2. 今年太丧了,这大概就是人生吧!

  3. 一场疫情 改变你我

  4. 最近一些想法

  5. 休假


浏览 27
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报