【开源】基于Vue.js的医院门诊预约挂号系统的设计和实现

在这里插入图片描述
项目编号: S 033 ,文末获取源码。 \color{red}{项目编号:S033,文末获取源码。} 项目编号:S033,文末获取源码。


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 功能性需求
      • 2.1.1 数据中心模块
      • 2.1.2 科室医生档案模块
      • 2.1.3 预约挂号模块
      • 2.1.4 医院时政模块
    • 2.2 可行性分析
      • 2.2.1 可靠性
      • 2.2.2 易用性
      • 2.2.3 维护性
  • 三、数据库设计
    • 3.1 用户表
    • 3.2 科室档案表
    • 3.3 医生档案表
    • 3.4 医生放号表
    • 3.5 患者挂号预约表
    • 3.6 医院时政表
    • 3.7 医院留言表
  • 四、系统展示
  • 五、核心代码
    • 5.1 查询医生
    • 5.2 医生放号
    • 5.3 置顶医院新闻
    • 5.4 查询我的挂号数据
    • 5.5 预约挂号
  • 六、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL 的医院门诊预约挂号系统,包含了科室管理模块、医生管理模块、预约挂号模块、医院新闻模块和留言板模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,医院门诊预约挂号系统基于角色的访问控制,给患者、医院管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

为了能让开发出来的预约挂号真正投入使用,所以需要对系统的需求加以分析设计,以下分别对功能性需求和可行性两方面分别对预约挂号进行需求分析。

在这里插入图片描述

2.1 功能性需求

本文设计的预约挂号系统的包括了系统数据中心模块,用来存放管理系统通用的模块,另外分别设计了科室/医生档案、预约挂号、医院时政这三大模块,用于存放系统的核心业务逻辑。

2.1.1 数据中心模块

数据中心模块包含了对医院门诊预约挂号系统的基础模块,比如管理谁可以登陆这套系统,记录这些人登陆系统做了什么,不同的人拥有不同权限的管理。

在这里插入图片描述

2.1.2 科室医生档案模块

科室医生档案模块是对医院科室、医生的信息进行管理,其中包括医院所有科室、及科室下医生的档案,包含了科室名称、科室代码,医生姓名、医生年龄、医生学历学位、开始工作时间、毕业院校、职称、专业、医生简介等,可以通过此模块对科室、医生进行添加、编辑更新、删除、查询操作。

在这里插入图片描述

2.1.3 预约挂号模块

医院门诊预约挂号管理系统录入了各大医院医生的放号信息,包括不同职称医生的挂号费用,管理员在这个模块进行挂号费用的设置和医生的排班。

在这里插入图片描述

2.1.4 医院时政模块

医院时政模块是医院的门面,模块上放置了医院发布的重要通知、医生坐诊停诊信息和就诊患者的留言信息。患者可以查询管理员发布的时政新闻,也可以对医院进行评价留言,做到和医院的数据交互。

在这里插入图片描述

2.2 可行性分析

2.2.1 可靠性

医院门诊预约挂号的数据真实性非常重要。所以为了保证预约挂号系统的数据准确,要定时清除系统的冗余数据,以便于对挂号数据进行数据分析。

2.2.2 易用性

易用性是任何管理系统必须要遵循的原则,对于预约挂号系统也是如此。系统必须要易于就诊患者使用,因为系统的开发就是为了简化患者的就医流程,不能因为系统的出现而让就医流程更复杂。

2.2.3 维护性

医院门诊要有自我保护机制,当收到黑客非法攻击是,需要拥有抛出异常的机制,不能陷入无限循环判断而让系统崩溃,造成患者挂号失败的情况。


三、数据库设计

3.1 用户表

在这里插入图片描述

3.2 科室档案表

在这里插入图片描述

3.3 医生档案表

在这里插入图片描述

3.4 医生放号表

在这里插入图片描述

3.5 患者挂号预约表

在这里插入图片描述

3.6 医院时政表

在这里插入图片描述

3.7 医院留言表

在这里插入图片描述


四、系统展示

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


五、核心代码

5.1 查询医生

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询医生")
public Result<IPage<Doctor>> getByPage(@ModelAttribute Doctor doctor,@ModelAttribute PageVo page){QueryWrapper<Doctor> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(doctor.getDoctorName())) {qw.like("doctor_name",doctor.getDoctorName());}if(!ZwzNullUtils.isNull(doctor.getPostLevel())) {qw.eq("post_level",doctor.getPostLevel());}if(!ZwzNullUtils.isNull(doctor.getSubjectId())) {qw.eq("subject_id",doctor.getSubjectId());}if(!ZwzNullUtils.isNull(doctor.getNoeDate()) && Objects.equals(doctor.getNoeDate(),"是")) {qw.inSql("id","SELECT id FROM t_doctor WHERE id IN(SELECT DISTINCT doctor_id FROM t_doctor_scheduling WHERE DATE = '" + DateUtil.today() + "')");}return new ResultUtil<IPage<Doctor>>().setData(iDoctorService.page(PageUtil.initMpPage(page),qw));
}

5.2 医生放号

@RequestMapping(value = "/addNumber", method = RequestMethod.POST)
@ApiOperation(value = "医生放号")
public Result<Object> addNumber(@RequestParam String doctorId,@RequestParam String date,@RequestParam int step,@RequestParam int number){Doctor doctor = iDoctorService.getById(doctorId);if(doctor == null) {return ResultUtil.error("医生不存在");}if(number < 1) {return ResultUtil.error("放号数必须大于0");}for(int i = 1 ; i <= number; i ++) {DoctorScheduling ds = new DoctorScheduling();ds.setDoctorId(doctor.getId());ds.setDoctorName(doctor.getDoctorName());ds.setNumber(i + "");ds.setStep(step + "");ds.setDate(date);ds.setOrderFlag(0);iDoctorSchedulingService.saveOrUpdate(ds);}return ResultUtil.success("放号成功");
}

5.3 置顶医院新闻

@RequestMapping(value = "/set_top_by_id", method = RequestMethod.POST)
@ApiOperation(value = "置顶医院新闻")
public Result<Boolean> setTopById(@RequestParam String id){HospitalNews appDynamicNew=iHospitalNewsService.getById(id);if(appDynamicNew==null) {return ResultUtil.error("该动态信息不存在");}if(appDynamicNew.getIsTop().equals("yes")) {appDynamicNew.setIsTop("no");}else {appDynamicNew.setIsTop("yes");}if(!iHospitalNewsService.saveOrUpdate(appDynamicNew)) {return ResultUtil.error("设置失败");}return ResultUtil.success("设置成功");
}

5.4 查询我的挂号数据

@RequestMapping(value = "/getMyOrderList", method = RequestMethod.POST)
@ApiOperation(value = "查询我的挂号")
public Result<IPage<HospitalOrder>> getMyOrderList(@ModelAttribute HospitalOrder order,@ModelAttribute PageVo page){User currUser = securityUtil.getCurrUser();QueryWrapper<HospitalOrder> qw = new QueryWrapper<>();qw.eq("user_id",currUser.getId());qw.orderByDesc("create_time");if(!ZwzNullUtils.isNull(order.getDateTime())) {qw.eq("date_time",order.getDateTime());}if(!ZwzNullUtils.isNull(order.getDoctorName())) {qw.like("doctor_name",order.getDoctorName());}return new ResultUtil<IPage<HospitalOrder>>().setData(iHospitalOrderService.page(PageUtil.initMpPage(page),qw));
}

5.5 预约挂号

@RequestMapping(value = "/addOrder", method = RequestMethod.POST)
@ApiOperation(value = "新增挂号")
public Result<Object> addOrder(@RequestParam String orderId){User currUser = securityUtil.getCurrUser();DoctorScheduling ds = iDoctorSchedulingService.getById(orderId);if(ds == null) {return ResultUtil.error("号源不存在");}if(ds.getOrderFlag() > 0) {return ResultUtil.error("您手慢拉,该号已被别人预约!");}Doctor doctor = iDoctorService.getById(ds.getDoctorId());if(doctor == null) {return ResultUtil.error("医生不存在");}ds.setOrderFlag(1);iDoctorSchedulingService.saveOrUpdate(ds);HospitalOrder ho = new HospitalOrder();ho.setUserId(currUser.getId());ho.setUserName(currUser.getNickname());ho.setOrderId(ds.getId());ho.setNumber(ds.getNumber());ho.setStep(ds.getStep());ho.setDateTime(ds.getDate());ho.setDoctorId(ds.getDoctorId());ho.setDoctorName(ds.getDoctorName());ho.setMoneyData(doctor.getOrderMoney());iHospitalOrderService.saveOrUpdate(ho);return ResultUtil.success("预约成功!");
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

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

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

相关文章

java-Swing界面简析

一、简析&#xff1a; 调用java提供的 java.swing包下的各种类可以实现界面中的各种组件(比如输入框、密码框按钮、单选框、复选框等) 二、java.swing包的关键类&#xff1a; 顶层容器&#xff1a;Jframe(窗口) 中间容器&#xff1a;Jpanel(面板) 基本控件&#xff1a; I…

asla四大开源组件应用示例(alsa-lib、alsa-utils、alsa-tools、alsa-plugins)

文章目录 alsa设备文件/dev/snd//sys/class/sound/proc/asoundalsa-lib示例1alsa-utilsalsa-toolsalsa-plugins参考alsa设备文件 /dev/snd/ alsa设备文件目录位于,/dev/snd,如下所示 root@xboard:~#ls /dev/snd -l total 0 drwxr-xr-x 2 root root 60 Nov 6 2023 …

《合成孔径雷达成像算法与实现》_使用CS算法对RADARSAT-1数据进行成像

CSA 简介&#xff1a;Chirp Scaling 算法 (简称 CS 算法&#xff0c;即 CSA) 避免了 RCMC 中的插值操作。该算法基于 Scaling 原理&#xff0c;通过对 chirp 信号进行频率调制&#xff0c;实现了对信号的尺度变换或平移。基于这种原理&#xff0c;可以通过相位相乘代替时域插值…

redis相关题

1 什么是Redis Redis(Remote Dictionary Server) 是⼀个使⽤ C 语⾔编写的&#xff0c;开源的&#xff08;BSD许可&#xff09;⾼性能⾮关系型&#xff08;NoSQL&#xff09;的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串&#xff0c;…

代理模式 1、静态代理 2、动态代理 jdk自带动态代理 3、Cglib代理

文章目录 代理模式1、静态代理2、动态代理jdk自带动态代理 3、Cglib代理 来和大家聊聊代理模式 代理模式 代理模式&#xff1a;即通过代理对象访问目标对象&#xff0c;实现目标对象的方法。这样做的好处是&#xff1a;可以在目标对象实现的基础上&#xff0c;增强额外的功能操…

探索接口测试:SOAP、RestFul规则、JMeter及市面上的接口测试工具

引言 在当今软件开发领域&#xff0c;接口测试扮演着至关重要的角色。随着系统变得日益复杂和互联&#xff0c;对于内部和外部接口的测试变得愈发关键。接口测试不仅仅是验证接口的正确性&#xff0c;更是确保系统的稳定性、安全性和性能优越性的关键一环。 本篇博客将带您深入…

【Linux】进程间通信——system V共享内存、共享内存的概念、共享内存函数、system V消息队列、信号量

文章目录 进程间通信1.system V共享内存1.1共享内存原理1.2共享内存数据结构1.3共享内存函数 2.system V消息队列2.1消息队列原理 3.system V信号量3.1信号量原理3.2进程互斥 4.共享内存的使用示例 进程间通信 1.system V共享内存 1.1共享内存原理 共享内存区是最快的IPC形式…

【多传感器融合】BEVFusion: 激光雷达和视觉融合框架 NeurIPS 2022

前言 BEVFusion其实有两篇&#xff0c; 【1】BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework. NeurIPS 2022 | 北大&阿里提出 【2】BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation 2022 | MIT提出 本文先分…

Flutter桌面应用开发之毛玻璃效果

目录 效果实现方案依赖库支持平台实现步骤注意事项话题扩展 毛玻璃效果&#xff1a;毛玻璃效果是一种模糊化的视觉效果&#xff0c;常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感&#xff0c;同…

Word 小知识之 docx 和 doc 的区别

下面我们从4个方面为大家总结了有关于docx和doc的区别&#xff0c;一起来看一看&#xff1a; 1. 文件格式 doc和docx的区别中较大的区别就是文件格式不同&#xff0c;一个是二进制一个为XML格式。doc&#xff1a;是早期的Word文档格式&#xff0c;采用二进制文件格式。这种…

Android Studio Giraffe版本遇到的问题

背景 上周固态硬盘挂了&#xff0c;恢复数据之后&#xff0c;重新换了新的固态安装了Win11系统&#xff0c;之前安装的是Android Studio 4.x的版本&#xff0c;这次也是趁着新的系统安装新的Android开发工具。 版本如下&#xff1a; 但是打开以前的Android旧项目时&#xff…

Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中&#xff0c;观看视频绝对是主力应用场景之一&…

【长文干货】Python可视化教程

文章目录 数据介绍Matplotlib散点图折线图柱形图直方图 Seaborn散点图折线图柱形图直方图 Bokeh散点图折线条形图交互式 Plotly基本组合优化&#xff1a;定制化下拉菜单 总结 数据介绍 在这个小费数据集中&#xff0c;我们记录了20世纪90年代初期餐厅顾客在两个半月内给出的小…

C#学习-9课时

P11 IF判断(上) P11 IF判断(中 ) bool→true or false&#xff1b; 为&#xff1a;变量赋值 为&#xff1a;等于(判断) !为&#xff1a;≠ 优先级&#xff1a;大于 using System; using System.Collections.Generic; using System.Linq; using System.Text; usin…

上手 Promethus - 开源监控、报警工具包

名词解释 Promethus 是什么 开源的【系统监控和警报】工具包 专注于&#xff1a; 1&#xff09;可靠的实时监控 2&#xff09;收集时间序列数据 3&#xff09;提供强大的查询语言&#xff08;PromQL&#xff09;&#xff0c;用于分析这些数据 功能&#xff1a; 1&#xff0…

第三方实验室LIMS管理系统源码,asp.net LIMS源码

LIMS实验室信息管理系统源码 LIMS系统的功能根据实验室的规模和任务而有所不同&#xff0c;其系统主要功能包括:系统维护、基础数据编码管理&#xff0c;样品管理、数据管理、报告管理、报表打印、实验材料管理、设备管理等。它可以取代传统的手工管理模式而给检测实验室带来巨…

[跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion

Installation(下载代码-装环境) conda create -n bk-sdm python3.8 conda activate bk-sdm git clone https://github.com/Nota-NetsPresso/BK-SDM.git cd BK-SDM pip install -r requirements.txt Note on the torch versions weve used torch 1.13.1 for MS-COCO evaluation…

Xilinx Zynq-7000系列FPGA实现视频拼接显示,提供两套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA视频拼接叠加融合方案推荐 3、设计思路详解Video Mixer介绍 4、工程代码1&#xff1a;2路视频拼接 HDMI 输出PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程代码2&#xff1a;4路视频拼接 HDMI 输出PL 端 FPGA 逻辑设…

maven 基础

maven常用命令 clean &#xff1a;清理 compile&#xff1a;编译 test&#xff1a;测试 package&#xff1a;打包 install&#xff1a;安装 maven坐标书写规范 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</ar…

Javaweb之Vue组件库Element案例的详细解析

4.4.3.3 顶部标题 对于顶部&#xff0c;我们需要实现的效果如下图所示&#xff1a; 所以我们需要修改顶部的文本内容&#xff0c;并且提供背景色的css样式&#xff0c;具体代码如下&#xff1a; <el-header style"font-size:40px;background-color: rgb(238, 241, 24…