• 毕业生可以做出新冠患者统计系统,使用的SSM框架yyds


    基于SSM+JSP的新冠患者统计系统

    一、系统截图

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

    二、系统架构

    系统架构:本系统使用Java作为主要的编程语言编程开发,后台以SSM框架作为主要的技术支撑,数据库采用采用MySQL,前端采用JSP同时配合JavaScript语言,同时引入百度的Ueditor编辑器丰富页面的内容。
    开发环境:JDK8+IDEA+MySQL8.0

    功能需求:
    患者
    1 注册 注册时带上患者的所在的省份,姓名,联系方式,身份证号等 登录
    2个人中心 修改个人信息,修改密码
    3查看公告 查看管理员发布的公告信息
    4留言管理 可以向选择护士,然后留言等待护士的回复
    5体温管理 可以查看自己每日的体温信息,包括体温度数,测量时间,测量备注
    6患者状态管理 查看管理员更新的自己的目前状态包括(姓名,接种疫苗次数(0,1,2,3),感染的状态(无症状感染无症状、 出现肺炎,治愈隔离,死亡)) 可以显示两个统计(一个是所有患者接种率与未接种率,一个是所有患者的各个感染状态所占的比例)

    护士
    1 注册 注册时带上护士的所在的省份,姓名,联系方式,身份证号等 登录
    2个人中心 修改个人信息,修改密码
    3查看公告 查看管理员发布的公告信息
    4留言管理 查看患者的留言并且进行回复
    5体温管理 新增患者每日的体温数据,选择患者填写体温度数,测量时间,测量备注
    6患者状态管理 新增不同患者现在的状态(选择患者后填写接种疫苗次数(0,1,2,3),感染的状态(无症状感染无症状、 出现肺炎,治愈隔离,死亡)) 可以显示两个统计(一个是所有患者接种率与未接种率,一个是所有患者的各个感染状态所占的比例)

    管理员
    1 个人信息修改
    2 公告管理
    3 患者信息管理
    4 护士信息管理
    5 留言管理
    6 体温管理
    7 患者状态的管理 可以显示两个统计(一个是所有患者接种率与未接种率,一个是所有患者的各个感染状态所占的比例)

    三、下载链接

    点击下载

    更多关于项目的描述可以点击基于SSM+VUE的新冠患者统计系统

    四、核心代码

    package com.ServletContextListener;
    
    import com.baomidou.mybatisplus.mapper.EntityWrapper;
    import com.entity.DictionaryEntity;
    import com.service.DictionaryService;
    import com.thread.MyThreadMethod;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.context.ApplicationContext;
    import org.springframework.web.context.support.WebApplicationContextUtils;
    
    import javax.servlet.ServletContextListener;
    import javax.servlet.ServletContextEvent;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 字典初始化监视器  用的是服务器监听,每次项目启动,都会调用这个类
     */
    public class DictionaryServletContextListener implements ServletContextListener {
    
        private static final Logger logger = LoggerFactory.getLogger(DictionaryServletContextListener.class);
        private MyThreadMethod myThreadMethod;
        @Override
        public void contextDestroyed(ServletContextEvent sce) {
            logger.info("----------服务器停止----------");
        }
    
        @Override
        public void contextInitialized(ServletContextEvent sce) {
            ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
    
            logger.info("----------字典表初始化开始----------");
            DictionaryService dictionaryService = (DictionaryService)appContext.getBean("dictionaryService");
            List<DictionaryEntity> dictionaryEntities = dictionaryService.selectList(new EntityWrapper<DictionaryEntity>());
            Map<String, Map<Integer,String>> map = new HashMap<>();
            for(DictionaryEntity d :dictionaryEntities){
                Map<Integer, String> m = map.get(d.getDicCode());
                if(m ==null || m.isEmpty()){
                    m = new HashMap<>();
                }
                m.put(d.getCodeIndex(),d.getIndexName());
                map.put(d.getDicCode(),m);
            }
            sce.getServletContext().setAttribute("dictionaryMap", map);
            logger.info("----------字典表初始化完成----------");
    
    
    
            logger.info("----------线程执行开始----------");
            if (myThreadMethod == null) {
                myThreadMethod = new MyThreadMethod();
                myThreadMethod.start(); // servlet 上下文初始化时启动线程myThreadMethod
            }
            logger.info("----------线程执行结束----------");
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    数据库SQL:
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for config
    -- ----------------------------
    DROP TABLE IF EXISTS `config`;
    CREATE TABLE `config` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
      `name` varchar(100) NOT NULL COMMENT '配置参数名称',
      `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='配置文件';
    
    -- ----------------------------
    -- Records of config
    -- ----------------------------
    BEGIN;
    COMMIT;
    
    -- ----------------------------
    -- Table structure for dictionary
    -- ----------------------------
    DROP TABLE IF EXISTS `dictionary`;
    CREATE TABLE `dictionary` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
      `dic_code` varchar(200) DEFAULT NULL COMMENT '字段',
      `dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',
      `code_index` int(11) DEFAULT NULL COMMENT '编码',
      `index_name` varchar(200) DEFAULT NULL COMMENT '编码名字  Search111 ',
      `super_id` int(11) DEFAULT NULL COMMENT '父字段id',
      `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
      `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 COMMENT='字典';
    
    -- ----------------------------
    -- Records of dictionary
    -- ----------------------------
    BEGIN;
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (33, 'sex_types', '性别类型', 1, '男', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (34, 'sex_types', '性别类型', 2, '女', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (35, 'shengfen_types', '省份', 1, '河南省', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (36, 'shengfen_types', '省份', 2, '河北省', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (37, 'gonggao_types', '公告类型', 1, '公告类型1', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (38, 'gonggao_types', '公告类型', 2, '公告类型2', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (39, 'jiezhong_types', '是否接种疫苗', 1, '已接种疫苗', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (40, 'jiezhong_types', '是否接种疫苗', 2, '未接种疫苗', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (41, 'ganran_types', '感染状态', 1, '无症状', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (42, 'ganran_types', '感染状态', 2, '无症状感染', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (43, 'ganran_types', '感染状态', 3, '出现肺炎', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (44, 'ganran_types', '感染状态', 4, '治愈隔离', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (45, 'ganran_types', '感染状态', 5, '死亡', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (46, 'zhen_types', '第几针', 1, '第一针', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (47, 'zhen_types', '第几针', 2, '第二针', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (48, 'zhen_types', '第几针', 3, '第三针', NULL, NULL, '2022-05-07 16:18:14');
    INSERT INTO `dictionary` (`id`, `dic_code`, `dic_name`, `code_index`, `index_name`, `super_id`, `beizhu`, `create_time`) VALUES (49, 'zhen_types', '第几针', 4, '第四针', NULL, NULL, '2022-05-07 04:44:27');
    COMMIT;
    
    -- ----------------------------
    -- Table structure for gonggao
    -- ----------------------------
    DROP TABLE IF EXISTS `gonggao`;
    CREATE TABLE `gonggao` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
      `gonggao_name` varchar(200) DEFAULT NULL COMMENT '公告名称 Search111  ',
      `gonggao_types` int(11) NOT NULL COMMENT '公告类型 Search111 ',
      `insert_time` timestamp NULL DEFAULT NULL COMMENT '公告发布时间 ',
      `gonggao_content` text COMMENT '公告详情 ',
      `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='公告';
    
    -- ----------------------------
    -- Records of gonggao
    -- ----------------------------
    BEGIN;
    INSERT INTO `gonggao` (`id`, `gonggao_name`, `gonggao_types`, `insert_time`, `gonggao_content`, `create_time`) VALUES (1, '公告名称1', 1, '2022-05-07 16:20:30', '公告详情1', '2022-05-07 16:20:30');
    INSERT INTO `gonggao` (`id`, `gonggao_name`, `gonggao_types`, `insert_time`, `gonggao_content`, `create_time`) VALUES (2, '公告名称2', 2, '2022-05-07 16:20:30', '公告详情2', '2022-05-07 16:20:30');
    INSERT INTO `gonggao` (`id`, `gonggao_name`, `gonggao_types`, `insert_time`, `gonggao_content`, `create_time`) VALUES (3, '公告名称3', 2, '2022-05-07 16:20:30', '公告详情3', '2022-05-07 16:20:30');
    INSERT INTO `gonggao` (`id`, `gonggao_name`, `gonggao_types`, `insert_time`, `gonggao_content`, `create_time`) VALUES (4, '公告名称4', 1, '2022-05-07 16:20:30', '公告详情4', '2022-05-07 16:20:30');
    INSERT INTO `gonggao` (`id`, `gonggao_name`, `gonggao_types`, `insert_time`, `gonggao_content`, `create_time`) VALUES (5, '公告名称5', 1, '2022-05-07 16:20:30', '<p>公告详情5所得到的</p>', '2022-05-07 16:20:30');
    COMMIT;
    
    -- ----------------------------
    -- Table structure for huanzhe
    -- ----------------------------
    DROP TABLE IF EXISTS `huanzhe`;
    CREATE TABLE `huanzhe` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
      `username` varchar(200) DEFAULT NULL COMMENT '账户',
      `password` varchar(200) DEFAULT NULL COMMENT '密码',
      `huanzhe_uuid_number` varchar(200) DEFAULT NULL COMMENT '患者唯一编号 Search111 ',
      `huanzhe_name` varchar(200) DEFAULT NULL COMMENT '患者姓名 Search111 ',
      `huanzhe_phone` varchar(200) DEFAULT NULL COMMENT '患者手机号',
      `huanzhe_id_number` varchar(200) DEFAULT NULL COMMENT '患者身份证号',
      `huanzhe_photo` varchar(200) DEFAULT NULL COMMENT '患者头像',
      `sex_types` int(11) DEFAULT NULL COMMENT '性别',
      `shengfen_types` int(11) DEFAULT NULL COMMENT '省份 Search111 ',
      `huanzhe_email` varchar(200) DEFAULT NULL COMMENT '电子邮箱',
      `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='患者';
    
    -- ----------------------------
    -- Records of huanzhe
    -- ----------------------------
    BEGIN;
    INSERT INTO `huanzhe` (`id`, `username`, `password`, `huanzhe_uuid_number`, `huanzhe_name`, `huanzhe_phone`, `huanzhe_id_number`, `huanzhe_photo`, `sex_types`, `shengfen_types`, `huanzhe_email`, `create_time`) VALUES (1, 'a1', '123456', '165191163095531', '患者姓名1', '17703786901', '410224199610232001', 'http://localhost:8080/huanzheguanlixitong/upload/huanzhe1.jpg', 2, 2, '1@qq.com', '2022-05-07 16:20:30');
    INSERT INTO `huanzhe` (`id`, `username`, `password`, `huanzhe_uuid_number`, `huanzhe_name`, `huanzhe_phone`, `huanzhe_id_number`, `huanzhe_photo`, `sex_types`, `shengfen_types`, `huanzhe_email`, `create_time`) VALUES (2, 'a2', '123456', '165191163095591', '患者姓名2', '17703786902', '410224199610232002', 'http://localhost:8080/huanzheguanlixitong/upload/huanzhe2.jpg', 2, 2, '2@qq.com', '2022-05-07 16:20:30');
    INSERT INTO `huanzhe` (`id`, `username`, `password`, `huanzhe_uuid_number`, `huanzhe_name`, `huanzhe_phone`, `huanzhe_id_number`, `huanzhe_photo`, `sex_types`, `shengfen_types`, `huanzhe_email`, `create_time`) VALUES (3, 'a3', '123456', '165191163095520', '患者姓名3', '17703786903', '410224199610232003', 'http://localhost:8080/huanzheguanlixitong/upload/huanzhe3.jpg', 2, 1, '3@qq.com', '2022-05-07 16:20:30');
    COMMIT;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
  • 相关阅读:
    easyexcel 2.2.6 新版本以列表的形式读取 Excel
    在网站copy时自带的版权小尾巴以及“复制代码“,可以怎么实现
    golang实现循环队列
    前端中blob文件流和base64的区别
    用rabbitMq 怎么处理“延迟消息队列”?
    聊聊jedis连接池参数配置
    类加载的过程总结以及双亲委派模型[JVM]
    一起Talk Android吧(第四百一十四回:使用三角函数绘制正弦波的优化)
    uni-app跳转到另一个app
    C++-Cmake指令:add_custom_target【增加一个没有输出的目标,使得它总是被构建】
  • 原文地址:https://blog.csdn.net/cxy1024byte/article/details/126563531