基于SSH的医院在线挂号

时间:2022-07-22
本文章向大家介绍基于SSH的医院在线挂号,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

基于SSH的医院在线挂号

医院挂号系统主要用于实现医院的挂号,前台基本功能包括:用户注册、用户登录、医院查询、挂号、取消挂号、修改个人信息、退出等。 后台基本功能包括:系统管理员登录、医院管理、科室管理、公告管理、退出系统等。

本系统结构如下:   (1)前台功能:     用户注册:注册功能。     用户登录:登录功能。     医院查询:选择医院、科室查询该医院下的医生信息。     挂号:选择医生后点击挂号,填写信息完成挂号。     管理中心:点击管理中心可以修改个人信息、取消挂号。   (2)系统管理员:     登录模块:实现管理员登录功能。     医院管理模块:实现医院的增加、删除功能。     科室管理模块:实现科室的增加、删除功能。     公告管理模块:实现公告的增加、删除功能。     退出系统模块:实现用户的退出功能。

网站首页设计

网站设计的首页设计是至关重要。因为第一个映入用户眼睑的就是网站的首页,它的好坏直接影响了用户对网站的喜爱程度;在对首页设计上我们要内容丰富的同时又要有一定的色彩搭配以及上下呼应等特色,以下是本网站的首页:

(图)5-1医院挂号系统首页设计

5.2 网站引导设计

网站的导航视为了使用户使用更加方便灵活,能使网站有一个较好的用户体验,提高用户的满意度,他是网站的路标,可以提示用户如何操作,就像字典查询需要目录一样,网站设计也需要这样的“目录”,从而让用户更加明确的知道下一步该如何操作,以及自己所处的位置;网站导航主要可以通过文字导航、按钮导航、Flash导航等,本网站的导航设置如下图所示:

(图)5-2 网站导航设计

5.3医生信息模块

本网站的主要功能是患者挂号功能,刚进入网站用户需要对自己的病情进行分析以及查询相关的医生才能更准确的完成预约挂号,所以医生信息也是网站设计的一个重要元素,专家展示模块主要包括显示医生列表、显示医生详细信息两个部分。

患者点击相关的医院便会出现该医院的相应专家信息如图所示:

(图)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-4 用户注册页面展示

用户可以在相应的位置填写所患疾病,姓名,联系方式,和选择挂号日期来完成挂号。

5.5 管理员登录页面

管理员在网站里的主要作用是对患者挂号信息,医生信息,医院信息等进行管理,所以需要单独的来设计一个界面与用户区分开来,用户的登录界面在网站首页右侧,而管理员可以在网站首页下方找到管理员登录的图标,点击即可进入管理员登录的界面,登录界面中登录进入后才可以对网站信息进行修改管理等。管理员在网站的下方点击管理员登录按钮,输入自己的账号,密码进行校验后即可进入管理员登录界面,如下图所示:

(图)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 管理员首页

管理员在这个页面能对自己密码修改,可以对医院的信息,医生信息,会员信息进行增加删除等,完成相应的操作后即可点击注销退出系统来退出管理员页面。

5.6 医生信息管理模块

医生信息管理是需要系统管理员来完成的,主要是让系统管理员对医生信息及时的更新,在上一步的页面中点击医生信息管理,即可实现对医生信息的添加,修改,删除等操作,界面如下图所示:

(图)5-7 医生信息界面

当点击左下方“添加医院按钮”时会出现如下界面:

(图)5-8 医生信息管理界面

医生信息处理模块的代码主要有:

 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)医院信息,科室信息,医生信息查询

对不同的医院进行查询,对不同科室信息查询、对所有专家信息的查询,可以按照网站的导航进行大概的查询,每次查询不用特别精确的填写所有信息,但是如果患者希望可以精准的查询就必须填写完整的信息来查询。

(图)5-9 医生信息查询

(2)预约状态查询和取消预约

对于患者查看自己的预约信息以及是否预约成功,时间是否过期,事件是否正确,以及预约的具体信息等。对于用户临时会发生的冲突事件如在预约后,又有了新的事情冲突不能去就诊,患者可以登录系统点击信息管理,查看自己的网上预约挂号信息,修改自己的信息或者取消预约。对于取消预约的操作只能在预约日期之前进行过期后就不可以取消了,取消时需要患者填写姓名、取消原因等信息,信息填写完毕后就完成了取消预约的操作。

(3)停诊信息查询

查询医院最近的就诊情况、自己所在区域的医院公告,包括停诊信息,方便患者能及时的正确的作出选择。

(4)注册信息查询

用户注册后有自己的主页,可以点击个人信息管理来实现注册信息的查询更改等。

(图)5-10 个人信息查询

5.8退出管理登录页面

退出后台管理模块是管理员用于退出后台管理系统的。管理员退出后台管理系统之后,需要单击【退出】按钮,此时虽然还在后台中但已不能对数据库进行操作;这时候单击其他功能模块时,将弹出后台登录窗口要求用户输入正确的用户名、密码以及验证码。

(图)5-11 退出系统界面