计算机毕业设计-基于SpringBoot疫苗接种反应上报系统-java接种上报信息统计分析系统-远程调试+讲解+文档

注意:该项目只展示部分功能,如需了解,评论区咨询即可。

1.开发环境

开发语言:Java
数据库:MySQL
后台框架:SSM
编译工具:Idea、Eclipse、MyEclipse (选其一)
其他:jdk1.8、Tomcat

eclipse 下载
mysql 5.7 下载
jdk 1.8 下载
tomcat 8.0 下载
maven 3.5 下载
idea 下载

2.系统的设计背景

       免疫接种使用的生物制品对机体而言毕竟是一种异物,再加上个体差异、使用方法、疫苗质量等因素的影响,极少数人在获得免疫的同时,难免会发生免疫接种副反应。同时,由于国际旅行卫生保健中心承担的免疫接种工作量极大,出现接种后偶合症也是难以避免的。对免疫接种副反应,尤其是异常反应、偶合症的处理是否得当,又直接影响着整个免疫接种工作的开展,给工作带来了不少困难和新的挑战。因此,为了保证免疫接种实施的安全性,提高接种质量,设计开发了基于SpringBoot疫苗接种反应上报系统,通过接种上报信息统计分析来记录用户的接种疫苗后的不了反应。

3 前后台功能设计

3.1 用户功能

  • 登录
  • 查看留言记录
  • 在线留言
  • 搜索查询
  • 在线上报
  • 查看上报记录

3.2 管理员功能

  • 登录
  • 公告管理
  • 角色管理
  • 用户管理
  • 接种信息管理
  • 上报管理
  • 图表分析管理

4 系统页面展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 更多推荐

2023年计算机毕业设计选题大全 计算机毕业设计选题推荐
基于微信小程序的在线小说阅读系统SpringBoot
基于微信小程序的大学生心理预约咨询系统
基于协同过滤算法的农特产商城微信小程序
SSM高校社团招新系统

6 部分功能代码

6.1 患者接种模块

**
 *  患者接种信息前端控制器
 */
@RestController
@RequestMapping("/biz/vaccination")
public class VaccinationController {

    @Autowired
    private IVaccinationService vaccinationService;

    /**
     * 查询患者接种信息
     */
    @RequestMapping("selectVaccinationList")
    public DataGridView selectReportList(VaccinationVo vaccinationVo) {
        IPage<Vaccination> page=new Page<>(vaccinationVo.getPage(), vaccinationVo.getLimit());
        QueryWrapper<Vaccination> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq(StringUtils.isNotBlank(vaccinationVo.getName()), "name", vaccinationVo.getName());
        queryWrapper.eq(StringUtils.isNotBlank(vaccinationVo.getIdcard()), "idcard", vaccinationVo.getIdcard());
        vaccinationService.page(page, queryWrapper);
        return new DataGridView(page.getTotal(), page.getRecords());
    }

    /**
     * 添加患者接种信息
     */
    @RequestMapping("addVaccination")
    public ResultObj addVaccination(VaccinationVo vaccinationVo) {
        vaccinationService.save(vaccinationVo);
        return ResultObj.ADD_SUCCESS;
    }

    /**
     * 修改患者接种信息
     */
    @RequestMapping("updateVaccination")
    public ResultObj updateVaccination(VaccinationVo vaccinationVo) {
        UpdateWrapper<Vaccination> updateWrapper = new UpdateWrapper();
        vaccinationService.saveOrUpdate(vaccinationVo);
        return ResultObj.UPDATE_SUCCESS;
    }

    /**
     * 删除患者接种信息
     */
    @RequestMapping("deleteVaccination")
    public ResultObj deleteVaccination(Integer id) {
        vaccinationService.removeById(id);
        return ResultObj.DELETE_SUCCESS;
    }

6.2 留言讨论模块

/**
 * 问题信息前端控制器
 */
@RestController
@RequestMapping("/biz/question")
public class QuestionController {

    @Autowired
    private IQuestionService questionService;

    @Autowired
    private IReplyService replyService;

    /**
     * 查询留言讨论问题
     */
    @RequestMapping("selectQuestionList")
    public DataGridView selectQuestionList(QuestionVo questionVo) {
        IPage<Question> page=new Page<>(questionVo.getPage(), questionVo.getLimit());
        QueryWrapper<Question> queryWrapper=new QueryWrapper<>();
        queryWrapper.like(StringUtils.isNotBlank(questionVo.getPublishName()), "publish_name", questionVo.getPublishName());
        queryWrapper.orderByDesc("publish_time");
        questionService.page(page, queryWrapper);
        return new DataGridView(page.getTotal(), page.getRecords());
    }

    /**
     * 发表留言讨论
     */
    @RequestMapping("addQuestion")
    public ResultObj addQuestion(QuestionVo questionVo) {
        String currentTime = DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss");
        User user = (User) WebUtils.getSession().getAttribute("user");
        questionVo.setPublishName(user.getName());
        questionVo.setPublishTime(currentTime);
        questionVo.setReplyNumber(0);
        questionService.save(questionVo);
        return ResultObj.ADD_SUCCESS;
    }

    /**
     * 删除留言讨论
     */
    @RequestMapping("deleteQuestion")
    @RequiresPermissions("question:delete")
    public ResultObj deleteQuestion(Integer id) {
        questionService.removeById(id);
        replyService.remove(new QueryWrapper<Reply>().eq("question_id",id));
        return ResultObj.DELETE_SUCCESS;
    }


6.3 统计分析模块

/**
 *  统计报表前端控制器
 */
@RestController
@RequestMapping("/biz/statistic")
public class StatisticController {

    @Autowired
    private IReportService reportService;

    @Autowired
    private IVaccinationService vaccinationService;

    /**
     * 查询患者接种统计信息
     */
    @RequestMapping("selectList")
    public DataGridView selectReportList(VaccinationVo vaccinationVo) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        if (vaccinationVo.getVaccinationTime() == null || vaccinationVo.getVaccinationTime().length() <= 0) {
            vaccinationVo.setVaccinationTime(sdf.format(new Date()));
        }
        Calendar cal = Calendar.getInstance();
        //设置年份
        cal.set(Calendar.YEAR, Integer.valueOf(vaccinationVo.getVaccinationTime().split("-")[0]));
        //设置月份
        cal.set(Calendar.MONTH, Integer.valueOf(vaccinationVo.getVaccinationTime().split("-")[1])-1);
        //获取某月最大天数
        int lastDay = cal.getActualMaximum(Calendar.DATE);
        IPage<Vaccination> page=new Page<>(vaccinationVo.getPage(), vaccinationVo.getLimit());
        QueryWrapper<Vaccination> queryWrapper=new QueryWrapper<>();
        queryWrapper.between(StringUtils.isNotBlank(vaccinationVo.getVaccinationTime()),"vaccination_time",vaccinationVo.getVaccinationTime()+"-01"+" "+"00:00:00",vaccinationVo.getVaccinationTime()+"-"+lastDay+" "+"23:59:59");
        vaccinationService.page(page, queryWrapper);
        return new DataGridView(page.getTotal(), page.getRecords());
    }

    /**
     * 图表展示
     */
    @RequestMapping("/graph")
    public Map<String,Object> graph(@RequestParam("vaccinationTime") String vaccinationTime) {
        if (StrUtil.isEmpty(vaccinationTime)) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
            vaccinationTime = sdf.format(new Date());
        }
        List<Statistic> list = vaccinationService.getVaccinationInfo(vaccinationTime);
        String manufacturerArray[] = new String[list.size()];
        Integer numberArray[] = new Integer[list.size()];
        for (int i = 0; i < list.size(); i++) {
            manufacturerArray[i] = list.get(i).getManufacturer();
            numberArray[i] = list.get(i).getNumber();
        }
        Map<String,Object> map = new HashMap<>();
        map.put("manufacturerArray",manufacturerArray);
        map.put("numberArray",numberArray);
        return map;
    }

    /**
     * 查询患者上报统计信息
     */
    @RequestMapping("selectReportList")
    public DataGridView selectReport(ReportVo reportVo) {
        IPage<Report> page=new Page<>(reportVo.getPage(), reportVo.getLimit());
        QueryWrapper<Report> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq(StringUtils.isNotBlank(reportVo.getCity()),"city",reportVo.getCity());
        queryWrapper.eq(StringUtils.isNotBlank(reportVo.getArea()),"area",reportVo.getArea());
        reportService.page(page, queryWrapper);
        return new DataGridView(page.getTotal(), page.getRecords());
    }

    /**
     * 图表展示
     */
    @RequestMapping("/reportgraph")
    public Map<String,Object> reportgraph(@RequestParam("city") String city,@RequestParam("area") String area) {
        List<Statistic> list = null;
        if(city!=null&&!city.equals("")&&area!=null&&!area.equals("")){
            list = reportService.getReportInfoForArea(city,area);
        }else if(city!=null&&!city.equals("")&&(area==null||area.equals(""))){
            list = reportService.getReportInfoForCity(city);
        }
        String manufacturerArray[] = new String[list.size()];
        Integer numberArray[] = new Integer[list.size()];
        for (int i = 0; i < list.size(); i++) {
            manufacturerArray[i] = list.get(i).getManufacturer();
            numberArray[i] = list.get(i).getNumber();
        }
        Map<String,Object> map = new HashMap<>();
        map.put("manufacturerArray",manufacturerArray);
        map.put("numberArray",numberArray);
        return map;
    }

源码项目、定制开发、代码讲解、答辩辅导
希望和大家多多交流!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值