jsp電子病歷系統(tǒng)sqlserver論文_第1頁(yè)
jsp電子病歷系統(tǒng)sqlserver論文_第2頁(yè)
jsp電子病歷系統(tǒng)sqlserver論文_第3頁(yè)
jsp電子病歷系統(tǒng)sqlserver論文_第4頁(yè)
jsp電子病歷系統(tǒng)sqlserver論文_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGE畢業(yè)論文電子病例管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專業(yè)名稱:班級(jí):學(xué)生姓名:指導(dǎo)老師:完成時(shí)間:大學(xué)畢業(yè)論文PAGEII摘要隨著計(jì)算機(jī)的迅猛發(fā)展和普及,以及數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用,各企事業(yè)單位和商業(yè)機(jī)構(gòu)逐漸實(shí)現(xiàn)了信息化管理,越來(lái)越多的醫(yī)療機(jī)構(gòu)也逐漸步入了信息化系統(tǒng)化的進(jìn)程?,F(xiàn)代化的醫(yī)院也應(yīng)該有現(xiàn)代化的管理系統(tǒng)。在科技日益發(fā)達(dá)的今天,人們的身體健康也在不斷受到重視。因此,醫(yī)院進(jìn)行現(xiàn)代化管理就變得尤為重要。在這個(gè)系統(tǒng)中我綜合應(yīng)用了SQLServer、Servlet、JSP等知識(shí)。網(wǎng)頁(yè)界面的結(jié)構(gòu)設(shè)計(jì)以實(shí)用性出發(fā),具有易于操作、簡(jiǎn)潔、方便等特點(diǎn)。在設(shè)計(jì)中,首先,運(yùn)用HTML語(yǔ)言對(duì)網(wǎng)站的靜態(tài)頁(yè)面進(jìn)行精細(xì)的加工并且在網(wǎng)站的美工方面取得了良好的效果。其次,對(duì)于Java編程、JSP的動(dòng)態(tài)編程以及SQLServer數(shù)據(jù)庫(kù)進(jìn)行努力學(xué)習(xí)和大量實(shí)踐,并運(yùn)用到了網(wǎng)站的建設(shè)中。本論文就電子病例管理系統(tǒng)進(jìn)行了詳細(xì)全面的論述。訪問(wèn)本系統(tǒng)的用戶分為管理員、醫(yī)生兩種角色,每種角色分別有不同的功能模塊。管理員可以管理科室、科室項(xiàng)目及醫(yī)生等基本信息;醫(yī)生可以管理病人病例及診療記錄信息。關(guān)鍵字病歷、管理系統(tǒng)、MySQL、MyEclipseAbstractWiththerapiddevelopmentofcomputerandthepopularization,andtheextensiveapplicationofdatabasetechnology,allenterprisesandinstitutionsandcommercialorganizationsgraduallyrealizedinformationizationmanagement,medicalinstitutionsmoreandmoreisalsograduallyintotheinformationsystemoftheprocess.Managementsystemshouldalsohavethemodernizationofhospital.Intoday'sincreasinglyadvancedtechnology,people'shealthhasalsobeenattention.Therefore,modernhospitalmanagementbecomesparticularlyimportant.InthissystemtheintegratedapplicationofSQLServer,Servlet,JSPknowledge.Structuredesignofwebpageinterfacetopracticality,hasthecharacteristicsofeasyoperation,simple,convenient.Inthedesign,firstofall,hasobtainedthegoodeffectofartusingthestaticpageHTMLlanguageonthewebsiteofthefineprocessingandinsite.Secondly,tolearnandpracticealotforthedynamicprogramming,JSPJavaprogrammingandSQLServerdatabase,andappliedtotheconstructionofthesite.Inthispaper,adetailedandcomprehensivediscussionontheelectroniccasemanagementsystem.Userstoaccessthesystemisdividedintotwokindsofrolesadministrator,doctor,eachrolehasdifferentfunctionmodulerespectively.Theadministratorcanbasicinformationmanagementdepartment,departmentanddoctor;doctorcanmanagethepatientandthemedicalrecordinformationKeyWordsMedicalrecords,managementsystem,MySQL,MyEclipse目錄摘要 IAbstract II緒論 11系統(tǒng)概述與技術(shù)介紹 21.1B/S結(jié)構(gòu)介紹 21.2MySQL數(shù)據(jù)庫(kù) 21.3MyEclipse介紹 21.4JavaScrip語(yǔ)言 31.5JSP技術(shù) 31.6MVC模式 52系統(tǒng)需求分析 82.1開發(fā)環(huán)境 82.2需求分析 82.3可行性分析 83系統(tǒng)概要設(shè)計(jì) 103.1系統(tǒng)設(shè)計(jì)概述 103.2系統(tǒng)用例圖 113.3系統(tǒng)流程圖 123.4系統(tǒng)功能分析 134數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn) 154.1數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 154.1.1表概要說(shuō)明 154.1.2數(shù)據(jù)表的結(jié)構(gòu) 155系統(tǒng)的實(shí)現(xiàn) 195.1系統(tǒng)登錄設(shè)計(jì) 195.2管理員功能設(shè)計(jì) 215.2.1科室信息管理 215.2.2科室項(xiàng)目管理 235.2.3醫(yī)生信息管理 255.3醫(yī)生功能設(shè)計(jì) 275.3.1病例信息管理 275.3.2診斷記錄管理 305.3.3個(gè)人信息管理 335.4退出后臺(tái)管理 356系統(tǒng)測(cè)試 366.1測(cè)試方法 366.2系統(tǒng)測(cè)試結(jié)果 36總結(jié) 38參考文獻(xiàn) 39大學(xué)畢業(yè)論文PAGE40緒論隨著計(jì)算機(jī)的迅猛發(fā)展和普及,以及數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用,各企事業(yè)單位和商業(yè)機(jī)構(gòu)逐漸實(shí)現(xiàn)了信息化管理,越來(lái)越多的醫(yī)療機(jī)構(gòu)也逐漸步入了信息化系統(tǒng)化的進(jìn)程?,F(xiàn)代化的醫(yī)院也應(yīng)該有現(xiàn)代化的管理系統(tǒng)。在科技日益發(fā)達(dá)的今天,人們的身體健康也在不斷受到重視。因此,醫(yī)院進(jìn)行現(xiàn)代化管理就變得尤為重要。病例是病人就診治病,根據(jù)自己的身體狀況進(jìn)行科學(xué)的,實(shí)際的統(tǒng)一的進(jìn)行記錄。對(duì)自己的病情進(jìn)行科學(xué)的總結(jié),對(duì)自己病情的發(fā)展程度進(jìn)行階段性的記錄。近些年,隨著醫(yī)療機(jī)構(gòu)多年來(lái)醫(yī)治的病人不斷的增加,手動(dòng)記載病人的病例越來(lái)越不方便,病例資料積攢越來(lái)越多,對(duì)空間的占用越來(lái)越嚴(yán)重,隨著時(shí)間的推移,出現(xiàn)了各種各樣的問(wèn)題,也弊端和缺陷顯現(xiàn)的越來(lái)明顯起來(lái)。電子病歷是信息技術(shù)和網(wǎng)絡(luò)技術(shù)在醫(yī)療領(lǐng)域的必然產(chǎn)物是醫(yī)院病歷現(xiàn)代化管理的必然趨勢(shì)。病歷無(wú)論是對(duì)醫(yī)院、病人、醫(yī)生都有重要的意義和價(jià)值。電子病歷除了具有紙張病歷所有的傳統(tǒng)功能外,還給我們帶來(lái)了傳統(tǒng)紙張病歷所不具有的很多優(yōu)點(diǎn)。比如,加快了醫(yī)療信息傳遞共享、提高工作效率;能夠輔助醫(yī)生做出判斷,提高醫(yī)療工作質(zhì)量;能夠加強(qiáng)環(huán)節(jié)管理,方便病人信息的異地共享等。在醫(yī)院管理中,醫(yī)務(wù)人員與患者是醫(yī)院最寶貴的資源,也是醫(yī)院的“生命線”,因此醫(yī)院病歷管理系統(tǒng)是醫(yī)院的計(jì)算機(jī)管理信息系統(tǒng)重要組成部分。而醫(yī)院病歷管理又是醫(yī)務(wù)人員與患者資源管理的重中之重。實(shí)行電子化的醫(yī)院病歷管理,可以讓醫(yī)務(wù)人員與患者資源管理人員從繁重瑣碎的案頭工作解脫出來(lái),去完成更重要的工作。醫(yī)院病歷管理信息系統(tǒng)的實(shí)現(xiàn)可以減輕比較繁瑣的手工信息管理。1系統(tǒng)概述與技術(shù)介紹作了一個(gè)管理系統(tǒng),首先布局一定要新穎、有特色,只有這樣才能引起用戶的關(guān)注,最大限度的滿足人們的需求,而且要有很強(qiáng)的易用性,易用性差的管理系統(tǒng)會(huì)讓用戶產(chǎn)生厭煩情緒。當(dāng)然一個(gè)好的管理系統(tǒng)還要有很完整的處理信息的功能,以便及時(shí)的處理系統(tǒng)信息。通過(guò)對(duì)用戶的調(diào)查和對(duì)現(xiàn)有的電子病例管理系統(tǒng)運(yùn)行的流程分析,為了滿足大多數(shù)用戶的需求,所以我的目標(biāo)是要構(gòu)建一個(gè)頁(yè)面簡(jiǎn)單清晰但包含信息相對(duì)全面、易用性強(qiáng)的電子病例管理系統(tǒng)。1.1B/S結(jié)構(gòu)介紹本系統(tǒng)采用B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),就是只安裝維護(hù)一個(gè)服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化和改進(jìn)。主要利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合多種Script語(yǔ)言(VBScript、JavaScript…)和ActiveX技術(shù),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。在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完成。1.2MySQL數(shù)據(jù)庫(kù)MySQL數(shù)據(jù)庫(kù)是一個(gè)開放源代碼的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),原開發(fā)者為瑞典的MySQLAB公司,該公司于2008年被升陽(yáng)微系統(tǒng)(SunMicrosystems)收購(gòu)。2009年,甲骨文公司(Oracle)收購(gòu)升陽(yáng)微系統(tǒng)公司,MySQL成為Oracle旗下產(chǎn)品。MySQL在過(guò)去由于性能高、成本低、可靠性好,已經(jīng)成為最流行的開源數(shù)據(jù)庫(kù),因此被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。1.3MyEclipse介紹本系統(tǒng)是跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁(yè)。構(gòu)建電子病例管理系統(tǒng)所用的網(wǎng)頁(yè)編輯器為MyEclipse,MyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開元產(chǎn)品的支持十分不錯(cuò)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。1.4JavaScrip語(yǔ)言Javascript是一種解釋性的,基于對(duì)象的腳本語(yǔ)言,Javascript主要是基于客戶端運(yùn)行的,用戶點(diǎn)擊帶有Javascript的網(wǎng)頁(yè),網(wǎng)頁(yè)里的Javascript就傳到瀏覽器,由瀏覽器對(duì)此作處理。它的代碼可以直接嵌入到HTML命令中,最大特點(diǎn)是可以方便操縱網(wǎng)站上的元素,并與Web瀏覽器交互,同時(shí)JavaScrip可以捕捉用戶操作并作出反映。JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript的一個(gè)重要功能就是面向?qū)ο蟮墓δ?,通過(guò)基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(fā)。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁(yè)。Javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了javascript技術(shù),比如說(shuō),檢驗(yàn)用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。1.5JSP技術(shù)JSP技術(shù)使用Java編程語(yǔ)言編寫類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)用程序的開發(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與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個(gè)HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)點(diǎn):(1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見(jiàn)的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對(duì)象說(shuō)明:request客戶端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù);response網(wǎng)頁(yè)傳回客戶端的響應(yīng);pageContext網(wǎng)頁(yè)的屬性是在這里管理;session與請(qǐng)求有關(guān)的會(huì)話;applicationservlet正在執(zhí)行的內(nèi)容;out用來(lái)傳送響應(yīng)的輸出流;config代碼片段配置對(duì)象;pageJSP網(wǎng)頁(yè)本身;exception針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外。1.6MVC模式為了滿足系統(tǒng)對(duì)先進(jìn)性、安全性、跨平臺(tái)性、可擴(kuò)展性、可移植性、分布式等方面的要求,系統(tǒng)總體架構(gòu)設(shè)計(jì)采用先進(jìn)的基于java的B/S的三層體系結(jié)構(gòu)。MVC是三個(gè)單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)[9]。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來(lái)實(shí)現(xiàn)。View層用于與用戶的交互,通常用JSP來(lái)實(shí)現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。Web瀏覽技術(shù)已經(jīng)廣泛地應(yīng)用于Internet,并被廣大用戶接受和使用。Web技術(shù)是隨http和html一起出現(xiàn)的。Web服務(wù)器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務(wù)器一旦檢索到信息,Web瀏覽器就會(huì)以靜態(tài)和交互(如文本、圖像)方式顯示各種對(duì)象。在電子商務(wù)業(yè)務(wù)進(jìn)行過(guò)程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時(shí)就要使用Web瀏覽技術(shù)。這種模型使系統(tǒng)結(jié)構(gòu)更加清楚,分工更加明確,有利于整個(gè)系統(tǒng)后期的維護(hù)和升級(jí)。MVC(ModelViewController)模型(model)-視圖(view)-控制器(controller)MVC本來(lái)是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。模型-視圖-控制器(MVC)是XeroxPARC在八十年代為編程語(yǔ)言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司JavaEE平臺(tái)的設(shè)計(jì)模式,并且受到越來(lái)越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。三層體系結(jié)構(gòu)由瀏覽器、web服務(wù)器和數(shù)據(jù)庫(kù)組成,并結(jié)合HTML語(yǔ)言、jsp、JavaScript腳本語(yǔ)言、Ajax、ODBC等技術(shù),后臺(tái)的數(shù)據(jù)庫(kù)采用微軟的SQLServer2005,系統(tǒng)一般的MVC模型如圖1-1所示。圖1-1系統(tǒng)MVC結(jié)構(gòu)圖如圖1-1可知,用戶界面層是用戶和整個(gè)系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務(wù)邏輯層負(fù)責(zé)處理用戶輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫(kù)層進(jìn)行保存,或調(diào)用數(shù)據(jù)庫(kù)層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問(wèn)層是整個(gè)分層體系的最底層,它主要用來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互,即完成查詢、插入、刪除和修改數(shù)據(jù)庫(kù)中數(shù)據(jù)的功能MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。分層概念視圖,模型,控制器。視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Webservices。如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。MVC模型還可以實(shí)現(xiàn)軟件工程的高內(nèi)聚,低耦合的終極目標(biāo)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求自己本身并不參與業(yè)務(wù)邏輯處理,然后再確定用哪個(gè)視圖來(lái)顯示返回的數(shù)據(jù)。MVC的優(yōu)點(diǎn):1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維護(hù)性6)有利于軟件工程化管理2系統(tǒng)需求分析2.1開發(fā)環(huán)境本系統(tǒng)的開發(fā)環(huán)境為WindowsXP,數(shù)據(jù)庫(kù)使用的是微軟的SQLServer,使用DreamweaverMX2004軟件制作網(wǎng)頁(yè),發(fā)布使用MyEclipse工具。采用JSP為服務(wù)器端腳本環(huán)境,腳本語(yǔ)言使用JavaScript編寫的電子病例管理系統(tǒng),不需要安裝客戶端程序,客戶端只需安裝瀏覽器即可,使用方便,方便升級(jí)維護(hù),方便與Internet和Internet上的應(yīng)用程序集成。2.2需求分析需求分析是指理解用戶需求,就軟件功能與客戶達(dá)成一致,估計(jì)軟件風(fēng)險(xiǎn)和評(píng)估項(xiàng)目代價(jià),最終形成開發(fā)計(jì)劃的一個(gè)復(fù)雜過(guò)程。需求分析之所以重要,就因?yàn)樗哂袥Q策性、方向性、策略性的作用,需求分析是軟件定義的最后一個(gè)階段,它的基本任務(wù)是回答“系統(tǒng)必須做什么”這個(gè)問(wèn)題。需求分析的任務(wù)不是確定系統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求,它在軟件開發(fā)的過(guò)程中具有舉足輕重的地位。系統(tǒng)初步調(diào)查的主要目標(biāo)是從系統(tǒng)分析人員和管理人員的角度看新項(xiàng)目開發(fā)有無(wú)必要和可能,其基本內(nèi)容包括:系統(tǒng)的基本情況、系統(tǒng)信息處理情況和系統(tǒng)資源情況。獨(dú)具匠心的網(wǎng)站規(guī)劃設(shè)計(jì)就像一幢宏偉的建筑前期的規(guī)劃設(shè)計(jì)一樣,要進(jìn)行認(rèn)真、科學(xué)總體規(guī)劃,之后才可以“破土動(dòng)工”。2.3可行性分析(1)經(jīng)濟(jì)性服務(wù)器端的安裝簡(jiǎn)潔明了,客戶機(jī)無(wú)需再裝任何軟件,通過(guò)瀏覽器就可以直接訪問(wèn),可以直接接入Internet,無(wú)論您身在何處,只要您可以訪問(wèn)Internet都可以使用本系統(tǒng)。本系統(tǒng)對(duì)計(jì)算機(jī)配置的要求不高,企業(yè)機(jī)房更換下來(lái)的低配置電腦都可以完全滿足需要,所以在經(jīng)濟(jì)上具有完全的可行性(2)技術(shù)性本系統(tǒng)開發(fā)工具是MyEclipse和SqlServer數(shù)據(jù)庫(kù),開發(fā)語(yǔ)言是Java,主要使用了J2EE的技術(shù),java是一種面向?qū)ο缶幊陶Z(yǔ)言,簡(jiǎn)單易學(xué)而且靈活方便。大三時(shí)就學(xué)習(xí)了java課程,大四期間也系統(tǒng)的了解了J2EE的知識(shí),電子病例管理系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫(kù)的設(shè)計(jì)和操作是本系統(tǒng)設(shè)計(jì)的核心。在大學(xué)期間學(xué)習(xí)過(guò)軟件工程,軟件測(cè)試,UML統(tǒng)一建模語(yǔ)言等課程,每個(gè)學(xué)期也會(huì)完成對(duì)應(yīng)的課程設(shè)計(jì),具備一定的系統(tǒng)分析、設(shè)計(jì)和測(cè)試能力。因此,完成系統(tǒng)實(shí)現(xiàn)在技術(shù)上完全具有可行性(3)操作系本系統(tǒng)操作簡(jiǎn)單,輸入信息頁(yè)面大多數(shù)都是下拉框的選擇形式,在某些頁(yè)面,信息可以自動(dòng)生成,無(wú)需輸入,時(shí)間的輸入也是用的日歷控件,操作簡(jiǎn)便,對(duì)用戶的要求很低,只需對(duì)WINDOWS操作熟練,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會(huì)有很大難度。(4)法律性本系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實(shí)際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫(kù)都是開源代碼,開發(fā)這個(gè)系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問(wèn)題,即法律上是可行的。3系統(tǒng)概要設(shè)計(jì)3.1系統(tǒng)設(shè)計(jì)概述系統(tǒng)設(shè)計(jì)是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過(guò)程,同時(shí),還應(yīng)考慮到系統(tǒng)所實(shí)現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實(shí)事求是的態(tài)度進(jìn)行這一階段的工作。系統(tǒng)設(shè)計(jì)階段的主要目的是將系統(tǒng)分析階段所提出的反映用戶信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)就是從管理信息系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)系統(tǒng)分析階段對(duì)系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計(jì)算機(jī)和通信的軟、硬件設(shè)備,提出系統(tǒng)的實(shí)施計(jì)劃,確保系統(tǒng)總體目標(biāo)的實(shí)現(xiàn)[11]。系統(tǒng)設(shè)計(jì)工作的特點(diǎn):1)系統(tǒng)設(shè)計(jì)階段,大量工作是技術(shù)性的。2)允許用戶對(duì)已提出的信息需求做非原則性的修改或補(bǔ)充。3)用戶在操作使用和運(yùn)行環(huán)境等方面的具體要求也要在系統(tǒng)設(shè)計(jì)階段加以明確并在系統(tǒng)的技術(shù)方案中得反映,因此系統(tǒng)設(shè)計(jì)人員還要同管理環(huán)境打交道。4)系統(tǒng)設(shè)計(jì)工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設(shè)計(jì)工作的重要特點(diǎn)也是整個(gè)系統(tǒng)成功的一個(gè)必不可缺的環(huán)節(jié)。系統(tǒng)設(shè)計(jì)原則 1)階段開發(fā)原則:系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設(shè)計(jì),具體功能實(shí)現(xiàn)分階段進(jìn)行。 2)易用性原則:方便上網(wǎng)客戶瀏覽和操作,最大限度地減輕后臺(tái)管理人員的負(fù)擔(dān),做到部分業(yè)務(wù)的自動(dòng)化處理,提供良好的用戶體驗(yàn)。 3)業(yè)務(wù)完整性原則:對(duì)于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時(shí)、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性,減少數(shù)據(jù)的誤讀。 4)業(yè)務(wù)規(guī)范化原則:在系統(tǒng)設(shè)計(jì)的同時(shí),也為將來(lái)的業(yè)務(wù)流程制定了較為完善的規(guī)范,具有較強(qiáng)的實(shí)際操作性,也給整個(gè)系統(tǒng)帶來(lái)安全性。 5)可擴(kuò)展性原則:系統(tǒng)設(shè)計(jì)要考慮到業(yè)務(wù)未來(lái)發(fā)展的需要,要盡可能設(shè)計(jì)得簡(jiǎn)明,各個(gè)功能模塊間的耦合度小,便于系統(tǒng)的擴(kuò)展。如果存在舊有的數(shù)據(jù)庫(kù)系統(tǒng),則需要充分考慮兼容性,比如說(shuō)瀏覽器的兼容。3.2系統(tǒng)用例圖醫(yī)生的操作: 1、醫(yī)生可以管理病人病例基本信息。 2、會(huì)員可以管理病人診斷信息。醫(yī)生用例圖,如圖3-1所示:圖3-1醫(yī)生用例圖管理員的操作:1、管理員可以管理科室信息。2、管理員可以管理科室項(xiàng)目信息。3、管理員可以管理醫(yī)生信息。管理員用例圖,如圖3-2所示:圖3-2管理員用例圖3.3系統(tǒng)流程圖用戶想到進(jìn)入系統(tǒng)進(jìn)行操作,必須要先登錄,登錄成功后才能進(jìn)入系統(tǒng)進(jìn)行操作。不同權(quán)限用戶進(jìn)入系統(tǒng)后,可以進(jìn)行相應(yīng)操作。系統(tǒng)基本流程如下圖3-3所示:圖3-3系統(tǒng)流程圖3.4系統(tǒng)功能分析圖3-4醫(yī)生用戶功能圖 這就是醫(yī)生用戶功能框圖(如圖3-4所示)。醫(yī)生用戶功能包括:病例信息管理及診療記錄管理。下面是每個(gè)模塊的詳細(xì)介紹:病例信息管理模塊:醫(yī)生通過(guò)該模塊管理病例基本信息,包括病例信息的添加、修改、查詢、刪除操作。診療記錄管理模塊:醫(yī)生通過(guò)該模塊管理病人診療記錄信息,包括診療記錄的添加、查詢操作。圖3-5系統(tǒng)后臺(tái)功能圖這就是本系統(tǒng)的管理員功能框圖(如圖3-5所示)。管理員功能模塊分析:科室信息管理模塊:管理員通過(guò)該模塊管理科室信息,包括科室信息的添加、查詢、刪除等操作??剖翼?xiàng)目管理模塊:管理員通過(guò)該模塊管理科室項(xiàng)目信息,包括科室項(xiàng)目的添加、查詢、刪除等操作。醫(yī)生信息管理模塊:管理員通過(guò)該模塊管理醫(yī)生信息,包括醫(yī)生信息添加、查詢、刪除等操作。修改個(gè)人密碼:管理員登錄系統(tǒng),可以修改自己的登錄密碼。4數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)4.1數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)是“按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)”。作為網(wǎng)絡(luò)的一個(gè)重要應(yīng)用,數(shù)據(jù)庫(kù)在網(wǎng)站建設(shè)中發(fā)揮著重要的作用,與普通網(wǎng)站相對(duì)而言,具有數(shù)據(jù)庫(kù)功能的網(wǎng)站網(wǎng)頁(yè)我們通常稱為動(dòng)態(tài)頁(yè)面,也就是說(shuō)頁(yè)面不是一層不變的,頁(yè)面上內(nèi)容(或部分內(nèi)容)是動(dòng)態(tài)生成的,它可以根據(jù)數(shù)據(jù)庫(kù)中相應(yīng)部分內(nèi)容的調(diào)整而變化,使網(wǎng)站內(nèi)容更靈活,維護(hù)更方便,更新更便捷。SQLServer數(shù)據(jù)庫(kù)作為微軟推出的以標(biāo)準(zhǔn)JET為引擎的桌面型數(shù)據(jù)庫(kù)系統(tǒng),由于具有操作簡(jiǎn)單、界面友好等特點(diǎn),具有較大的用戶群體。本系統(tǒng)數(shù)據(jù)庫(kù)采用SQLServer數(shù)據(jù)庫(kù),系統(tǒng)數(shù)據(jù)庫(kù)名稱為db_yyw,下面分別給出數(shù)據(jù)表概要說(shuō)明、主要數(shù)據(jù)表的結(jié)構(gòu)。4.1.1表概要說(shuō)明系統(tǒng)數(shù)據(jù)庫(kù)db_bingli中含有9張數(shù)據(jù)表:科室信息表t_keshi科室項(xiàng)目表t_xiangmu醫(yī)生信息表t_yisheng病例信息表t_bingli診療信息表t_julu診療內(nèi)容表t_neirong管理員信息表t_admin4.1.2數(shù)據(jù)表的結(jié)構(gòu)(1)t_keshi(科室信息表)科室信息表主要用于保存醫(yī)院科室基本信息,如科室名稱,該表結(jié)構(gòu)如表4.1所示。表4.1t_keshi的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)mingchengvarchar50否班級(jí)名稱(2)t_xiangmu(科室項(xiàng)目表)科室項(xiàng)目信息表主要用于保存科室項(xiàng)目信息,如科室信息、項(xiàng)目名稱等,該表結(jié)構(gòu)如表4.2所示。表4.2t_xiangmu的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)keshi_idint4否班級(jí)信息mingchengvarchar50否學(xué)號(hào)(3)t_yisheng(醫(yī)生信息表)醫(yī)生信息表主要用于保存醫(yī)生基本信息,如姓名、性別、年齡、職務(wù)等,該表結(jié)構(gòu)如表4.3所示。表4.3t_yisheng的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)loginnamevarchar50否登錄名loginpwvarchar50否登錄密碼keshi_idvarchar50否科室信息xingmingvarchar50否姓名xingbievarchar50否性別nianlingvarchar50否年齡zhiwuvarchar50否職務(wù)(4)t_bingli(病歷信息表)病歷信息表主要用于保存病歷基本信息,如編號(hào)、姓名、性別、年齡等,該表結(jié)構(gòu)如表4.4所示。表4.4t_bingli的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)bianhaovarchar50否編號(hào)xingmingvarchar50否姓名xingbieint4否性別nianlingint4否年齡shengriint4否生日hunfouint4否婚否zhuzhiint4否住址lianxiint4否聯(lián)系電話shenfenint4否身份證號(hào)(5)t_jilu(診療記錄表)診療記錄表主要用于保存病例的診療記錄信息,如病例信息、醫(yī)生信息、記錄時(shí)間等內(nèi)容。該表結(jié)構(gòu)如表4.5所示。表4.5t_jilu的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)yisheng_idint4是醫(yī)生信息bingli_idint4是病例信息shijianvarchar50否記錄時(shí)間(6)t_neirong(內(nèi)容信息表)內(nèi)容信息表主要用于保存診療記錄內(nèi)容信息,如病例信息、項(xiàng)目信息、內(nèi)容等。該表結(jié)構(gòu)如表4.6所示。表4.6t_neirong的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)jilu_idint4是記錄信息xiangnu_idint4是項(xiàng)目信息neirongvarchar50否記錄內(nèi)容(7)t_admin(管理員信息表)管理員信息表主要用于保存管理員的基本信息,該表結(jié)構(gòu)如表4.7所示。表4.7t_admin的結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否描述idint4是自動(dòng)編號(hào)userNamevarchar50否登錄賬號(hào)userPwvarchar50否登錄密碼5系統(tǒng)的實(shí)現(xiàn)5.1系統(tǒng)登錄設(shè)計(jì)由于后臺(tái)是用于維護(hù)系統(tǒng),所以必須先要登錄系統(tǒng),才能進(jìn)行相關(guān)的管理操作,打開后臺(tái)管理頁(yè)面的程序窗口,要求用戶輸入正確的用戶名、密碼,二者缺一不可,人員通過(guò)后臺(tái)登錄入口進(jìn)入后臺(tái)登錄模塊,后臺(tái)登錄模塊主要用于驗(yàn)證管理員的身份和密碼。后臺(tái)登錄模塊的運(yùn)行效果如圖5-1:圖5-1系統(tǒng)登錄功能模塊圖用戶登錄模塊核心代碼: publicStringlogin(StringuserName,StringuserPw,intuserType) { System.out.println("userType"+userType); Stringresult="no"; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==1)//醫(yī)生登錄 { Stringsql="fromTYishengwhereloginname=?andloginpw=?anddel='no'"; Object[]con={userName,userPw}; ListyishengList=yishengDAO.getHibernateTemplate().find(sql,con); if(yishengList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TYishengyisheng=(TYisheng)yishengList.get(0); session.setAttribute("userType",1); session.setAttribute("user",yisheng); result="yes"; } } returnresult; }5.2管理員功能設(shè)計(jì)5.2.1科室信息管理本模塊實(shí)現(xiàn)對(duì)科室信息的管理操作,包括科室信息的添加、刪除操作。點(diǎn)擊科室信息管理菜單,進(jìn)入科室信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的科室信息,包括科室名稱。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)科室信息的刪除操作。界面設(shè)計(jì)如圖5-2:圖5-2科室信息管理點(diǎn)擊添加按鈕,進(jìn)入科室信息添加頁(yè)面,輸入符合條件的科室信息,完成科室信息的添加操作。界面設(shè)計(jì)如圖5-3:圖5-3科室信息添加該模塊的主要功能keshiAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存科室信息,并通過(guò)struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: publicStringkeshiAdd() { TKeshikeshi=newTKeshi(); keshi.setMingcheng(mingcheng); keshi.setDel("no"); keshiDAO.save(keshi); this.setMessage("科室信息添加成功!"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiUpd() { TKeshikeshi=keshiDAO.findById(id); keshi.setMingcheng(mingcheng); keshiDAO.getHibernateTemplate().update(keshi); this.setMessage("科室信息修改成功!"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiDel() { Stringsql="updateTKeshisetdel='yes'whereid="+id; keshiDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室信息刪除成功"); this.setPath("keshiMana.action"); return"succeed"; } publicStringkeshiMana() { Stringsql="fromTKeshiwheredel='no'"; ListkeshiList=keshiDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("keshiList",keshiList); returnActionSupport.SUCCESS; }5.2.2科室項(xiàng)目管理本模塊實(shí)現(xiàn)對(duì)科室項(xiàng)目信息的管理操作,包括科室項(xiàng)目信息的添加、刪除操作。點(diǎn)擊科室項(xiàng)目信息管理菜單,進(jìn)入科室項(xiàng)目信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的科室項(xiàng)目信息,包括科室項(xiàng)目名稱等。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)科室項(xiàng)目信息的刪除操作。界面設(shè)計(jì)如圖5-4:圖5-4科室項(xiàng)目信息管理點(diǎn)擊添加按鈕,進(jìn)入科室項(xiàng)目信息添加頁(yè)面,輸入符合條件的科室項(xiàng)目信息,完成科室項(xiàng)目信息的添加操作。界面設(shè)計(jì)如圖5-5:圖5-5科室項(xiàng)目信息添加該模塊的主要功能keshiAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存科室項(xiàng)目信息,并通過(guò)struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: publicStringxiangmuAdd() { TXiangmuxiangmu=newTXiangmu(); xiangmu.setKeshiId(keshiId); xiangmu.setMingcheng(mingcheng); xiangmu.setDel("no"); xiangmuDAO.save(xiangmu); this.setMessage("科室項(xiàng)目添加成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuUpd() { TXiangmuxiangmu=xiangmuDAO.findById(id); xiangmu.setMingcheng(mingcheng); xiangmuDAO.getHibernateTemplate().update(xiangmu); this.setMessage("科室項(xiàng)目修改成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuDel() { Stringsql="updateTXiangmusetdel='yes'whereid="+id; xiangmuDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("科室項(xiàng)目刪除成功!"); this.setPath("xiangmuMana.action?keshiId="+keshiId); return"succeed"; } publicStringxiangmuMana() { Stringsql="fromTXiangmuwheredel='no'andkeshi_id="+keshiId; ListxiangmuList=xiangmuDAO.getHibernateTemplate().find(sql); TKeshikeshi=keshiDAO.findById(keshiId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("xiangmuList",xiangmuList); request.put("keshi",keshi); returnActionSupport.SUCCESS; }5.2.3醫(yī)生信息管理本模塊實(shí)現(xiàn)對(duì)醫(yī)生信息的管理操作,包括醫(yī)生信息的添加、刪除操作。點(diǎn)擊醫(yī)生信息管理菜單,進(jìn)入醫(yī)生信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的醫(yī)生信息,包括醫(yī)生姓名、性別、職務(wù)等。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)醫(yī)生信息的刪除操作。界面設(shè)計(jì)如圖5-6:圖5-6醫(yī)生信息管理點(diǎn)擊添加按鈕,進(jìn)入醫(yī)生信息添加頁(yè)面,輸入符合條件的醫(yī)生信息,完成醫(yī)生信息的添加操作。界面設(shè)計(jì)如圖5-7:圖5-7醫(yī)生信息添加該模塊的主要功能yishengAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存醫(yī)生信息,并通過(guò)struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: publicStringyishengAdd() { TYishengyisheng=newTYisheng(); yisheng.setLoginname(loginname); yisheng.setLoginpw(loginpw); yisheng.setKeshiId(keshiId); yisheng.setXingming(xingming); yisheng.setXingbie(xingbie); yisheng.setNianling(nianling); yisheng.setZhiwu(zhiwu); yisheng.setDel("no"); yishengDAO.save(yisheng); this.setMessage("醫(yī)生信息添加成功!"); this.setPath("yishengMana.action"); return"succeed"; } publicStringyishengDel() { Stringsql="updateTYishengsetdel='yes'whereid="+id; yishengDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("醫(yī)生信息刪除成功"); this.setPath("yishengMana.action"); return"succeed"; } publicStringyishengMana() { Stringsql="fromTYishengwheredel='no'"; ListyishengList=yishengDAO.getHibernateTemplate().find(sql); for(Objectobject:yishengList){ TYishengyisheng=(TYisheng)object; yisheng.setKeshi(keshiDAO.findById(yisheng.getKeshiId())); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("yishengList",yishengList); returnActionSupport.SUCCESS; }5.3醫(yī)生功能設(shè)計(jì)5.3.1病例信息管理本模塊實(shí)現(xiàn)對(duì)病例信息的管理操作,包括病例信息的添加、刪除操作。點(diǎn)擊病例信息管理菜單,進(jìn)入病例信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的病例信息,包括病例編號(hào)、患者姓名、性別、聯(lián)系方式等。點(diǎn)擊列表的刪除按鈕,實(shí)現(xiàn)病例信息的刪除操作。界面設(shè)計(jì)如圖5-8:圖5-8病例信息管理點(diǎn)擊添加按鈕,進(jìn)入病例信息添加頁(yè)面,輸入符合條件的病例信息,完成病例信息的添加操作。界面設(shè)計(jì)如圖5-9:圖5-9病例信息添加該模塊的主要功能bingliAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存病例信息,并通過(guò)struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: publicStringbingliAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); TBinglibingli=newTBingli(); bingli.setYishengId(yisheng.getId()); bingli.setBianhao(bianhao); bingli.setXingming(xingming); bingli.setXingbie(xingbie); bingli.setNianling(nianling); bingli.setShengri(shengri); bingli.setHunfou(hunfou); bingli.setZhuzhi(zhuzhi); bingli.setLianxi(lianxi); bingli.setShenfen(shenfen); bingli.setDel("no"); bingliDAO.save(bingli); this.setMessage("病歷信息添加成功!"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliUpd() { TBinglibingli=bingliDAO.findById(id); bingli.setXingming(xingming); bingli.setXingbie(xingbie); bingli.setNianling(nianling); bingli.setShengri(shengri); bingli.setHunfou(hunfou); bingli.setZhuzhi(zhuzhi); bingli.setLianxi(lianxi); bingli.setShenfen(shenfen); bingliDAO.getHibernateTemplate().update(bingli); this.setMessage("病歷信息修改成功!"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliDel() { Stringsql="updateTBinglisetdel='yes'whereid="+id; bingliDAO.getHibernateTemplate().bulkUpdate(sql); this.setMessage("病歷信息刪除成功"); this.setPath("bingliMana.action"); return"succeed"; } publicStringbingliMana() { HttpServletRequestrequest=ServletActionContext.getRequest(); Stringsql="fromTBingliwheredel='no'"; ListbingliList=bingliDAO.getHibernateTemplate().find(sql); request.setAttribute("bingliList",bingliList); returnActionSupport.SUCCESS; }5.3.2診斷記錄管理本模塊實(shí)現(xiàn)對(duì)診斷記錄信息的管理操作,包括診斷記錄信息的添加、刪除操作。點(diǎn)擊診斷記錄信息管理菜單,進(jìn)入診斷記錄信息管理頁(yè)面,該頁(yè)面通過(guò)列表列出已添加的診斷記錄信息,包括診斷記錄信息、項(xiàng)目名稱、項(xiàng)目?jī)?nèi)容等。界面設(shè)計(jì)如圖5-10:圖5-10診斷記錄信息管理點(diǎn)擊添加按鈕,進(jìn)入診斷記錄信息添加頁(yè)面,輸入符合條件的診斷記錄信息,完成診斷記錄信息的添加操作。界面設(shè)計(jì)如圖5-11:圖5-11診斷記錄信息添加該模塊的主要功能jiluAction類實(shí)現(xiàn)的,該類的主要功能是與數(shù)據(jù)庫(kù)交互,查詢或保存診斷記錄信息,并通過(guò)struts.xml配置跳轉(zhuǎn),打開相應(yīng)的jsp頁(yè)面。主要代碼是: publicStringjiluToAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); Stringsql="fromTXiangmuwheredel='no'andkeshi_id="+yisheng.getKeshiId(); ListxiangmuList=xiangmuDAO.getHibernateTemplate().find(sql); request.setAttribute("bingli",bingliDAO.findById(bingliId)); request.setAttribute("xiangmuList",xiangmuList); request.setAttribute("xiangmuIds",getXiangmuIds(xiangmuList)); returnActionSupport.SUCCESS; } publicStringjiluAdd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); intjiluId=0; Sessionsession=jiluDAO.getHibernateTemplate().getSessionFactory().openSession(); Transactiontx=session.beginTransaction(); TJilujilu=newTJilu(); jilu.setYishengId(yisheng.getId()); jilu.setBingliId(bingliId); jilu.setShijian(DateUtils.formatDate2Str(newDate(),"yyyy-MM-ddHH:mm:ss")); session.save(jilu); jiluId=jilu.getId(); mit(); session.close(); xiangmuIds=request.getParameter("xiangmuIds"); String[]arrIds=xiangmuIds.split(","); for(inti=0;i<arrIds.length;i++) { StringtxtNr=request.getParameter("txt_"+arrIds[i]); TNeirongneirong=newTNeirong(); neirong.setJiluId(jiluId); neirong.setXiangmuId(Integer.parseInt(arrIds[i])); neirong.setNeirong(txtNr); neirongDAO.save(neirong); } this.setPath("jiluMana.action"); return"succeed"; } publicStringjiluMana() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); Stringsql="fromTJiluwhereyisheng_id="+yisheng.getId(); ListjiluList=jiluDAO.getHibernateTemplate().find(sql); for(Objectobject:jiluList){ TJilujilu=(TJilu)object; jilu.setBingli(bingliDAO.findById(jilu.getBingliId())); sql="fromTNeirongwherejilu_id="+jilu.getId(); ListneirongList=xiangmuDAO.getHibernateTemplate().find(sql); for(Objectobject2:neirongList){ TNeirongneirong=(TNeirong)object2; neirong.setXiangmu(xiangmuDAO.findById(neirong.getXiangmuId())); } jilu.setNeirongList(neirongList); } request.setAttribute("jiluList",jiluList); returnActionSupport.SUCCESS; }5.3.3個(gè)人信息管理本模塊實(shí)現(xiàn)醫(yī)生個(gè)人信息的管理。點(diǎn)擊個(gè)人信息修改菜單,進(jìn)入個(gè)人信息修改頁(yè)面。界面設(shè)計(jì)如圖5-12:圖5-12個(gè)人信息管理本模塊核心代碼如下: publicStringyishengToUpd() { HttpServletRequestrequest=ServletActionContext.getRequest(); TYishengyisheng=(TYisheng)request.getSession().getAttribute("user"); TYishengyishengInfo=yishengDAO.findById(yisheng.getId()); yishengInfo.setKeshi(keshiDAO.findById(yisheng.getKeshiId())); request.setAttribute("yisheng",yishengInfo); returnActionSupport.SUCCESS; } publicStringyishengUpd() { TYishengyisheng=yishengDAO.findById(id); yisheng.setLoginpw(loginpw); yisheng.setXingming(xingming); yisheng.setXingbie(xingbie); yisheng.setNianling(nianling); yisheng.setZhiwu(zhiwu); yishengDAO.

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論