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

博主介绍:✌从事软件开发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{
	@Autowired
    private 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 {

    @Override
    public 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、源码获取

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

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

获取源码请私信

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值