注意:该项目只展示部分功能,如需了解,评论区咨询即可。
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;
}
源码项目、定制开发、代码讲解、答辩辅导
希望和大家多多交流!!