医院预约挂号系统

java web 专栏收录该内容
3 篇文章 0 订阅

1. 整理了一下之前做过的web项目,发现了一个用原生jsp,servlet开发的小型web项目,该web项目是大二学习了web基础知识以后完成的一个小项目,主要作用在于运用mvc模式,然后理解servlet以及jsp等的使用,具有学习意义,通过该项目锻炼编码能力和web开发能力。
首先该系统测试、使用说明如下:

一、环境配置:
1.
编译器:建议使用Eclipse;
服务器:Tomcat8.0;
数据库版本:mysql5.5;
数据库名:test;
如何导入数据库脚本文件:数据库脚本后续会给出
在这里插入图片描述
在这里插入图片描述
2. 数据库账号密码对应源代码里的src/utils/DbDao.java,可将账号密码改成测试人员数据库的账号密码。
浏览器建议使用:Google chrome;
项目问题:为了消除编译器版本不同问题,建议不直接import项目,而是创建新项目。先将src下的代码包复制进入新建项目的src下(消除Eclipse不自动编译jsp的问题),再将WebContent下的jsp文件复制进入新建项目的WebContent目录下,将mysql的jar包复制进入WebContent/WEB-INF/lib目录,将image图片资源包复制进入WebContent目录。

二、系统如何使用:
本系统分为三个角色,管理员、医生和患者。由login.jsp启动项目,不能从其他页面启动。
已在数据库脚本里各插入一条管理员、医生和患者的账号,账号均为:1,密码均为:123456(供测试用,还有其他数据)
数据库里没有插入号源信息以及预约信息,若患者身份需要预约请先登录管理员进入号源池管理进行号源分配。
登录界面可登录,可注册(仅限患者的注册),管理员和医生由管理员添加。
1.测试人员先登录管理员:
在这里插入图片描述
登录步骤说明:输入账号1,输入密码123456,选择登录项为管理员,点击登录。

进入管理员的主界面,会看到各种管理员能够进行操作的模块,比如
调班管理:
在这里插入图片描述
医生信息管理:在这里插入图片描述
号源管理:
在这里插入图片描述
统计分析,打印报表:
在这里插入图片描述
从导航栏进入其他页面时,可从左边看见操作提示。

2.依次操作后退出登录,后登录医生。
在这里插入图片描述
本人号源信息和本人排版信息只需查看即可。
在这里插入图片描述
3.依次操作后退出登录,后登录患者。
患者可以用两种方式预约号源, 预约后即进入查看预约界面,如果需要取消或者修改则在此页面修改,如不需通过导航栏回到主界面即可。
注册和修改密码按照页面的说明操作就行。

三、数据库设计

  1. 数据库表的设计
    主要描述根据类图以及类的关系所设计的所有表结构的设计(数据表包括字段名、字段类型、长度,主健、外键、其它约束、索引,至少符合三范式):
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2.创建表的语句:
/*管理员表 id,密码*/
create table manager(
M_id int PRIMARY KEY,
M_psd varchar(6));
/*患者表 id,密码,姓名,性别,年龄,信誉度*/
create table patient(
P_id int primary key,
P_psd varchar(6),
P_name varchar(20),
P_sex varchar(10),
P_age int,
P_credibility int);
/*科室表 id,描述,地点(几栋几楼)*/
create table office(
O_id int primary key AUTO_INCREMENT,
O_description varchar(100),
O_site varchar(20));
/*诊室表 id,科室id,地点(房间号)*/
create table surgery(
SUR_id int primary key AUTO_INCREMENT,
O_id int,
SUR_site varchar(20));
alter table surgery add foreign key(O_id) references office(O_id) on delete cascade on update cascade;
/*医生表 id,诊室id,密码,姓名,年龄,性别*/
create table doctor(
D_id int primary key AUTO_INCREMENT,
SUR_id int,
D_psd varchar(10),
D_name varchar(20),
D_age int,
D_sex varchar(6));
alter table doctor add foreign key(SUR_id) references surgery(SUR_id) on delete cascade on update cascade;

/*医生时间安排表表 id,医生id,周几,时间段*/
create table schedules(
SCH_id int primary key AUTO_INCREMENT,
SUR_id int,
D_id int,
SCH_weekday int,
SCH_time int);
alter table schedules add foreign key(D_id) references doctor(D_id) on delete cascade on update cascade;
alter table schedules add foreign key(SUR_id) references surgery(SUR_id) on delete cascade on update cascade;
/*号源表 id,时间安排id,是否被预约,号码*/
create table number(
N_id int primary key AUTO_INCREMENT,
SCH_id int,
N_isBooked int,	
N_num int);
alter table number add foreign key(SCH_id) references schedules(SCH_id) on delete cascade on update cascade;


/*预约信息表 id,号源id,患者id,是否被处理*/
create table informance(
I_id int primary key,
N_id int,
P_id int,
I_ischeck int);
alter table informance add foreign key(N_id) references number(N_id) on delete cascade on update cascade;
alter table informance add foreign key(P_id) references patient(P_id) on delete cascade on update cascade;
/*调班申请表 id,时间安排id,周几,时间段,是否被处理,是否通过*/
create table apply(
A_id int primary key AUTO_INCREMENT,
SCH_id int,
A_weekday int,
A_time int,
A_isCheck int,
A_isPass int);
alter table apply add foreign key(SCH_id) references schedules(SCH_id) on delete cascade on update cascade;
/*预约时段表 id,时间段*/
/*create table time(
T_id int primary key,
T_time int);*/

四、工程目录结构
其中,该项目的开发采用分层开发,即分为entityBean层(实体bean),dao层(对表进行基本操作),services层(进行业务逻辑的处理),servlet层(实现页面之间的跳转,数据传递),以及utils工具包,用于处理连接数据库的操作等。目录结构如下:
在这里插入图片描述
spring boot版本部分:
https://blog.csdn.net/qq_39871579/article/details/108217998

JSp 医院预约挂号系统源码+数据库。 医院在线预约挂号系统 jsp+mysql+maven 挂号预约系统 选题背景 现有某医院想要提升患者挂号管理水平,打算引入一套挂号预约管理系统。 功能需求 挂号预约系统主要包括基础数据管理、预约管理、查询与统计分析三个子系统,具体要求如下。 1 基础数据管理子系统 基础数据管理子系统主要包括医生、患者、科室、诊室、号源池、医生排班、预约时段等信息管理。 所谓号源池,是指将每个科室中的每一当班医生的就诊数量进行统一管理的一种手段,即管理者将每个医生当班时段内的病人预约挂号数量进行统一调配,此外,还能够提供加号、锁号等功能,基本原则如下: (1)先预约原则:任何方式预约均以提交时间节点为选取号的第一原则。 (2)开放全部号源原则。专家、专科、专病和多学科综合门诊均对各种预约方式开放且提供全部号源数。当天额满的依次顺延。 (3)现场预约可获取原则。因各种原因未能取得预约号且确有特殊情况的原则上以门诊部或一站式服务中心确认后予以现场加号,但不仅限于当日。 (4)预约号优先就诊。在同一时段内,优先诊疗预约病人,完成后诊疗现场挂号病人。如本时段预约额满时,加号和现场预约病人则在依次排列待预约病人完成后就诊。 (5)对于爽约病人采取一定的预约权限限制策略 系统用户按权限分为三种,即管理员、医生和患者。不同的用户拥有不同的权限,各自完成各自的管理功能,不同的用户看到不同的系统功能。 管理员: (1) 登录功能:通过前台验证用户密码,验证成功后可以登录。 (2) 医生信息管理:具体包括医生信息进行维护。 (3) 患者信息管理:对患者信息进行维护。 (4) 科室信息管理:对医生所在科室进行维护。 (5) 诊室选课管理:对医生所在诊室信息进行维护。 (6) 号源池管理:对医生可预约的号源进行维护。 (7) 医生排班管理:对医生排班信息进行维护。 (8) 预约时段管理:对预约的时段信息进行维护 (9) 查询功能:登录后可查询到以上相应信息。 (10) 修改个人密码功能。 医生: (1) 登录功能 (2) 基本信息查询:可以对本人信息、本人号源信息以及排班信息进行查询。 (3) 调班管理:可以申请调整排班(例如请假等,即停诊处理)。 (4) 患者队列查询:对患者的预约队列情况进行查询。 预约管理子系统 本子系统主要针对患者角色。 预约管理具体内容如下: (1) 信息查询:可以按多种方式对医生、科室的号源情况进行查询。 (2) 挂号预约:进行预约操作。 (3) 取消预约:可以对已经预约挂号进行取消操作。 (4) 修改预约:可以调整预约信息(例如时段或者医生等) (5) 诚信度查询:可以查看个人预约信誉度(医院要建立相应的诚信度机制) 查询与统计分析子系统 (1) 不同角色可以根据相应的角色权限对相应信息进行查询操作。 (2) 管理员可以对患者的预约情况进行相应统计及分析操作,以便制定相应的排班策略。 (3) 能够将统计及分析结果生成相应报表,提供打印功能。 技术要求 1. 基于MVC模式,运用JSP、JavaBean、HTML、CSS、Javascript等技术实现所设计的系统; 2. 使用SQL Server或MySQL作为后台数据库,依据数据库设计过程及规范,设计数据库表结构及主外键关系,并结合功能需求适当设计存储过程和触发器; 3. 采用面向对象设计方法学,运用所学的面向对象分析设计方法,以及对应的工具对系统进行分析与设计建模; 4. 基于模块化编程思想,程序源文件应划分为相应package,组织层次清晰; 5. 遵循程序设计编码规范,标识符应命名规范、代码注释充分、排版风格良好; 6. 使用JS对表单提交的数据及格式进行校验(是否为空、是否为数字等等) 7. 要求系统具有良好的安全性,能有效防止非法登录用户访问需授权网页。 8. 系统具有良好的人机交互界面,界面应布局清晰、简洁大方。 9. 系统具有较好的可操作性,界面友好。(例如:民族、部门、学院、班级等信息通过下来列表展示) 10. 系统具有良好的健壮性。例如:用户输入错误或者不按流程操作时系统不会异常退出。
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值