博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌
目录
1、项目介绍及开发技术
1.1 项目介绍
1.2 开发技术
2、系统功能模块设计
3、功能截图
3.1 前台功能
3.2 后台功能
4、数据库表结构设计
5、关键代码
5.1 文件管理(上传下载)Controller模块
5.2 药品管理Service模块
5.3 药品管理ServiceImpl模块
5.4 药品管理Dao模块
6、论文目录结构
7、源码获取
1、项目介绍及开发技术
1.1 项目介绍
基于SpringBoot的医院档案管理系统是一个用于管理医院内部档案信息的软件系统。该系统的开发背景是为了满足医院对档案信息管理的需求,提高医院的工作效率和服务质量。在传统的医院档案管理中,通常采用手工记录和纸质档案的方式进行管理,存在着信息不准确、查找困难、工作效率低下等问题。为了解决这些问题,我们决定开发一个基于SpringBoot的医院档案管理系统,利用现代信息技术来管理和利用档案信息。
该系统采用了Java开发语言,并结合了SpringBoot、MyBatisPlus和MySQL数据库等技术进行开发。SpringBoot是一个快速开发的框架,可以简化Spring应用的初始搭建以及开发过程;MyBatisPlus是一个强大的ORM框架,可以简化数据库的操作;MySQL数据库是一个流行的关系型数据库,适用于各种规模的应用场景。同时,使用Maven作为项目管理工具,可以方便地管理项目的依赖和构建过程;IDEA作为开发工具,提供了丰富的功能和插件,提高了开发效率。
该系统的意义在于提高医院内部档案信息的管理效率和准确性。通过系统的建设和使用,医院可以更好地管理和利用内部的档案信息,提高工作效率和服务质量。同时,系统还具有良好的扩展性和可维护性,可以根据医院的实际需求进行功能的定制和调整。此外,系统还提供了个人中心功能,方便用户修改密码和更新个人信息,增加了系统的个性化和用户体验。无论是用户、医护人员还是管理员,都可以通过该系统实现对医院内部档案信息的全面管理和监控。该系统的开发背景是为了满足医院对档案信息管理的需求,采用了先进的技术和工具进行开发,具有重要的意义和应用价值。
1.2 开发技术
Java开发语言、SpringBoot、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。
2、系统功能模块设计
用户: 注册登录、首页、公告管理、科室管理、设备管理、药品管理、医护管理、个人中心(修改密码、个人信息)。
医护人员:注册登录、首页、个人中心(修改密码、个人信息)、用户管理、档案管理、公告管理、科室管理、设备管理、药品管理、轮播图管理。
管理员:登录、首页、个人中心(修改密码、个人信息)、管理员管理、医护管理、用户管理、档案管理、公告管理、科室管理、设备管理、药品管理、基础数据管理(身体状况管理、公告类型管理、科室类型管理、设备类型管理、药品类型管理、职位管理)、轮播图信息。
3、功能截图
3.1 前台功能
登录
首页
公告
科室
设备
药品
医护
个人中心
个人中心档案
3.2 后台功能
登录
首页
个人中心
用户管理
档案管理
公告管理
科室管理
设备管理
药品管理
管理员管理
医护管理
轮播图信息管理
4、数据库表结构设计
/*
SQLyog Ultimate v11.3 (64 bit)
MySQL - 5.7.32-log : Database - yiyuandanganguanlixitong
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`yiyuandanganguanlixitong` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `yiyuandanganguanlixitong`;/*Table structure for table `bingli` */DROP TABLE IF EXISTS `bingli`;CREATE TABLE `bingli` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`bingli_uuid_number` varchar(200) DEFAULT NULL COMMENT '档案编号 Search111 ',`yonghu_id` int(11) DEFAULT NULL COMMENT '用户',`yisheng_id` int(11) DEFAULT NULL COMMENT '医生',`jiancha_time` timestamp NULL DEFAULT NULL COMMENT '检查时间',`bingrenzishu_content` text COMMENT '病人自述',`jianchajieguo_content` text COMMENT '检查结果',`yishengkaifang_content` text COMMENT '医生开方',`yishengjianyi_content` text COMMENT '医生建议',`bingli_yibao` varchar(200) DEFAULT NULL COMMENT '医保信息',`huafeijine` decimal(10,2) DEFAULT NULL COMMENT '花费金额',`xiacijiuzhen_time` timestamp NULL DEFAULT NULL COMMENT '下次就诊时间',`bingli_nianling` int(11) DEFAULT NULL COMMENT '年龄',`bingli_types` int(11) DEFAULT NULL COMMENT '身体状况 Search111 ',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='档案';/*Data for the table `bingli` */insert into `bingli`(`id`,`bingli_uuid_number`,`yonghu_id`,`yisheng_id`,`jiancha_time`,`bingrenzishu_content`,`jianchajieguo_content`,`yishengkaifang_content`,`yishengjianyi_content`,`bingli_yibao`,`huafeijine`,`xiacijiuzhen_time`,`bingli_nianling`,`bingli_types`,`insert_time`,`create_time`) values (1,'1681183373567',3,1,'2023-04-11 11:22:53','病人自述1','检查结果1','医生开方1','医生建议1','医保信息1','471.28','2023-04-11 11:22:53',498,2,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(2,'1681183373543',1,3,'2023-04-11 11:22:53','病人自述2','检查结果2','医生开方2','医生建议2','医保信息2','928.44','2023-04-11 11:22:53',207,1,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(3,'1681183373528',2,3,'2023-04-11 11:22:53','病人自述3','检查结果3','医生开方3','医生建议3','医保信息3','76.66','2023-04-11 11:22:53',235,1,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(4,'1681183373547',2,2,'2023-04-11 11:22:53','病人自述4','检查结果4','医生开方4','医生建议4','医保信息4','940.62','2023-04-11 11:22:53',224,1,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(5,'1681183373510',3,3,'2023-04-11 11:22:53','病人自述5','检查结果5','医生开方5','医生建议5','医保信息5','85.57','2023-04-11 11:22:53',139,1,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(6,'1681183373553',3,1,'2023-04-11 11:22:53','病人自述6','检查结果6','医生开方6','医生建议6','医保信息6','937.47','2023-04-11 11:22:53',334,3,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(7,'1681183373509',3,2,'2023-04-11 11:22:53','病人自述7','检查结果7','医生开方7','医生建议7','医保信息7','486.17','2023-04-11 11:22:53',318,3,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(8,'1681183373530',2,1,'2023-04-11 11:22:53','病人自述8','检查结果8','医生开方8','医生建议8','医保信息8','590.15','2023-04-11 11:22:53',173,1,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(9,'1681183373513',2,3,'2023-04-11 11:22:53','病人自述9','检查结果9','医生开方9','医生建议9','医保信息9','479.31','2023-04-11 11:22:53',72,3,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(10,'1681183373485',2,2,'2023-04-11 11:22:53','病人自述10','检查结果10','医生开方10','医生建议10','医保信息10','992.29','2023-04-11 11:22:53',391,3,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(11,'1681183373514',1,3,'2023-04-11 11:22:53','病人自述11','检查结果11','医生开方11','医生建议11','医保信息11','130.96','2023-04-11 11:22:53',245,2,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(12,'1681183373553',1,1,'2023-04-11 11:22:53','病人自述12','检查结果12','医生开方12','医生建议12','医保信息12','664.63','2023-04-11 11:22:53',43,3,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(13,'1681183373563',3,1,'2023-04-11 11:22:53','病人自述13','检查结果13','医生开方13','医生建议13','医保信息13','469.48','2023-04-11 11:22:53',16,3,'2023-04-11 11:22:53','2023-04-11 11:22:53'),(14,'1681183373535',1,1,'2023-04-11 11:22:53','病人自述14','检查结果14','医生开方14','医生建议14','医保信息14','698.85','2023-04-11 11:22:53',420,2,'2023-04-11 11:22:53','2023-04-11 11:22:53');/*Table structure for table `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`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';/*Data for the table `config` */insert into `config`(`id`,`name`,`value`) values (1,'轮播图1','upload/config1.jpg'),(2,'轮播图2','upload/config2.jpg'),(3,'轮播图3','upload/config3.jpg');/*Table structure for table `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=22 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,'sex_types','性别类型',1,'男',NULL,NULL,'2023-04-11 11:22:40'),(2,'sex_types','性别类型',2,'女',NULL,NULL,'2023-04-11 11:22:40'),(3,'gonggao_types','公告类型',1,'公告类型1',NULL,NULL,'2023-04-11 11:22:40'),(4,'gonggao_types','公告类型',2,'公告类型2',NULL,NULL,'2023-04-11 11:22:40'),(5,'yaopin_types','药品类型',1,'药品类型1',NULL,NULL,'2023-04-11 11:22:40'),(6,'yaopin_types','药品类型',2,'药品类型2',NULL,NULL,'2023-04-11 11:22:40'),(7,'yaopin_types','药品类型',3,'药品类型3',NULL,NULL,'2023-04-11 11:22:40'),(8,'yaopin_types','药品类型',4,'药品类型4',NULL,NULL,'2023-04-11 11:22:40'),(9,'shebei_types','设备类型',1,'设备类型1',NULL,NULL,'2023-04-11 11:22:40'),(10,'shebei_types','设备类型',2,'设备类型2',NULL,NULL,'2023-04-11 11:22:40'),(11,'shebei_types','设备类型',3,'设备类型3',NULL,NULL,'2023-04-11 11:22:40'),(12,'shebei_types','设备类型',4,'设备类型4',NULL,NULL,'2023-04-11 11:22:40'),(13,'keshi_types','科室类型',1,'科室类型1',NULL,NULL,'2023-04-11 11:22:40'),(14,'keshi_types','科室类型',2,'科室类型2',NULL,NULL,'2023-04-11 11:22:40'),(15,'keshi_types','科室类型',3,'科室类型3',NULL,NULL,'2023-04-11 11:22:40'),(16,'keshi_types','科室类型',4,'科室类型4',NULL,NULL,'2023-04-11 11:22:40'),(17,'zhiwei_types','职位',1,'普通医护',NULL,NULL,'2023-04-11 11:22:41'),(18,'zhiwei_types','职位',2,'主治医师',NULL,NULL,'2023-04-11 11:22:41'),(19,'bingli_types','身体状况',1,'健康',NULL,NULL,'2023-04-11 11:22:41'),(20,'bingli_types','身体状况',2,'亚健康',NULL,NULL,'2023-04-11 11:22:41'),(21,'bingli_types','身体状况',3,'疾病',NULL,NULL,'2023-04-11 11:22:41');/*Table structure for table `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_photo` varchar(200) DEFAULT NULL COMMENT '公告图片 ',`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 '创建时间 show1 show2 nameShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='公告';/*Data for the table `gonggao` */insert into `gonggao`(`id`,`gonggao_name`,`gonggao_photo`,`gonggao_types`,`insert_time`,`gonggao_content`,`create_time`) values (1,'公告名称1','upload/gonggao1.jpg',2,'2023-04-11 11:22:53','公告详情1','2023-04-11 11:22:53'),(2,'公告名称2','upload/gonggao2.jpg',2,'2023-04-11 11:22:53','公告详情2','2023-04-11 11:22:53'),(3,'公告名称3','upload/gonggao3.jpg',1,'2023-04-11 11:22:53','公告详情3','2023-04-11 11:22:53'),(4,'公告名称4','upload/gonggao4.jpg',1,'2023-04-11 11:22:53','公告详情4','2023-04-11 11:22:53'),(5,'公告名称5','upload/gonggao5.jpg',1,'2023-04-11 11:22:53','公告详情5','2023-04-11 11:22:53'),(6,'公告名称6','upload/gonggao6.jpg',1,'2023-04-11 11:22:53','公告详情6','2023-04-11 11:22:53'),(7,'公告名称7','upload/gonggao7.jpg',2,'2023-04-11 11:22:53','公告详情7','2023-04-11 11:22:53'),(8,'公告名称8','upload/gonggao8.jpg',2,'2023-04-11 11:22:53','公告详情8','2023-04-11 11:22:53'),(9,'公告名称9','upload/gonggao9.jpg',1,'2023-04-11 11:22:53','公告详情9','2023-04-11 11:22:53'),(10,'公告名称10','upload/gonggao10.jpg',2,'2023-04-11 11:22:53','公告详情10','2023-04-11 11:22:53'),(11,'公告名称11','upload/gonggao11.jpg',2,'2023-04-11 11:22:53','公告详情11','2023-04-11 11:22:53'),(12,'公告名称12','upload/gonggao12.jpg',2,'2023-04-11 11:22:53','公告详情12','2023-04-11 11:22:53'),(13,'公告名称13','upload/gonggao13.jpg',2,'2023-04-11 11:22:53','公告详情13','2023-04-11 11:22:53'),(14,'公告名称14','upload/gonggao14.jpg',1,'2023-04-11 11:22:53','公告详情14','2023-04-11 11:22:53');/*Table structure for table `keshi` */DROP TABLE IF EXISTS `keshi`;CREATE TABLE `keshi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`keshi_name` varchar(200) DEFAULT NULL COMMENT '科室名称 Search111 ',`keshi_uuid_number` varchar(200) DEFAULT NULL COMMENT '科室编号',`keshi_photo` varchar(200) DEFAULT NULL COMMENT '科室照片',`shengchanchangjia` varchar(200) DEFAULT NULL COMMENT '生产厂家',`keshi_types` int(11) DEFAULT NULL COMMENT '科室类型 Search111',`keshi_gongxiao_content` text COMMENT '科室功效',`keshi_jinji_content` text COMMENT '科室禁忌',`keshi_zhuyi_content` text COMMENT '注意事项',`keshi_content` text COMMENT '科室详情',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='科室';/*Data for the table `keshi` */insert into `keshi`(`id`,`keshi_name`,`keshi_uuid_number`,`keshi_photo`,`shengchanchangjia`,`keshi_types`,`keshi_gongxiao_content`,`keshi_jinji_content`,`keshi_zhuyi_content`,`keshi_content`,`insert_time`,`create_time`) values (1,'科室名称1','1681183373576','upload/keshi1.jpg','生产厂家1',3,'科室功效1','科室禁忌1','注意事项1','科室详情1','2023-04-11 11:22:53','2023-04-11 11:22:53'),(2,'科室名称2','1681183373582','upload/keshi2.jpg','生产厂家2',1,'科室功效2','科室禁忌2','注意事项2','科室详情2','2023-04-11 11:22:53','2023-04-11 11:22:53'),(3,'科室名称3','1681183373582','upload/keshi3.jpg','生产厂家3',3,'科室功效3','科室禁忌3','注意事项3','科室详情3','2023-04-11 11:22:53','2023-04-11 11:22:53'),(4,'科室名称4','1681183373560','upload/keshi4.jpg','生产厂家4',2,'科室功效4','科室禁忌4','注意事项4','科室详情4','2023-04-11 11:22:53','2023-04-11 11:22:53'),(5,'科室名称5','1681183373595','upload/keshi5.jpg','生产厂家5',4,'科室功效5','科室禁忌5','注意事项5','科室详情5','2023-04-11 11:22:53','2023-04-11 11:22:53'),(6,'科室名称6','1681183373531','upload/keshi6.jpg','生产厂家6',1,'科室功效6','科室禁忌6','注意事项6','科室详情6','2023-04-11 11:22:53','2023-04-11 11:22:53'),(7,'科室名称7','1681183373630','upload/keshi7.jpg','生产厂家7',3,'科室功效7','科室禁忌7','注意事项7','科室详情7','2023-04-11 11:22:53','2023-04-11 11:22:53'),(8,'科室名称8','1681183373589','upload/keshi8.jpg','生产厂家8',2,'科室功效8','科室禁忌8','注意事项8','科室详情8','2023-04-11 11:22:53','2023-04-11 11:22:53'),(9,'科室名称9','1681183373588','upload/keshi9.jpg','生产厂家9',4,'科室功效9','科室禁忌9','注意事项9','科室详情9','2023-04-11 11:22:53','2023-04-11 11:22:53'),(10,'科室名称10','1681183373553','upload/keshi10.jpg','生产厂家10',2,'科室功效10','科室禁忌10','注意事项10','科室详情10','2023-04-11 11:22:53','2023-04-11 11:22:53'),(11,'科室名称11','1681183373558','upload/keshi11.jpg','生产厂家11',1,'科室功效11','科室禁忌11','注意事项11','科室详情11','2023-04-11 11:22:53','2023-04-11 11:22:53'),(12,'科室名称12','1681183373581','upload/keshi12.jpg','生产厂家12',4,'科室功效12','科室禁忌12','注意事项12','科室详情12','2023-04-11 11:22:53','2023-04-11 11:22:53'),(13,'科室名称13','1681183373569','upload/keshi13.jpg','生产厂家13',1,'科室功效13','科室禁忌13','注意事项13','科室详情13','2023-04-11 11:22:53','2023-04-11 11:22:53'),(14,'科室名称14','1681183373613','upload/keshi14.jpg','生产厂家14',1,'科室功效14','科室禁忌14','注意事项14','科室详情14','2023-04-11 11:22:53','2023-04-11 11:22:53');/*Table structure for table `shebei` */DROP TABLE IF EXISTS `shebei`;CREATE TABLE `shebei` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`shebei_name` varchar(200) DEFAULT NULL COMMENT '设备名称 Search111 ',`shebei_uuid_number` varchar(200) DEFAULT NULL COMMENT '设备编号',`shebei_photo` varchar(200) DEFAULT NULL COMMENT '设备照片',`shengchanchangjia` varchar(200) DEFAULT NULL COMMENT '生产厂家',`shebei_types` int(11) DEFAULT NULL COMMENT '设备类型 Search111',`shebei_gongxiao_content` text COMMENT '设备功效',`shebei_jinji_content` text COMMENT '设备禁忌',`shebei_zhuyi_content` text COMMENT '注意事项',`shebei_content` text COMMENT '设备详情',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='设备';/*Data for the table `shebei` */insert into `shebei`(`id`,`shebei_name`,`shebei_uuid_number`,`shebei_photo`,`shengchanchangjia`,`shebei_types`,`shebei_gongxiao_content`,`shebei_jinji_content`,`shebei_zhuyi_content`,`shebei_content`,`insert_time`,`create_time`) values (1,'设备名称1','1681183373579','upload/shebei1.jpg','生产厂家1',2,'设备功效1','设备禁忌1','注意事项1','设备详情1','2023-04-11 11:22:53','2023-04-11 11:22:53'),(2,'设备名称2','1681183373625','upload/shebei2.jpg','生产厂家2',2,'设备功效2','设备禁忌2','注意事项2','设备详情2','2023-04-11 11:22:53','2023-04-11 11:22:53'),(3,'设备名称3','1681183373604','upload/shebei3.jpg','生产厂家3',2,'设备功效3','设备禁忌3','注意事项3','设备详情3','2023-04-11 11:22:53','2023-04-11 11:22:53'),(4,'设备名称4','1681183373566','upload/shebei4.jpg','生产厂家4',2,'设备功效4','设备禁忌4','注意事项4','设备详情4','2023-04-11 11:22:53','2023-04-11 11:22:53'),(5,'设备名称5','1681183373595','upload/shebei5.jpg','生产厂家5',4,'设备功效5','设备禁忌5','注意事项5','设备详情5','2023-04-11 11:22:53','2023-04-11 11:22:53'),(6,'设备名称6','1681183373588','upload/shebei6.jpg','生产厂家6',3,'设备功效6','设备禁忌6','注意事项6','设备详情6','2023-04-11 11:22:53','2023-04-11 11:22:53'),(7,'设备名称7','1681183373580','upload/shebei7.jpg','生产厂家7',4,'设备功效7','设备禁忌7','注意事项7','设备详情7','2023-04-11 11:22:53','2023-04-11 11:22:53'),(8,'设备名称8','1681183373576','upload/shebei8.jpg','生产厂家8',4,'设备功效8','设备禁忌8','注意事项8','设备详情8','2023-04-11 11:22:53','2023-04-11 11:22:53'),(9,'设备名称9','1681183373536','upload/shebei9.jpg','生产厂家9',2,'设备功效9','设备禁忌9','注意事项9','设备详情9','2023-04-11 11:22:53','2023-04-11 11:22:53'),(10,'设备名称10','1681183373576','upload/shebei10.jpg','生产厂家10',4,'设备功效10','设备禁忌10','注意事项10','设备详情10','2023-04-11 11:22:53','2023-04-11 11:22:53'),(11,'设备名称11','1681183373593','upload/shebei11.jpg','生产厂家11',2,'设备功效11','设备禁忌11','注意事项11','设备详情11','2023-04-11 11:22:53','2023-04-11 11:22:53'),(12,'设备名称12','1681183373614','upload/shebei12.jpg','生产厂家12',1,'设备功效12','设备禁忌12','注意事项12','设备详情12','2023-04-11 11:22:53','2023-04-11 11:22:53'),(13,'设备名称13','1681183373596','upload/shebei13.jpg','生产厂家13',1,'设备功效13','设备禁忌13','注意事项13','设备详情13','2023-04-11 11:22:53','2023-04-11 11:22:53'),(14,'设备名称14','1681183373613','upload/shebei14.jpg','生产厂家14',1,'设备功效14','设备禁忌14','注意事项14','设备详情14','2023-04-11 11:22:53','2023-04-11 11:22:53');/*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=4 DEFAULT CHARSET=utf8 COMMENT='token表';/*Data for the table `token` */insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'a1','yonghu','用户','aq5ojsq6qxb8uu5acjrx8abrm8t0wodr','2023-04-11 11:23:36','2023-04-11 12:27:21'),(2,1,'a1','yisheng','医护','sn1su3k0wkrrss6bukphyqkafgsg6ewu','2023-04-11 11:28:37','2023-04-11 12:28:38'),(3,1,'admin','users','管理员','mvtdau88d23y1v7sdh7eofhoar9czb4m','2023-04-11 11:29:23','2023-04-11 12:29:23');/*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','管理员','2023-04-11 11:22:40');/*Table structure for table `yaopin` */DROP TABLE IF EXISTS `yaopin`;CREATE TABLE `yaopin` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',`yaopin_name` varchar(200) DEFAULT NULL COMMENT '药品名称 Search111 ',`yaopin_uuid_number` varchar(200) DEFAULT NULL COMMENT '药品编号',`yaopin_photo` varchar(200) DEFAULT NULL COMMENT '药品照片',`shengchanchangjia` varchar(200) DEFAULT NULL COMMENT '生产厂家',`yaopin_types` int(11) DEFAULT NULL COMMENT '药品类型 Search111',`yaopin_gongxiao_content` text COMMENT '药品功效',`yaopin_jinji_content` text COMMENT '药品禁忌',`yaopin_zhuyi_content` text COMMENT '注意事项',`yaopin_content` text COMMENT '药品详情',`insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='药品';/*Data for the table `yaopin` */insert into `yaopin`(`id`,`yaopin_name`,`yaopin_uuid_number`,`yaopin_photo`,`shengchanchangjia`,`yaopin_types`,`yaopin_gongxiao_content`,`yaopin_jinji_content`,`yaopin_zhuyi_content`,`yaopin_content`,`insert_time`,`create_time`) values (1,'药品名称1','1681183373566','upload/yaopin1.jpg','生产厂家1',4,'药品功效1','药品禁忌1','注意事项1','药品详情1','2023-04-11 11:22:53','2023-04-11 11:22:53'),(2,'药品名称2','1681183373543','upload/yaopin2.jpg','生产厂家2',2,'药品功效2','药品禁忌2','注意事项2','药品详情2','2023-04-11 11:22:53','2023-04-11 11:22:53'),(3,'药品名称3','1681183373553','upload/yaopin3.jpg','生产厂家3',3,'药品功效3','药品禁忌3','注意事项3','药品详情3','2023-04-11 11:22:53','2023-04-11 11:22:53'),(4,'药品名称4','1681183373581','upload/yaopin4.jpg','生产厂家4',1,'药品功效4','药品禁忌4','注意事项4','药品详情4','2023-04-11 11:22:53','2023-04-11 11:22:53'),(5,'药品名称5','1681183373584','upload/yaopin5.jpg','生产厂家5',3,'药品功效5','药品禁忌5','注意事项5','药品详情5','2023-04-11 11:22:53','2023-04-11 11:22:53'),(6,'药品名称6','1681183373595','upload/yaopin6.jpg','生产厂家6',3,'药品功效6','药品禁忌6','注意事项6','药品详情6','2023-04-11 11:22:53','2023-04-11 11:22:53'),(7,'药品名称7','1681183373554','upload/yaopin7.jpg','生产厂家7',2,'药品功效7','药品禁忌7','注意事项7','药品详情7','2023-04-11 11:22:53','2023-04-11 11:22:53'),(8,'药品名称8','1681183373583','upload/yaopin8.jpg','生产厂家8',4,'药品功效8','药品禁忌8','注意事项8','药品详情8','2023-04-11 11:22:53','2023-04-11 11:22:53'),(9,'药品名称9','1681183373572','upload/yaopin9.jpg','生产厂家9',1,'药品功效9','药品禁忌9','注意事项9','药品详情9','2023-04-11 11:22:53','2023-04-11 11:22:53'),(10,'药品名称10','1681183373603','upload/yaopin10.jpg','生产厂家10',4,'药品功效10','药品禁忌10','注意事项10','药品详情10','2023-04-11 11:22:53','2023-04-11 11:22:53'),(11,'药品名称11','1681183373575','upload/yaopin11.jpg','生产厂家11',4,'药品功效11','药品禁忌11','注意事项11','药品详情11','2023-04-11 11:22:53','2023-04-11 11:22:53'),(12,'药品名称12','1681183373538','upload/yaopin12.jpg','生产厂家12',3,'药品功效12','药品禁忌12','注意事项12','药品详情12','2023-04-11 11:22:53','2023-04-11 11:22:53'),(13,'药品名称13','1681183373576','upload/yaopin13.jpg','生产厂家13',1,'药品功效13','药品禁忌13','注意事项13','药品详情13','2023-04-11 11:22:53','2023-04-11 11:22:53'),(14,'药品名称14','1681183373544','upload/yaopin14.jpg','生产厂家14',3,'药品功效14','药品禁忌14','注意事项14','药品详情14','2023-04-11 11:22:53','2023-04-11 11:22:53');/*Table structure for table `yisheng` */DROP TABLE IF EXISTS `yisheng`;CREATE TABLE `yisheng` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(200) DEFAULT NULL COMMENT '账户',`password` varchar(200) DEFAULT NULL COMMENT '密码',`yisheng_name` varchar(200) DEFAULT NULL COMMENT '医护姓名 Search111 ',`yisheng_phone` varchar(200) DEFAULT NULL COMMENT '医护手机号',`yisheng_id_number` varchar(200) DEFAULT NULL COMMENT '医护身份证号',`yisheng_photo` varchar(200) DEFAULT NULL COMMENT '医护头像',`zuozhen_shijian` varchar(200) DEFAULT NULL COMMENT '坐诊时间',`sex_types` int(11) DEFAULT NULL COMMENT '性别',`keshi_types` int(11) DEFAULT NULL COMMENT '科室 Search111 ',`zhiwei_types` int(11) DEFAULT NULL COMMENT '职位 Search111 ',`yisheng_email` varchar(200) DEFAULT NULL COMMENT '医护邮箱',`yisheng_content` text 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 `yisheng` */insert into `yisheng`(`id`,`username`,`password`,`yisheng_name`,`yisheng_phone`,`yisheng_id_number`,`yisheng_photo`,`zuozhen_shijian`,`sex_types`,`keshi_types`,`zhiwei_types`,`yisheng_email`,`yisheng_content`,`create_time`) values (1,'a1','123456','医护姓名1','17703786901','410224199010102001','upload/yisheng1.jpg','坐诊时间1',1,1,2,'1@qq.com','医护介绍1','2023-04-11 11:22:53'),(2,'a2','123456','医护姓名2','17703786902','410224199010102002','upload/yisheng2.jpg','坐诊时间2',2,3,1,'2@qq.com','医护介绍2','2023-04-11 11:22:53'),(3,'a3','123456','医护姓名3','17703786903','410224199010102003','upload/yisheng3.jpg','坐诊时间3',1,2,1,'3@qq.com','医护介绍3','2023-04-11 11:22:53');/*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 '头像',`yonghu_phone` varchar(200) DEFAULT NULL COMMENT '用户手机号',`yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '用户身份证号 ',`yonghu_email` varchar(200) DEFAULT NULL COMMENT '邮箱',`sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111 ',`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`,`yonghu_phone`,`yonghu_id_number`,`yonghu_email`,`sex_types`,`create_time`) values (1,'a1','123456','用户姓名1','upload/yonghu1.jpg','17703786901','410224199010102001','1@qq.com',2,'2023-04-11 11:22:53'),(2,'a2','123456','用户姓名2','upload/yonghu2.jpg','17703786902','410224199010102002','2@qq.com',1,'2023-04-11 11:22:53'),(3,'a3','123456','用户姓名3','upload/yonghu3.jpg','17703786903','410224199010102003','3@qq.com',2,'2023-04-11 11:22:53');/*!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.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;/*** 上传文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上传文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上传文件不能为空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下载文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}
5.2 药品管理Service模块
package com.service;import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.YaopinEntity;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.lang.Nullable;
import java.util.List;/*** 药品 服务类*/
public interface YaopinService extends IService<YaopinEntity> {/*** @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.YaopinDao;
import com.entity.YaopinEntity;
import com.service.YaopinService;
import com.entity.view.YaopinView;/*** 药品 服务实现类*/
@Service("yaopinService")
@Transactional
public class YaopinServiceImpl extends ServiceImpl<YaopinDao, YaopinEntity> implements YaopinService {@Overridepublic PageUtils queryPage(Map<String,Object> params) {Page<YaopinView> page =new Query<YaopinView>(params).getPage();page.setRecords(baseMapper.selectListView(page,params));return new PageUtils(page);}
}
5.4 药品管理Dao模块
package com.dao;import com.entity.YaopinEntity;
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.YaopinView;/*** 药品 Dao 接口** @author */
public interface YaopinDao extends BaseMapper<YaopinEntity> {List<YaopinView> selectListView(Pagination page,@Param("params")Map<String,Object> params);}
6、论文目录结构
7、源码获取
感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!
喜欢文章可以点赞、收藏、关注、评论啦
→获取源码请私信←