版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊安徽工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)安徽工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)課題名稱醫(yī)院住院管理系統(tǒng)學(xué)院計(jì)算機(jī)學(xué)院班級(jí)姓名學(xué)號(hào)畢業(yè)設(shè)計(jì)(論文)的主要內(nèi)容:1、學(xué)習(xí)和掌握系統(tǒng)的開(kāi)發(fā)和技術(shù),按照軟件工程的思想對(duì)醫(yī)院住院管理系統(tǒng)進(jìn)行設(shè)計(jì)編碼和測(cè)試。2、系統(tǒng)能滿足實(shí)際運(yùn)行需求,能實(shí)現(xiàn)醫(yī)院住院管理的基本需求。3、要求軟件美觀,使用方便。4、完成一篇論文。篇幅為1.5到2萬(wàn)字左右,中外文摘要約300字,關(guān)鍵詞3到5個(gè)。5、完成與設(shè)計(jì)內(nèi)容有關(guān)的外文資料翻譯,譯文約5000字。6、提交帶有注釋的原程序清單。起止時(shí)間:年月日至年月日共周指導(dǎo)教師簽字系主任簽字院長(zhǎng)簽字共IV頁(yè)第PAGEIV頁(yè)摘要隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,計(jì)算機(jī)管理信息系統(tǒng)在企業(yè)管理中扮演著重要的角色。高效率、無(wú)差錯(cuò)的醫(yī)院住院管理系統(tǒng)的開(kāi)發(fā)適應(yīng)了時(shí)代的需要。該系統(tǒng)的主要目的是告別手工操作、安全快捷的保存數(shù)據(jù)信息、節(jié)約時(shí)間、從而提高快速和準(zhǔn)確性。醫(yī)院住院管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端程序的開(kāi)發(fā)兩個(gè)方面。為了更好的滿足醫(yī)護(hù)人員用戶的需求,本系統(tǒng)包括如下功能模塊:出入院管理、病人管理、病房管理、系統(tǒng)用戶管理模塊,每個(gè)模塊都有其獨(dú)自的功能,以達(dá)到更好的服務(wù)于用戶。系統(tǒng)采用B/S結(jié)構(gòu),用當(dāng)前最流行的JSP+SERVLETWEB開(kāi)發(fā)技術(shù)開(kāi)發(fā),系統(tǒng)架構(gòu)采用MVC模式,分層架構(gòu),其中持久層采用當(dāng)前流行的持久層框架Hibernate來(lái)實(shí)現(xiàn)。數(shù)據(jù)庫(kù)采用MySQL小型數(shù)據(jù)庫(kù),小巧方便使用。為了方便編碼的過(guò)程,系統(tǒng)引入日志,使用Log4j來(lái)記錄程序運(yùn)行日志,以方便程序調(diào)試和查看程序運(yùn)行信息。關(guān)鍵詞:醫(yī)院住院管理系統(tǒng);B/S;JAVAWEB開(kāi)發(fā)技術(shù);HIBERNATE;Log4jAbstractWiththedevelopmentandpopularizationofnetworktechnology,computermanagementinformationsysteminenterprisemanagementplaysanimportantrole.Efficient,error-freehospitalmanagementsystemdevelopmenttoadapttotheneedsofthetimes,thesystem'smainpurposeistobidfarewelltomanualoperation,thepreservationofsafeandefficientdata,savingtime,therebyenhancingthespeedandaccuracy.HospitalManagementSystemisatypicalmanagementinformationsystem(MIS),whichmainlyincludestheestablishmentandmaintenanceofback-enddatabaseandfrontenddevelopmentofthetwo.Inordertobettermeetthemedicalneedsofusers,thesystemincludesthefollowingfunctionalmodules:thehospitalmanagement,patientmanagement,wardmanagement,systemusermanagementmodule,eachmodulehasitsownfeaturestoachievebetterserviceUsers.SystemusestheB/Sstructure,withthemostpopularJSP+SERVLETWEBdevelopmentoftechnologydevelopment,systemarchitectureusingMVCmodel,layeredarchitecture,whichusesthepopularpersistenceframeworkHibernatetoachievepersistencelayer.MySQLdatabaseisasmalldatabaseandcompacteasytouse.Inordertofacilitatetheprocessofencoding,thesystemintroducedlogtorecordtheprogramrunswithLog4jloggingtofacilitatedebuggingandviewruninformation.Keywords:Hospitalmanagementsystem;B/S;JAVAWEBdevelopmenttechnology;HIBERNATE;Log4j目錄1.緒論 11.1系統(tǒng)開(kāi)發(fā)的意義 11.2系統(tǒng)開(kāi)發(fā)的目標(biāo) 11.3相關(guān)研究工作 22.開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具簡(jiǎn)介 32.1JAVA簡(jiǎn)介 32.1.1JAVA的概念 32.1.2JAVA的特點(diǎn) 32.2JAVAWEB開(kāi)發(fā)技術(shù)簡(jiǎn)介 42.2.1B/S結(jié)構(gòu) 42.2.2Servlet技術(shù) 52.2.3JSP技術(shù) 62.2.4Hibernate和Log4j簡(jiǎn)介 72.3MySQL簡(jiǎn)介 82.3.1MySQL概述 82.3.2MySQL的優(yōu)點(diǎn) 82.4TOMCAT簡(jiǎn)介 92.5Eclipse簡(jiǎn)介 103.可行性研究與需求分析 113.1可行性研究 113.1.1社會(huì)可行性分析 113.1.2技術(shù)可行性分析 113.1.3經(jīng)濟(jì)可行性 113.1.4可行性分析結(jié)論 123.2需求分析 123.2.1系統(tǒng)的目的 123.2.2目標(biāo) 133.3醫(yī)院住院管理系統(tǒng)數(shù)據(jù)流圖 134.總體設(shè)計(jì) 164.1系統(tǒng)總體設(shè)計(jì)思想 164.2系統(tǒng)功能模塊圖 174.3系統(tǒng)的流程圖 185.詳細(xì)設(shè)計(jì) 195.1數(shù)據(jù)庫(kù)設(shè)計(jì)的E-R圖 195.2數(shù)據(jù)庫(kù)設(shè)計(jì) 205.3輸入輸出設(shè)計(jì) 215.3.1輸入設(shè)計(jì) 215.3.2輸出設(shè)計(jì) 225.3.3輸入輸出的界面設(shè)計(jì) 225.4部分頁(yè)面和代碼設(shè)計(jì)、描述 225.4.1登錄功能及其相關(guān)設(shè)計(jì) 225.4.2入院登記及其相關(guān)設(shè)計(jì) 245.4.3出院操作及其相關(guān)設(shè)計(jì) 255.4.4病房信息管理及其相關(guān)設(shè)計(jì) 275.4.5病房信息查詢及其相關(guān)設(shè)計(jì) 285.4.6病人信息管理及其相關(guān)設(shè)計(jì) 295.4.7病人信息查詢及其相關(guān)設(shè)計(jì) 305.4.8系統(tǒng)用戶信息管理及其相關(guān)設(shè)計(jì) 315.4.9系統(tǒng)用戶信息查詢及其相關(guān)設(shè)計(jì) 325.5DAO層代碼設(shè)計(jì)與描述 336.系統(tǒng)測(cè)試 356.1功能測(cè)試 356.2測(cè)試結(jié)果 35結(jié)論 37致謝 38主要參考文獻(xiàn) 39附錄一實(shí)現(xiàn)本系統(tǒng)的部分源代碼 40附錄二外文資料翻譯 49外文原文 49中文譯文 54 共58頁(yè)第58頁(yè)1.緒論1.1系統(tǒng)開(kāi)發(fā)的意義目前,我國(guó)醫(yī)療衛(wèi)生制度和醫(yī)療保障制度的改革不斷深化,醫(yī)院也被迫向市場(chǎng)經(jīng)濟(jì)的海洋深處移動(dòng),經(jīng)驗(yàn)主義的管理方法已明顯表現(xiàn)出不科學(xué)、落后的弱點(diǎn),如何用最快捷的方式取得醫(yī)院運(yùn)行的各項(xiàng)指標(biāo),如何對(duì)醫(yī)院人,才、物進(jìn)行科學(xué)的成本核算,怎樣保證醫(yī)院醫(yī)療、教學(xué)、科研的質(zhì)量監(jiān)控,怎樣在醫(yī)院內(nèi),甚至院外實(shí)行信息交流、網(wǎng)上會(huì)診、繼續(xù)教育等一系列問(wèn)題都擺在醫(yī)院管理者和行政人員以及每位醫(yī)護(hù)人員的面前。因此,醫(yī)療衛(wèi)生事業(yè)發(fā)展和管理的信息化、數(shù)字化、網(wǎng)絡(luò)化、之間的關(guān)系,以及對(duì)醫(yī)院信息化、數(shù)字化、網(wǎng)絡(luò)化的要求,從來(lái)沒(méi)有像今天這樣感到迫切與巨大的壓力。醫(yī)院信息管理就是在這種情況下產(chǎn)生的一門(mén)應(yīng)用科學(xué)。一直以來(lái)醫(yī)院的管理都是手工操作。手工操作手續(xù)復(fù)雜,不方便管理,不能保證數(shù)據(jù)的準(zhǔn)確性和及時(shí)性,不僅浪費(fèi)人力、物力和時(shí)間,重要的是手工操作可能造成數(shù)據(jù)錄入的錯(cuò)誤,影響工作效率。隨著計(jì)算機(jī)性能不斷提高,價(jià)格不斷下降,計(jì)算機(jī)已在醫(yī)院醫(yī)療、教學(xué)、科研、管理等方面得到越來(lái)越廣泛的應(yīng)用。計(jì)算機(jī)化的醫(yī)院信息系統(tǒng)(HIS)已成為現(xiàn)代化醫(yī)院運(yùn)營(yíng)過(guò)程中必不可少的基礎(chǔ)設(shè)施與技術(shù)支撐環(huán)境。就好像一個(gè)現(xiàn)代化醫(yī)院的成功運(yùn)行離不開(kāi)功能完整、美觀舒適的建筑物、及時(shí)嫻熟的醫(yī)護(hù)人員、性能齊全、高精尖的醫(yī)療設(shè)備一樣,它也離不開(kāi)計(jì)算機(jī)的醫(yī)院信息系統(tǒng)。醫(yī)療行業(yè)是關(guān)系人類健康的重要事業(yè),醫(yī)院信息系統(tǒng)是醫(yī)療保險(xiǎn)體制的信息源頭,因此,醫(yī)院的信息化建設(shè)不僅是今后醫(yī)院發(fā)展的重要方向,也將是IT界關(guān)注的領(lǐng)域。一個(gè)設(shè)計(jì)合理、功能完善的檢驗(yàn)信息系統(tǒng),成為醫(yī)院網(wǎng)絡(luò)資源中的重要部分,在提高醫(yī)院醫(yī)療服務(wù)和檢驗(yàn)工作的科學(xué)管理方面具有重大意義。1.2系統(tǒng)開(kāi)發(fā)的目標(biāo)通過(guò)簡(jiǎn)單的需求分析,完成的醫(yī)院住院管理系統(tǒng),能夠?qū)崿F(xiàn)輔助醫(yī)院醫(yī)護(hù)人員工作,提高醫(yī)院醫(yī)護(hù)人員的工作效率。通過(guò)本系統(tǒng),能夠?qū)崿F(xiàn)對(duì)住院部門(mén)的病人和病房?jī)纱笮畔⒌墓芾戆ㄔ?、刪、改、查,減輕醫(yī)護(hù)人員的工作負(fù)擔(dān)。本系統(tǒng)提供強(qiáng)大的查詢功能,可以讓系統(tǒng)用戶根據(jù)各種不同的查詢條件查詢出相應(yīng)的數(shù)據(jù)。出入院操作能夠簡(jiǎn)單的實(shí)現(xiàn)病人的出入院操作,方便醫(yī)院醫(yī)護(hù)人員的操作,系統(tǒng)應(yīng)該界面美觀,操作簡(jiǎn)單,功能明確、完善。系統(tǒng)操作,應(yīng)該有很高的效率,數(shù)據(jù)庫(kù)操作方面應(yīng)該提高效率,不能反應(yīng)緩慢,這在系統(tǒng)搭建上要求合理、完善。通過(guò)建立該醫(yī)院住院管理系統(tǒng),采用計(jì)算機(jī)對(duì)醫(yī)院病房和病人進(jìn)行管理和查詢,進(jìn)一步提高醫(yī)院住院管理效益和現(xiàn)代化水平,幫助提高醫(yī)院住院管理工作人員工作效率,實(shí)現(xiàn)醫(yī)院住院管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化。系統(tǒng)應(yīng)該具有很好的擴(kuò)展性,這就要求系統(tǒng)架構(gòu)合理、可擴(kuò)展,充分考慮到以后的需求變化。設(shè)計(jì)良好的代碼允許更多的功能在必要時(shí)可以被插入到適當(dāng)?shù)奈恢弥?。這樣做的好處是為了應(yīng)對(duì)未來(lái)可能需要進(jìn)行的修改,這就需要系統(tǒng)設(shè)計(jì)時(shí)能夠有一個(gè)良好的軟件框架。系統(tǒng)的安全性,也是本次系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo),設(shè)計(jì)中要考慮到用戶的非法訪問(wèn),通過(guò)拒絕用戶的非法訪問(wèn)來(lái)保證用戶數(shù)據(jù)的安全和系統(tǒng)的安全。1.3相關(guān)研究工作為了順利完成基于醫(yī)院住院管理系統(tǒng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),我在畢業(yè)設(shè)計(jì)期間所做的研究工作如下:1.研究了相關(guān)文獻(xiàn)中關(guān)于醫(yī)院住院管理系統(tǒng)的內(nèi)容,了解需求、制定需求2.學(xué)習(xí)JAVAWEB開(kāi)發(fā)技術(shù),了解JSP、servlet、B/S架構(gòu)3.學(xué)習(xí)Hibernate持久層、Log4j日志的的使用4.學(xué)習(xí)WEB項(xiàng)目的搭建和MVC架構(gòu)模式5.設(shè)計(jì)醫(yī)院住院管理系統(tǒng)的體系結(jié)構(gòu)6.設(shè)計(jì)醫(yī)院住院管理系統(tǒng)的模塊及其界面2.開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具簡(jiǎn)介2.1JAVA簡(jiǎn)介2.1.1JAVA的概念JAVA是SUN公司于1995年5月推出的JAVA面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和JAVA平臺(tái)的總稱。Java是一種簡(jiǎn)單的,跨平臺(tái)的,面向?qū)ο蟮?,分布式的,解釋的,健壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語(yǔ)言。Java是一種編程語(yǔ)言,被特意設(shè)計(jì)用于互聯(lián)網(wǎng)的分布式環(huán)境。Java具有類似于C++語(yǔ)言的“形式和感覺(jué)”,但它要比C++語(yǔ)言更易于使用,而且在編程時(shí)徹底采用了一種“以對(duì)象為導(dǎo)向”的方式。使用Java編寫(xiě)的應(yīng)用程序,既可以在一臺(tái)單獨(dú)的電腦上運(yùn)行,也可以被分布在一個(gè)網(wǎng)絡(luò)的服務(wù)器端和客戶端運(yùn)行。另外,Java還可以被用來(lái)編寫(xiě)容量很小的應(yīng)用程序模塊或者applet,做為網(wǎng)頁(yè)的一部分使用。applet可使網(wǎng)頁(yè)使用者和網(wǎng)頁(yè)之間進(jìn)行交互式操作。Java也號(hào)稱是能跨平臺(tái)使用的語(yǔ)言,這主要是因?yàn)镴ava本身被編譯之后,并不是直接產(chǎn)生可執(zhí)行的碼,而是產(chǎn)生一種中間碼叫作ByteCode,這種碼必需在透過(guò)Java的直譯器來(lái)解讀它,才能夠真正的被執(zhí)行,所以只要平臺(tái)上裝有這種Java的直譯器,就能解讀ByteCode也就能執(zhí)行Java編譯過(guò)的程序,故與Java程序是在那種平臺(tái)上被編譯的,就完全沒(méi)有干系了。Java寫(xiě)出來(lái)的程序可分為兩類,分別是JavaApplet與一般的Application,而Application這一類就與一般的程序如C++的作用是比較類似的,是一個(gè)獨(dú)立可執(zhí)行的應(yīng)用程序,像HotJava是一個(gè)瀏覽器,且就是使用Java程序所發(fā)展出來(lái)的。最常見(jiàn)的Java程序包括應(yīng)用程序和applets。應(yīng)用程序是單獨(dú)的程序,諸如HotJava瀏覽器軟件就是用Java語(yǔ)言編寫(xiě)的。Applets類似于應(yīng)用程序,但是它們不能單獨(dú)運(yùn)行,Applets可以在支持Java的瀏覽器中運(yùn)行。Applet主要是內(nèi)置于HTML網(wǎng)頁(yè)中,在瀏覽時(shí)發(fā)揮作用。Java的目標(biāo)是為了滿足在一個(gè)充滿各式各樣不同種機(jī)器,不同操作系統(tǒng)平臺(tái)的網(wǎng)絡(luò)環(huán)境中開(kāi)發(fā)軟件。利用Java程序語(yǔ)言,可以在網(wǎng)頁(yè)中加入各式各樣的動(dòng)態(tài)效果??梢苑派弦欢蝿?dòng)畫(huà),加入聲音,也可以建立交互式網(wǎng)頁(yè)等。2.1.2JAVA的特點(diǎn)1.平臺(tái)無(wú)關(guān)性平臺(tái)無(wú)關(guān)性是指Java能運(yùn)行于不同的平臺(tái)。Java引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的Java接口之間。使用Java編寫(xiě)的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與機(jī)器無(wú)關(guān),Java虛擬機(jī)(JavaVirtualMachine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能,提供于不同平臺(tái)的接口的。2.安全性Java的編程類似C++,學(xué)習(xí)過(guò)C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過(guò)指針侵入系統(tǒng)。Java對(duì)程序提供了安全管理器,防止程序的非法訪問(wèn)。面向?qū)ο驤ava吸取了C++面向?qū)ο蟮母拍睿瑢?shù)據(jù)封裝于類中,利用類的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過(guò)上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計(jì)和應(yīng)用上。Java提供了眾多的一般對(duì)象的類,通過(guò)繼承即可使用父類的方法。在Java中,類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類。Java提供的Object類及其子類的繼承關(guān)系如同一棵倒立的樹(shù)形,根類為Object類,Object類功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類。分布式Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。健壯性Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤。Java自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開(kāi)發(fā)Java應(yīng)用程序的周期。并且Java還提供了Null指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、Bytecode校驗(yàn)等功能。2.2JAVAWEB開(kāi)發(fā)技術(shù)簡(jiǎn)介2.2.1B/S結(jié)構(gòu)B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門(mén)的軟件,只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來(lái)越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實(shí)時(shí)刷新。B/S三層體系結(jié)構(gòu)采用三層客戶/服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界面層(Client)增加了一層結(jié)構(gòu),稱為中間件(Middleware),使整個(gè)體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲(chǔ)層三個(gè)不同的處理層次。三個(gè)層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中間件作為構(gòu)造三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺(tái),提供了以下主要功能:負(fù)責(zé)客戶機(jī)與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)庫(kù)的高效連接;提供一個(gè)三層結(jié)構(gòu)應(yīng)用的開(kāi)發(fā)、運(yùn)行、部署和管理的平臺(tái)。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能。在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成、對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行等工作全部由WebServer完成。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序是一個(gè)非常大的進(jìn)步。B/S結(jié)構(gòu)的主要特點(diǎn)是分布性強(qiáng)、維護(hù)方便、開(kāi)發(fā)簡(jiǎn)單且共享性強(qiáng)、總體擁有成本低。但數(shù)據(jù)安全性問(wèn)題、對(duì)服務(wù)器要求過(guò)高、數(shù)據(jù)傳輸速度慢、軟件的個(gè)性化特點(diǎn)明顯降低,這些缺點(diǎn)是有目共睹的,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過(guò)瀏覽器進(jìn)行大量的數(shù)據(jù)輸入或進(jìn)行報(bào)表的應(yīng)答、專用性打印輸出都比較困難和不便。此外,實(shí)現(xiàn)復(fù)雜的應(yīng)用構(gòu)造有較大的困難。雖然可以用ActiveX、Java等技術(shù)開(kāi)發(fā)較為復(fù)雜的應(yīng)用,但是相對(duì)于發(fā)展已非常成熟C/S的一系列應(yīng)用工具來(lái)說(shuō),這些技術(shù)的開(kāi)發(fā)復(fù)雜,并沒(méi)有完全成熟的技術(shù)工具供使用。2.2.2Servlet技術(shù)Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。Servlet是使用JavaServlet應(yīng)用程序設(shè)計(jì)接口(API)及相關(guān)類和方法的Java程序。除了JavaServletAPI,Servlet還可以使用用以擴(kuò)展和添加到API的Java類軟件包。Servlet在啟用Java的Web服務(wù)器上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。Javaservlet對(duì)于Web服務(wù)器就好象Javaapplet對(duì)于Web瀏覽器。Servlet裝入Web服務(wù)器并在Web服務(wù)器內(nèi)執(zhí)行,而applet裝入Web瀏覽器并在Web瀏覽器內(nèi)執(zhí)行。JavaServletAPI定義了一個(gè)servlet和Java使能的服務(wù)器之間的一個(gè)標(biāo)準(zhǔn)接口,這使得Servlets具有跨服務(wù)器平臺(tái)的特性。Servlet通過(guò)創(chuàng)建一個(gè)框架來(lái)擴(kuò)展服務(wù)器的能力,以提供在Web上進(jìn)行請(qǐng)求和響應(yīng)服務(wù)。當(dāng)客戶機(jī)發(fā)送請(qǐng)求至服務(wù)器時(shí),服務(wù)器可以將請(qǐng)求信息發(fā)送給Servlet,并讓Servlet建立起服務(wù)器返回給客戶機(jī)的響應(yīng)。當(dāng)啟動(dòng)Web服務(wù)器或客戶機(jī)第一次請(qǐng)求服務(wù)時(shí),可以自動(dòng)裝入Servlet。裝入后,Servlet繼續(xù)運(yùn)行直到其它客戶機(jī)發(fā)出請(qǐng)求。圖2-1Servlet運(yùn)行過(guò)程2.2.3JSP技術(shù)JSP(JavaServerPages)技術(shù)是由Sun公司發(fā)布的用于開(kāi)發(fā)動(dòng)態(tài)Web應(yīng)用的一項(xiàng)技術(shù)。它以其簡(jiǎn)單易學(xué)、跨平臺(tái)的特性,在眾多動(dòng)態(tài)Web應(yīng)用程序設(shè)計(jì)語(yǔ)言中異軍突起,在短短幾年中已經(jīng)形成了一套完整的規(guī)范,并廣泛地應(yīng)用于電子商務(wù)等各個(gè)領(lǐng)域中。在國(guó)內(nèi),JSP現(xiàn)在也得到了比較廣泛的重視,得到了很好的發(fā)展,越來(lái)越多的動(dòng)態(tài)網(wǎng)站開(kāi)始采用JSP技術(shù)。JSP技術(shù)可以以一種簡(jiǎn)捷而快速的方法生成Web頁(yè)面。使用JSP技術(shù)的Web頁(yè)面可以很容易地顯示動(dòng)態(tài)內(nèi)容。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器、應(yīng)用服務(wù)器、瀏覽器和開(kāi)發(fā)工具共同工作。JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。2.2.4Hibernate和Log4j簡(jiǎn)介Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate作為一種ORM技術(shù),實(shí)現(xiàn)了對(duì)象模型和關(guān)系型數(shù)據(jù)庫(kù)之間的映射。Hibernate將JavaBean對(duì)象和數(shù)據(jù)庫(kù)的表建立了對(duì)應(yīng)關(guān)系。這樣程序員在操作數(shù)據(jù)庫(kù)時(shí),就不需要再使用JDBC調(diào)用SQL語(yǔ)句,而可以直接操作JavaBean對(duì)象,進(jìn)行數(shù)據(jù)庫(kù)操作。Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。圖2-2Hibernate接口關(guān)系圖Log4j是Apache的一個(gè)開(kāi)放源代碼項(xiàng)目,通過(guò)使用Log4j,我們可以控制日志信息輸送的目的地是控制臺(tái)、文件、GUI組件、甚至是套接口服務(wù)器、NT的事件記錄器、UNIXSyslog守護(hù)進(jìn)程等;我們也可以控制每一條日志的輸出格式;通過(guò)定義每一條日志信息的級(jí)別,我們能夠更加細(xì)致地控制日志的生成過(guò)程。最令人感興趣的就是,這些可以通過(guò)一個(gè)配置文件來(lái)靈活地進(jìn)行配置,而不需要修改應(yīng)用的代碼。 圖2-3Log4j類圖2.3MySQL簡(jiǎn)介2.3.1MySQL概述MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言--結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司,在2008年1月16號(hào)被Sun公司收購(gòu)。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。如雅虎、阿爾卡特—朗訊、Google公司、諾基亞公司、百度等公司就采用了MySQL數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)可以稱得上是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù)。除了具有許多其它數(shù)據(jù)庫(kù)所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載。2.3.2MySQL的優(yōu)點(diǎn)1、可移植性使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。2、可擴(kuò)展性和靈活性MySQL可以支持UNIX、Linux和SUNOS以及Windows等多種操作系統(tǒng)平臺(tái)。在一個(gè)操作系統(tǒng)中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他操作系統(tǒng)。MySQL作為開(kāi)源性質(zhì)的數(shù)據(jù)庫(kù)服務(wù)器,可以為那些想要增加獨(dú)特需求的用戶提供完全定制的功能。3、強(qiáng)大的數(shù)據(jù)保護(hù)功能MySQL有一個(gè)非常靈活且安全的權(quán)限和密碼系統(tǒng)。為確保只有獲授權(quán)用戶才能進(jìn)入該數(shù)據(jù)庫(kù)服務(wù)器,所有的密碼傳輸均采用加密形式,同時(shí)也提供了SSH和SSI。支持,以實(shí)現(xiàn)安全和可靠的連接。MySQL強(qiáng)大的數(shù)據(jù)加密和解密功能,可以保證敏感數(shù)據(jù)不受未經(jīng)授權(quán)的訪問(wèn)。4、支持大型的數(shù)據(jù)庫(kù)雖然對(duì)于用PHP編寫(xiě)的網(wǎng)頁(yè)來(lái)說(shuō),只要能夠存放數(shù)百條以上的記錄數(shù)據(jù)就是夠了,但MySQL可以方便地支持上千萬(wàn)條記錄的數(shù)據(jù)庫(kù)。作為一個(gè)開(kāi)放源代碼的數(shù)據(jù)庫(kù),MySQL可以針對(duì)不同的應(yīng)用進(jìn)行相應(yīng)的修改。5、超強(qiáng)的穩(wěn)定性MySQL擁有一個(gè)非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用而不必?fù)?dān)心其穩(wěn)定性。線程是輕量級(jí)的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不占用過(guò)多的系統(tǒng)資源。用多線程和C語(yǔ)言實(shí)現(xiàn)的MySQL能很容易地充分利用CPU。6、強(qiáng)大的查詢功能MySQL支持查詢的select和where語(yǔ)句的全部運(yùn)算符和函數(shù),并且可以在同一查詢中混用來(lái)自不同數(shù)據(jù)庫(kù)的表,從而使得查詢變得快捷、方便。2.4TOMCAT簡(jiǎn)介T(mén)omcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,是開(kāi)發(fā)和調(diào)試JSP程序的首選。他運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能。Tomcat是一個(gè)免費(fèi)的開(kāi)放源代碼的Servlet容器,它是Apache軟件基金會(huì)(ApacheSoftwareFoundation)的一個(gè)頂級(jí)項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat6支持最新的Servlet2.5和JSP2.1規(guī)范。因?yàn)門(mén)omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛(ài)好者的喜愛(ài),并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web服務(wù)器。Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache,我們可以將Apache和Tomcat集成在一起使用,Apache作為HTTPWeb服務(wù)器,Tomcat作為Web容器。圖2-4Tomcat服務(wù)器接受客戶請(qǐng)求并做出響應(yīng)的過(guò)程2.5Eclipse簡(jiǎn)介Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(JavaDevelopmentTools,JDT)Eclipse是由一個(gè)很小的核心和基于這個(gè)核心之上的大量插件組成,這種插件式結(jié)構(gòu)給當(dāng)時(shí)開(kāi)發(fā)社區(qū)帶來(lái)了沖擊,可以使用大量插件來(lái)進(jìn)行擴(kuò)展開(kāi)發(fā)。Eclipse對(duì)內(nèi)存控制很好,Eclipse對(duì)這些插件的調(diào)用是動(dòng)態(tài)的,也就是說(shuō)在使用這個(gè)插件的時(shí)候才會(huì)被調(diào)入內(nèi)存,如果不去使用就不會(huì)占用內(nèi)存,而且Eclipse會(huì)在適當(dāng)時(shí)候?qū)㈤L(zhǎng)時(shí)間不使用的插件清理出內(nèi)存。Eclipse擁有漂亮的開(kāi)發(fā)界面,是基于SWT開(kāi)發(fā)。標(biāo)準(zhǔn)部件庫(kù)(StandardWidgetToolkit,SWT)是基于Java環(huán)境下的新類庫(kù),它提供了Java環(huán)境下的圖形編程接口,SWT中的圖形庫(kù)和工具包取代了AWT和SWING。SWT直接調(diào)用操作系統(tǒng)的圖形庫(kù),這使得Java程序的運(yùn)行速度得到了保證,但是SWT的缺點(diǎn)是支持的平臺(tái)太少,Eclipse也可以開(kāi)發(fā)基于SWING的程序。Eclipse還包括插件開(kāi)發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。3.可行性研究與需求分析3.1可行性研究可行性分析是對(duì)現(xiàn)行系統(tǒng)進(jìn)行初步調(diào)查和研究之后的結(jié)論,它反映了新系統(tǒng)開(kāi)發(fā)策略。下面分別從社會(huì)可行性、技術(shù)可行性以及經(jīng)濟(jì)可行性三方面進(jìn)行可行性分析。3.1.1社會(huì)可行性分析由于醫(yī)院住院病人數(shù)量眾多,因而通過(guò)電腦化操作可以減少紙張的使用,同時(shí)由于數(shù)據(jù)直接通過(guò)局域網(wǎng)傳輸,可以減少信息傳遞時(shí)間,提高效率,同時(shí)也方便醫(yī)生,病人搜查相關(guān)住院信息,提高醫(yī)院工作透明度和工作效率。因此從社會(huì)可行性分析角度來(lái)說(shuō),該系統(tǒng)的開(kāi)發(fā)和設(shè)計(jì)是可行的。3.1.2技術(shù)可行性分析本系統(tǒng)是一個(gè)基于B/S結(jié)構(gòu)的醫(yī)院住院信息管理系統(tǒng),采用面向?qū)ο蠹夹g(shù)、數(shù)據(jù)庫(kù)技術(shù)、各種JAVA流行框架的應(yīng)用等JAVAWEB先進(jìn)技術(shù)開(kāi)發(fā)的應(yīng)用程序,現(xiàn)有的開(kāi)發(fā)技術(shù)已非常成熟,且被廣泛應(yīng)用于各行各業(yè),利用現(xiàn)有技術(shù)完全可以達(dá)到功能目標(biāo)。其中軟件主要使用Eclipse、TOMCAT二者都是開(kāi)源免費(fèi)開(kāi)發(fā)組件,數(shù)據(jù)庫(kù)采用MySQL。該管理系統(tǒng)以JAVA為主要開(kāi)發(fā)語(yǔ)言,通過(guò)DAO方式與后臺(tái)數(shù)據(jù)庫(kù)MySQL相連接,建立了一個(gè)基于B/S(瀏覽器/服務(wù)器)的數(shù)據(jù)庫(kù)應(yīng)用管理系統(tǒng)。維護(hù)工作方便,由于MySQL的易用性,使得后臺(tái)的操作十分便捷,操作人員可以在短時(shí)間內(nèi)完全掌握系統(tǒng)的維護(hù)工作。在硬件方面,隨著它的不斷發(fā)展,給設(shè)計(jì)人員更大的靈活性,使研制周期變短,使復(fù)雜的設(shè)計(jì)輕而易舉得以實(shí)現(xiàn)。醫(yī)院住院管理系統(tǒng)在技術(shù)可行性上完全可以勝任,由于本醫(yī)院住院管理系統(tǒng),采用MySQL數(shù)據(jù)庫(kù),以及JAVA語(yǔ)言。JAVA語(yǔ)言的跨平臺(tái)、安全性等特性,和眾多優(yōu)秀開(kāi)源的框架的使用,因此在技術(shù)可行性上完全能夠完成。3.1.3經(jīng)濟(jì)可行性在經(jīng)濟(jì)上,本系統(tǒng)只是對(duì)醫(yī)院中的住院部進(jìn)行設(shè)計(jì),醫(yī)院住院部門(mén)是醫(yī)院必不可少的部分,是醫(yī)院主要的收入來(lái)源,通過(guò)本系統(tǒng)的開(kāi)發(fā)設(shè)計(jì),使得醫(yī)院住院管理更加流程化,方便,減輕醫(yī)院住院部門(mén)的壓力。除此之外,在可擴(kuò)充性方面,系統(tǒng)采用生命周期法把一個(gè)復(fù)雜的系統(tǒng)開(kāi)發(fā)工作分解成一些相對(duì)獨(dú)立的部分,可以分階段實(shí)施,為以后的擴(kuò)充提供方便,隨著醫(yī)院規(guī)模的擴(kuò)大,可以擴(kuò)充其它的功能,而不須對(duì)系統(tǒng)的軟硬件作大的改動(dòng),從而滿足中小型醫(yī)院擴(kuò)建的要求。采用本系統(tǒng)后,醫(yī)院不但可以減少醫(yī)院工作人員的工作量,減少工作人員數(shù)量,還可以提高工作效率,減少病人等待時(shí)間,從而更有利于醫(yī)院的發(fā)展和以后的競(jìng)爭(zhēng)。本系統(tǒng)對(duì)設(shè)備要求不高,普通的服務(wù)器和幾臺(tái)客戶機(jī)完全可以勝任本系統(tǒng)的運(yùn)行,因此在設(shè)備費(fèi)用方面將不會(huì)十分巨大。軟件開(kāi)發(fā)過(guò)程中,主要是針對(duì)住院管理部門(mén)過(guò)程中的開(kāi)發(fā)及后臺(tái)業(yè)務(wù)管理。住院管理部門(mén)是醫(yī)院人流量最大,也最頻繁的,一個(gè)好的信息管理系統(tǒng)將顯著提高醫(yī)院住院部門(mén)的工作效率,從而進(jìn)一步提高醫(yī)院的經(jīng)濟(jì)效益,而傳統(tǒng)的手工操作不僅效率低下、工作人員容易犯錯(cuò),而且不會(huì)提高醫(yī)院的經(jīng)濟(jì)效益。本系統(tǒng)設(shè)計(jì)時(shí)從用戶角度出發(fā),界面美觀,操作可視化,提供很多的提示信息,管理流程簡(jiǎn)單易懂,對(duì)醫(yī)院工作人員來(lái)說(shuō)容易上手。另外,系統(tǒng)開(kāi)發(fā)時(shí),充分考慮到,系統(tǒng)以后的可能擴(kuò)展,因此對(duì)于二次開(kāi)發(fā),將會(huì)更加方便,也即是說(shuō),系統(tǒng)的適應(yīng)性很強(qiáng),可以長(zhǎng)期使用。最后,對(duì)于每個(gè)住院部門(mén),可以根據(jù)自己需要,配置性能一般的計(jì)算機(jī)做為終端,向服務(wù)器存儲(chǔ)數(shù)據(jù)或搜索數(shù)據(jù)。根據(jù)分析研究,使用本套住院信息管理系統(tǒng)對(duì)于整個(gè)住院部門(mén)來(lái)說(shuō)并不是一個(gè)很大的負(fù)擔(dān),因而在經(jīng)濟(jì)上是可行的。3.1.4可行性分析結(jié)論通過(guò)在社會(huì)、技術(shù)、經(jīng)濟(jì)三方面的可行性研究分析,發(fā)現(xiàn)系統(tǒng)的開(kāi)發(fā)滿足這三方面的要求,因此一致認(rèn)為系統(tǒng)應(yīng)該立即開(kāi)發(fā)。3.2需求分析3.2.1系統(tǒng)的目的利用計(jì)算機(jī)管理,使醫(yī)院的日常工作簡(jiǎn)單化和規(guī)范化,縮短住院辦手續(xù)的時(shí)間,同時(shí)對(duì)員工的管理工作增加了透明度,進(jìn)而使醫(yī)院的各項(xiàng)資源得到更加充分的利用。具體的目的包括:(1)加快辦理病人入院、出院的速度,實(shí)現(xiàn)病人的資料在住院的全過(guò)程中實(shí)現(xiàn)信息化管理;(2)準(zhǔn)確記錄病人和床位的各項(xiàng)信息,并提供全方位的查詢功能,讓病人、醫(yī)生、護(hù)士,能夠及時(shí)準(zhǔn)確的掌握病人和床位的各種信息,從而有效提高工作效率,縮短工作時(shí)間。(3)系統(tǒng)具有一定的安全性和運(yùn)行穩(wěn)定性、可擴(kuò)展性。系統(tǒng)需要醫(yī)院?jiǎn)T工輸入賬號(hào)和密碼才能操作,可以避免其它人員的惡意操作給醫(yī)院信息帶來(lái)的損失。(4)系統(tǒng)能夠提供一個(gè)界面友好、功能完善的信息管理系統(tǒng),方面醫(yī)護(hù)人員學(xué)習(xí)和操作,盡可能的簡(jiǎn)化醫(yī)院操作,減少醫(yī)護(hù)人員學(xué)習(xí)和掌握系統(tǒng)的時(shí)間。3.2.2目標(biāo)本系統(tǒng)主要實(shí)現(xiàn)與病人相關(guān)的各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化,本住院管理系統(tǒng)主要完成的功能有:★出入院管理模塊。包括入院登記、病人出院操作?!锊》抗芾砟K。包括對(duì)病房的增刪改查(CRUD)操作,支持多種查詢條件★病人管理模塊。包括對(duì)病人信息的維護(hù):增刪改查操作。支持多種查詢條件★系統(tǒng)管理模塊。包括對(duì)修改用戶、添加用戶、刪除用戶、退出系統(tǒng)★系統(tǒng)功能模塊。包括首頁(yè)、前進(jìn)、后退、刷新等操作和顯示當(dāng)前時(shí)間3.3醫(yī)院住院管理系統(tǒng)數(shù)據(jù)流圖管理員登陸系統(tǒng)醫(yī)護(hù)人員登陸系統(tǒng)管理員登陸系統(tǒng)醫(yī)護(hù)人員登陸系統(tǒng) 醫(yī)院住院管理系統(tǒng)醫(yī)院住院管理系統(tǒng)用戶信息用戶信息病房信息病人信息病人出入院信息 圖3-1醫(yī)院住院管理系統(tǒng)頂層對(duì)病人信息的維護(hù)、CRUD操作醫(yī)護(hù)人員登陸系統(tǒng)對(duì)病人信息的維護(hù)、CRUD操作醫(yī)護(hù)人員登陸系統(tǒng) 對(duì)病房信息的維護(hù)、CRUD操作入院登記出院操作對(duì)病房信息的維護(hù)、CRUD操作入院登記出院操作病人信息管理病房信息管理出入院管理病人信息管理病房信息管理出入院管理病房信息病房信息病人信息病人出入院信息用戶信息 系統(tǒng)用戶系統(tǒng)用戶管理對(duì)病房信息的維護(hù)、CRUD操作對(duì)病房信息的維護(hù)、CRUD操作管理員登陸系統(tǒng)管理員登陸系統(tǒng)圖3-2醫(yī)院住院管理系統(tǒng)第一層病人信息表、病人-病房對(duì)應(yīng)表、病房信息表醫(yī)護(hù)人員病人信息表、病人-病房對(duì)應(yīng)表、病房信息表醫(yī)護(hù)人員輸入病人詳細(xì)信息輸入病人詳細(xì)信息入院登記病人-病房對(duì)應(yīng)表、病房信息表病人-病房對(duì)應(yīng)表、病房信息表根據(jù)病人信息設(shè)置各種查詢條件,查詢病人信息學(xué)詳細(xì)信息根據(jù)病人信息設(shè)置各種查詢條件,查詢病人信息學(xué)詳細(xì)信息出院操作病房信息管理病房信息管理病房信息表病房信息表根據(jù)病人信息設(shè)置各種查詢條件,查詢病人信息學(xué)詳細(xì)信息根據(jù)病人信息設(shè)置各種查詢條件,查詢病人信息學(xué)詳細(xì)信息對(duì)病房信息進(jìn)行管理,增刪改操作詳細(xì)信息病房信息查詢病房信息查詢病房信息表通過(guò)設(shè)置各種查詢條件,方便查詢操作病房信息表通過(guò)設(shè)置各種查詢條件,方便查詢操作病人信息管理病人信息管理病人信息表對(duì)病人信息進(jìn)行管理,增刪改操作病人信息表對(duì)病人信息進(jìn)行管理,增刪改操作詳細(xì)信息病人信息查詢病人信息查詢病人信息表通過(guò)設(shè)置各種查詢條件,方便查詢操作病人信息表通過(guò)設(shè)置各種查詢條件,方便查詢操作管理員管理員用戶信息表用戶信息管理用戶信息表用戶信息管理對(duì)用戶信息進(jìn)行管理,增刪改操作對(duì)用戶信息進(jìn)行管理,增刪改操作學(xué)詳細(xì)信息用戶信息管理用戶信息管理用戶信息表用戶信息表根據(jù)病人信息設(shè)置各種查詢條件,查詢病人信息學(xué)詳細(xì)信息根據(jù)病人信息設(shè)置各種查詢條件,查詢病人信息學(xué)詳細(xì)信息通過(guò)設(shè)置各種查詢條件,方便查詢操作詳細(xì)信息圖3-3醫(yī)院住院管理系統(tǒng)第二層4.總體設(shè)計(jì)4.1系統(tǒng)總體設(shè)計(jì)思想系統(tǒng)采用JSP+SERVLET開(kāi)發(fā),采用當(dāng)前最流行的JAVAWEB開(kāi)發(fā)模式MVC,采用分層的思想,從系統(tǒng)中分出持久層,使用Hibernate作為持久層的開(kāi)發(fā)工具,MVC開(kāi)發(fā)模式流程圖如下所示:(控制器)(控制器)接受用戶請(qǐng)求調(diào)用模型響應(yīng)用戶請(qǐng)求選擇視圖顯示響應(yīng)結(jié)果(視圖)顯示模型的業(yè)務(wù)數(shù)據(jù)接受用戶請(qǐng)求把用戶輸入數(shù)據(jù)傳給控制器(模型)包含業(yè)務(wù)數(shù)據(jù)響應(yīng)業(yè)務(wù)數(shù)據(jù)查詢處理業(yè)務(wù)邏輯通知視圖業(yè)務(wù)數(shù)據(jù)更新方法調(diào)用選擇視圖業(yè)務(wù)處理用戶請(qǐng)求業(yè)務(wù)數(shù)據(jù)查詢通知業(yè)務(wù)數(shù)據(jù)更新圖4-1MVC流程圖控制層獲取持久層dao時(shí),采用工廠模式,即先初始化dao實(shí)例放到工廠中,然后如果控制層或者視圖層獲取訪問(wèn)某個(gè)表的dao的話,即通過(guò)工廠獲取該dao的實(shí)例。系統(tǒng)模塊功能分開(kāi)開(kāi)發(fā),容易擴(kuò)展,每個(gè)模塊功能單獨(dú)、明確。為了能夠?qū)崿F(xiàn)分頁(yè)顯示信息,除了數(shù)據(jù)庫(kù)中采用分頁(yè)查詢外,系統(tǒng)中封裝分頁(yè)信息類,這樣,每次訪問(wèn)數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)時(shí),就必須先構(gòu)造分頁(yè)信息對(duì)象,如此實(shí)現(xiàn)查詢分頁(yè)顯示功能。通過(guò)構(gòu)造過(guò)濾器,來(lái)加強(qiáng)系統(tǒng)的安全性和適用性,本系統(tǒng)中通過(guò)tomcat配置了兩個(gè)過(guò)濾器,一個(gè)是編碼過(guò)濾器,已解決普遍存在的中文亂碼問(wèn)題,另一個(gè)是URL地址過(guò)濾器,為了能夠防止外部用戶的不合法的訪問(wèn),使系統(tǒng)更加安全和數(shù)據(jù)更加安全。最主要的是,通過(guò)一個(gè)合理的架構(gòu)設(shè)計(jì),以使系統(tǒng)達(dá)到一個(gè)很好的可擴(kuò)展性。4.2系統(tǒng)功能模塊圖住院管理系統(tǒng)住院管理系統(tǒng)用戶信息管理系統(tǒng)用戶管理病人管理病房管理出入院管理用戶信息管理系統(tǒng)用戶管理病人管理病房管理出入院管理修改用戶信息新增用戶信息刪除用戶信息批量刪除用戶信息修改用戶信息新增用戶信息刪除用戶信息批量刪除用戶信息病人信息管理病人信息管理 批量刪除病人信息刪除病人信息新增病人信息修改病人信息批量刪除病人信息刪除病人信息新增病人信息修改病人信息病房信息查詢病房信息管理出院操作入院登記病房信息查詢病房信息管理出院操作入院登記病人信息查詢病人信息查詢按用戶名查詢按用戶姓名和性別查詢按用戶名查詢按用戶姓名和性別查詢按病房類型和病房狀態(tài)查詢按病房類型和病房狀態(tài)查詢按病人姓名和病人性別查詢病人信息查詢按科室名稱查詢按病人姓名和病人性別查詢病人信息查詢按科室名稱查詢按病房編號(hào)查詢批量刪除病房信息刪除病房信息修改病房信息新增病房信息按病房編號(hào)查詢批量刪除病房信息刪除病房信息修改病房信息新增病房信息按病人編號(hào)查詢按病人編號(hào)查詢按病房編號(hào)查詢按病房編號(hào)查詢圖4-2系統(tǒng)功能模塊圖4.3系統(tǒng)的流程圖NN輸入是否正確登陸界面輸入是否正確登陸界面輸入用戶名和密碼輸入用戶名和密碼YY用戶類型用戶類型醫(yī)護(hù)人員醫(yī)護(hù)人員病人管理病房管理出入院管理病人管理病房管理出入院管理管理員管理員系統(tǒng)用戶管理病人信息管理病人信息查詢病房信息查詢病房信息管理出院操作入院登記系統(tǒng)用戶管理病人信息管理病人信息查詢病房信息查詢病房信息管理出院操作入院登記病人-病房對(duì)應(yīng)信息病房信息病人信息病人-病房對(duì)應(yīng)信息病房信息病人信息病房信息管理病房信息管理系統(tǒng)用戶信息系統(tǒng)用戶信息病房信息查詢病房信息查詢圖4-3系統(tǒng)流程圖5.詳細(xì)設(shè)計(jì)5.1數(shù)據(jù)庫(kù)設(shè)計(jì)的E-R圖1)實(shí)體及其屬性·病人:住院編號(hào),病人姓名,病人性別,病人入院時(shí)間,病人婚姻狀態(tài),病人出生地·病房:病房編號(hào),病房類型,病房租金,病房狀態(tài),病房所屬科室,病房負(fù)責(zé)人,病房床位數(shù),病房醫(yī)生,病房醫(yī)生號(hào)碼。各個(gè)實(shí)體間有如下關(guān)系:·一個(gè)病人只能入住一個(gè)病房,而一個(gè)病房可以住多名病人2)E-R圖:見(jiàn)圖5-1,圖中的1表示實(shí)體與實(shí)體間的對(duì)應(yīng)關(guān)系是一對(duì)一,“m”“n”表示實(shí)體與實(shí)體間的關(guān)系是一對(duì)多。 入院時(shí)間病人性別病人姓名住院編號(hào)ID入院時(shí)間病人性別病人姓名住院編號(hào)ID 出生地婚姻狀態(tài) 出生地婚姻狀態(tài) 病人病房病人病房nn入住入住1病房醫(yī)生病房負(fù)責(zé)人1病房醫(yī)生病房負(fù)責(zé)人病房醫(yī)生號(hào)碼病房床位數(shù)病房醫(yī)生號(hào)碼病房床位數(shù)病房所屬科室病房狀態(tài)病房租金病房編號(hào)病房類型ID病房所屬科室病房狀態(tài)病房租金病房編號(hào)病房類型ID圖5-1本系統(tǒng)數(shù)據(jù)庫(kù)E-R圖5.2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是整個(gè)程序設(shè)計(jì)的最關(guān)鍵部分。數(shù)據(jù)庫(kù)的設(shè)計(jì)是否合理,將對(duì)數(shù)據(jù)庫(kù)的大小、代碼的優(yōu)化起到至關(guān)重要的作用。因此,在設(shè)計(jì)程序前必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì),而在設(shè)計(jì)數(shù)據(jù)庫(kù)前必須對(duì)所要完成的功能進(jìn)行認(rèn)真的研究分析。根據(jù)系統(tǒng)的要求,需要建立存放系統(tǒng)使用過(guò)程中所用到的各種信息表:用戶表,病人信息表,病房信息表,病人病房對(duì)應(yīng)表。用戶表:用來(lái)存放使用此系統(tǒng)的用戶的信息。表具體結(jié)構(gòu)如表5-1所示。表5-1用戶信息表編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)可否為空說(shuō)明1IDint否2USER_NAMEvarchar否用戶名3USER_REALNAMEvarchar否用戶姓名4USER_TYPEtinyint否用戶類型,0為醫(yī)護(hù)人員,1為管理員5PASSWORDvarchar否密碼6USER_GENDERtinyint否用戶性別,0為男,1為女,默認(rèn)為男7USER_TELvarchar否用戶電話8USER_ADDRvarchar否用戶地址2)病人信息表:存放病人信息。表具體結(jié)構(gòu)如表5-2所示表5-2病人信息表編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)可否為空說(shuō)明1IDint否2HOSPITAL_NUMvarchar否病人住院編號(hào),由系統(tǒng)自動(dòng)生成3PATIENT_NAMEvarchar否病人姓名4PATIENT_GENDERtinyint否病人性別,0為男,1為女,默認(rèn)為男5PATIENT_BIRTHDAYdate可病人入院時(shí)間6PATIENT_MARRYtinyint可病人婚姻狀況,0為已婚,1為未婚7PATIENT_BIRTHPLACEvarchar可病人出生地3)病房信息表:存放病房信息。表具體結(jié)構(gòu)如表5-3所示。表5-3病房信息表編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)可否為空說(shuō)明1IDint否2WARD_NUMvarchar否病房編號(hào)3WARD_TYPEtinyint否房間類型,0為單人間,1為雙人間,2為四人間,3為六人間4WARD_RENTdouble否病房租金5WARD_STATEtinyint否病房使用狀態(tài),0為可用,1為已滿6WARD_DEPARTMENTtinyint否病房所屬科室,0為內(nèi)兒科,1為婦產(chǎn)科,2為外科,3為骨傷科7WARD_RESPNAMEvarchar否病房負(fù)責(zé)人8WARD_BEDNUMint否病房床位數(shù)9WARD_DOCTORvarchar否病房管理醫(yī)生10WARD_DOCTORTELvarcher否病房管理醫(yī)生號(hào)碼4)病人-病房對(duì)應(yīng)表:存放病人住院信息。表具體結(jié)構(gòu)如表5-4所示表5-4病人-病房對(duì)應(yīng)表編號(hào)字段名稱數(shù)據(jù)結(jié)構(gòu)可否為空說(shuō)明1IDint否2HOSPITAL_NUMvarchar否住院編號(hào)3WARD_NUMvarchar否病房編號(hào)5.3輸入輸出設(shè)計(jì)5.3.1輸入設(shè)計(jì)輸入數(shù)據(jù)是為了在計(jì)算機(jī)內(nèi)進(jìn)行加工處理而從外部接收數(shù)據(jù),它的正確與否對(duì)于整個(gè)系統(tǒng)質(zhì)量的好壞是起決定作用的。1)設(shè)計(jì)原則第一,盡量采用人機(jī)對(duì)話方式輸入數(shù)據(jù);第二,輸入格式的設(shè)計(jì)要便于填寫(xiě),便于歸檔,盡量減少漢字輸入以減輕輸入設(shè)計(jì)過(guò)程,保證輸入精度;第三,輸入數(shù)據(jù)的校核工作盡量由程序來(lái)保證。2)輸入設(shè)計(jì)輸入設(shè)備為鍵盤(pán)。輸入方式為文本輸入方式。5.3.2輸出設(shè)計(jì)輸出設(shè)計(jì)的目的是使系統(tǒng)能夠輸出滿足用戶需求的有用信息。1)設(shè)計(jì)原則第一,表格輸出要實(shí)用、方便、考慮用戶已經(jīng)習(xí)慣的輸出格式;第二,輸出表格要考慮系統(tǒng)發(fā)展的需要;第三,屏幕輸出格式要清晰,重要數(shù)據(jù)要顯示在突出位置上。2)輸出設(shè)備輸出設(shè)備為顯示器,輸出格式舉例如下:序號(hào)住院編號(hào)病人姓名入院時(shí)間費(fèi)用類型基本操作5.3.3輸入輸出的界面設(shè)計(jì)1)人機(jī)對(duì)話部分是人和計(jì)算機(jī)聯(lián)系的主要途徑,該部分主要從用戶操作方便的角度出發(fā)進(jìn)行考慮,主要有選項(xiàng)卡、數(shù)據(jù)列表框、數(shù)據(jù)組合框、文本框、按鈕等形式。2)設(shè)計(jì)的系統(tǒng)界面從簡(jiǎn),避免了復(fù)雜界面給用戶造成的困惑。輸入界面色彩鮮艷會(huì)給操作員帶來(lái)疲勞,界面灰暗又會(huì)影響用戶的心情,因此,在設(shè)計(jì)輸入界面時(shí)采用了柔和色彩,減輕了操作員因長(zhǎng)時(shí)間工作而感到的勞頓。5.4部分頁(yè)面和代碼設(shè)計(jì)、描述5.4.1登錄功能及其相關(guān)設(shè)計(jì)登錄界面設(shè)計(jì)圖5-2登錄界面功能描述輸入U(xiǎn)RL地址,訪問(wèn)住院管理系統(tǒng),首先映入眼簾的是一個(gè)登陸界面,如上圖所示。根據(jù)提示,不同的操作員輸入各自的用戶號(hào)和登錄口令。其中用戶號(hào)會(huì)根據(jù)輸入的正確與否從后臺(tái)數(shù)據(jù)庫(kù)“ACCOUNT”表中自動(dòng)提取。輸入正確,點(diǎn)擊“確認(rèn)”按鈕登錄系統(tǒng),轉(zhuǎn)到主界面;若用戶不存在,則提示用戶名錯(cuò)誤;若用戶密碼不正確,則提示密碼錯(cuò)誤;主要代碼設(shè)計(jì) //獲取用戶名和密碼 StringuserName=req.getParameter("username"); Stringpassword=req.getParameter("password"); log.debug("用戶"+userName+"請(qǐng)求登陸系統(tǒng)"); AccountDAOadao=(AccountDAO)DAOFactory.getDAO(AccountDAO.class.getName()); Accountaccount=adao.findAccountByName(userName); log.debug("用戶"+account); //提示錯(cuò)誤信息,如何提示 if(account==null){ req.setAttribute("errorMessage","用戶名錯(cuò)誤"); req.getRequestDispatcher("login.jsp").forward(req,resp); return; } if(!password.equals(account.getPassword())){ req.setAttribute("errorMessage","密碼錯(cuò)誤"); req.getRequestDispatcher("login.jsp").forward(req,resp); return; } req.getSession().setAttribute("isLogin",true); req.getSession().setAttribute("account",account); resp.sendRedirect("main.jsp"); 5.4.2入院登記及其相關(guān)設(shè)計(jì)入院登記界面設(shè)計(jì)圖5-3入院登記界面功能描述醫(yī)護(hù)人員通過(guò)登記病人的詳細(xì)信息,和為病人分配床位,實(shí)現(xiàn)病人的入院登記操作,這是病人住院的首要操作。登記時(shí)會(huì)檢測(cè)病房的狀態(tài),若病房已滿,則提示【住院失敗,該房間已滿】,若無(wú)該房間,則提示【住院失敗,無(wú)該房間號(hào)?。?!】,若登記成功,則會(huì)提示【登記成功?。?!】,登記成功后,將病人信息存入【病人信息表中】,并將病人入院信息存入【病人-病房對(duì)應(yīng)表中】,若此時(shí)房間滿員,則更改房間狀態(tài)為“已滿”。存病人信息時(shí),有系統(tǒng)自動(dòng)生成住院編號(hào),分配給該住院病人。入院登記主要代碼設(shè)計(jì) //獲得床位信息 ① StringwardNum=req.getParameter("wardnum"); WardInfoDAOwidao=(WardInfoDAO)DAOFactory.getDAO(WardInfoDAO.class.getName()); WardInfowi=widao.getWardInfoByWardNum(wardNum); //如果無(wú)該房間 if(wi==null){ resp.sendRedirect("inHospitalRegister.jsp?result=1"); return; }elseif(wi.getWardState()==1){//如果該房間狀態(tài)為已滿 resp.sendRedirect("inHospitalRegister.jsp?result=2"); return; } ② //系統(tǒng)自動(dòng)生成住院編號(hào) patientInfo.setHospitalNum(pidao.getNextHospitalNum()); //包存病人信息 pidao.savePatientInfo(patientInfo); PatientWardMapDAOpwmdao=(PatientWardMapDAO)DAOFactory.getDAO(PatientWardMapDAO.class.getName()); PatientWardMappwm=newPatientWardMap(); pwm.setHospitalNum(patientInfo.getHospitalNum()); pwm.setWardNum(req.getParameter("wardnum")); //病人入院,建立關(guān)系 pwmdao.savePatientWardMap(pwm); //更改房間狀態(tài) intcount=pwmdao.findPatientWardMapByWardNum(req.getParameter("wardnum")).size(); ("已入住"+count); ("一共能入住"+wi.getWardBednum()); if(wi.getWardBednum()==count){ wi.setWardState(1); widao.updateWardInfo(wi); } resp.sendRedirect("inHospitalRegister.jsp?success=true");5.4.3出院操作及其相關(guān)設(shè)計(jì)出院操作界面設(shè)計(jì)圖5-4出院操作界面功能描述醫(yī)護(hù)人員通過(guò)執(zhí)行此操作,進(jìn)行病人出院操作。該功能模塊提供三種查詢病人信息的方法,分別為根據(jù)病人姓名和性別來(lái)查詢、根據(jù)病房編號(hào)來(lái)查詢、根據(jù)住院編號(hào)來(lái)查詢,這樣可以讓醫(yī)護(hù)人員工作更加方便、快捷的完成操作。出院時(shí)更新該病人所住房間的狀態(tài)為可用,然后刪除【病人-病房對(duì)應(yīng)表中】相應(yīng)的病人入院記錄,并提示【出院操作成功!?。 ?,從而完成該病人的出院操作,方便、快捷、步驟簡(jiǎn)單。出院操作主要代碼設(shè)計(jì) if(search==0){ //查詢1 PatientInfopatientInfo=newPatientInfo(); StringpatientName=req.getParameter("patientname"); intpatientGender=newInteger(req.getParameter("patientgender")); patientInfo.setPatientName(patientName); patientInfo.setPatientGender(patientGender); patientInfos=pidao.queryListWithCondition(patientInfo); maps=pwmdao.findPatientWardMapByListPatientInfo(patientInfos); }elseif(search==1){ //查詢2 PatientInfopatientInfo=newPatientInfo(); StringhospitalNum=req.getParameter("hospitalnum"); patientInfo.setHospitalNum(hospitalNum); patientInfos=pidao.queryListWithCondition(patientInfo); maps=pwmdao.findPatientWardMapByListPatientInfo(patientInfos); }elseif(search==2){ //查詢3 StringwardNum=req.getParameter("wardnum"); List<PatientWardMap>pwms=pwmdao.findPatientWardMapByWardNum(wardNum); maps=pidao.queryListWithHospitalNums(pwms); }elseif(search==3){ //出院操作 //更改房間的狀態(tài)為可用 Integerid=newInteger(req.getParameter("id")); StringwardNum=pwmdao.getPatientWardMapById(id).getWardNum(); WardInfowi=widao.getWardInfoByWardNum(wardNum); wi.setWardState(0); widao.updateWardInfo(wi); //刪除相應(yīng)的關(guān)聯(lián)關(guān)系 pwmdao.deletePatientWardMapById(id); req.setAttribute("success",true); resp.sendRedirect("outHospitalOperator.jsp?success=true"); return; }5.4.4病房信息管理及其相關(guān)設(shè)計(jì)病房信息管理界面設(shè)計(jì)圖5-5病房信息管理界面設(shè)計(jì)功能描述醫(yī)院相關(guān)工作人員,可以通過(guò)該功能,實(shí)現(xiàn)對(duì)病房信息的管理包括增刪改,本模塊能夠?qū)崿F(xiàn)信息的分頁(yè)顯示,通過(guò)設(shè)置分頁(yè)信息,讓信息數(shù)據(jù)分頁(yè)顯示,方便工作人員查看。通過(guò)該功能模塊,能夠?qū)崿F(xiàn)病房信息的添加,工作人員填寫(xiě)相關(guān)病房信息,如租金等后單擊保存即可成功添加一條病房信息,同樣,病房的編號(hào),也會(huì)由系統(tǒng)自動(dòng)生成。也可以實(shí)現(xiàn)病房信息的修改,修改完需要修改的信息后,單擊保存將會(huì)改變相應(yīng)的病房信
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)團(tuán)購(gòu)行業(yè)當(dāng)前經(jīng)濟(jì)形勢(shì)及投資建議研究報(bào)告
- 2024-2030年中國(guó)噴水織機(jī)行業(yè)供需趨勢(shì)及投資策略分析報(bào)告
- 2024年物流外包合作協(xié)議增補(bǔ)3篇
- 2024年煤炭交易市場(chǎng)誠(chéng)信體系建設(shè)購(gòu)銷運(yùn)輸合同范本3篇
- 2024年版針對(duì)配偶出軌的婚姻解除合同版B版
- 微專題蓋斯定律的高階應(yīng)用-2024高考化學(xué)一輪考點(diǎn)擊破
- 呂梁職業(yè)技術(shù)學(xué)院《數(shù)字營(yíng)銷》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年某城市關(guān)于垃圾分類處理服務(wù)合同
- 2024年物業(yè)項(xiàng)目托管合同
- 漯河食品職業(yè)學(xué)院《移動(dòng)營(yíng)銷設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 《接觸網(wǎng)施工》課件 5.1.2 避雷器安裝
- 第二屆全國(guó)技能大賽珠寶加工項(xiàng)目江蘇省選拔賽技術(shù)工作文件
- 淮陰工學(xué)院《供應(yīng)鏈管理3》2022-2023學(xué)年第一學(xué)期期末試卷
- 2025年計(jì)算機(jī)等級(jí)考試一級(jí)計(jì)算機(jī)基礎(chǔ)及MS Office應(yīng)用試卷及解答參考
- 小學(xué)五年級(jí)上冊(cè)語(yǔ)文 第一單元 語(yǔ)文要素閱讀(含解析)
- 2024年廣東公需科目答案
- ABB工業(yè)機(jī)器人基礎(chǔ)知識(shí)
- 中國(guó)校服產(chǎn)業(yè)挑戰(zhàn)與機(jī)遇分析報(bào)告 2024
- 2022版義務(wù)教育物理課程標(biāo)準(zhǔn)
- 山東省日照市2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 上海華東師大二附中2025屆高一數(shù)學(xué)第一學(xué)期期末檢測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論