计算机毕业设计 基于SpringBoot的养老院管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌

目录

 1、项目介绍及开发技术

1.1 项目介绍

1.2 开发技术

2、系统功能设计结构图

3、功能截图

4、数据库表结构设计

5、关键模块

5.1 老人家属管理Controller模块 

5.2 老人家属管理Service模块 

5.3 老人家属管理ServiceImpl模块

5.4 老人家属管理Dao模块

6、论文目录结构

7、源码获取


 1、项目介绍及开发技术

1.1 项目介绍

传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装养老院管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,养老院管理系统的有效运用可以帮助管理人员准确快速地处理信息。

养老院管理系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,养老院管理系统都可以轻松应对。

1.2 开发技术

Java开发语言、SpringBoot框架、MyBatisPlus、MySQL5.7数据库、Maven3.3.9包、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。

2、系统功能设计结构图

3、功能截图

 后台首页

老人管理

家属管理

家属意见管理

老人安全信息管理

体检管理

 药物管理

出入信息管理

 公告信息管理

4、数据库表结构设计

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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='配置文件';/*Data for the table `config` *//*Table structure for table `dictionary` */DROP TABLE IF EXISTS `dictionary`;CREATE TABLE `dictionary` (`id` int(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=38 DEFAULT CHARSET=utf8 COMMENT='字典表';/*Data for the table `dictionary` */insert  into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`beizhu`,`create_time`) values (1,'qinshi_types','寝室类型',1,'寝室类型1',NULL,NULL,'2023-02-16 15:19:14'),(2,'qinshi_types','寝室类型',2,'寝室类型2',NULL,NULL,'2023-02-16 15:19:14'),(3,'status_types','寝室状态',2,'已分配',NULL,NULL,'2023-02-16 15:19:14'),(4,'status_types','寝室状态',1,'未分配',NULL,NULL,'2023-02-16 15:19:14'),(5,'meishi_types','食物类型',1,'食物类型1',NULL,NULL,'2023-02-16 15:19:15'),(6,'meishi_types','食物类型',2,'食物类型2',NULL,NULL,'2023-02-16 15:19:15'),(7,'yinshixihao_types','食物类型',1,'食物类型1',NULL,NULL,'2023-02-16 15:19:15'),(8,'yinshixihao_types','食物类型',2,'食物类型2',NULL,NULL,'2023-02-16 15:19:15'),(9,'tijian_types','体检项目',1,'体检项目1',NULL,NULL,'2023-02-16 15:19:15'),(10,'tijian_types','体检项目',2,'体检项目2',NULL,NULL,'2023-02-16 15:19:15'),(11,'yaowu_types','药物类型',1,'药物类型1',NULL,NULL,'2023-02-16 15:19:15'),(12,'yaowu_types','药物类型',2,'药物类型2',NULL,NULL,'2023-02-16 15:19:15'),(13,'xuqiudai_types','需求状态',1,'未提交',NULL,NULL,'2023-02-16 15:19:15'),(14,'xuqiudai_types','需求状态',2,'已提交',NULL,NULL,'2023-02-16 15:19:15'),(15,'jiashuyijian_types','类型',1,'已处理',NULL,NULL,'2023-02-16 15:19:15'),(16,'jiashuyijian_types','类型',2,'未处理',NULL,NULL,'2023-02-16 15:19:15'),(17,'waichu_types','外出目的',1,'外出目的1',NULL,NULL,'2023-02-16 15:19:15'),(18,'waichu_types','外出目的',2,'外出目的2',NULL,NULL,'2023-02-16 15:19:15'),(19,'fangke_types','来访目的',1,'来访目的1',NULL,NULL,'2023-02-16 15:19:15'),(20,'fangke_types','来访目的',2,'来访目的2',NULL,NULL,'2023-02-16 15:19:15'),(21,'shigu_types','事故类型',1,'事故类型',NULL,NULL,'2023-02-16 15:19:15'),(22,'shigu_types','事故类型',2,'事故类型2',NULL,NULL,'2023-02-16 15:19:15'),(23,'yanzheng_types','严重程度',1,'严重程度',NULL,NULL,'2023-02-16 15:19:15'),(24,'yanzheng_types','严重程度',2,'严重程度2',NULL,NULL,'2023-02-16 15:19:15'),(25,'news_types','公告类型',1,'重大通知',NULL,NULL,'2023-02-16 15:19:15'),(26,'news_types','公告类型',2,'最新资讯',NULL,NULL,'2023-02-16 15:19:15'),(27,'news_types','公告类型',3,'其他',NULL,NULL,'2023-02-16 15:19:15'),(28,'sex_types','性别',1,'男',NULL,NULL,'2023-02-16 15:19:15'),(29,'sex_types','性别',2,'女',NULL,NULL,'2023-02-16 15:19:15'),(30,'baojing_types','健康报警',1,'正常',NULL,NULL,'2023-02-16 15:19:15'),(31,'baojing_types','健康报警',2,'危险',NULL,NULL,'2023-02-16 15:19:15'),(32,'jiankang_types','健康状态',1,'健康状态1',NULL,NULL,'2023-02-16 15:19:15'),(33,'jiankang_types','健康状态',2,'健康状态2',NULL,NULL,'2023-02-16 15:19:15'),(34,'jiankang_types','健康状态',3,'健康状态3',NULL,NULL,'2023-02-16 15:19:15'),(35,'jiashu_types','家属身份',1,'家属身份1',NULL,NULL,'2023-02-16 15:19:15'),(36,'jiashu_types','家属身份',2,'家属身份2',NULL,NULL,'2023-02-16 15:19:15'),(37,'jiashu_types','家属身份',3,'家属身份3',NULL,NULL,'2023-02-16 15:19:15');/*Table structure for table `fangke` */DROP TABLE IF EXISTS `fangke`;CREATE TABLE `fangke` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`fangke_name` varchar(200) DEFAULT NULL COMMENT '标题  Search111 ',`fangke_mingc` varchar(200) DEFAULT NULL COMMENT '来访人名称',`fangke_phone` varchar(200) DEFAULT NULL COMMENT '来访人联系方式',`fangke_types` int(11) DEFAULT NULL COMMENT '来访目的 Search111',`fangke_time` timestamp NULL DEFAULT NULL COMMENT '来访时间',`huilia_time` timestamp NULL DEFAULT NULL COMMENT '离开时间',`yonghu_id` int(11) DEFAULT NULL COMMENT '老人',`fangke_text` text COMMENT '备注',`fangke_content` text COMMENT '详情',`fangke_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='访客信息';/*Data for the table `fangke` */insert  into `fangke`(`id`,`fangke_name`,`fangke_mingc`,`fangke_phone`,`fangke_types`,`fangke_time`,`huilia_time`,`yonghu_id`,`fangke_text`,`fangke_content`,`fangke_delete`,`create_time`) values (1,'标题1','来访人名称1','17703786901',1,'2023-02-16 15:19:21','2023-02-16 15:19:21',3,'备注1','详情1',1,'2023-02-16 15:19:21'),(2,'标题2','来访人名称2','17703786902',2,'2023-02-16 15:19:21','2023-02-16 15:19:21',1,'备注2','详情2',1,'2023-02-16 15:19:21'),(3,'标题3','来访人名称3','17703786903',1,'2023-02-16 15:19:21','2023-02-16 15:19:21',2,'备注3','详情3',1,'2023-02-16 15:19:21'),(4,'标题4','来访人名称4','17703786904',2,'2023-02-16 15:19:21','2023-02-16 15:19:21',1,'备注4','详情4',1,'2023-02-16 15:19:21'),(5,'标题5','来访人名称5','17703786905',1,'2023-02-16 15:19:21','2023-02-16 15:19:21',1,'备注5','详情5',1,'2023-02-16 15:19:21');/*Table structure for table `jiashu` */DROP TABLE IF EXISTS `jiashu`;CREATE TABLE `jiashu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`username` varchar(200) DEFAULT NULL COMMENT '账号',`password` varchar(200) DEFAULT NULL COMMENT '密码',`jiashu_name` varchar(200) DEFAULT NULL COMMENT '家属名称  Search111 ',`jiashu_photo` varchar(200) DEFAULT NULL COMMENT '家属照片',`sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111 ',`jiashu_phone` varchar(200) DEFAULT NULL COMMENT '联系电话',`jiashu_email` varchar(200) DEFAULT NULL COMMENT '邮箱',`jiashu_types` int(11) DEFAULT NULL COMMENT '身份',`jiashu_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='家属';/*Data for the table `jiashu` */insert  into `jiashu`(`id`,`username`,`password`,`jiashu_name`,`jiashu_photo`,`sex_types`,`jiashu_phone`,`jiashu_email`,`jiashu_types`,`jiashu_delete`,`create_time`) values (1,'a1','123456','家属名称1','upload/jiashu1.jpg',1,'17703786901','1@qq.com',2,1,'2023-02-16 15:19:21'),(2,'a2','123456','家属名称2','upload/jiashu2.jpg',2,'17703786902','2@qq.com',3,1,'2023-02-16 15:19:21'),(3,'a3','123456','家属名称3','upload/jiashu3.jpg',1,'17703786903','3@qq.com',2,1,'2023-02-16 15:19:21');/*Table structure for table `jiashuyijian` */DROP TABLE IF EXISTS `jiashuyijian`;CREATE TABLE `jiashuyijian` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`jiashuyijian_name` varchar(200) DEFAULT NULL COMMENT '标题  Search111 ',`jiashuyijian_types` int(11) DEFAULT NULL COMMENT '类型 Search111-',`jiashu_id` int(11) DEFAULT NULL COMMENT '家属',`jiashuyijian_content` text COMMENT '详细信息',`jiashuyijian_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='家属意见';/*Data for the table `jiashuyijian` */insert  into `jiashuyijian`(`id`,`jiashuyijian_name`,`jiashuyijian_types`,`jiashu_id`,`jiashuyijian_content`,`jiashuyijian_delete`,`create_time`) values (1,'标题1',1,1,'详细信息1',1,'2023-02-16 15:19:21'),(2,'标题2',1,1,'详细信息2',1,'2023-02-16 15:19:21'),(3,'标题3',1,2,'详细信息3',1,'2023-02-16 15:19:21'),(4,'标题4',1,2,'详细信息4',1,'2023-02-16 15:19:21'),(5,'标题5',1,1,'详细信息5',1,'2023-02-16 15:19:21'),(6,'123',2,1,'<p>123</p>',1,'2023-02-16 16:31:34');/*Table structure for table `meishi` */DROP TABLE IF EXISTS `meishi`;CREATE TABLE `meishi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`meishi_name` varchar(200) DEFAULT NULL COMMENT '食物名称  Search111 ',`meishi_photo` varchar(200) DEFAULT NULL COMMENT '食物照片',`meishi_types` int(11) DEFAULT NULL COMMENT '食物类型 Search111',`meishi_new_money` decimal(10,2) DEFAULT NULL COMMENT '价格',`meishi_content` text COMMENT '食物介绍 ',`meishi_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='食物';/*Data for the table `meishi` */insert  into `meishi`(`id`,`meishi_name`,`meishi_photo`,`meishi_types`,`meishi_new_money`,`meishi_content`,`meishi_delete`,`create_time`) values (1,'食物名称1','upload/meishi1.jpg',1,'467.90','食物介绍1',1,'2023-02-16 15:19:21'),(2,'食物名称2','upload/meishi2.jpg',1,'77.84','食物介绍2',1,'2023-02-16 15:19:21'),(3,'食物名称3','upload/meishi3.jpg',1,'396.16','食物介绍3',1,'2023-02-16 15:19:21'),(4,'食物名称4','upload/meishi4.jpg',2,'218.37','食物介绍4',1,'2023-02-16 15:19:21'),(5,'食物名称5','upload/meishi5.jpg',2,'445.12','食物介绍5',1,'2023-02-16 15:19:21');/*Table structure for table `news` */DROP TABLE IF EXISTS `news`;CREATE TABLE `news` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`news_name` varchar(200) DEFAULT NULL COMMENT '公告信息标题  Search111 ',`news_types` int(11) DEFAULT NULL COMMENT '公告类型  Search111 ',`news_photo` varchar(200) DEFAULT NULL COMMENT '公告信息图片',`insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',`news_content` text COMMENT '公告详情',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 nameShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='公告信息';/*Data for the table `news` */insert  into `news`(`id`,`news_name`,`news_types`,`news_photo`,`insert_time`,`news_content`,`create_time`) values (1,'公告信息标题1',1,'upload/news1.jpg','2023-02-16 15:19:21','公告详情1','2023-02-16 15:19:21'),(2,'公告信息标题2',3,'upload/news2.jpg','2023-02-16 15:19:21','公告详情2','2023-02-16 15:19:21'),(3,'公告信息标题3',3,'upload/news3.jpg','2023-02-16 15:19:21','公告详情3','2023-02-16 15:19:21'),(4,'公告信息标题4',1,'upload/news4.jpg','2023-02-16 15:19:21','公告详情4','2023-02-16 15:19:21'),(5,'公告信息标题5',2,'upload/news5.jpg','2023-02-16 15:19:21','公告详情5','2023-02-16 15:19:21');/*Table structure for table `qinshi` */DROP TABLE IF EXISTS `qinshi`;CREATE TABLE `qinshi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`qinshi_name` varchar(200) DEFAULT NULL COMMENT '寝室位置  Search111 ',`qinshi_types` int(11) DEFAULT NULL COMMENT '寝室类型 Search111',`status_types` int(11) DEFAULT NULL COMMENT '寝室状态 Search111',`qinshi_content` text COMMENT '寝室详情 ',`qinshi_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='寝室信息';/*Data for the table `qinshi` */insert  into `qinshi`(`id`,`qinshi_name`,`qinshi_types`,`status_types`,`qinshi_content`,`qinshi_delete`,`create_time`) values (1,'寝室位置1',1,1,'寝室详情1',1,'2023-02-16 15:19:21'),(2,'寝室位置2',2,1,'寝室详情2',1,'2023-02-16 15:19:21'),(3,'寝室位置3',2,1,'寝室详情3',1,'2023-02-16 15:19:21'),(4,'寝室位置4',2,1,'寝室详情4',1,'2023-02-16 15:19:21'),(5,'寝室位置5',1,1,'寝室详情5',1,'2023-02-16 15:19:21');/*Table structure for table `qinshifenpei` */DROP TABLE IF EXISTS `qinshifenpei`;CREATE TABLE `qinshifenpei` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yonghu_id` int(11) DEFAULT NULL COMMENT '老人',`qinshi_id` int(11) DEFAULT NULL COMMENT '寝室',`insert_time` timestamp NULL DEFAULT NULL COMMENT '分配时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='寝室分配信息';/*Data for the table `qinshifenpei` *//*Table structure for table `shigu` */DROP TABLE IF EXISTS `shigu`;CREATE TABLE `shigu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`shigu_name` varchar(200) DEFAULT NULL COMMENT '标题  Search111 ',`shigu_time` timestamp NULL DEFAULT NULL COMMENT '事故时间',`shigu_address` varchar(200) DEFAULT NULL COMMENT '地点',`shigu_types` int(11) DEFAULT NULL COMMENT '事故类型 Search111',`yanzheng_types` int(11) DEFAULT NULL COMMENT '严重程度 Search111',`yonghu_id` int(11) DEFAULT NULL COMMENT '老人',`shigu_text` text COMMENT '备注',`shigu_content` text COMMENT '详情',`shigu_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='老人事故信息';/*Data for the table `shigu` */insert  into `shigu`(`id`,`shigu_name`,`shigu_time`,`shigu_address`,`shigu_types`,`yanzheng_types`,`yonghu_id`,`shigu_text`,`shigu_content`,`shigu_delete`,`create_time`) values (1,'标题1','2023-02-16 15:19:21','地点1',2,1,2,'备注1','详情1',1,'2023-02-16 15:19:21'),(2,'标题2','2023-02-16 15:19:21','地点2',2,2,3,'备注2','详情2',1,'2023-02-16 15:19:21'),(3,'标题3','2023-02-16 15:19:21','地点3',1,2,1,'备注3','详情3',1,'2023-02-16 15:19:21'),(4,'标题4','2023-02-16 15:19:21','地点4',1,1,2,'备注4','详情4',1,'2023-02-16 15:19:21'),(5,'标题5','2023-02-16 15:19:21','地点5',2,2,1,'备注5','详情5',1,'2023-02-16 15:19:21');/*Table structure for table `token` */DROP TABLE IF EXISTS `token`;CREATE TABLE `token` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` bigint(20) NOT NULL COMMENT '用户id',`username` varchar(100) NOT NULL COMMENT '用户名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='token表';/*Data for the table `token` */insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'admin','users','管理员','fumio34hjzgp8i5oix76ggbfg11gqerz','2023-02-16 14:31:43','2023-02-16 17:37:00'),(2,1,'a1','jiashu','家属','dzbazlgaztniayu4uekun8836n3epwx1','2023-02-16 15:38:17','2023-02-16 17:31:17'),(3,1,'a1','yonghu','老人','joa3y702kzdp1jfu5m2bw2dn40qqagqq','2023-02-16 15:43:50','2023-02-16 17:31:57'),(4,2,'a2','yonghu','老人','k2o0n1zawf5nsr3krfh2s151z9y2w843','2023-02-16 16:14:39','2023-02-16 17:14:40');/*Table structure for table `users` */DROP TABLE IF EXISTS `users`;CREATE TABLE `users` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员';/*Data for the table `users` */insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2022-05-01 00:00:00');/*Table structure for table `waichu` */DROP TABLE IF EXISTS `waichu`;CREATE TABLE `waichu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`waichu_name` varchar(200) DEFAULT NULL COMMENT '标题  Search111 ',`waichu_types` int(11) DEFAULT NULL COMMENT '外出目的 Search111',`waichu_time` timestamp NULL DEFAULT NULL COMMENT '外出时间',`huilia_time` timestamp NULL DEFAULT NULL COMMENT '回来时间',`yonghu_id` int(11) DEFAULT NULL COMMENT '老人',`waichu_text` text COMMENT '备注',`waichu_content` text COMMENT '详情',`waichu_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='老人外出信息';/*Data for the table `waichu` */insert  into `waichu`(`id`,`waichu_name`,`waichu_types`,`waichu_time`,`huilia_time`,`yonghu_id`,`waichu_text`,`waichu_content`,`waichu_delete`,`create_time`) values (1,'标题1',1,'2023-02-16 15:19:21','2023-02-16 15:19:21',1,'备注1','详情1',1,'2023-02-16 15:19:21'),(2,'标题2',2,'2023-02-16 15:19:21','2023-02-16 15:19:21',3,'备注2','详情2',1,'2023-02-16 15:19:21'),(3,'标题3',1,'2023-02-16 15:19:21','2023-02-16 15:19:21',3,'备注3','详情3',1,'2023-02-16 15:19:21'),(4,'标题4',2,'2023-02-16 15:19:21','2023-02-16 15:19:21',3,'备注4','详情4',1,'2023-02-16 15:19:21'),(5,'标题5',1,'2023-02-16 15:19:21','2023-02-16 15:19:21',1,'备注5','详情5',1,'2023-02-16 15:19:21');/*Table structure for table `xuqiudai` */DROP TABLE IF EXISTS `xuqiudai`;CREATE TABLE `xuqiudai` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yaowu_id` int(11) DEFAULT NULL COMMENT '药物',`yonghu_id` int(11) DEFAULT NULL COMMENT '老人',`xuqiudai_kucun_number` int(11) DEFAULT NULL COMMENT '需求数量',`xuqiudai_types` int(11) DEFAULT NULL COMMENT '需求状态 Search111',`insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow homeMain',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='需求袋';/*Data for the table `xuqiudai` */insert  into `xuqiudai`(`id`,`yaowu_id`,`yonghu_id`,`xuqiudai_kucun_number`,`xuqiudai_types`,`insert_time`,`create_time`) values (1,1,3,101,2,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(2,2,1,102,2,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(3,3,2,103,1,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(4,4,1,104,2,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(5,5,3,105,2,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(11,5,1,100,2,'2023-02-16 16:02:12','2023-02-16 16:02:12');/*Table structure for table `yonghu` */DROP TABLE IF EXISTS `yonghu`;CREATE TABLE `yonghu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(200) DEFAULT NULL COMMENT '账号',`password` varchar(200) DEFAULT NULL COMMENT '密码',`yonghu_name` varchar(200) DEFAULT NULL COMMENT '老人姓名 Search111 ',`yonghu_photo` varchar(255) DEFAULT NULL COMMENT '头像',`sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111 ',`jiankang_types` int(11) DEFAULT NULL COMMENT '健康状态 Search111 ',`yonghu_age` int(11) DEFAULT NULL COMMENT '年龄',`yonghu_phone` varchar(200) DEFAULT NULL COMMENT '紧急联系方式',`yonghu_address` varchar(200) DEFAULT NULL COMMENT '住址',`baojing_types` int(11) DEFAULT NULL COMMENT '健康报警 Search111 ',`jiashu_id` int(11) DEFAULT NULL COMMENT '家属',`yonghu_delete` int(11) DEFAULT '1' COMMENT '假删',`insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='老人';/*Data for the table `yonghu` */insert  into `yonghu`(`id`,`username`,`password`,`yonghu_name`,`yonghu_photo`,`sex_types`,`jiankang_types`,`yonghu_age`,`yonghu_phone`,`yonghu_address`,`baojing_types`,`jiashu_id`,`yonghu_delete`,`insert_time`,`create_time`) values (1,'a1','123456','老人姓名1','upload/yonghu1.jpg',1,1,242,'17703786901','住址1',1,2,1,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(2,'a2','123456','老人姓名2','upload/yonghu2.jpg',1,3,137,'17703786902','住址2',2,3,1,'2023-02-16 15:19:21','2023-02-16 15:19:21'),(3,'a3','123456','老人姓名3','upload/yonghu3.jpg',2,3,326,'17703786903','住址3',2,1,1,'2023-02-16 15:19:21','2023-02-16 15:19:21');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

5、关键模块

5.1 老人家属管理Controller模块 

package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;import com.alibaba.fastjson.JSONObject;import java.util.*;import org.springframework.beans.BeanUtils;import javax.servlet.http.HttpServletRequest;import org.springframework.web.context.ContextLoader;import javax.servlet.ServletContext;import com.service.TokenService;
import com.utils.*;import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 老人家属信息* 后端接口** @author* @email*/
@RestController
@Controller
@RequestMapping("/laorenjiashu")
public class LaorenjiashuController {private static final Logger logger = LoggerFactory.getLogger(LaorenjiashuController.class);private static final String TABLE_NAME = "laorenjiashu";@Autowiredprivate LaorenjiashuService laorenjiashuService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//级联表非注册的service@Autowiredprivate YonghuService yonghuService;@Autowiredprivate JiashuService jiashuService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request) {logger.debug("page方法:,,Controller:{},,params:{}", this.getClass().getName(), JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if (false)return R.error(511, "永不会进入");else if ("老人".equals(role))params.put("yonghuId", request.getSession().getAttribute("userId"));else if ("家属".equals(role))params.put("jiashuId", request.getSession().getAttribute("userId"));CommonUtil.checkMap(params);PageUtils page = laorenjiashuService.queryPage(params);//字典表数据转换List<LaorenjiashuView> list = (List<LaorenjiashuView>) page.getList();for (LaorenjiashuView c : list) {//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request) {logger.debug("info方法:,,Controller:{},,id:{}", this.getClass().getName(), id);LaorenjiashuEntity laorenjiashu = laorenjiashuService.selectById(id);if (laorenjiashu != null) {//entity转viewLaorenjiashuView view = new LaorenjiashuView();BeanUtils.copyProperties(laorenjiashu, view);//把实体数据重构到view中//级联表 老人//级联表YonghuEntity yonghu = yonghuService.selectById(laorenjiashu.getYonghuId());if (yonghu != null) {BeanUtils.copyProperties(yonghu, view, new String[]{"id", "createTime", "insertTime", "updateTime", "jiashuId", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setYonghuId(yonghu.getId());}//级联表 家属//级联表JiashuEntity jiashu = jiashuService.selectById(laorenjiashu.getJiashuId());if (jiashu != null) {BeanUtils.copyProperties(jiashu, view, new String[]{"id", "createTime", "insertTime", "updateTime", "jiashuId", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段,当前表的级联注册表view.setJiashuId(jiashu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);} else {return R.error(511, "查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody LaorenjiashuEntity laorenjiashu, HttpServletRequest request) {logger.debug("save方法:,,Controller:{},,laorenjiashu:{}", this.getClass().getName(), laorenjiashu.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if (false)return R.error(511, "永远不会进入");else if ("家属".equals(role))laorenjiashu.setJiashuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));else if ("老人".equals(role))laorenjiashu.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<LaorenjiashuEntity> queryWrapper = new EntityWrapper<LaorenjiashuEntity>().eq("yonghu_id", laorenjiashu.getYonghuId()).eq("jiashu_id", laorenjiashu.getJiashuId());logger.info("sql语句:" + queryWrapper.getSqlSegment());LaorenjiashuEntity laorenjiashuEntity = laorenjiashuService.selectOne(queryWrapper);if (laorenjiashuEntity == null) {laorenjiashu.setInsertTime(new Date());laorenjiashu.setCreateTime(new Date());laorenjiashuService.insert(laorenjiashu);return R.ok();} else {return R.error(511, "请不要重复添加");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody LaorenjiashuEntity laorenjiashu, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {logger.debug("update方法:,,Controller:{},,laorenjiashu:{}", this.getClass().getName(), laorenjiashu.toString());LaorenjiashuEntity oldLaorenjiashuEntity = laorenjiashuService.selectById(laorenjiashu.getId());//查询原先数据String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("家属".equals(role))
//            laorenjiashu.setJiashuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
//        else if("老人".equals(role))
//            laorenjiashu.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));//根据字段查询是否有相同数据Wrapper<LaorenjiashuEntity> queryWrapper = new EntityWrapper<LaorenjiashuEntity>().notIn("id", laorenjiashu.getId()).andNew().eq("yonghu_id", laorenjiashu.getYonghuId()).eq("jiashu_id", laorenjiashu.getJiashuId()).eq("laorenjiashu_types", laorenjiashu.getLaorenjiashuTypes());logger.info("sql语句:" + queryWrapper.getSqlSegment());LaorenjiashuEntity laorenjiashuEntity = laorenjiashuService.selectOne(queryWrapper);if (laorenjiashuEntity == null) {laorenjiashuService.updateById(laorenjiashu);//根据id更新return R.ok();} else {return R.error(511, "表中有相同数据");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids, HttpServletRequest request) {logger.debug("delete:,,Controller:{},,ids:{}", this.getClass().getName(), ids.toString());List<LaorenjiashuEntity> oldLaorenjiashuList = laorenjiashuService.selectBatchIds(Arrays.asList(ids));//要删除的数据laorenjiashuService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save(String fileName, HttpServletRequest request) {logger.debug("batchInsert方法:,,Controller:{},,fileName:{}", this.getClass().getName(), fileName);Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {List<LaorenjiashuEntity> laorenjiashuList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields = new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if (lastIndexOf == -1) {return R.error(511, "该文件没有后缀");} else {String suffix = fileName.substring(lastIndexOf);if (!".xls".equals(suffix)) {return R.error(511, "只支持后缀为xls的excel文件");} else {URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if (!file.exists()) {return R.error(511, "找不到上传文件,请联系管理员");} else {List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for (List<String> data : dataList) {//循环LaorenjiashuEntity laorenjiashuEntity = new LaorenjiashuEntity();
//                            laorenjiashuEntity.setYonghuId(Integer.valueOf(data.get(0)));   //老人 要改的
//                            laorenjiashuEntity.setJiashuId(Integer.valueOf(data.get(0)));   //家属 要改的
//                            laorenjiashuEntity.setLaorenjiashuTypes(Integer.valueOf(data.get(0)));   //家属身份 要改的
//                            laorenjiashuEntity.setInsertTime(date);//时间
//                            laorenjiashuEntity.setCreateTime(date);//时间laorenjiashuList.add(laorenjiashuEntity);//把要查询是否重复的字段放入map中}//查询是否重复laorenjiashuService.insertBatch(laorenjiashuList);return R.ok();}}}} catch (Exception e) {e.printStackTrace();return R.error(511, "批量插入数据异常,请联系管理员");}}}

5.2 老人家属管理Service模块 

package com.service;import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.LaorenjiashuEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;/*** 老人家属信息 服务类*/
public interface LaorenjiashuService extends IService<LaorenjiashuEntity> {/*** @param params 查询参数* @return 带分页的查询出来的数据*/PageUtils queryPage(Map<String, Object> params);}

5.3 老人家属管理ServiceImpl模块

package com.service.impl;import com.utils.StringUtil;
import com.service.DictionaryService;
import com.utils.ClazzDiff;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import com.utils.PageUtils;
import com.utils.Query;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import com.dao.LaorenjiashuDao;
import com.entity.LaorenjiashuEntity;
import com.service.LaorenjiashuService;
import com.entity.view.LaorenjiashuView;/*** 老人家属信息 服务实现类*/
@Service("laorenjiashuService")
@Transactional
public class LaorenjiashuServiceImpl extends ServiceImpl<LaorenjiashuDao, LaorenjiashuEntity> implements LaorenjiashuService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<LaorenjiashuView> page =new Query<LaorenjiashuView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}}

5.4 老人家属管理Dao模块

package com.dao;import com.entity.LaorenjiashuEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;import org.apache.ibatis.annotations.Param;
import com.entity.view.LaorenjiashuView;/*** 老人家属信息 Dao 接口** @author */
public interface LaorenjiashuDao extends BaseMapper<LaorenjiashuEntity> {List<LaorenjiashuView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}

6、论文目录结构

7、源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

获取源码请私信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/170944.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript逆向之Hook技术

Hook技术&#xff1a; 背景&#xff1a; ​ 在js逆向的过程种&#xff0c;当我们遇到加密参数&#xff0c;可以使用关键字全局搜素&#xff0c;跟栈&#xff0c;还有一种就是hook技术。跟栈就是比较麻烦&#xff0c;需要我们一个个找&#xff0c;hook技术就比较厉害了&#x…

家庭安全计划 挑战赛| 溺水预防

溺水预防 从了解到行动 家庭安全计划 | 少年急救官 地震避险逃生该怎么做&#xff1f; 起火了该如何应对&#xff1f; 哪些行为容易导致溺水&#xff1f; 家庭风险隐患有哪些&#xff1f; 家庭逃生演练四步骤你会吗&#xff1f; 国际救助儿童会&#xff08;英国&#xff…

Python数据结构: 列表(List)详解

在Python中&#xff0c;列表&#xff08;List&#xff09;是一种有序、可变的数据类型&#xff0c;被广泛用于存储和处理多个元素。列表是一种容器&#xff0c;可以包含任意数据类型的元素&#xff0c;包括数字、字符串、列表、字典等。本文将深入讨论列表的各个方面&#xff0…

密码学 - RSA签名算法

实验九 RSA签名算法- 一、实验目的 通过实验掌握GMP开源软件的用法&#xff0c;理解RSA数字签名算法&#xff0c;学会RSA数字签名算法程序设计&#xff0c;提高一般数字签名算法的设计能力。 二、实验要求 (1)基于GMP开源软件&#xff0c;实现RSA签名算法。 (2)要求有对应…

高级运维学习(十六)Prometheus 监控

Prometheus概述 Prometheus是一个开源系统监控和警报工具包&#xff0c;最初由 SoundCloud构建。也是一款监控软件&#xff0c;也是一个时序数据库。Prometheus 将其指标收集并存储为时间序列数据&#xff0c;即指标信息与记录时的时间戳以及称为标签的可选键值对一起存储。主…

Python 框架学习 Django篇 (九) 产品发布、服务部署

我们前面编写的所有代码都是在windows上面运行的&#xff0c;因为我们还处于开发阶段 当我们完成具体任务开发后&#xff0c;就需要把我们开发的网站服务发布给真正的用户 通常来说我们会选择一台公有云服务器比如阿里云ecs&#xff0c;现在的web服务通常都是基于liunx操作系统…

Apache和Nginx实现虚拟主机的3种方式

目录 首先介绍一下Apache和nginx&#xff1a; Nginx和Apache的不同之处&#xff1a; 虚拟主机 准备工作 Apache实现&#xff1a; 方法1&#xff1a;使用不同的ip来实现 方法2&#xff1a;使用相同的ip&#xff0c;不同的端口来实现 方法3&#xff1a;使用相同的ip&…

PyCharm因安装了illuminated Cloud插件导致加载项目失败

打开Pycharm时会有弹窗提示&#xff1a; The license for Illuminated Cloud is invalid or has expired. All Illuminated Cloud features will be disabled. 这个弹窗会导致你加载项目一直失败&#xff0c;close project 也关不掉&#xff0c;我都是用任务管理器杀死进程的…

【C++】:内存管理 || 泛型编程 || 函数模板 || 类模板 || 内存泄漏(后期结合智能指针详讲)

&#x1f440;1.operator new与operator delete函数 operator new与operator delete函数&#xff08;重点&#xff09; new和delete是用户进行动态内存申请和释放的操作符&#xff0c;operator new 和operator delete是系统提供的全局函数&#xff0c;new在底层调用operator n…

酷开科技智能大屏OS Coolita亮相第134届中国进出口商品交易会

作为中国外贸的“风向标”和“晴雨表”&#xff0c;广交会因其历史长、规模大、商品种类全、到会客商多、成交效果好&#xff0c;被称为“中国第一展”&#xff0c;它见证了中国改革开放的时代大潮与对外贸易的蓬勃发展。 2023年10月15日&#xff0c;第134届中国进出口商品交易…

11.13 牛客刷题8/10

11.13 信号完整性 指针地址 的加减&#xff0c;注意 最后转为16进制

Presentation Prompter 5.4.2(mac屏幕提词器)

Presentation Prompter是一款演讲辅助屏幕提词器软件&#xff0c;旨在帮助演讲者在公共演讲、主持活动或录制视频时更加流畅地进行演讲。以下是Presentation Prompter的一些特色功能&#xff1a; 提供滚动或分页显示&#xff1a;可以将演讲稿以滚动或分页的形式显示在屏幕上&a…