基于SpringBoot+Vue的医院管理系统设计与实现-计算机毕业设计源码25793

摘 要

本文从分析当代人们就医各种程序,看病问题设计角度出发,随着现在科学技术的进步和医疗水平的提升,对当代人们所关心的医疗问题进行问卷发放和相关调查,在此研究的基础上,进一步提出基于SpringBoot+Vue的医院管理系统设计与实现,旨在构建一个高效、安全且易于扩展的平台,以支持医疗数据的数字化管理和共享。因此,设计并开发一款功能完善,权限分明,便于维护的电子病例管理网站系统是具有一定深远意义的研究项目。

在设计上,本系统注重用户体验和操作便捷性,提供了一个直观的用户界面供医护人员使用,同时也为管理层提供了数据分析和报表生成等功能,有助于提高医院的运营效率和服务质量。为了保障患者隐私和数据安全,系统遵循严格的权限控制策略,并实施了多层次的安全防护措施,

考虑到系统的未来扩展性和兼容性,设计时预留了API接口,方便与其他医疗信息系统进行对接。通过引入Spring Boot框架,采用Java编程语言、MySQL数据库的模式以大大提高医疗管理的效率,减少人工、财务及时间的消耗,提升沟通的效率。在这篇文章中,我们将深入探讨这个课题的目的、重点、价值,并通过这些内容,为我们的研究奠定坚实的基础。我们还将会提供一些相关的技术支持,帮助我们更好地完成这个任务。

关键词:SpringBoot+Vue的医院管理系统设计与实现;Springboot框架;MySQL数据。

Abstract

This article starts from the perspective of analyzing various medical procedures and designing medical problems for contemporary people. With the advancement of science and technology and the improvement of medical level, a questionnaire is distributed and related surveys are conducted on the medical issues that contemporary people are concerned about. Based on this research, a hospital management system design and implementation based on SpringBoot+Vue is further proposed, aiming to build an efficient, secure, and easily scalable platform to support the digital management and sharing of medical data. Therefore, designing and developing an electronic case management website system that is fully functional, has clear permissions, and is easy to maintain is a research project with profound significance.

In terms of design, this system focuses on user experience and operational convenience, providing an intuitive user interface for medical staff to use. At the same time, it also provides functions such as data analysis and report generation for management, which helps improve the operational efficiency and service quality of the hospital. In order to ensure patient privacy and data security, the system follows strict permission control policies and implements multi-level security protection measures,

Considering the future scalability and compatibility of the system, API interfaces were reserved in the design to facilitate integration with other medical information systems. By introducing the Spring Boot framework and adopting the Java programming language and MySQL database schema, the efficiency of medical management is greatly improved, reducing manual, financial, and time consumption, and enhancing communication efficiency. In this article, we will delve into the purpose, focus, and value of this topic, and lay a solid foundation for our research through these contents. We will also provide some relevant technical support to help us better complete this task.

Keywords:Design and Implementation of SpringBoot+Vue Hospital Management System; Springboot framework; MySQL data.

目  录

第1章 绪论

1.1 研究目的与意义

1.2 国内外研究现状

1.3 论文结构与章节安排

第2章 相关技术介绍

2.1 B/S模式

2.2 MySQL描述

2.3 Java语言与JDK开发环境

2.4 Springboot框架

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 功能需求分析

3.3 非功能需求分析

3.3.1 数据安全性

3.3.2 时间特性

3.3.3 稳定性

第4章 系统设计

4.1 系统功能模板设计

4.2 数据库设计

4.2.1 数据需求分析

4.2.2 数据库概念设计

4.2.3 数据库表设计

第5章 系统实现

5.1 患者用户功能模块

5.1.1 患者用户注册界面

5.1.2 用户登录界面

5.1.3 医院资讯界面

5.1.4 医生信息界面

5.1.5 个人中心界面

5.2 医生用户管理模块的实现

5.2.1 挂号记录管理界面

5.2.2 病因诊断管理界面

5.3 管理员模块的实现

5.3.1 系统用户管理界面

5.3.2 科室信息管理界面

5.3.3 排班信息管理界面

5.3.4 系统管理

5.3.5 资源管理界面

第6章 系统测试

6.1 测试目的

6.2 系统测试用例

6.3 系统评价

第7章 总结

参考文献

致谢

第1章绪论

1.1研究目的与意义

 医院管理系统的研发旨在构建一个集成化的信息平台,其核心目的是通过优化医疗数据的处理流程,提升医疗服务的效率和质量。此系统的设计与实现不仅仅是为了满足医院内部对于患者病历数字化、诊疗过程透明化的需求,同时也是为了应对日益增长的医疗信息化趋势,促进不同医疗机构之间的信息共享和交流。通过提供一个安全可靠且易于使用的电子病历管理工具。

研究医院管理系统有助于简化医护人员的工作流程[1],减少纸质文件带来的不便,同时可以确保患者信息的安全性和隐私性。此外,它还能够为医疗决策提供强有力的数据支持,辅助医生更精准地制定治疗方案,进而改善患者的治疗效果和满意度。长远来看,这个系统的成功实施将对推动整个医疗行业的现代化进程产生积极影响,不仅提高了医疗服务的可及性和效率,也为未来智能医疗的发展奠定了坚实的基础。

1.2国内外研究现状

国内现状:

随着信息技术的发展以及国家对医疗信息化重视程度的不断提高,医院管理系统作为医院信息化建设的重要组成部分得到了快速发展[2]。近年来,中国出台了多项政策措施来支持医院管理行业的成长,例如《国务院办公厅关于推动公立医院高质量发展的意见》强调推进电子病历、智慧服务和智慧管理“三位一体”的智慧医院建设[3]。此外,各级医疗机构也在积极响应号召,逐步提高电子病历的应用水平。结合当前实际情况来看,中国的电子病历市场还是处于快速扩张阶段,市场规模持续增长,预计未来几年内将保持较高的增长率。

尽管如此,中国电子病历行业仍然面临着一些挑战,比如不同地区间发展不平衡、数据标准不统一等问题,这限制了健康医疗大数据更深层次的应用与发展。虽然目前市场上存在几家占据主导地位的企业,但整体市场竞争格局尚未完全定型,对于新兴企业和技术创新有着较大的包容空间。同时,随着居民生活水平的提高和个人健康意识的增强,人们对于高效便捷医疗服务的需求也在不断增加,这进一步刺激了电子病历及相关服务市场的发展[4]。

国外现状:

在国外在健康医疗大数据及医院管理系统的建设和发展方面已经取得了显著的进展[5],特别是在发达国家中,这些技术的应用已相对成熟,并且在临床科研、健康管理、公共卫生等领域发挥着重要作用。以美国为例,政府通过制定政策和法规,如《美国联邦政府医疗信息化战略规划2015–2020》,促进了健康医疗数据的共享与开放,构建了覆盖全国的多个数据中心和服务平台,为医疗服务提供者和研究机构提供了宝贵的数据资源。同时,英国和日本等国家也积极投入资源,建立了庞大的医疗信息储存系统,并利用ICT技术推动医疗费用控制和服务质量提升。

总之,无论是国内还是国外,健康医疗大数据和医院管理系统领域的现状表明[6],尽管各国的具体情况有所不同,但都在积极探索适合本国国情的发展路径。在中国,随着政策支持力度加大和技术条件日益成熟,电子病历行业将迎来更好的发展机遇,同时也需要克服现存的一些障碍,以确保这一重要基础设施能够更好地服务于全民健康事业。

1.3论文结构与章节安排

本文共分为七章,章节内容安排如下:

第一章:绪论,主要介绍系统的研究目的和意义,国内外现状分析等架构。

第二章:相关技术介绍,主要介绍本系统研究所涉及用到的技术分析。

第三章:系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和法律方面可行性的分析;对系统实行了总体功能的需求、用例分析。

第四章:系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。

第五章:对系统的实现,根据系统功能的划分,分别的对系统所需要实现的用户功能和管理员功能进行了分析和说明。

第六章:系统测试。主要对系统的部分界面进行展示并对主要功能进行测试。

第七章:总结。

第2章相关技术介绍

2.1 B/S模式

B/S模式,即浏览器/服务器模式[7],是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。在浏览器/服务器(browser / Server Architecture)系统中,用户只需通过浏览器,就能够轻松地向分布在网络各处的众多服务器发送海量的请求。B/S系统大大地简化了客户端的工作,让用户体验更加便捷。[8]

2.2MySQL描述

MySQL数据库已经成为网络上的一种强大的工具,它能够支持多个用户,并且能够根据客户端和服务端的需求进行调整,从而满足不同的需求。在这里,服务端和客户端只是一种软件上的概念,而我们所使用的计算机硬件则没有必要完全相互匹配。

MySQL作为一种备受推崇的关联性DBMS,其卓越的性能和易于操作的特性,以及其在多种操作环境中的灵活性,让其成为了最受青睐的应用之选。此外,MySQL还具有良好的跨平台性,让软件开发人员更加满意。与传统的关联式数据库系统形式大相径庭,MySQL拥有一套完善的数据库管理策略,以确保用户的安全、稳健、安全。MySQL具备良好的容错、安全、快速、稳健的特点,使得mysql成为一款相当流行的数据库管理工具。

MySQL拥有一种独特的权限分配机制,可以根据用户的身份和业务逻辑,为用户提供更多的选择,从而大大提高了MySQL的安全性和完整性,远超过其他关系型数据库。

MySQL具有强大的功能,能够处理各种数据类型,包括动态、静态、多种语言,从而使用户能够轻松访问多种数据。

MySQL具有多种功能[3],它能够支持多种平台的开发,并且支持多种编程语言[4],使得用户能够轻松访问和使用MySQL数据库。

2.3Java语言与JDK开发环境 

sun公司的java编写的编译器可以跨越各种不同的操作系统[9],它的高度可靠的兼容性使它成为当今最受欢迎的编译器之一,它的强大功能使它成为了当今数据中心、个人PC和高端科技电脑的首选编译器,并且拥有一支规模宏大的编译器团队。

sun公司推出的java开发工具JDK,具有极大的功能,如果没有它,java程序将无法正常运行,从而影响到用户的使用体验。

2.4Springboot框架

Java框架的出现,极大地改变了Java的运行方式,因为它不仅可以支持复杂的框架结构,而且还可以支持多种复杂的操纵,从而极大地改善了Java的效率和可靠性。此外,Java框架也被广泛地用来取代EJB(EnterpriseJavaBeans),成为一种更加强大的框架。Spring框架可以有效地支撑多种AP的开发,其中包括:基于控制反向的核心功能,可以将对象的生命周期变得更加可视,采取面向切面的编程语言,以及采取多种可靠的长效技术,以及支撑多种Web框架,以满足不同的AP的需求[10]。Spring框架拥有强大的控制反馈(IOC)功能,使得Java对象的配置与管理变得更加简单高效。该框架采取Java的反馈机制,允许使用者根据XML文件、类别及其相关的Java注释等信息,自由地调整Java对象的使用,从而实现更加高效的编程。Spring框架拥有一种独特的AOP框架,它能够将复杂的任务分解为多个独立的部分,并且能够根据用户的不同需求,调整每个部分的功能。它的AOP框架不仅能够支持复杂的任务分解,而且还能够支持多个独立的部分,从而使得用户能够更好地完成任务。

第3章系统分析

3.1可行性分析

在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对技术、操作和经济因素的综合考量,我们可以更好地评估医院管理系统的可行性,具体表现在:

3.1.1技术可行性

Java编程语言为基础,结合Springboot、Vue等模型,数据库则使用当前最先进的MySQL数据库,这样,医院管理系统就能够将其内容完整地保留下来,同时,为提高用户的使用效率,我们还引入Ajax的异步操作,它能够实现对特定数据的快速更改,从而节省服务器的时间,提升用户的使用感受。这个系统的设计非常容易,所以无须进行额外的调整。它使用了Java语言、MySQL存储,并且使用了H5作为前端界面的展现。

3.1.2经济可行性

通过采用Java和MySQL的架构,医院管理系统的开发与维护费用虽然较低,但一旦正式推出,将会带来巨大的收益:能够让用户更加轻松地获取信息,同时降低运营者的负担。虽然医院管理系统的小程序并非特别复杂,但它的制作费用相比较低,而且耗费的时间更少,因为它能够带来更高的效率,而且比起日常的维护与管理,它的收入要更高,因此,它的制作完全符合市场的需求。

3.1.3操作可行性

这款医院管理系统是一款基于浏览器和服务器的软件,它的前台页面简洁易懂,无论是系统管理员还是普通用户,只要有网络,只要打开浏览器,就可以轻松访问,而且不需要任何操作指导。由于无需任何复杂的环境配置,这个系统既简单又易于操作,因此它具有极高的实用性和可靠性。

3.2功能需求分析

当前,B/S架构的系统提供了一种便捷的数据访问模式:只需点击一下网站,即可获取系统的信息,而且,该信息会被存储,并且会被及时地转交给服务器,从而实现快速、准确的信息交换。患者用户用例图如图3-1所示。

图3-1 患者用户用例图

医生用户用例图如图3-2所示。

图3-2 医生用户用例图

管理员用例图如图3-3所示。

图3-3 管理员用例图

本节对整个系统的功能进行描述:

一、 患者用户主要功能描述

  1. 用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现招聘信息申请、评论收藏等,就必须有这个系统的账号,如果没有账号的话,可以注册成系统用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。
  2. 首页:医院管理系统的首页包含了一些网站轮播图,医院资讯、医生信息推荐等。
  3. 通知公告:用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看公告详情。
  4. 医院资讯:用户点击“医院资讯”菜单显示所有的资讯信息,可以按照条件进行筛选或者输入关键词进行局部搜索,点击可以进入医院资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
  5. 科室信息:患者用户可以查看科室信息详情,可以根据科室名称或者科室类别搜索,了解科室信息详情,包括科室名称,科室类别图片等信息,可以进行点赞收藏和评论。
  6. 医生信息:患者用户可以查看医院的医生信息基本专业等详情,可以进行点赞收藏评论等操作,亦可对对应专业医疗的医生进行预约。
  7. 排班信息:患者用户可以查看医生上班的排班信息,所有的科室排班名称,人员姓名等,可以根据医生排班进行合理预约时间。
  8. 个人中心:患者用户点击个人中心可以查看:个人首页、挂号记录、病因诊断、开药处理、住院安排、出院缴费、收藏和评论管理,再“挂号记录”查看自己的挂号记录详情,审核状态;在“病因诊断”查看医院的病因分析;“收藏”里查看自己的收藏记录等操作。

二、 医生用户功能描述

  1. 用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现招聘信息申请、评论收藏等,就必须有这个系统的账号,如果没有账号的话,可以注册成系统用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。
  2. 首页:医院管理系统的首页包含了一些网站轮播图,医院资讯、医生信息推荐等。
  3. 通知公告:用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看公告详情。
  4. 医院资讯:用户点击“医院资讯”菜单显示所有的资讯信息,可以按照条件进行筛选或者输入关键词进行局部搜索,点击可以进入医院资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
  5. 科室信息:医生用户可以查看科室信息详情,可以根据科室名称或者科室类别搜索,了解科室信息详情,包括科室名称,科室类别图片等信息,可以进行点赞收藏和评论。
  6. 医生信息:医生可以发布和修改自己的医生信息。
  7. 排班信息:医生可以查看自己上班的排班信息,所有的科室排班名称,人员姓名等。
  8. 个人中心:患者用户点击个人中心可以查看:个人首页、医生信息,挂号记录、病因诊断、开药处理、住院安排、出院缴费、收藏和评论管理,医生可以更改自己的详情介绍信息;在“挂号记录”打开挂号记录进行审核;可以给患者开具“诊断病因”等详情记录。

三、 管理员角色功能描述

  1. 后台首页:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码直接登录进入后台首页。
  2. 系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、医生用户和患者用户,其中医生用户由管理员后台直接添加。
  3. 科室信息管理:管理员可以查看科室信息列表添加,包括科室名称、科室位置、科室介绍等,可以进行增删改查操作。
  4. 科室类别管理:管理员可以查看科室类别列表和添加,可以进行增删改查操作。
  5. 医生信息管理:管理员可以查看添加医生列表信息,包括医生用户名、姓名、科室名称、专业领域、医生简介等信息。
  6. 挂号记录管理:管理员可以查看所有挂号记录,可进行增删改查等操作。
  7. 病因诊断管理:管理员可以查看所有病因诊断信息,可进行增删改查等操作。
  8. 开药处理管理:管理员可以查看所有开药处理信息,可进行增删改查等操作。
  9. 住院安排管理:管理员可以查看所有住院安排录信息,可进行增删改查等操作。
  10. 出院缴费管理:管理员可以查看所有出院缴费信息列表,可进行增删改查等操作。
  11. 排班信息管理:管理员可以查看管理所有医生的排班信息,可以增删改查操作。
  12. 系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行增删改查。
  13. 通知公告管理:管理员点击“通知公告”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。
  14. 资源管理:管理员点击“资源管理”菜单能够对其下子菜单医院资讯和资讯的分类进行增删改查。

3.3非功能需求分析

3.3.1数据安全性

医院管理系统是一个集众多技术和人才信息且长时间持续运转的系统,它储存了大量的信息,所以需要保证数据不会出现泄露、损坏等情况。只有良好的数据安全才可以保证系统对电子病历信息的管理。

3.3.2时间特性

由于本系统具有电子病例信息交流性质,涉及发布、互动交流等及时性较强的功能,所以,为了提高用户体验,需要及时反映操作的准确性以及有效性,预计需要控制系统响应时间在3s内,数据传输在50ms以内。

3.3.3稳定性

本系统集信息收集与管理功能于一身,除涉及大量信息数据外,还需满足医院以及所有需求用户访问。可以预见,这种访问通常是集中的、突发性的访问,这种访问很容易导致服务器满载、迟缓,最终崩溃。所以这要求在软件以及硬件部分均需要拥有应对短时间内大量数据吞吐的能力。在系统设计方面,我们通过减少不必要的信息提交量等方法来提高系统在特殊情况下的稳定性能。

第4章系统设计

4.1系统功能模板设计

统功能模块包括管理员模块和患者用户、医生用户模块,登录进去对应相应的功能。系统功能结构图如图4-1所示。

图4-1 系统功能结构图

4.2数据库设计

4.2.1数据需求分析

经过分析,我们发现数据库中最重要的内容包括:患者用户、医生用户、和管理者之间通过预约信息、病因诊断信息、查看公告等,这些信息构成了一个完整的数据库,并且能够提供准确的信息,从而帮助我们更好地了解情况。

4.2.2数据库概念设计

数据库概念设计是指对于某个具体应用的数据模型(数据结构),进行抽象和设计,以便在后续的数据库实现阶段中进行数据库逻辑设计和物理结构设计。概念结构本身特性就是其能表现来自用户的各类需求。

系统ER图如图4-2所示。

图4-2 系统ER图

4.2.3数据库表设计

通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:

表access_token (登录访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

parent

varchar

64

0

Y

N

父级菜单

8

parent_sort

int

10

0

N

N

0

父级菜单排序

9

position

varchar

32

0

Y

N

位置:

10

mode

varchar

32

0

N

N

_blank

跳转方式:

11

add

tinyint

3

0

N

N

1

是否可增加:

12

del

tinyint

3

0

N

N

1

是否可删除:

13

set

tinyint

3

0

N

N

1

是否可修改:

14

get

tinyint

3

0

N

N

1

是否可查看:

15

field_add

text

65535

0

Y

N

添加字段:

16

field_set

text

65535

0

Y

N

修改字段:

17

field_get

text

65535

0

Y

N

查询字段:

18

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

19

table_nav

varchar

500

0

Y

N

跨表导航:

20

option

text

65535

0

Y

N

配置:

21

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

code_token_id

int

10

0

N

Y

2

token

varchar

255

0

Y

N

3

code

varchar

255

0

Y

N

验证码

4

expire_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

失效时间

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表department_category (科室类别)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_category_id

int

10

0

N

Y

科室类别ID

2

department_category

varchar

64

0

Y

N

科室类别

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表department_information (科室信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_information_id

int

10

0

N

Y

科室信息ID

2

department_number

varchar

64

0

N

N

科室编号

3

department_name

varchar

64

0

Y

N

科室名称

4

department_category

varchar

64

0

Y

N

科室类别

5

department_pictures

varchar

255

0

Y

N

科室图片

6

department_introduction

longtext

2147483647

0

Y

N

科室介绍

7

praise_len

int

10

0

N

N

0

点赞数

8

collect_len

int

10

0

N

N

0

收藏数

9

comment_len

int

10

0

N

N

0

评论数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表discharge_payment (出院缴费)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

discharge_payment_id

int

10

0

N

Y

出院缴费ID

2

doctor_users

int

10

0

Y

N

0

医生用户

3

doctors_name

varchar

64

0

Y

N

医生姓名

4

doctors_department

varchar

64

0

Y

N

医生科室

5

patient_users

int

10

0

Y

N

0

患者用户

6

patient_name

varchar

64

0

Y

N

患者姓名

7

patient_gender

varchar

64

0

Y

N

患者性别

8

patient_age

varchar

64

0

Y

N

患者年龄

9

patients_phone_number

varchar

64

0

Y

N

患者电话

10

admission_time

varchar

64

0

Y

N

入院时间

11

number_of_hospitalizations

varchar

64

0

Y

N

住院人数

12

bed_arrangement

varchar

64

0

Y

N

床位安排

13

discharge_time

date

10

0

Y

N

出院时间

14

treatment_costs

double

9

2

Y

N

0.00

治疗费用

15

discharge_remarks

text

65535

0

Y

N

出院备注

16

pay_state

varchar

16

0

N

N

未支付

支付状态

17

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

20

source_table

varchar

255

0

Y

N

来源表

21

source_id

int

10

0

Y

N

来源ID

22

source_user_id

int

10

0

Y

N

来源用户

表doctor_information (医生信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_information_id

int

10

0

N

Y

医生信息ID

2

doctors_job_number

varchar

64

0

N

N

医生工号

3

doctor_users

int

10

0

Y

N

0

医生用户

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

doctors_gender

varchar

64

0

Y

N

医生性别

6

department_category

varchar

64

0

Y

N

科室类别

7

doctor_position

varchar

64

0

Y

N

医生职位

8

professional_field

varchar

64

0

Y

N

专业领域

9

medical_experience

varchar

64

0

Y

N

从医经验

10

remaining_numbers

double

9

2

Y

N

0.00

剩余号数

11

registration_price

double

9

2

Y

N

0.00

挂号价格

12

portrait_of_a_doctor

varchar

255

0

Y

N

医生肖像

13

doctors_introduction

longtext

2147483647

0

Y

N

医生介绍

14

hits

int

10

0

N

N

0

点击数

15

praise_len

int

10

0

N

N

0

点赞数

16

collect_len

int

10

0

N

N

0

收藏数

17

comment_len

int

10

0

N

N

0

评论数

18

recommend

int

10

0

N

N

0

智能推荐

19

registration_record_limit_times

int

10

0

N

N

0

预约挂号限制次数

20

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

21

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_users (医生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_users_id

int

10

0

N

Y

医生用户ID

2

doctors_name

varchar

64

0

Y

N

医生姓名

3

doctors_gender

varchar

64

0

Y

N

医生性别

4

doctors_phone_number

varchar

16

0

Y

N

医生电话

5

doctors_department

varchar

64

0

Y

N

医生科室

6

doctor_position

varchar

64

0

Y

N

医生职位

7

examine_state

varchar

16

0

N

N

未审核

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表etiological_diagnosis (病因诊断)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

etiological_diagnosis_id

int

10

0

N

Y

病因诊断ID

2

doctor_users

int

10

0

Y

N

0

医生用户

3

doctors_name

varchar

64

0

Y

N

医生姓名

4

department_category

varchar

64

0

Y

N

科室类别

5

patient_users

int

10

0

Y

N

0

患者用户

6

patient_name

varchar

64

0

Y

N

患者姓名

7

patient_gender

varchar

64

0

Y

N

患者性别

8

patient_age

varchar

64

0

Y

N

患者年龄

9

patients_phone_number

varchar

64

0

Y

N

患者电话

10

enter_time

datetime

19

0

Y

N

录入时间

11

inspection_items

varchar

64

0

Y

N

检查项目

12

diagnostic_results

text

65535

0

Y

N

诊断结果

13

medication_treatment_limit_times

int

10

0

N

N

0

开药处理限制次数

14

hospitalization_limit_times

int

10

0

N

N

0

住院安排限制次数

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

17

source_table

varchar

255

0

Y

N

来源表

18

source_id

int

10

0

Y

N

来源ID

19

source_user_id

int

10

0

Y

N

来源用户

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表hospitalization (住院安排)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hospitalization_id

int

10

0

N

Y

住院安排ID

2

doctor_users

int

10

0

Y

N

0

医生用户

3

doctors_name

varchar

64

0

Y

N

医生姓名

4

doctors_department

varchar

64

0

Y

N

医生科室

5

patient_users

int

10

0

Y

N

0

患者用户

6

patient_name

varchar

64

0

Y

N

患者姓名

7

patient_gender

varchar

64

0

Y

N

患者性别

8

patient_age

varchar

64

0

Y

N

患者年龄

9

patients_phone_number

varchar

64

0

Y

N

患者电话

10

admission_time

date

10

0

Y

N

入院时间

11

number_of_hospitalizations

varchar

64

0

Y

N

住院人数

12

responsible_nurse

varchar

64

0

Y

N

负责护士

13

bed_arrangement

varchar

64

0

Y

N

床位安排

14

hospitalization_remarks

text

65535

0

Y

N

住院备注

15

discharge_payment_limit_times

int

10

0

N

N

0

缴费出院限制次数

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

18

source_table

varchar

255

0

Y

N

来源表

19

source_id

int

10

0

Y

N

来源ID

20

source_user_id

int

10

0

Y

N

来源用户

表inspection_items (检查项目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

inspection_items_id

int

10

0

N

Y

检查项目ID

2

inspection_items

varchar

64

0

Y

N

检查项目

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表medication_treatment (开药处理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

medication_treatment_id

int

10

0

N

Y

开药处理ID

2

doctor_users

int

10

0

Y

N

0

医生用户

3

doctors_name

varchar

64

0

Y

N

医生姓名

4

department_category

varchar

64

0

Y

N

科室类别

5

patient_users

int

10

0

Y

N

0

患者用户

6

patient_name

varchar

64

0

Y

N

患者姓名

7

patient_gender

varchar

64

0

Y

N

患者性别

8

patient_age

varchar

64

0

Y

N

患者年龄

9

patients_phone_number

varchar

64

0

Y

N

患者电话

10

total_price_of_drugs

double

9

2

Y

N

0.00

药品总价

11

medication_information

text

65535

0

Y

N

用药信息

12

pay_state

varchar

16

0

N

N

未支付

支付状态

13

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

16

source_table

varchar

255

0

Y

N

来源表

17

source_id

int

10

0

Y

N

来源ID

18

source_user_id

int

10

0

Y

N

来源用户

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

patient_users (患者用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

patient_users_id

int

10

0

N

Y

患者用户ID

2

patient_name

varchar

64

0

Y

N

患者姓名

3

patient_gender

varchar

64

0

Y

N

患者性别

4

patient_age

varchar

64

0

Y

N

患者年龄

5

patients_phone_number

varchar

16

0

Y

N

患者电话

6

id_number

varchar

255

0

Y

N

身份证号

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

registration_record (挂号记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registration_record_id

int

10

0

N

Y

挂号记录ID

2

doctors_job_number

varchar

64

0

Y

N

医生工号

3

doctor_users

int

10

0

Y

N

0

医生用户

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

department_category

varchar

64

0

Y

N

科室类别

6

patient_users

int

10

0

Y

N

0

患者用户

7

patient_name

varchar

64

0

Y

N

患者姓名

8

patient_gender

varchar

64

0

Y

N

患者性别

9

patient_age

varchar

64

0

Y

N

患者年龄

10

patients_phone_number

varchar

64

0

Y

N

患者电话

11

registration_price

varchar

64

0

Y

N

挂号价格

12

registration_time

datetime

19

0

Y

N

挂号时间

13

registration_period

varchar

64

0

Y

N

挂号时段

14

registration_frequency

varchar

64

0

Y

N

挂号次数

15

registration_remarks

text

65535

0

Y

N

挂号备注

16

examine_state

varchar

16

0

N

N

未审核

审核状态

17

examine_reply

varchar

16

0

Y

N

审核回复

18

pay_state

varchar

16

0

N

N

未支付

支付状态

19

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

20

etiological_diagnosis_limit_times

int

10

0

N

N

0

诊断限制次数

21

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

22

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

23

source_table

varchar

255

0

Y

N

来源表

24

source_id

int

10

0

Y

N

来源ID

25

source_user_id

int

10

0

Y

N

来源用户

schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

schedule_id

smallint

5

0

N

Y

日程ID:[0,32767]

2

content

varchar

255

0

Y

N

日程内容

3

scheduled_time

datetime

19

0

Y

N

计划时间

4

user_id

int

10

0

N

N

用户id

5

create_time

datetime

19

0

Y

N

创建时间

6

update_time

datetime

19

0

Y

N

更新时间

scheduling_information (排班信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

scheduling_information_id

int

10

0

N

Y

排班信息ID

2

schedule_name

varchar

64

0

Y

N

排班名称

3

scheduling_department

varchar

64

0

Y

N

排班科室

4

scheduling_personnel

varchar

64

0

Y

N

排班人员

5

scheduling_number

int

10

0

N

N

1

单日最多排次数

6

scheduling_period

enum

1

0

N

N

1

周期

7

scheduling_date_options

text

65535

0

Y

N

时间设置

8

timetable

text

65535

0

Y

N

排期表

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

score_id

int

10

0

N

Y

评分ID:

2

user_id

int

10

0

N

N

0

评分人:

3

nickname

varchar

64

0

Y

N

昵称:

4

score_num

double

5

2

N

N

0.00

评分:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

source_table

varchar

255

0

Y

N

来源表:

8

source_field

varchar

255

0

Y

N

来源字段:

9

source_id

int

10

0

N

N

0

来源ID:

slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

int

10

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

第5章系统实现

5.1患者用户功能模块

5.1.1 患者用户注册界面

   游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现预约申请、评论收藏等,就必须有这个系统的账号,如果没有账号的话,可以注册成患者用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。用户注册界面如图 5-1所示。

5-1用户注册界面

注册关键代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}  

5.1.2 用户登录界面

当用户注册完成后就可以登录了,输入用户名+密码,通过滑动图片验证后,点击“登录”按钮进行登录。用户登录界面如图 5-2所示。

图 5-2用户登录界面

登录关键代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

5.1.3 医院资讯界面

患者用户点击“医院资讯”菜单显示所有的医院资讯信息,可以按照条件进行资讯的筛选或者输入关键词进行局部搜索,点击可以进入资讯详细展示界面,在此界面用户可以收藏、点赞和评论。医院资讯界面如图 5-3所示。

图 5-3医院资讯展示界面

5.1.4 医生信息界面

医生信息:患者用户可以查看医院的医生信息基本专业等详情,可以进行点赞收藏评论等操作,亦可对对应专业医疗的医生进行预约。界面如图 5-4所示。

图 5-4医生信息界面

5.1.5 个人中心界面

个人中心:患者用户点击个人中心可以查看:个人首页、挂号记录、病因诊断、开药处理、住院安排、出院缴费、收藏和评论管理,再“挂号记录”查看自己的挂号记录详情,审核状态;在“病因诊断”查看医院的病因分析;“收藏”里查看自己的收藏记录等操作。界面如图 5-5所示。

图 5-5个人中心界面

5.2医生用户管理模块的实现

5.2.1 挂号记录管理界面

挂号记录管理:医生可以查看患者的挂号记录信息,并对预约信息进行审核并进行添加患者病历信息。界面如图 5-6所示。

图 5-6挂号记录管理界面

5.2.2 病因诊断管理界面

病因诊断管理:医生诊断患者后可以上传回复患者诊疗内容。界面如图 5-7所示。

图 5-7病因诊断管理界面

5.3管理员模块的实现

5.3.1系统用户管理界面

系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、医生用户和患者用户,其中医生用户由管理员后台审核才能登录。页面界面如图 5-8所示。

图 5-8系统用户管理界面

5.3.2科室信息管理界面

科室信息管理:管理员可以查看科室信息列表添加,包括科室名称、科室位置、科室介绍等,可以进行增删改查操作。界面如图 5-9所示。

图 5-9科室信息管理界面

5.3.3排班信息管理界面

排班信息管理:管理员可以查看管理所有医生的排班信息,可以增删改查操作。界面如图 5-10所示

图 5-10排班信息管理界面

5.3.4 系统管理

系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行增删改查。界面如图 5-11所示。

图 5-11系统管理界面

5.3.5资源管理界面

管理员点击“资源管理”菜单能够对其下子菜单医院资讯和资讯的分类进行增删改查。界面如下图 5-12所示。

图 5-12资源管理界面

第6章系统测试

6.1测试目的

无论什么样的系统,测试都至关重要,因为它们可以帮助我们检查出潜藏的缺陷,从而确保它们的性能和稳定性,避免Bug的出现,并确保它们的功能和性价比达到预期的要求。为了确保系统的安全、高效、可靠,我们将采取三种不同的方法:单元、功能、及AP的检验。

6.2系统测试用例

系统测试包括:用户登录功能测试、通知公告查看功能测试、科室信息添加、医生信息搜索、密码修改发布功能测试,如表6-1、6-2、6-3、6-4、6-5所示:

用户登录功能测试:

表6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

通知公告查看功能测试:

表6-2 通知公告查看功能测试表

用例名称

通知公告查看

目的

测试通知公告查看功能

前提

用户登录

测试流程

点击通知公告

预期结果

可以查看到所有通知公告信息

实际结果

实际结果与预期结果一致

管理者添加科室信界面测试:

表6-3 管理者添加科室信息界面测试表

用例名称

添加科室信息测试用例

目的

测试科室信息添加功能

前提

管理者用户正常登录情况下

测试流程

1)管理者点击科室信息,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的科室信息信息 

实际结果

实际结果与预期结果一致

医生信息搜索功能测试:

表6-4医生信息搜索功能测试表

用例名称

医生信息搜索测试

目的

测试医生信息搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的医生信息

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表6-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3系统评价

系统评价是指在系统完成或改建后,根据预定的系统目标或现有成绩,从技术、经济、社会、功能等方面进行的评价或审核。本系统个人初步评价如下。

(1)系统功能评价:

根据需求分析以及测试结果来看,本系统已将达到了初期的需求目标,满足了用户对应需求。

(2)系统技术评价:

本系统设计略显繁杂,开发过程中对功能进行了一定的简化,运行时较为稳定,暂未发现安全问题。

(3)系统经济评价:

系统在低成本开发的基础上达到了设计要求。预计可以为用户节省一定的人力、物力。

第7章总结

在开发医院管理系统之前,首先通过网上查询现有的医院管理系统功能、线下通过在医院通过患者病友的问卷调查的方式,了解用户对电子病历方面有什么具体需求,对系统的研究意义以及的选题背景及意义进行研究,设计了本医院管理系统具体实现的功能;确定好功能后,第二步就是开发工具的选择,在设计本医院管理系统的时候,采用了现下比较流程的Java语言,采用spring boot框架,数据的存储方面采用的是开源的MYSQL,接下来就是对系统需求的分析,在文中主要通过对医院管理系统进行可行性、性能、功能、用例四个方面进行分析,确定了本医院管理系统的具体功能,功能确定后就是对系统的设计以及包括前后台、数据库等方面,最终完成系统的开发,对系统进行测试总结。

在开发本医院管理系统的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成,但是还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善,由于自己专业知识的浅薄,系统做的并不是十分完美,以后我会不断进行学习,对系统进行完善,希望有机会能够投入到学校的使用当中,给同学们提供便利。

参考文献

  1. 徐翔,刘沛克,马凯.医院病历管理系统的设计与实现[J].福建电脑,2025,41(01):64-71.DOI:10.16707/j.cnki.fjpc.2025.01.011.
  2. 张永辉.基于大数据技术的医院电子病历信息管理系统设计[J].网络安全和信息化,2024,(10):101-103.
  3. 李霞.智慧医院建设背景下公立医院电子档案管理研究[J].兰台内外,2025,(04):23-25.
  4. 王恒,赵禹.智慧医院数据安全管理的基础建设与应对策略探讨[J].中国医院管理,2024,44(12):96-98.
  5. Bayisa G ,Gonfaa L ,Badasa K , et al.Improving medical record completeness at Wallaga University Referral Hospital: a multidimensional quality improvement project.[J].BMJ open quality,2024,13(1):
  6. 韩丽颖,迟蔚蔚,王玥,等.健康医疗大数据应用发展评价模型构建研究[J].现代医院管理,2024,22(06):103-105+132.
  7. 王志涛.基于B/S模式的项目管理信息系统开发与设计[J].办公自动化,2024,29(24):84-86.
  8. 崔晨雨,务宇宽,戴嘉阳,等.基于B/S模式的项目可视化管理信息系统设计与实现[J].电脑知识与技术,2024,20(16):51-53.DOI:10.14004/j.cnki.ckt.2024.0855.
  9. 王鑫玮,冯锋.基于Java技术的“物联网技术”课程学习系统设计[J].物联网技术,2025,15(01):153-157.DOI:10.16667/j.issn.2095-1302.2025.01.037.
  10. 胡荣,羊雪玲.基于Spring Boot前后端分离Web系统的设计与实现[J].新能源与智能网联,2024,(01):88-97.
  11. 曾光辉,何波.混合教学模式在Java程序设计课程中的应用探索[J].科教文汇,2024,(24):79-82.DOI:10.16871/j.cnki.kjwh.2024.24.017.
  12. 周渠岸.电子病历平台的设计与实现[J].电子技术,2021,50(10):70-71.
  13. 白雪,李乃适,王怡.医院电子病历归档系统建设探索[J].中国数字医学,2024,19(12):58-64.
  14. 李姗,王琰.浅析现代化医院管理中的电子信息化技术的应用[J].数字通信世界,2024,(04):176-178.
  15. 郑江元,金雯,周文君,等.人工智能技术在电子病历中的应用[J].现代医院,2024,24(10):1595-1598.
  16. 商云清.信息化在提高病历档案管理中的应用研究[J].现代盐化工,2024,51(05):107-109.DOI:10.19465/j.cnki.2095-9710.2024.05.044.
  17. 孙作丽,郭丽.医院档案管理中电子病历安全性与可靠性探讨[J].兰台世界,2024,(07):126-128.DOI:10.16565/j.cnki.1006-7744.2024.07.31.
  18. 刘星楚.电子病历系统在医院信息管理系统中的应用与实践[J].电脑知识与技术,2024,20(22):127-129.DOI:10.14004/j.cnki.ckt.2024.1191.
  19. Torsello A ,Aromatario M ,Scopetti M , et al.A Hospital Medical Record Quality Scoring Tool (MeReQ): Development, Validation, and Results of a Pilot Study.[J].Healthcare (Basel, Switzerland),2024,12(3):
  20. 李小林,谢艳梅,范秀荣.“互联网+”背景下公立医院病历档案数字化管理的几点思考[J].科技风,2024,(31):163-165.DOI:10.19392/j.cnki.1671-7341.202431054.

致谢

在这3个月的毕业设计过程中,指导教师的指导发挥了至关重要的作用,他们的认真负责的工作态度、谨慎的教学精神以及丰富的理论知识,为我的设计提供了强有力的支持,使得整个过程顺利进行。她的教学方式非常认真,让我印象深刻。我从她那里学到了很多知识,并在实践中不断提升。我对这位老师表示由衷的感谢。

经过对毕业设计的全面研究和开发,我的系统取得了重大突破,从需求分析到实现复杂功能,再到最终的测试和维护,使我对系统有了更加深刻的理解。此外,我还在实践中不断提升自己的技能,解决复杂问题,这是这次毕业设计最大的收获。

最终,在整个系统开发的过程中,我的同学和朋友们给予了我极大的帮助,他们的建议让我能够迅速地确定系统的商业理念。因此,我深深地感谢他们的支持。

免费领取项目源码,请关注❥点赞收藏并私信博主+v

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值