jsp61社区医疗管理系统(jsp+servlet+sqlserver)-qkrp_第1页
jsp61社区医疗管理系统(jsp+servlet+sqlserver)-qkrp_第2页
jsp61社区医疗管理系统(jsp+servlet+sqlserver)-qkrp_第3页
jsp61社区医疗管理系统(jsp+servlet+sqlserver)-qkrp_第4页
jsp61社区医疗管理系统(jsp+servlet+sqlserver)-qkrp_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE摘要社区医疗管理系统是区域性卫生信息系统的前端系统,主要是对社区居民的保健、护理、疾病预防等健康信息实行有效的管理。社区医疗机构为社区居民建立完整的健康档案,安排体检以及实施免疫等预防措施。而基于Web的远程保健平台以社区医疗系统为后台支持,提供远程健康保健、预诊断、心理咨询、疾病预防等网络在线服务功能,方便社区居民,提高他们的生活质量及健康水平。本设计的开发是基于B/S结构,采用JSP程序设计语言及SQLServer2005数据库进行开发;论文首先阐述了基于B/S模式的社区医疗信息系统的开发,并对该系统进行了较详细的需求分析;然后探讨了该系统需要实现的设计方案,该系统主要包括密码修改,用户管理,用户添加,会员管理,会员添加,药品管理,药品添加,挂号,护士值班,护士值班添加,医生值班,医生值班添加,医生诊断和护士处理功能模块;最后,在测试与分析过程中,该系统表现出了运行稳定、可靠和实用等特性,具有一定的实用价值。关键词:社区医疗;卫生信息;B/S结构;数据库;JSPAbstractCommunityhealthmanagementsystemisthefront-endsystemofregionalhealthinformationsystems,andtheeffectivemanagementofcommunityhealthcare,diseasepreventionandhealthinformation.Communitymedicalinstitutionsforcommunityresidentstoestablishacompletehealthrecords,arrangeamedicalexaminationaswellastheimplementationofimmunizationandotherpreventivemeasures.Web-basedtele-healthplatformbackgroundtosupportcommunityhealthsystemtoprovideremotehealthcare,pre-diagnosis,psychologicalcounseling,diseasepreventionandotheronlineservicesfunctiontofacilitatecommunityresidentstoimprovetheirqualityoflifeandhealth.ThedevelopmentofthedesignisbasedonB/Sstructure,usingJSPprogramminglanguageandSQLServer2005databasedevelopment;thesisdescribesthedevelopmentofthecommunityhealthinformationsystembasedonB/Smode,andthesysteminmoredetaildemandanalysis;thendiscussestheneedtoimplementthesystemdesign,thesystemincludingpasswordchanges,usermanagement,useradd,membershipmanagement,MemberAddDrugAdministrationadddrugs,registerednurseonduty,thenurseondutytoadd,thedoctorondutyaddadoctoronduty,thedoctorsthediagnosisandnurseshandlingfunctionmodule;Finally,intheprocessoftestingandanalysis,thesystemshowedastable,reliableandpracticalfeatures,hassomepracticalvalue.Keywords:Communityhealthcare;healthinformation;B/Sstructure;database;JSP目录论文总页数:59页1引言 21.1课题背景 21.2本课题研究的意义 31.3本课题的研究思路和方法 31.4本文的主要工作 32开发工具介绍 42.1JSP技术 42.1.1JAVA简介 42.1.2JSP简介 42.1.3JavaBeans介绍 52.1.4JDBC驱动程序介绍 52.2Myeclipse介绍 62.3SQLServer2005数据库 62.4Browser/Server(B/S)结构 73需求分析及设计方案 73.1需求分析 73.2设计方案 83.2.1系统功能 83.2.2系统结构 84具体设计流程及实现 94.1数据库设计 94.1.1数据库需求分析及E-R图 94.1.2数据表具体设计 104.1.3数据字典 134.2部分关键编码实施实现 144.2.1医生诊断编码实现 144.2.2护士值班编码实现 194.2.3护士处理编码实现 245系统运行及测试与分析 295.1系统的运行 295.1.1用户登录 295.1.2主界面 305.1.3用户管理 305.1.4会员注册 315.1.5药品管理 315.1.6挂号管理 315.1.7护士值班添加 315.1.8医生值班添加 325.1.9医生诊断 325.1.10护士处置 325.2测试与分析 32结论 33参考文献 33致谢 34第16页共22页1引言1.1课题背景随着信息时代的到来,计算机在各行各业得到了越来越广泛的应用。建设现代化的医院,信息管理的计算机化、网络化和数据高度共享化将是必不可少的条件。医院每天产生的信息量非常大,随着医院业务量的不断扩大,如果还用手工来处理的原始方法来处理医院每天产生的巨大的数据量,这将是一件非常困难的事情,也容易产生由人为因素引起的错误,给医院的日常管理带来了非常大的不便。这时医院迫切需要一套功能完善、操作简单、界面美观的医院管理系统来满足医院日常管理的需要,这也是时代发展的需要。电子计算机在医院的应用已有四十多年的历史,60年代初,美国便开始了HIS的研究。著名的麻省总医院<MGH>开发的COSTAR系统是60年代初开始并发展到今天成为大规模的临床病人信息系统。随着计算机技术的发展,70年代,HIS进入大发展时期,美日欧各国的医院,特别是大学医院及医学中心纷纷开发HIS,成为医药信息学的形成和发展的基础。70-80年代,美国的HIS产业已有很大发展。1985年美国全国医院数据处理工作调查表明,100张床位以上的医院,80%实现了计算机财务收费管理,70%的医院可支持病人挂号登记和行政事务管理。25%的医院有了较完整的HIS,即实现了病房医护人员直接用计算机处理医嘱和查询实验室的检验结果。10%的医院(2530)有全面计算机管理的HIS。计算机70年代末期就进入了我国医疗行业,当时以IBM的M340小型机为主,只有少数几家大型的部属综合医院和教学医院拥有,如北京协和医院、北京肿瘤医院、301医院等,主要应用于科研和教学,还没有应用于HIS的管理。80年代初期,随着苹果PC机的出现和BASIC语言的普及,一些医院开始开发一些小型的管理软件,如工资软件等;80年代中期,随着XT286的出现和国产化,以及DBASEIII和UNIX网络操作系统的出现,一些医院开始建立小型的局域网络,并开发出基于部门管理的小型网络管理系统,如住院管理,药房管理等。进入90年代,NOVELL网和FOXBASE、FOXFRO数据库日益盛行,完整的医院网络管理系统的实现已经成为可能,于是一些有计算机技术力量的医院开始开发适合自己医院的医院管理系统。一些计算机公司也不适时机的开发HIS,如HP公司(与301医院合作)、IBM公司、微软公司、浪潮公司。但这些系统都存在如下一些问题:软件水平较低,一般只能做些初级的事务处理,也有的软件开发之后用了一段时间就停下了,坚持不下去,其原因是:(1)各医院计算机专业人才缺乏,技术力量薄弱,特别是缺少高层次系统分析人员和跨专业复合型人才。(2)项目多,力量分散。(3)医院经费有限,很难建立起理想的软、硬件支撑环境不可能实现。通过使用医院信息管理系统,规范了业务处理流程,堵塞了管理中的漏洞。全院信息通过计算机软件系统连接成一个整体,实现数据高度共享,降低管理成本,提高了管理数据的准确性和实时性。为了配合国家医疗卫生行业信息化建设,以及现行医院管理中实际存在的问题,我确立了本次课题。在此研究中我得到了医院部门的大力支持。希望通过此次课题的研究来解决当今医院管理系统存在的问题,推动国内医疗卫生行业信息化建设,并且拓展医疗卫生行业的系统集成市场。1.2本课题研究的意义随着社会的发展,人们对健康越来越关注,医院的业务不断增长,处理越来越复杂,基于此社区医疗成为了解决医院发展的瓶颈。传统的手工操作模式,病人帐目繁杂,病人查帐困难,病区和药房的药品浪费现象严重且无法追踪,人工传送各种记帐单容易漏、错帐,人工划价收费差错难以避免,因此,如何提高服务水平、提高工作效率,成为迫待解决的问题。社区医疗管理信息化不仅能提高医务人员的工作效率和医疗水平,而且能提高社区医疗的服务质量和管理水平,因此,社区医疗对管理信息系统有着强烈的需求。美国著名教授Morris.Collen于1988年曾著文为医院信息系统(HIS)下了如下定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据医交换的能力,并满足所有授权用户的功能需求。开发社区医疗管理系统(HIS)的目标就是立足社区医疗应用实际,着眼未来发展,以强化社区医疗管理,提高医疗质量,方便患者就医和查询,提高社区医疗的服务效率和服务质量,设计一套符合国家功能规范要求,安全稳定,操作简便的社区医疗管理系统,为社区医疗提供一套全方位的解决方案。1.3本课题的研究思路和方法本系统的开发要求采用B/S结构,设计与开发一个功能较完善的基于网络的社区医疗管理系统。因此,本次毕业设计应首先分析社区医疗管理系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括以前所学的一些关于网络技术、数据库、编程技术等相关知识),选择所熟悉的开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文挡,为后面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。1.4本文的主要工作本文主要是对设计与开发一个社区医疗管理系统的总结,首先对本系统所基于的B/S结构,采用的JSP编程技术和SQLServer2005数据库,运用的MyEclipse开发工具等进行详细的介绍;然后对用户的需求分析,指出了需要解决的问题,需要实现的功能,如密码修改,用户管理,用户添加,会员管理,会员添加,药品管理,药品添加,挂号,护士值班,护士值班添加,医生值班,医生值班添加,医生诊断和护士处理功能模块;其次是具体设计流程及实现,详细介绍了数据库的设计,编码的实施;接着是系统测试,通过测试发现了系统的一些问题,排除了的错误,发现了一些不足等;最后是对本次设计制作的小结,总结了设计过程中遇到的问题和收获。2开发工具介绍本系统是采用JSP编程技术和MySQL数据库,在WindowsXP操作系统环境下,采用Myeclipse开发工具以及Javabeans编写进行设计与开发完成的基于B/S结构的社区医疗管理系统。2.1JSP技术2.1.1JAVA简介.Java语言诞生于20世纪90年代的初期,最初是以智能家电的芯片语言出现的。但是很快,人们发现了它有更广阔的用武之地,由于它适用于Internet环境,引起计算机界的广泛关注,迅速发展成计算机网络编程语言。Java语言备受推崇,因其确实可称得上是新一代编程语言,具有众多优点,它简单、面向对象、可移植、与硬件无关、系统强健安全、具有很高的性能,并提供了分布性、多线程、动态性的支持。2.1.2JSP简介JSP(JavaServerPages)是由Sun公司在java语言上开发出来的一种动态网页制作技术,JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果,使您可以将网页中的动态部分和静态的HTML相分离。⑴将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。⑵强调可重用的组件绝大多数JSP页面信赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,井使得这些组件为更多的使用者或者客户团体所使用[6]。⑶采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在生成与JSP相关的XML标识的动态内容时所需要的。标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难于编码和耗时的功能。⑷健壮性与安全性由于JSP页面的内置脚本语言是基于Java编程语言的,且都被编译为JavaServlet,它就具有Java技术的所有好处,包括健壮的存储管理和安全性[7]。⑸良好的移植性作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,可以使用自己所选择的服务器和工具,而且更改工具或服务器并不影响当前的使用。⑹企业级的扩展性和性能当与Java2平台,企业版(J2EE)和EnterpriseJavaBeans技术整合时,JSP页面将提供企业级的扩展性和性能,这对于虚拟企业中部署基于Web的应用是必需的。2.1.3JavaBeans介绍JavaBeans是一个可以重复使用的软件组件。实际上JavaBeans是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称beans。JavaBeans是基于Java语言的,具有以下特点:(1)可以实现代码的重复利用。(2)易编写,易维护,易使用。(3)可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。2.1.4JDBC驱动程序介绍从编程的角度出发,有两个主要的类负责建立与数据库的连接。第一个类DriverManager是在JDBCAPI中提供的为数不多的实际类。DriverManager负责管理已注册驱动程序的集合,实质上就是提取使用驱动程序的细节,这样程序员就不必直接处理它们。第二个类是实际的JDBCDriver类。JDBC驱动程序有四种类型。第一种驱动程序:它们都使用JDBC-ODBC桥,这是作为JDK的一个标准部分包括的。第一种驱动程序通过附加在JDBC-ODBC桥的“开放式数据库连接性”(OpenDataBaseConnectivity(ODBC))驱动程序来区分。要连接到一个不同的数据源,您只需要使用ODBC管理员注册(或有效地绑定)一个不同的ODBC数据源到合适的数据源名称即可。第二种驱动程序也称为部分Java驱动程序,因为它们直接将JDBCAPI翻译成具体数据库的API。对于分布式应用程序,这种需求会产生额外的许可证问题,还可能带来可怕的潜在代码分布问题。第三种驱动程序是纯Java驱动程序,它将JDBCAPI转换成独立于数据库的协议。JDBC驱动程序并没有直接和数据库进行通讯;它和一个中间件服务器通讯,然后这个中间件服务器和数据库进行通讯。这种额外的中间层次提供了灵活性:可以用相同的代码访问不同的数据库,因为中间件服务器隐藏了Java应用程序的细节。要转到不同的数据库,您只需在中间件服务器上改变参数。第四种驱动程序是纯Java驱动程序,它直接与数据库进行通讯。很多程序员认为这是最好的驱动程序,因为它通常提供了最佳的性能,并允许开发者利用特定数据库的功能。当然,这种紧密耦合会影响灵活性,特别是如果您需要改变应用程序中的底层数据库时。这种驱动程序通常用于applet和其它高度分布的应用程序。2.2Myeclipse介绍MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2.3SQLServer2005数据库利用JSP结合数据库来开发网站使得网站更具有交互性,因为没有数据库支持的静态网页已经无法满足人们对于网络的需求了。数据库在各行各业中是必不可少的,下面就来介绍数据库方面的相关知识。SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。它的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。MicrosoftSQLServer(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统。用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。此数据库管理系统能够存储大容量的数据,能够保证数据的安全性、维护数据的完整性,还具有自动高效的机制以及运行分布式处理等。2.4Browser/Server(B/S)结构B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。3需求分析及设计方案随着经济的发展,政府对企业信息化建设的大力推进,我国的社区医疗信息化发展势头也十分良好。特别是医疗改革在我国已经进行了相当长的一段时间,随着医疗改革的进一步深入,社区医疗条件越来越成熟,社区医疗基本保障条件也逐渐的完善,福利制度也得到了很好的体现,但是这些还并不完善比如像社区医疗管理系统的设计与实现就逐渐摆在了桌面上,这就要求有一个好的信息支持平台。3.1需求分析根据对社区医疗的现状分析,社区医疗管理系统主要应解决以下几个问题:(1)管理的不便捷性,很难对患者情况进行及时随时的了解。患者的特性是分散性,统计了解患者的情况即费时又费力,很容易因为时间原因造成巨大的损失。解决方案:针对这个问题,本系统采用了B/S结构,不需要安装客户端,实现无论在何时何地,只要有一台能够上网的电脑便可以管理会员。(2)药品的管理,药品杂乱无章不好统计,护士值班可以直接在系统进行登记,医生的值班和诊断。社区医疗的药品管理杂乱无章,统计了解药品的情况即费时又费力,很容易因为时间原因造成巨大的损失。解决方案:针对这个问题,本系统在分店系统中加入了药品管理,医生诊断等部分功能。3.2设计方案根据前面章节需求分析的情况,结合本系统所要实现的功能,具体设计方案如下。3.2.1系统功能通过对用户需求的分析,一个社区医疗管理系统网站应包括以下的主要功能:(1)密码修改(2)用户管理(3)用户添加(4)会员管理(5)会员添加(6)药品管理(7)药品添加(8)挂号(9)护士值班(10)护士值班添加(11)医生值班(12)医生值班添加(13)医生诊断和护士处理3.2.2系统结构整个系统主要分为密码修改,用户管理,用户添加,会员管理,会员添加,药品管理,药品添加,挂号,护士值班,护士值班添加,医生值班,医生值班添加,医生诊断和护士处理功能模块,如图1所示。社区医疗管理系统社区医疗管理系统密码修改会员管理会员添加药品管理药品添加挂号护士值班护士值班添加医生值班用户管理用户添加医生值班添加护士处理医生诊断图1系统功能图4具体设计流程及实现4.1数据库设计4.1.1数据库需求分析及E-R图根据以上的系统功能分析,可以得到E-R图:护士和会员E-R图:护士I护士IdN1护士会员挂号会员id姓名电话开始时间图4-1护士和会员E-R图医生和会员E-R图:nnm医生医生id开始时间日期药方结束时间诊断会员挂号号姓名会员id图4-2医生和会员E-R图4.1.2数据表具体设计(1)用户表:记录用户基本信息,如表1所示。表1用户表(admins)序号列名数据类型长度说明1IdInt主键id2usernamenvarchar50用户名3passwordnvarchar50密码4typenvarchar50角色5realnamenvarchar50真实姓名(2)处置信息表:记录处置信息,如表2所示。表2处置信息表(cz)序号列名数据类型长度说明1IdInt主键id2midInt会员id3hsidInt护士id4nonvarchar50挂号号5timesdatetime时间6descsnvarchar50描述(3)挂号表:记录挂号信息,如表3所示。表3挂号表(gh)序号列名数据类型长度说明1IdInt主键id2ksnvarchar50科室3typenvarchar50类型4nonvarchar50挂号号5timesdatetime时间6midInt会员id(4)护士值班表:记录护士值班信息,如表4所示。表4护士值班表(hzzb)序号列名数据类型长度说明1IdInt主键id2hsidInt护士id3benginhournvarchar50开始时间4endhournvarchar50结束5daysdatetime日期(5)开药表:记录开药信息,如表5所示。表5开药表(ky)序号列名数据类型长度说明1IdInt主键id2yzidInt医嘱id3ypidInt药品id4numInt数量5descsnvarchar50描述(6)会员表:记录会员信息,如表6所示。表6会员表(memebers)序号列名数据类型长度说明1IdInt主键id2nonvarchar50会员编号3moneysnvarchar50会员金额4realnamenvarchar50真实姓名5telnvarchar50电话(7)药品表:记录药品信息,如表7所示。表7药品表(yp)序号列名数据类型长度说明1IdInt主键id2namesnvarchar50药品名称3moneysnvarchar50价格4numInt库存数量(8)医生值班表:记录医生值班信息,如表8所示。表8医生值班表(yszb)序号列名数据类型长度说明1IdInt主键id2ysidInt医生id3benginhournvarchar50开始时间4endhournvarchar50结束5daysdatetime日期(9)医嘱表:记录医嘱信息,如表9所示。表9医嘱表(yz)序号列名数据类型长度说明1IdInt主键id2midInt会员id3ysidInt医生id4zdnvarchar50诊断信息5yfnvarchar50药方6timesdatetime诊断时间7nonvarchar50挂号号4.1.3数据字典(1)数据项字段名称数据类型长度说明IdInt主键idusernamenvarchar50用户名passwordnvarchar50密码typenvarchar50角色realnamenvarchar50真实姓名IdInt主键idmidInt会员idhsidInt护士idnonvarchar50挂号号timesdatetime时间IdInt主键idksnvarchar50科室typenvarchar50类型nonvarchar50挂号号timesdatetime时间midInt会员idIdInt主键idhsidInt护士idbenginhournvarchar50开始时间endhournvarchar50结束daysdatetime日期IdInt主键idyzidInt医嘱idypidInt药品idnumInt数量descsnvarchar50描述IdInt主键idnonvarchar50会员编号moneysnvarchar50会员金额realnamenvarchar50真实姓名telnvarchar50电话IdInt主键idnamesnvarchar50药品名称moneysnvarchar50价格numInt库存数量IdInt主键idysidInt医生idbenginhournvarchar50开始时间endhournvarchar50结束daysdatetime日期IdInt主键idmidInt会员idysidInt医生idzdnvarchar50诊断信息yfnvarchar50药方timesdatetime诊断时间nonvarchar50挂号号4.2部分关键编码实施实现4.2.1医生诊断编码实现packagecom.elc.servlet;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.elc.bean.Hszb;importcom.elc.bean.Yszb;importcom.elc.util.DBUtil;importcom.elc.util.Page;/***ServletimplementationclassYszbServlet*/publicclassYszbServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L;/***@seeHttpServlet#HttpServlet()*/publicYszbServlet(){super();//TODOAuto-generatedconstructorstub} /** *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse) */protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } /** *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse *response) */ protectedvoiddoPost(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("UTF-8"); Stringmode=request.getParameter("mode"); StringpageNoStr=request.getParameter("pageNoStr")==null?"1" :request.getParameter("pageNoStr"); intm=0; intn=200;//每页大小 intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首页 }else{ m=(pageNo-1)*n; } DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("mylist")){ HttpSessionsession=request.getSession(); Stringid=session.getAttribute("id").toString(); this.listkh(n,m,conn,request,response,pageNo,id); } if(mode!=null&&mode.equals("add")){ Stringysid=request.getParameter("ysid"); Stringdays=request.getParameter("days"); Stringbenginhour=request.getParameter("benginhour"); Stringendhour=request.getParameter("endhour"); StringsqlAdd="insertintoyszb(ysid,days,benginhour,endhour)values(" +ysid+",'"+days+"','"+benginhour+"','"+endhour+"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("deletes")){ Stringid=request.getParameter("id"); Stringsqldelete="deletefromyszbwhereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete); this.list(n,m,conn,request,response,pageNo); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } } publicvoidlist(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMyszb)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromyszb"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Yszb>list=newArrayList<Yszb>(); while(rs.next()){ Yszbbean=newYszb(); bean.setId(rs.getInt("id")); bean.setBenginhour(rs.getString("benginhour")); bean.setEndhour(rs.getString("endhour")); bean.setDay(rs.getDate("days")); bean.setYsid(rs.getInt("ysid")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("yszblist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } publicvoidlistkh(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo,Stringid){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMyszbwhereysid="+id+")A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromyszbwhereysid="+id; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Yszb>list=newArrayList<Yszb>(); while(rs.next()){ Yszbbean=newYszb(); bean.setId(rs.getInt("id")); bean.setBenginhour(rs.getString("benginhour")); bean.setEndhour(rs.getString("endhour")); bean.setDay(rs.getDate("days")); bean.setYsid(rs.getInt("ysid")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("myyszblist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }}4.2.2护士值班编码实现packagecom.elc.servlet;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.elc.bean.Hszb;importcom.elc.util.DBUtil;importcom.elc.util.Page;/***ServletimplementationclassHszbServlet*/publicclassHszbServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L;/***@seeHttpServlet#HttpServlet()*/publicHszbServlet(){super();//TODOAuto-generatedconstructorstub} /** *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse) */protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } /** *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse *response) */ protectedvoiddoPost(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("UTF-8"); Stringmode=request.getParameter("mode"); StringpageNoStr=request.getParameter("pageNoStr")==null?"1" :request.getParameter("pageNoStr"); intm=0; intn=200;//每页大小 intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首页 }else{ m=(pageNo-1)*n; } DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("mylist")){ HttpSessionsession=request.getSession(); Stringid=session.getAttribute("id").toString(); this.listkh(n,m,conn,request,response,pageNo,id); } if(mode!=null&&mode.equals("add")){ Stringhsid=request.getParameter("hsid"); Stringdays=request.getParameter("days"); Stringbenginhour=request.getParameter("benginhour"); Stringendhour=request.getParameter("endhour"); StringsqlAdd="insertintohszb(hsid,days,benginhour,endhour)values(" +hsid+",'"+days+"','"+benginhour+"','"+endhour+"')"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("deletes")){ Stringid=request.getParameter("id"); Stringsqldelete="deletefromhszbwhereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete); this.list(n,m,conn,request,response,pageNo); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } } publicvoidlist(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMhszb)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromhszb"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Hszb>list=newArrayList<Hszb>(); while(rs.next()){ Hszbbean=newHszb(); bean.setId(rs.getInt("id")); bean.setBenginhour(rs.getString("benginhour")); bean.setEndhour(rs.getString("endhour")); bean.setDay(rs.getDate("days")); bean.setHsid(rs.getInt("hsid")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("hszblist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } publicvoidlistkh(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo,Stringid){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMhszbwherehsid="+id+")A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromhszbwherehsid="+id; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Hszb>list=newArrayList<Hszb>(); while(rs.next()){ Hszbbean=newHszb(); bean.setId(rs.getInt("id")); bean.setBenginhour(rs.getString("beginhour")); bean.setEndhour(rs.getString("endhour")); bean.setDay(rs.getDate("days")); bean.setHsid(rs.getInt("hsid")); list.add(bean); } Pagepage=newPage(); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); page.setList(list); request.setAttribute("page",page); request.getRequestDispatcher("myhszblist.jsp").forward(request, response); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }}4.2.3护士处理编码实现packagecom.elc.servlet;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.elc.bean.Cz;importcom.elc.bean.Hszb;importcom.elc.util.DBUtil;importcom.elc.util.Page;/***ServletimplementationclassCzServlet*/publicclassCzServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L;/***@seeHttpServlet#HttpServlet()*/publicCzServlet(){super();//TODOAuto-generatedconstructorstub} /** *@seeHttpServlet#doGet(HttpServletRequestrequest,HttpServletResponseresponse) */protectedvoiddoGet(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub this.doPost(request,response); } /** *@seeHttpServlet#doPost(HttpServletRequestrequest,HttpServletResponse *response) */ protectedvoiddoPost(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub request.setCharacterEncoding("UTF-8"); Stringmode=request.getParameter("mode"); StringpageNoStr=request.getParameter("pageNoStr")==null?"1" :request.getParameter("pageNoStr"); intm=0; intn=200;//每页大小 intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首页 }else{ m=(pageNo-1)*n; } DBUtilutil=newDBUtil(); Connectionconn=util.openConnection(); try{ if(mode!=null&&mode.equals("list")){ this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("mylist")){ HttpSessionsession=request.getSession(); Stringid=session.getAttribute("id").toString(); this.listkh(n,m,conn,request,response,pageNo,id); } if(mode!=null&&mode.equals("add")){ Stringmid=request.getParameter("mid"); HttpSessionsession=request.getSession(); Stringhsid=session.getAttribute("id").toString(); Stringno=request.getParameter("no"); Stringdescs=request.getParameter("descs"); StringsqlAdd="insertintocz(mid,hsid,no,descs,times)values(" +mid+",'"+hsid+"','"+no+"','"+descs+"',getdate())"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlAdd); this.list(n,m,conn,request,response,pageNo); } if(mode!=null&&mode.equals("deletes")){ Stringid=request.getParameter("id"); Stringsqldelete="deletefromczwhereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete); this.list(n,m,conn,request,response,pageNo); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ util.closeConn(conn); } } publicvoidlist(intn,intm,Connectionconn,HttpServletRequestrequest, HttpServletResponseresponse,intpageNo){ Stringsql="SELECTTOP" +n +"*FROM(" +"SELECTROW_NUMBER()OVER(ORDERBYid)ASRowNumber,*FROMcz)A" +"WHERERowNumber>"+m; Stringsql2="selectcount(*)fromcz"; PreparedStatementpstmt1; inttotle=0; ResultSetrs=null; try{ pstmt1=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt1.executeQuery(); ResultSetrs2=pstmt2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论