基于SpringBoot的醫(yī)院住院管理系統(tǒng)的設(shè)計_第1頁
基于SpringBoot的醫(yī)院住院管理系統(tǒng)的設(shè)計_第2頁
基于SpringBoot的醫(yī)院住院管理系統(tǒng)的設(shè)計_第3頁
基于SpringBoot的醫(yī)院住院管理系統(tǒng)的設(shè)計_第4頁
基于SpringBoot的醫(yī)院住院管理系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

[12]。根據(jù)不同用戶各自的需求不同主要有這些功能:注冊,登錄,首頁,掛號,醫(yī)生,住院,藥品,系統(tǒng)管理,個人信息,留言等功能。如圖4-1所示為層次結(jié)構(gòu)圖。圖4-1層次結(jié)構(gòu)圖4.2功能設(shè)計4.2.1掛號信息管理掛號資料管理,以掛號申請管理為主,掛號列表頁面為主。系統(tǒng)的各項服務(wù),如增加,更新,查詢,刪除等。使用者可依此辦理預(yù)約業(yè)務(wù)。4.2.2醫(yī)生信息管理醫(yī)生信息管理功能:系統(tǒng)中的醫(yī)生和科室信息,包括對醫(yī)生和科室信息的增加,刪除,更新,以及對醫(yī)生和科室的查詢;一般的使用者沒有權(quán)限使用這個模組。4.2.3藥品信息管理藥物信息管理,管理員可以管理藥物的具體數(shù)據(jù),包括進貨,查詢,更新,刪除,還能增加和修改供應(yīng)商的信息。用戶可以按照不同的權(quán)限級別進行藥物信息的查詢等操作。4.2.4住院信息管理住院信息管理,管理員可以管理住院的具體數(shù)據(jù),包括住院申請,查詢,更新,刪除等操作;用戶可以在掛號、繳費時等情況了解自己的住院信息。4.2.5系統(tǒng)管理其中包括用戶管理,角色管理,菜單管理等三大部分。管理員可以在不超過系統(tǒng)權(quán)限的情況下,對這個角色管理模塊,用戶管理模塊進行各種操作,可以添加,刪除,更新功能,但無法對基本頁面進行操作;用戶無法使用該項功能。4.2.6個人中心個人中心主要包括個人信息、修改頭像、重置密碼、余額充值,管理員包括用戶都可使用該模塊內(nèi)的所有功能并進行相應(yīng)的基本操作。4.2.7留言留言模塊,實現(xiàn)了消息的添加,查詢,刪除等功能。系統(tǒng)管理員可以瀏覽留言消息,并對消息進行過濾;使用者可以瀏覽信息,完成留言操作。4.3概要設(shè)計基于SpringBoot的醫(yī)院住院管理系統(tǒng)的概要設(shè)計如圖4-2所示。圖4-2系統(tǒng)概要設(shè)計圖用戶通過瀏覽器使用系統(tǒng),當(dāng)在網(wǎng)頁中執(zhí)行適當(dāng)?shù)膭幼鲿r,通過Axios來調(diào)用服務(wù)器所提供的API,而控制器層則為相應(yīng)的API接口,并對其進行預(yù)處理,當(dāng)不同的要求時,會通過Service層來執(zhí)行這個實施類的方法。隨后,在類中,可以使用mapper來進行相應(yīng)的數(shù)據(jù)庫操作。根據(jù)不同操作會返回不同的數(shù)據(jù)。4.4數(shù)據(jù)庫的設(shè)計4.4.1數(shù)據(jù)庫E-R模型設(shè)計E-R圖,也叫實體-關(guān)系圖,它是在系統(tǒng)開發(fā)過程中,通過對實體間的相互聯(lián)系進行粗略的描述。E-R主要包括三個組成部分:實體,屬性,聯(lián)系,可以抽象地將實體間地關(guān)系抽象出來,以便更好地解釋各種關(guān)系。圖4-3E-R圖4.4.2數(shù)據(jù)庫實體數(shù)據(jù)庫實體是客觀存在且對應(yīng)著數(shù)據(jù)庫中的表,是數(shù)據(jù)庫創(chuàng)建過程中不可或缺的一部分。本系統(tǒng)大概涵蓋系統(tǒng)用戶表(sys_user)、系統(tǒng)角色表(sys_role)、系統(tǒng)菜單(sys_menu)、醫(yī)生表(h_doctor)、住院表(h_inpatient)、科室表(h_department)、掛號表(h_report)、收費表(h_charge)、藥品表(medicineStore)、供銷商表(h_supplier)等。如圖4-4所示為系統(tǒng)用戶實體屬性圖圖4-4系統(tǒng)用戶實體圖如圖4-5所示為系統(tǒng)角色實體屬性圖圖4-5系統(tǒng)角色實體圖如圖4-6所示為系統(tǒng)菜單實體屬性圖圖4-6系統(tǒng)菜單實體圖如圖4-7所示為醫(yī)生實體屬性圖圖4-7醫(yī)生實體圖如圖4-8所示為科室實體屬性圖圖4-8科室實體圖如圖4-9所示為掛號實體屬性圖圖4-9掛號實體圖如圖4-10所示為繳費實體屬性圖圖4-10繳費實體圖如圖4-11所示為藥品實體屬性圖圖4-11藥品實體圖如圖4-12所示為供銷商實體屬性圖圖4-12供銷商實體圖如圖4-13所示為留言實體屬性圖圖4-13留言實體圖如圖4-14所示為繳費類型實體屬性圖圖4-14繳費類型實體圖如圖4-15所示為住院實體屬性圖圖4-15住院實體圖如圖4-16所示為病床實體屬性圖圖4-16病床實體圖數(shù)據(jù)庫各表的設(shè)計sys_user表、sys_role表和sys_menu表這三個表主要負(fù)責(zé)存儲系統(tǒng)用戶信息、系統(tǒng)角色信息、系統(tǒng)菜單信息。其中根據(jù)sys_user與sys_role完整的表示了用戶自己的信息以及角色;sys_role與sys_menu共同決定了用戶根據(jù)自己的權(quán)限所能使用的菜單范圍。各表的字段設(shè)計如表4-1、表4-2、表4-3所示。表4-1sys_user表字段名數(shù)據(jù)類型主鍵/允許空字段含義userIdINT(11)PRIMARYKEY用戶idusernameVARCHAR(255)NOTNULL用戶名passwordVARCHAR(31)NOTNULL密碼nicknameVARCHAR(255)DEFAULT‘user’昵稱genderVARCHAR(255)DEFAULTNULL性別phoneVARCHAR(255)DEFAULTNULL手機號roleIdINT(11DEFAULTNULL角色idBalanceINT(11DEFAULTNULL余額imgVARCHAR(255)DEFAULTNULL頭像表4-2sys_role表字段名數(shù)據(jù)類型主鍵/允許空字段含義roleIdINT(11)PRIMARYKEY角色idRolenameVARCHAR(255)NOTNULL角色名稱續(xù)表4-2sys_role表字段名數(shù)據(jù)類型主鍵/允許空字段含義AvailableINT(11)DEFAULTNULL權(quán)限等級remarkVARCHAR(255)DEFAULTNULL描述表4-3sys_menu表字段名數(shù)據(jù)類型主鍵/允許空字段含義MenuIdINT(11)PRIMARYKEY菜單idmenuNameVARCHAR(255)NOTNULL菜單名levelINT(11)NOTNULL菜單等級parentIdINT(11)DEFAULT‘user’父菜單AvailableINT(11)DEFAULTNULL權(quán)限等級routeVARCHAR(255)DEFAULTNULL路徑h_doctor表、h_department表這兩個表分別存儲醫(yī)生信息、科室信息,共同為預(yù)約提供了數(shù)據(jù)指出。各表的字段設(shè)計如表4-4、表4-5所示。表4-4h_doctor表字段名數(shù)據(jù)類型主鍵/允許空字段含義doctorIdINT(11)PRIMARYKEY醫(yī)生iddoctorNameVARCHAR(255)NOTNULL醫(yī)生名稱departmentIdINT(11)NOTNULL科室IdreportTypeIdINT(11)NOTNULL預(yù)約類型Id表4-5h_department表字段名數(shù)據(jù)類型主鍵/允許空字段含義departmentIdINT(11)PRIMARYKEY科室iddepartNameVARCHAR(255)NOTNULL科室名稱h_report表、reportType表這兩個表分別存儲預(yù)約信息、預(yù)約類型信息,共同支持了預(yù)約管理相關(guān)數(shù)據(jù)操作。各表的字段設(shè)計如表4-6、表4-7所示。表4-6h_report表字段名數(shù)據(jù)類型主鍵/允許空字段含義reportIdINT(11)PRIMARYKEY預(yù)約idreportNameVARCHAR(255)NOTNULL患者姓名GenderVARCHAR(31)NOTNULL性別AgeVARCHAR(255)DEFAULT‘user’年齡departmentIdVARCHAR(255)DEFAULTNULL科室IddoctorIdVARCHAR(255)DEFAULTNULL醫(yī)生idreportTypeIdINT(11DEFAULTNULL預(yù)約類型idPriceINT(11DEFAULTNULL價格timeDATETIMEDEFAULTNULL生成時間reportTypeTimeDATETIMEDEFAULTNULL預(yù)約時間opeartionTimeDATETIMEDEFAULTNULL處理時間stateINT(11)DEFAULTNULL狀態(tài)表4-7reportType表字段名數(shù)據(jù)類型主鍵/允許空字段含義reportTypeIdINT(11)PRIMARYKEY預(yù)約類型idreportTypeNameVARCHAR(255)NOTNULL預(yù)約類型名稱pricedoubleNOTNULL價格h_charge表、chargeType表這里兩個表表示收費信息、收費類型信息,為用戶在醫(yī)院時的費用事項信息。各表的字段設(shè)計如表4-8、表4-9所示。表4-8h_charge表字段名數(shù)據(jù)類型主鍵/允許空字段含義chargeIdINT(11)PRIMARYKEY收費iduserIdINT(11)NOTNULL用戶idNameVARCHAR(31)NOTNULL姓名chargeTypeIdINT(11)DEFAULT‘user’收費類型idNumINT(11)DEFAULTNULL數(shù)量PricedoubleDEFAULTNULL單價totalPricedoubleDEFAULTNULL總價續(xù)表4-8h_charge表字段名數(shù)據(jù)類型主鍵/允許空字段含義sTimeDATETIMEDEFAULTNULL開始時間eTimeDATETIMEDEFAULTNULL結(jié)束時間StateINT(11)DEFAULTNULL狀態(tài)remarkVARCHAR(255)DEFAULTNULL備注表4-9chargeType表字段名數(shù)據(jù)類型主鍵/允許空字段含義chargeTypeIdINT(11)PRIMARYKEY收費類型idchargeTypeNameVARCHAR(255)NOTNULL收費項目名稱pricedoubleNOTNULL價格medicineStore表、medicineType、h_supplier表這里三個表表示藥品庫存信息、藥品類型信息、供銷商信息,為醫(yī)院提供各種藥品信息以及進貨信息。各表的字段設(shè)計如表4-10、表4-11、表4-12所示。表4-10medicineStore表字段名數(shù)據(jù)類型主鍵/允許空字段含義medicineStoreIdINT(11)PRIMARYKEY藥品庫存idmedicineNameVARCHAR(255)NOTNULL藥品名稱NameVARCHAR(255)NOTNULL姓名tradePricedoubleDEFAULTNULL進價sellingPriceDoubleDEFAULTNULL售價procudeDateDateDEFAULTNULL生產(chǎn)日期validateDatedateDEFAULTNULL有效日期TypeVARCHAR(255)DEFAULTNULL藥品類型supplierNameVARCHAR(255)DEFAULTNULL產(chǎn)地medicineNumINT(11)DEFAULTNULL數(shù)量medicineTypeIdINT(11)PRIMARYKEY藥品類型idtypeVARCHAR(255)NOTNULL類型名稱表4-11medicineType表字段名數(shù)據(jù)類型主鍵/允許空字段含義medicineTypeIdINT(11)PRIMARYKEY藥品類型idtypeVARCHAR(255)NOTNULL類型名稱表4-12h_supplier表字段名數(shù)據(jù)類型主鍵/允許空字段含義supplierIdINT(11)PRIMARYKEY藥品類型idmedicineNameVARCHAR(255)NOTNULL類型名稱tradePricedoubleDEFAULTNULL售價typeVARCHAR(255)DEFAULTNULL類型supplierNameVARCHAR(255)DEFAULTNULL產(chǎn)地h_inpatient表、h_bed表這里兩個表表示住院表、病床表,為醫(yī)院中的住院以及病床信息。各表的字段設(shè)計如表4-13、表4-14所示。表4-13h_inpatient表字段名數(shù)據(jù)類型主鍵/允許空字段含義inpatientIdINT(11)PRIMARYKEY住院iduserIdINT(11)NOTNULL病人idnicknameVARCHAR(255)NOTNULL病人姓名genderINT(11)DEFAULT‘user’性別phoneVARCHAR(255)DEFAULTNULL家屬聯(lián)系方式departmentIdINT(11)NOTNULL科室IddoctorIdINT(11)NOTNULL醫(yī)生IdbedIdINT(11)NOTNULL床位IdpricedoubleNOTNULL價格stateINT(11)NOTNULL狀態(tài)remarkVARCHAR(255)DEFAULTNULL備注iTimeDATETIMEDEFAULTNULL入院時間oTimeDATETIMEDEFAULTNULL出院時間表4-14h_bed表字段名數(shù)據(jù)類型主鍵/允許空字段含義bedIdINT(11)PRIMARYKEY床位iddepartmentIdINT(11)NOTNULL科室idpricedoubleDEFAULTNULL價格stateINT(11)DEFAULTNULL狀態(tài)4.5數(shù)據(jù)流圖數(shù)據(jù)流圖是在對項目進行系統(tǒng)分析與設(shè)計時,必須首先對項目中的數(shù)據(jù)流進行描述,然后再對其進行處理。4.5.1數(shù)據(jù)流圖(頂層圖)數(shù)據(jù)流圖頂層圖為系統(tǒng)主要實體的大致關(guān)系,矩形框內(nèi)為系統(tǒng)內(nèi)實體。如圖4-17所示為數(shù)據(jù)流圖頂層圖圖4-17數(shù)據(jù)流圖(頂層)4.5.2數(shù)據(jù)流圖(第二層)數(shù)據(jù)流圖可進一步進行細(xì)分為第二層數(shù)據(jù)流圖,該部分為管理員數(shù)據(jù)流圖。途中大致描述了管理員在系統(tǒng)中做出的操作數(shù)據(jù)的流向以及反饋,以更清晰的解釋管理員在該系統(tǒng)中的作用。如圖4-18所示為管理員數(shù)據(jù)流圖圖4-18管理員數(shù)據(jù)流圖(第二層)這是第二層次的數(shù)據(jù)流程圖表,即客戶資料流程圖。對使用者動作時的資料流動和回饋做了一個大概的說明。用戶數(shù)據(jù)流程圖(第二層),如圖4-19所示。圖4-19用戶數(shù)據(jù)流圖(第二層)4.6數(shù)據(jù)字典數(shù)據(jù)詞典定義并描述了數(shù)據(jù)項目,數(shù)據(jù)流,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)存儲,邏輯過程等,其功能在于對數(shù)據(jù)流圖表中的每一個要素進行具體的解釋,從而方便進行一個簡單的模型工程,與此同時數(shù)據(jù)字典還是數(shù)據(jù)庫的重要組成部分。4.6.1數(shù)據(jù)流及數(shù)據(jù)流向表4-15描述了用戶信息的流向表4-SEQ表\*ARABIC\s115用戶信息描述數(shù)據(jù)流用戶信息數(shù)據(jù)流來源數(shù)據(jù)庫中sys_user表數(shù)據(jù)去向用戶管理頁面數(shù)據(jù)流組成用戶個人信息表4-16描述了角色信息的流向表4-16角色信息描述數(shù)據(jù)流角色信息數(shù)據(jù)流來源數(shù)據(jù)庫中sys_role表數(shù)據(jù)去向用戶管理頁面、角色管理頁面數(shù)據(jù)流組成用戶角色信息表4-17描述了掛號信息的流向表4-17掛號信息描述數(shù)據(jù)流掛號信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_report表數(shù)據(jù)去向掛號管理頁面數(shù)據(jù)流組成掛號詳細(xì)信息表4-18描述了繳費信息的流向表4-18繳費信息描述數(shù)據(jù)流繳費信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_charge表數(shù)據(jù)去向繳費管理數(shù)據(jù)流組成繳費詳細(xì)信息表4-19述了醫(yī)生信息的流向表4-19醫(yī)生信息描述數(shù)據(jù)流醫(yī)生信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_doctor表數(shù)據(jù)去向醫(yī)生管理、掛號管理數(shù)據(jù)流組成醫(yī)生詳細(xì)信息、掛號醫(yī)生信息表4-20描述了藥品信息的流向表4-20藥品信息描述數(shù)據(jù)流藥品信息數(shù)據(jù)流來源數(shù)據(jù)庫中medicineStore表數(shù)據(jù)去向藥品管理數(shù)據(jù)流組成藥品詳細(xì)信息表4-21描述了供銷商信息的流向表4-21供銷商描述數(shù)據(jù)流供銷商信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_supplier表數(shù)據(jù)去向藥品管理數(shù)據(jù)流組成進貨詳細(xì)信息表4-22描述了繳費信息的流向表4-22繳費信息描述數(shù)據(jù)流繳費信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_charge表數(shù)據(jù)去向繳費管理數(shù)據(jù)流組成繳費詳細(xì)信息表4-23描述了留言信息的流向表4-23留言信息描述數(shù)據(jù)流留言信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_comment表數(shù)據(jù)去向留言管理數(shù)據(jù)流組成留言詳細(xì)信息表4-24描述了科室信息的流向表4-24科室信息描述數(shù)據(jù)流科室信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_department表數(shù)據(jù)去向科室管理、掛號管理數(shù)據(jù)流組成科室詳細(xì)信息、掛號科室信息表4-25描述了住院信息的流向表4-25住院信息描述數(shù)據(jù)流住院信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_inpatient表數(shù)據(jù)去向住院管理、繳費管理數(shù)據(jù)流組成住院詳細(xì)信息、繳費信息表4-26描述了住院信息的流向表4-26病床信息描述數(shù)據(jù)流病床信息數(shù)據(jù)流來源數(shù)據(jù)庫中h_bed表數(shù)據(jù)去向病床管理、住院管理數(shù)據(jù)流組成科室病床信息、住院信息4.6.2數(shù)據(jù)處理描述表4-27描述的是用戶登錄的數(shù)據(jù)處理。表4-27用戶登錄描述處理名稱用戶登錄目的檢測登錄信息的合法性續(xù)表4-27用戶登錄描述輸入賬號、密碼處理過程根據(jù)登錄賬號,確定用戶角色輸出登錄成功、用戶信息表4-28描述的是用戶注冊的數(shù)據(jù)處理。表4-28用戶注冊描述處理名稱用戶注冊目的注冊新賬號輸入賬號、密碼處理過程檢驗該用戶名是否合法且未注冊輸出注冊成功、用戶信息表4-29描述的是用戶管理的數(shù)據(jù)處理。表4-29用戶管理描述處理名稱用戶管理目的用戶信息管理輸入添加、刪除、更新、查詢處理過程添加、刪除、更新、查詢輸出添加、刪除、更新、查詢結(jié)果表4-30描述的是掛號管理的數(shù)據(jù)處理。表4-30掛號管理描述處理名稱掛號管理目的掛號信息管理輸入添加、刪除、更新、查詢處理過程添加、刪除、更新、查詢續(xù)表4-30掛號管理描述輸出添加、刪除、更新、查詢結(jié)果表4-31描述的是藥品管理的數(shù)據(jù)處理。表4-31藥品管理描述處理名稱藥品管理目的管理藥品信息輸入添加、刪除、更新、查詢藥品信息處理過程添加、刪除、更新、查詢輸出添加、刪除、更新、查詢結(jié)果表4-32描述的是住院留言的數(shù)據(jù)處理。表4-32住院留言描述處理名稱住院管理目的管理住院操作輸入添加、刪除、更新、查詢住院信息處理過程添加、刪除、更新、查詢輸出添加、刪除、更新、查詢結(jié)果表4-33描述的是繳費管理的數(shù)據(jù)處理。表4-33繳費管理描述處理名稱繳費管理目的管理繳費信息輸入添加、刪除、更新、查詢繳費信息處理過程添加、刪除、更新、查詢輸出添加、刪除、更新、查詢結(jié)果表4-34描述的是用戶繳費的數(shù)據(jù)處理。表4-34用戶繳費描述處理名稱用戶繳費目的用戶通過繳費更新繳費信息輸入查詢、更新繳費信息、用戶信息處理過程查詢用戶余額信息進行判斷,并更新繳費信息輸出繳費完成或失敗表4-35描述的是醫(yī)生管理的數(shù)據(jù)處理。表4-35醫(yī)生管理描述處理名稱醫(yī)生管理目的管理醫(yī)生信息輸入添加、刪除、更新、查詢醫(yī)生信息處理過程添加、刪除、更新、查詢輸出添加、刪除、更新、查詢結(jié)果表4-36描述的是醫(yī)生管理的數(shù)據(jù)處理。表4-36科室管理描述處理名稱科室管理目的管理科室信息輸入添加、刪除、更新、查詢科室信息處理過程添加、刪除、更新、查詢輸出添加、刪除、更新、查詢結(jié)果表4-37描述的是用戶留言的數(shù)據(jù)處理。表4-37用戶留言描述處理名稱用戶留言目的用戶進行留言操作輸入留言添加、查詢處理過程添加、查詢留言輸出留言添加、查詢結(jié)果4.7本章小結(jié)本章節(jié)對系統(tǒng)進行了大致功能以及模塊的設(shè)計,包括功能模塊、系統(tǒng)實體、數(shù)據(jù)庫、數(shù)據(jù)流等。

第5章醫(yī)院管理系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)5.1登錄模塊登錄模塊主要包括登錄功能與注冊功能。用戶在指定輸入框輸入自己的賬號與密碼,系統(tǒng)會自動識別角色從而進入相應(yīng)的系統(tǒng)界面;當(dāng)用戶沒有賬號時可以先進行注冊賬號操作。實現(xiàn)代碼如下://根據(jù)用戶名查找登錄用戶

SysUserloginUser=sysUserService.findByUserName(username);

//驗證密碼

if(Md5Util.getMD5String(password).equals(loginUser.getPassword())){

Map<String,Object>claims=newHashMap<>();

claims.put("id",loginUser.getUserId());

claims.put("username",loginUser.getUsername());

Stringtoken=JwtUtil.genToken(claims);

//把token存儲到redis中

ValueOperations<String,String>operations=stringRedisTemplate.opsForValue();//設(shè)置過期時間

operations.set(token,token,1,TimeUnit.HOURS);

returnResult.success(token);

}else{

returnResult.error("密碼錯誤!");

}如圖5-1所示為系統(tǒng)登錄界面、5-2所示為系統(tǒng)注冊界面圖5-1系統(tǒng)登陸界面圖5-2系統(tǒng)注冊界面5.2首頁模塊登錄成功后會進入系統(tǒng)的首頁,首頁主要由兩部分組成:左側(cè)導(dǎo)航欄、右側(cè)視圖展示區(qū)。左側(cè)導(dǎo)航欄包括該系統(tǒng)的所有界面導(dǎo)航,用戶通過鼠標(biāo)點擊進行跳轉(zhuǎn)操作。右側(cè)視圖展示區(qū)由頂部信息欄以及界面組成;頂部信息欄包括面包屑導(dǎo)航以及用戶頭像,用戶頭像可展開用戶的基本信息。首頁界面里展示了預(yù)約數(shù)量、系統(tǒng)用戶、藥品庫存、留言數(shù)量、時間、占比比率、訪問量統(tǒng)計以及事件記錄。如圖5-3所示為首頁界面。圖5-3首頁界面5.3掛號管理模塊掛號管理模塊包括掛號列表、掛號申請兩個部分。掛號列表:掛號列表可查看當(dāng)前所有的掛號記錄;管理員可以對未受理的掛號信息進行處理,選擇是預(yù)約成功還是失敗,當(dāng)預(yù)約長時間未受理會自動預(yù)約失敗;同時可通過輸入查詢信息對指定的掛號信息進行查詢與篩選。部分實現(xiàn)代碼如下:

if(!StringUtils.hasLength(reportName)||!StringUtils.hasLength(gender)||

reportTime==null||age==null||

departmentId==null||doctorId==null){

returnResult.error("缺少必要參數(shù)!");

}

//年齡不合適

if(age<0||age>200){

returnResult.error("年齡需在0-200以內(nèi)!");

}

//不存在該部門

Departmentdepartment=departmentService.queryByDepartmentId(departmentId);

if(department==null){

returnResult.error("該部門不存在!");

}

//不存在該醫(yī)生

Doctordoctor=doctorService.queryByDoctorId(doctorId);

if(doctor==null){

returnResult.error("該醫(yī)生不存在!");

}

//錯誤的從屬關(guān)系!

if(!departmentService.check(departmentId,doctorId)){

returnResult.error("錯誤的從屬關(guān)系:該醫(yī)生不在此科室!");

}

//獲取該醫(yī)生的預(yù)約類型

reportTypeId=doctor.getReportTypeId();

//不存在該預(yù)約類型

ReportTypereportType=reportTypeService.queryByReportTypeId(reportTypeId);

if(reportType==null){

returnResult.error("該預(yù)約類型不存在!");

}

//賦值

price=reportType.getPrice();

time=LocalDateTime.now();

state=0;//0為未受理如圖5-4所示為掛號列表界面。圖5-4掛號列表界面掛號申請:用戶通過填寫掛號信息表單進行申請,當(dāng)所有數(shù)據(jù)合法后即可提交。如圖5-5所示為掛號申請界面。圖5-5掛號申請界面5.4收費管理模塊收費管理模塊包括收費列表、收費劃價、收費添加、我的繳費四個部分。收費列表:收費列表可管理所有用戶的收費信息;點擊詳情可以查看該條收費項的詳細(xì)信息;上方搜索框根據(jù)所選查詢條件的不同可以進行相應(yīng)的查詢。部分實現(xiàn)代碼如下:if(userId==null||name==null||chargeTypeId==null||num==null||

price==0||totalPrice==0){

returnResult.error("缺少必要參數(shù)!");

}

SysUsersysUser=sysUserService.queryById(userId);

if(sysUser==null){

returnResult.error("該用戶不存在!");

}

ChargeTypechargeType=chargeTypeService.queryById(chargeTypeId);

if(chargeType==null){

returnResult.error("該收費項目不存在!");

}

if(num<0||num>99){

returnResult.error("數(shù)量應(yīng)在1~99之間!");

}

if(price<0||totalPrice<0){

returnResult.error("價格不能為負(fù)數(shù)!");

}

if(price*num!=totalPrice){

returnResult.error("價格計算錯誤!");

}

chargeService.add(charge);如圖5-6所示未收費列表界面。圖5-6收費列表界面收費劃價:收費劃價可對收費項目進行管理;通過輸入必要信息進行收費項目的添加;在頁面下方可查看系統(tǒng)內(nèi)所有的收費項目,并且可以進行逐項管理;輸入項目名稱可以查詢指定的收費項目。如圖5-7所示為收費劃價界面。圖5-7收費劃價界面收費添加:收費添加主要由管理員以及具備該相應(yīng)的等級的用戶使用;通過填寫表單需要的數(shù)據(jù)為指定Id的用戶添加收費信息,最后點擊確認(rèn)即可生成。如圖5-8所示為收費添加界面。圖5-8收費添加界面我的繳費:我的繳費可以查看用戶自己所有的繳費信息,包括已繳費、待繳費;點擊詳情,可以查看這一條具體的支付信息;點擊支付可以進行改記錄的繳費,若余額充足則繳費成功,反之則失敗提示充值。如圖5-9所示為我的繳費界面。圖5-9我的繳費界面5.5醫(yī)生管理模塊醫(yī)生管理模塊包括醫(yī)生列表、科室列表兩個部分。醫(yī)生列表:醫(yī)生列表可管理系統(tǒng)內(nèi)的所有醫(yī)生信息;點擊編輯可對該項進行更細(xì)致的修改;通過在頂部輸入框內(nèi)輸入指定的信息可以查詢符合條件的醫(yī)生信息。部分實現(xiàn)代碼如下:IntegerdoctorId=doctor.getDoctorId();

StringdoctorName=doctor.getDoctorName();

IntegerdepartmentId=doctor.getDepartmentId();

IntegerreportTypeId=doctor.getReportTypeId();

//參數(shù)不能為空

if(doctor==null||doctorId==null||!StringUtils.hasLength(doctorName)||departmentId==null||reportTypeId==null){

returnResult.error("缺少必要參數(shù)!");

}

//科室是否存在

Departmentdepartment=departmentService.queryByDepartmentId(departmentId);

if(department==null){

returnResult.error("該科室不存在!");

}

//預(yù)約類型是否存在

ReportTypereportType=reportTypeService.queryByReportTypeId(reportTypeId);

//System.out.println("RTId:"+reportType.getReportTypeId());

if(reportType==null){

returnResult.error("該預(yù)約類型不存在!");

}

doctorService.update(doctor);

returnResult.success();如圖5-10所示為醫(yī)生列表界面。圖5-10醫(yī)生列表界面科室列表:科室列表,可以對科室的所有信息進行管理;點擊編輯即可更改此信息;添加科室按鈕,可以進行快速添加操作。圖5-11展示為科室列表界面。圖5-11科室列表界面5.6住院管理模塊住院管理模塊包括三大部分:住院列表、住院申請、床位管理。住院列表:住院列表可以對系統(tǒng)內(nèi)住院的所有信息進行管理;點擊詳情可以查看該住院的詳細(xì)信息;當(dāng)患者未出院時可以點擊出院按鈕辦理出院;在上方搜索框內(nèi)輸入指定信息可以進行相應(yīng)的查詢。圖5-12所示為住院列表界面。圖5-12住院列表界面住院申請:住院申請可通過填寫指定信息,為病人辦理住院手續(xù),點擊提交調(diào)用指定接口,將前端將數(shù)據(jù)封裝后傳至后端,后端由控制層進行初步檢驗調(diào)用業(yè)務(wù)邏輯層經(jīng)過相應(yīng)實現(xiàn)類完成邏輯處理操作,最后mapper層對數(shù)據(jù)進行持久化即可完成所有操作。部分實現(xiàn)代碼如下:SysUsersysUser=sysUserService.queryById(inpatient.getUserId());

//設(shè)置病人信息

inpatient.setNickname(sysUser.getNickname());

inpatient.setGender(Integer.getInteger(sysUser.getGender()));

inpatient.setPhone(sysUser.getPhone());

Departmentdepartment=departmentService.queryByDepartmentId(inpatient.getDepartmentId());

//設(shè)置科室屬性

inpatient.setDepartmentName(department.getDepartmentName());

Bedbed=bedService.queryByBedId(inpatient.getBedId());

//修改床位狀態(tài)

bed.setState(1);

bedService.update(bed);

//設(shè)置價格

inpatient.setPrice(bed.getPrice());

//設(shè)置住院狀態(tài)

inpatient.setState(0);

//設(shè)置住院時間

inpatient.setITime(LocalDateTime.now());

Chargecharge=newCharge();

//添加收費信息

charge.setUserId(inpatient.getUserId());

charge.setName(sysUser.getNickname());

charge.setNum(1);

charge.setChargeTypeId(2);

charge.setPrice(bed.getPrice());

charge.setRemark(inpatient.getRemark());

chargeService.add(charge);

inpatientMapper.add(inpatient);如圖5-13所示為住院申請界面。圖5-13住院申請界面床位管理:床位管理可以對系統(tǒng)內(nèi)床位的所有信息進行管理;在搜索框內(nèi)輸入指定信息可以進行相應(yīng)的查詢;點擊編輯可以對該床位進行信息編輯操作;在上方表單中填寫床位信息,點擊添加即可完成添加操作。如圖5-14所示為床位管理界面。圖5-14床位管理界面5.7藥品管理模塊藥品管理模塊包括兩大部分:藥品庫存、藥品采購。藥品庫存:藥品庫存能夠?qū)λ幤返乃行畔⑦M行管控;點擊編輯可對該數(shù)據(jù)項進行修改;在搜索框內(nèi)輸入指定信息可進行相應(yīng)的查詢。部分實現(xiàn)代碼如下:

StringsupplierName=medicineStore.getSupplierName();

IntegermedicineNum=medicineStore.getMedicineNum();

if(medicineName==null||tradePrice==0||sellingPrice==0||

produceDate==null||validDate==null||medicineNum==null||

type==null||supplierName==null){

returnResult.error("缺少必要參數(shù)!");

}

if(tradePrice<0||sellingPrice<0){

returnResult.error("價格應(yīng)大于0!");

}

if(medicineNum<0){

returnResult.error("數(shù)量應(yīng)大于等于0!");

}

medicineStoreService.add(medicineStore);

returnResult.success();如圖5-15所示為藥品庫存界面。圖5-15藥品庫存界面藥品采購:藥品采購可以進行藥品采購并管理所有的供銷商信息;通過輸入或選擇采購信息進行藥品采購;點擊添加可添加提供藥品的供銷商信息;在搜索框內(nèi)輸入藥品名稱可查詢符合條件的供銷商信息。如圖5-16所示為藥品采購界面。圖5-16藥品采購界面5.8系統(tǒng)管理模塊系統(tǒng)管理主要包括兩大部分:系統(tǒng)角色、系統(tǒng)用戶。系統(tǒng)角色:系統(tǒng)角色可以對系統(tǒng)的所有角色信息進行管理;點擊添加,輸入必要的信息可以在系統(tǒng)內(nèi)加入新的角色;單機編輯即可更改此數(shù)據(jù)項;點擊分配權(quán)限可以重新分配角色的權(quán)限等級;在搜索框內(nèi)輸入名稱可進行查詢操作。如圖5-17所示為系統(tǒng)角色界面。圖5-17系統(tǒng)角色界面系統(tǒng)用戶:系統(tǒng)用戶可以管理所有的用戶信息;點擊詳情可以查看該用戶的詳細(xì)信息;分配角色可以重新選擇該用戶的角色從而控制權(quán)限;重置密碼可以將用戶的密碼重置為他的用戶名;在搜索框內(nèi)輸入指定參數(shù)可以進行查詢操作。如圖5-18所示為系統(tǒng)用戶界面。圖5-18系統(tǒng)用戶界面5.9個人中心模塊個人中心主要包括三大板塊:個人信息,修改頭像,重置密碼。個人信息:主要是管理自己的數(shù)據(jù)信息,并且可以對其進行基礎(chǔ)的修改;點擊“充值”按鈕,完成“充值”操作。如圖5-19展示為個人信息界面。圖5-19個人信息界面修改頭像:通過點擊特定的地方或選擇圖片按鈕打開對話框選擇頭像,選中的文件會上傳至本地磁盤,為因為文件重名而導(dǎo)致的覆蓋,會隨機生成一段字符串以作為文件名進行保存。部分實現(xiàn)代碼如下://把文件的內(nèi)容上傳到本地磁盤上

StringoriginalFilename=file.getOriginalFilename();

//保證文件的名字是唯一的,防止文件覆蓋

Stringfilename=UUID.randomUUID().toString()+originalFilename.substring(originalFilename.lastIndexOf("."));

//上傳地址

file.transferTo(newFile("F:\\PRJ\\HMS\\HMS-BackEnd\\src\\main\\resources\\static\\img\\"+filename));如圖5-20所展示的為修改頭像界面。圖5-20修改頭像界面重置密碼:重置密碼通過將自己的原始和新的密碼一同輸入,然后從ThreadLocal中取得當(dāng)前登錄的用戶名,進而調(diào)用service從數(shù)據(jù)庫中查詢用戶獲取密碼,當(dāng)密碼校驗通過后對密碼進行更改。部分實現(xiàn)代碼如下://校驗參數(shù)

Stringold_pwd=params.get("old_pwd");

Stringnew_pwd=params.get("new_pwd");

Stringre_pwd=params.get("re_pwd");

//必須都填寫

if(!StringUtils.hasLength(old_pwd)||!StringUtils.hasLength(re_pwd)||!StringUtils.hasLength(new_pwd)){

returnResult.error("缺少必要參數(shù)!");

}

//從ThreadLocal中取得username

Map<String,Object>map=ThreadLocalUtil.get();

Stringusername=(String)map.get("username");

SysUsersysUser=sysUserService.findByUserName(username);

//2、調(diào)用service判斷密碼是否一致

if(!Md5Util.getMD5String(old_pwd).equals(sysUser.getPassword())){

returnResult.error("舊密碼錯誤!");

}

//3、判斷新密碼是否一致

if(!new_pwd.equals(re_pwd)){

returnResult.error("前后密碼不一致!");

}

sysUserService.updatePwd(new_pwd);

//刪除redis中的token

ValueOperations<String,String>operations=stringRedisTemplate.opsForValue();

operations.getOperations().delete(token);如圖5-21展示為重置密碼界面。圖5-21重置密碼界面5.10留言留言:用戶可以通過在留言框內(nèi)輸入留言內(nèi)容,點擊發(fā)布,后端從ThreadLocal中獲取用戶信息并完善留言數(shù)據(jù)項,最終Mapper通過與數(shù)據(jù)庫交互完成留言操作;同時能夠查看所有的留言信息,對自己的留言進行管理。部分實現(xiàn)代碼如下:if(!StringUtils.hasLength(content)||fid==null){

returnResult.error("缺少必要參數(shù)!");

}

//子留言

if(fid!=0){

CommentfComment=commentService.queryByCommentId(fid);

if(fComment==null){

returnResult.error("CommentId:"+fid+"的留言不存在");

}

}//從ThreadLocal中取得username

Map<String,Object>map=ThreadLocalUtil.get();

Stringusername=(String)map.get("username");

SysUsersysUser=sysUserService.findByUserName(username);

System.out.println(s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論