基于SSH的医院在线挂号
基于SSH的医院在线挂号
医院挂号系统主要用于实现医院的挂号,前台基本功能包括:用户注册、用户登录、医院查询、挂号、取消挂号、修改个人信息、退出等。 后台基本功能包括:系统管理员登录、医院管理、科室管理、公告管理、退出系统等。
本系统结构如下: (1)前台功能: 用户注册:注册功能。 用户登录:登录功能。 医院查询:选择医院、科室查询该医院下的医生信息。 挂号:选择医生后点击挂号,填写信息完成挂号。 管理中心:点击管理中心可以修改个人信息、取消挂号。 (2)系统管理员: 登录模块:实现管理员登录功能。 医院管理模块:实现医院的增加、删除功能。 科室管理模块:实现科室的增加、删除功能。 公告管理模块:实现公告的增加、删除功能。 退出系统模块:实现用户的退出功能。
网站首页设计
网站设计的首页设计是至关重要。因为第一个映入用户眼睑的就是网站的首页,它的好坏直接影响了用户对网站的喜爱程度;在对首页设计上我们要内容丰富的同时又要有一定的色彩搭配以及上下呼应等特色,以下是本网站的首页:
5.2 网站引导设计
网站的导航视为了使用户使用更加方便灵活,能使网站有一个较好的用户体验,提高用户的满意度,他是网站的路标,可以提示用户如何操作,就像字典查询需要目录一样,网站设计也需要这样的“目录”,从而让用户更加明确的知道下一步该如何操作,以及自己所处的位置;网站导航主要可以通过文字导航、按钮导航、Flash导航等,本网站的导航设置如下图所示:
5.3医生信息模块
本网站的主要功能是患者挂号功能,刚进入网站用户需要对自己的病情进行分析以及查询相关的医生才能更准确的完成预约挂号,所以医生信息也是网站设计的一个重要元素,专家展示模块主要包括显示医生列表、显示医生详细信息两个部分。
患者点击相关的医院便会出现该医院的相应专家信息如图所示:
该页面的设计代码如下:
zhuanjiaAllByYiyuan:主要是通过数据库查询获取相关信息然后通过JSP页面传递给用户:
public String zhuanjiaAllByYiyuan()
{
String sql="from TZhuanjia where del='no' and yiyuanId="+yiyuanId;
List zhuanjiaList =zhuanjiaDAO.getHibernateTemplate().find(sql);
for(int i=0;i<zhuanjiaList.size();i++)
{
TZhuanjia zhuanjia=(TZhuanjia)zhuanjiaList.get(i);
zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId()));
zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId()));
}
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("zhuanjiaList", zhuanjiaList);
return ActionSupport.SUCCESS;
}
public String zhuanjiaDetailQian()
{
TZhuanjia zhuanjia=zhuanjiaDAO.findById(id);
zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId()));
zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId()));
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("zhuanjia", zhuanjia);
return ActionSupport.SUCCESS;
}
5.4 用户注册挂号模块
用户查看相应的医生信息后可以对自己喜欢的医生进行预约,点击预约挂号按钮后会出现挂号注册页面,如下图所示:
用户可以在相应的位置填写所患疾病,姓名,联系方式,和选择挂号日期来完成挂号。
5.5 管理员登录页面
管理员在网站里的主要作用是对患者挂号信息,医生信息,医院信息等进行管理,所以需要单独的来设计一个界面与用户区分开来,用户的登录界面在网站首页右侧,而管理员可以在网站首页下方找到管理员登录的图标,点击即可进入管理员登录的界面,登录界面中登录进入后才可以对网站信息进行修改管理等。管理员在网站的下方点击管理员登录按钮,输入自己的账号,密码进行校验后即可进入管理员登录界面,如下图所示:
对管理员进行校验的代码:
public String login(String userName,String userPw,int userType)
{
try
{
Thread.sleep(700);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
String result="no";
if(userType==0)//系统管理员登陆
{
String sql="from TAdmin where userName=? and userPw=?";
Object[] con={userName,userPw};
List adminList=adminDAO.getHibernateTemplate().find(sql,con);
if(adminList.size()==0)
{
result="no";
}
else
{
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
TAdmin admin=(TAdmin)adminList.get(0);
session.setAttribute("userType", 0);
session.setAttribute("admin", admin);
result="yes";
}
}
return result;
}
校验成功后可进入管理员主页面如图所示:
管理员在这个页面能对自己密码修改,可以对医院的信息,医生信息,会员信息进行增加删除等,完成相应的操作后即可点击注销退出系统来退出管理员页面。
5.6 医生信息管理模块
医生信息管理是需要系统管理员来完成的,主要是让系统管理员对医生信息及时的更新,在上一步的页面中点击医生信息管理,即可实现对医生信息的添加,修改,删除等操作,界面如下图所示:
当点击左下方“添加医院按钮”时会出现如下界面:
医生信息处理模块的代码主要有:
1 zhuanjiaAction:
2
3 public String zhuanjiaAdd()
4
5 {
6
7 TZhuanjia zhuanjia=new TZhuanjia();
8
9
10
11 //zhuanjia.setId(0);]
12
13 zhuanjia.setYiyuanId(yiyuanId);
14
15 zhuanjia.setKeshiId(keshiId);
16
17 zhuanjia.setXingming(xingming);
18
19
20
21 zhuanjia.setXingbie(xingbie);
22
23 zhuanjia.setNianling(nianling);
24
25 zhuanjia.setShanchang(shanchang);
26
27 zhuanjia.setLeixing(leixing);
28
29
30
31 zhuanjia.setFujian(fujian);
32
33 zhuanjia.setDel("no");
34
35
36
37 zhuanjiaDAO.save(zhuanjia);
38
39
40
41 Map request=(Map)ServletActionContext.getContext().get("request");
42
43 request.put("msg", "信息添加完毕");
44
45 return "msg";
46
47 }
48
49
50
51
52
53 public String zhuanjiaMana()
54
55 {
56
57 String sql="from TZhuanjia where del='no' order by yiyuanId,keshiId";
58
59 List zhuanjiaList =zhuanjiaDAO.getHibernateTemplate().find(sql);
60
61 for(int i=0;i<zhuanjiaList.size();i++)
62
63 {
64
65 TZhuanjia zhuanjia=(TZhuanjia)zhuanjiaList.get(i);
66
67 zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId()));
68
69 zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId()));
70
71 }
72
73 Map request=(Map)ServletActionContext.getContext().get("request");
74
75 request.put("zhuanjiaList", zhuanjiaList);
76
77 return ActionSupport.SUCCESS;
78
79 }
80
81
82
83 public String zhuanjiaDel()
84
85 {
86
87 String sql="update TZhuanjia set del='yes' where id="+id;
88
89 zhuanjiaDAO.getHibernateTemplate().bulkUpdate(sql);
90
91
92
93 Map request=(Map)ServletActionContext.getContext().get("request");
94
95 request.put("msg", "信息删除完毕");
96
97 return "msg";
98
99 }
5.7综合查询平台
(1)医院信息,科室信息,医生信息查询
对不同的医院进行查询,对不同科室信息查询、对所有专家信息的查询,可以按照网站的导航进行大概的查询,每次查询不用特别精确的填写所有信息,但是如果患者希望可以精准的查询就必须填写完整的信息来查询。
(2)预约状态查询和取消预约
对于患者查看自己的预约信息以及是否预约成功,时间是否过期,事件是否正确,以及预约的具体信息等。对于用户临时会发生的冲突事件如在预约后,又有了新的事情冲突不能去就诊,患者可以登录系统点击信息管理,查看自己的网上预约挂号信息,修改自己的信息或者取消预约。对于取消预约的操作只能在预约日期之前进行过期后就不可以取消了,取消时需要患者填写姓名、取消原因等信息,信息填写完毕后就完成了取消预约的操作。
(3)停诊信息查询
查询医院最近的就诊情况、自己所在区域的医院公告,包括停诊信息,方便患者能及时的正确的作出选择。
(4)注册信息查询
用户注册后有自己的主页,可以点击个人信息管理来实现注册信息的查询更改等。
5.8退出管理登录页面
退出后台管理模块是管理员用于退出后台管理系统的。管理员退出后台管理系统之后,需要单击【退出】按钮,此时虽然还在后台中但已不能对数据库进行操作;这时候单击其他功能模块时,将弹出后台登录窗口要求用户输入正确的用户名、密码以及验证码。
- Python中的__init__()方法整理中(两种解释)
- 如何找到最优学习率?
- 简单易学的机器学习算法——Rosenblatt感知机
- 多级复制的数据不同步问题(r7笔记第11天)
- 简单易学的机器学习算法——Logistic回归
- Python 用OPEN读文件报错 ,路径以及r
- Oracle 12c PDB浅析(r9笔记第10天)
- merge语句导致的CPU使用率过高的优化(二) (r7笔记第9天)
- 网页爬虫-R语言实现基本函数
- Python中的random模块用于生成随机数
- 简单易学的机器学习算法——极限学习机(ELM)
- 图片数据集太少?Keras Image Data Augmentation 各参数详解
- 备库归档删除策略失效的问题分析 (r7笔记第6天)
- 优化算法——梯度下降法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何用R语言在机器学习中建立集成模型?
- 从零开始Kubernetes Operator
- TiKV源码解析系列文章(二十)Region Split源码解析
- scrapy爬虫框架和selenium的使用:对优惠券推荐网站数据LDA文本挖掘
- 单性状动物模型矩阵形式计算BLUP值
- 如何计算一般配合力和特殊配合力
- 【29期】Java集合框架 10 连问,你有被问过吗?
- 学徒数据挖掘之谁说生存分析一定要按照表达量中位值或者平均值分组呢?
- 软件质量的黄金准则
- 你应该了解的5种TypeScript设计模式
- Vue.js 教程:构建一个特斯拉汽车余电计算器
- 文件系统:隐匿在 Linux 背后的机制
- MySQL在Docker环境下运行基础
- Redis 秒杀实战
- Oracle 19c集群重装步骤详解