基于JAVA的社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于JAVA的社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于JAVA的社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于JAVA的社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于JAVA的社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

[15]。2.7IntelliJIDEA集成開發(fā)環(huán)境簡(jiǎn)介 IntelliJIDEA是一款Java開發(fā)語(yǔ)言的集成開發(fā)環(huán)境,主要優(yōu)點(diǎn)包含:智能且友好的界面、豐富可擴(kuò)展的插件、流暢高效的運(yùn)行反應(yīng)等。2.8本章小結(jié) 本章簡(jiǎn)單介紹了社區(qū)醫(yī)療系統(tǒng)所使用的框架、數(shù)據(jù)庫(kù)、開發(fā)環(huán)境的相關(guān)知識(shí)及其優(yōu)點(diǎn),為后續(xù)系統(tǒng)開發(fā)從各方面都做好準(zhǔn)備。本章所選用的相關(guān)知識(shí),都是非常適合我們社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)的,并且都是開源的,能在經(jīng)濟(jì)上節(jié)省開發(fā)成本。

3系統(tǒng)分析3.1系統(tǒng)可行性分析3.1.1技術(shù)可行性分析 本系統(tǒng)在開發(fā)語(yǔ)言上選擇Java,采用SpringBoot、Vue.js框架進(jìn)行編寫。數(shù)據(jù)庫(kù)則采用MySQL、Redis,基本上都是目前較為流行的并且是開源的技術(shù),能夠保證我們的開發(fā)環(huán)境的安全和穩(wěn)定,文檔和資料在互聯(lián)網(wǎng)上都非常健全。因此,本系統(tǒng)開發(fā)在技術(shù)方面是可行的。3.1.2經(jīng)濟(jì)可行性分析本系統(tǒng)為本科畢業(yè)設(shè)計(jì),未真正投入到實(shí)際生活中,所需要的硬件設(shè)備目前只需用到一部電腦,軟件方面大部分為官方提供免費(fèi)使用的,所需資料也可在網(wǎng)上或者查詢相關(guān)書籍即可找到。因此,本系統(tǒng)的開發(fā)在經(jīng)濟(jì)方面是可行的3.1.3操作可行性分析本系統(tǒng)是基于SpringBoot框架,需要搭建Java,Redis,Maven,MySQL等軟件環(huán)境。在搭建的過程中,有遇到過種種的問題,但通過查詢資料和請(qǐng)教導(dǎo)師,都能一一解決,并能熟練掌握。因此,本系統(tǒng)開發(fā)在運(yùn)行方面是可行的。3.2需求分析 本系統(tǒng)的業(yè)務(wù)需求主要產(chǎn)生在醫(yī)生、患者、管理員三個(gè)角色中,下面羅列了主要的業(yè)務(wù)需求。主要功能需求表3-1:表3-1業(yè)務(wù)需求表編號(hào)功能名稱操作者1醫(yī)生信息管理管理員2患者信息管理管理員3掛號(hào)信息管理管理員4藥物信息管理管理員5檢查項(xiàng)目信息管理管理員6病床信息管理管理員7值班安排功能管理員8數(shù)據(jù)分析功能管理員9預(yù)約掛號(hào)功能患者10查看報(bào)告單功能患者11查看住院信息功能患者12診斷功能醫(yī)生13申請(qǐng)住院功能醫(yī)生3.2.1患者功能需求分析患者在登入系統(tǒng)后,可進(jìn)行不同科室、不同時(shí)間段的預(yù)約掛號(hào),在掛號(hào)成功后,可查看個(gè)人掛號(hào)的信息,如果有住院在住院信息將顯示相關(guān)信息,同時(shí)也可以查看患者的個(gè)人信息。3.2.2醫(yī)生功能需求分析醫(yī)生通過輸入賬號(hào)密碼,進(jìn)入首頁(yè),可以查看當(dāng)日在此醫(yī)生值班科室下掛號(hào)的患者人數(shù),并可進(jìn)行一系列診斷操作,如開藥、檢查、住院等。3.2.3管理員功能需求分析管理員通過輸入賬號(hào)密碼,進(jìn)入首頁(yè),并展示當(dāng)天的預(yù)約掛號(hào)總?cè)藬?shù)和住院人數(shù),可對(duì)醫(yī)生信息進(jìn)行錄入、刪除、修改;可對(duì)患者的基本信息、掛號(hào)信息進(jìn)行查找和刪除;可對(duì)藥物、檢查項(xiàng)目和病床信息進(jìn)行增刪改查,可對(duì)醫(yī)生進(jìn)行排班操作。3.3用例建模根據(jù)本系統(tǒng)的使用者將用戶劃分為管理員,醫(yī)生和患者三種角色?;颊咝枰孕刑顚懰璧男畔⑦M(jìn)行注冊(cè),醫(yī)生無需注冊(cè),賬號(hào)密碼統(tǒng)一并發(fā)放,登錄成功后根據(jù)相應(yīng)的角色進(jìn)入不同的模塊頁(yè)面3.3.1患者用例圖患者進(jìn)入網(wǎng)站的頁(yè)面后,可以進(jìn)行的功能用例如圖3-3所示:(1)用戶注冊(cè):填寫所需的相關(guān)個(gè)人信息完成注冊(cè)功能。(2)預(yù)約掛號(hào):患者可選擇所需的科室、日期、醫(yī)生、時(shí)間段進(jìn)行預(yù)約掛號(hào)(3)導(dǎo)出報(bào)告單:患者完成就診之后,可以查看病情報(bào)告,并可自助打印病情報(bào)告單。(4)查看住院:患者可以查看本人的住院信息。圖3-3患者用例圖患者用例規(guī)約如下表3-3-1所示:表3-3-1患者用例規(guī)約用例名稱:患者用例用例描述:患者在系統(tǒng)中進(jìn)行注冊(cè)、預(yù)約掛號(hào)、導(dǎo)出報(bào)告單、查看住院信息參與者:患者前置條件:患者注冊(cè)成功并登錄后置條件:操作完成后退出登錄基本流程:患者輸入所需的信息進(jìn)行注冊(cè)在登錄頁(yè)面輸入賬號(hào)密碼進(jìn)入后,在預(yù)約掛號(hào)頁(yè)面選擇科室、日期、醫(yī)生、時(shí)間段進(jìn)行預(yù)約就診結(jié)束導(dǎo)出報(bào)告單患者有住院,可查看住院信息完成操作后退出登錄業(yè)務(wù)規(guī)則:此權(quán)限為患者用戶使用3.3.2醫(yī)生用例圖醫(yī)生進(jìn)入網(wǎng)站的頁(yè)面后,可以進(jìn)行的功能用例如圖3-4所示:(1)處理掛號(hào):醫(yī)生在科室根據(jù)病人描述,填寫診斷意見,根據(jù)情況選擇開藥和開檢查項(xiàng)目。(2)追加診斷:該功能針對(duì)完成一次就診的患者,醫(yī)生可根據(jù)檢查報(bào)告單填寫病因及建議,也可開處方藥。(3)申請(qǐng)住院:醫(yī)生可根據(jù)患者的病情申請(qǐng)住院。(4)查看掛號(hào):醫(yī)生通過此功能可查看患者的掛號(hào)信息和歷史掛號(hào),以及是否繳費(fèi)等信息?;颊哂凶≡?,可查看住院信息圖3-4醫(yī)生用例圖醫(yī)生用例規(guī)約如下表3-4-1所示:表3-4-1醫(yī)生用例規(guī)約用例名稱:醫(yī)生用例用例描述:醫(yī)生在系統(tǒng)中可對(duì)患者的掛號(hào)進(jìn)行處理,如:開處方藥、開檢查項(xiàng)目、追加診斷、幫患者申請(qǐng)住院參與者:醫(yī)生前置條件:醫(yī)生通過輸入管理員發(fā)放的賬號(hào)密碼登錄后置條件:操作完成后退出登錄基本流暢:醫(yī)生在登錄頁(yè)面輸入賬號(hào)密碼進(jìn)去系統(tǒng)后,進(jìn)行患者掛號(hào)處理對(duì)存在需求的患者進(jìn)行開藥、開檢查項(xiàng)目對(duì)需要住院的患者,進(jìn)行住院申請(qǐng)?jiān)跉v史掛號(hào)界面對(duì)患者進(jìn)行追加診斷操作完成退出登錄業(yè)務(wù)規(guī)則:此用例為醫(yī)生使用3.3.3管理員用例圖醫(yī)院管理員進(jìn)入網(wǎng)站的頁(yè)面后,可進(jìn)行的功能用例如圖3-5所示:(1)醫(yī)生管理:可模糊查詢醫(yī)生信息,同時(shí)可以對(duì)醫(yī)生的信息進(jìn)行錄入修改等操作。(2)患者管理:可模糊查詢獲取患者的信息,同時(shí)可以將患者的狀態(tài)改為刪除,但保留患者信息。(3)掛號(hào)管理:可模糊查詢掛號(hào)信息,可對(duì)掛號(hào)信息進(jìn)行刪除。(4)藥物管理:可模糊查詢藥物信息,可對(duì)不同的藥物進(jìn)行增添、刪除、或者修改其信息如價(jià)格等。(5)檢查項(xiàng)目管理:可模糊查詢檢查項(xiàng)目的信息,同時(shí)可以通過填寫編號(hào)、價(jià)格增加項(xiàng)目,還可以修改項(xiàng)目的名稱和價(jià)格以及刪除項(xiàng)目。(6)病床管理:可以通過關(guān)鍵字搜索,分頁(yè)展示病床信息,同時(shí)可以增加床位、刪除床位、清空床位。(7)找回密碼:支持管理員通過數(shù)據(jù)庫(kù)修改密碼。(8)值班安排:可選擇從今往后一個(gè)月的任一天時(shí)間,對(duì)醫(yī)生進(jìn)行排班。(9)數(shù)據(jù)統(tǒng)計(jì):管理員可查看近20天掛號(hào)人數(shù)、科室掛號(hào)人數(shù)、患者性別比例和年齡分布的數(shù)據(jù)統(tǒng)計(jì)信息。圖3-5管理員用例圖管理員用例規(guī)約如下表3-5-1所示:表3-5-1管理員用例規(guī)約用例名稱:管理員用例用例描述:管理員在系統(tǒng)中可以對(duì)多個(gè)模塊的信息(患者、藥物等)進(jìn)行操作以及醫(yī)生的排班參與者:管理員前置條件:管理員在登錄頁(yè)面輸入賬號(hào)密碼后置條件:操作完成后退出登錄基本流暢:管理員在登錄頁(yè)輸入賬號(hào)密碼進(jìn)入管理頁(yè)面進(jìn)行患者、醫(yī)生、藥物、床位、檢查項(xiàng)目進(jìn)行添加、刪除、修改和查詢等操作進(jìn)行醫(yī)生的排班操作完成后退出登錄業(yè)務(wù)規(guī)則:此權(quán)限為管理員使用3.4系統(tǒng)主要類建模如圖3-6所示,系統(tǒng)的用戶分為患者、醫(yī)生和管理員。患者通過填寫所需的信息進(jìn)行注冊(cè),登錄系統(tǒng),進(jìn)行預(yù)約掛號(hào)、查看住院信息;醫(yī)生可對(duì)患者的掛號(hào)進(jìn)行處理、診斷,并根據(jù)實(shí)際情況進(jìn)行開藥、開檢查單等。管理員則可以對(duì)上述的信息進(jìn)行管理。圖3-6系統(tǒng)靜態(tài)類圖3.5本章小結(jié) 本章首先對(duì)系統(tǒng)進(jìn)行了技術(shù)、經(jīng)濟(jì)、操作三個(gè)方面的可行性分析,接著分析本系統(tǒng)的業(yè)務(wù)需求,將系統(tǒng)中需要實(shí)現(xiàn)的功能,由淺到深的羅列出來。再通過用例圖加用例規(guī)約的形式,建立一個(gè)設(shè)計(jì)框架,從而讓系統(tǒng)開發(fā)的過程有個(gè)清晰的認(rèn)知,使開發(fā)能夠有條不絮的進(jìn)行。4系統(tǒng)設(shè)計(jì)4.1系統(tǒng)活動(dòng)圖4.1.1患者預(yù)約掛號(hào)活動(dòng)圖圖4-1-1患者預(yù)約掛號(hào)活動(dòng)圖4.1.2醫(yī)生處理掛號(hào)活動(dòng)圖圖4-1-2醫(yī)生處理掛號(hào)活動(dòng)圖4.2系統(tǒng)時(shí)序圖4.2.1用戶登錄時(shí)序圖用戶輸入賬號(hào)和密碼后,傳至系統(tǒng)后臺(tái)進(jìn)行校驗(yàn)。如果賬號(hào)密碼不匹配,跳回登錄頁(yè)面。賬號(hào)密碼都匹配的話,后端生成Token,返回給前端,前端存儲(chǔ)到本地localStorage中,如圖4-1所示圖4-2登錄時(shí)序圖4.2.2患者預(yù)約掛號(hào)時(shí)序圖患者登錄進(jìn)頁(yè)面后,在預(yù)約掛號(hào)界面,選擇所需掛號(hào)的科室以及掛號(hào)的日期,發(fā)送給后端,再由后端返回給患者所選擇的日期當(dāng)日科室值班的醫(yī)生信息,再選擇醫(yī)生以及預(yù)約時(shí)間段,發(fā)送給后端,后端再返回患者相應(yīng)的掛號(hào)信息,如圖4-2所示。圖4-3預(yù)約掛號(hào)時(shí)序圖4.2.3醫(yī)生接診時(shí)序圖醫(yī)生可根據(jù)日期查詢患者的掛號(hào)信息,點(diǎn)擊就診按鈕,則可以填寫病因并選擇藥物以及需要使用檢查項(xiàng)目,最后更新掛號(hào)信息,如圖4-3所示。圖4-4醫(yī)生接診時(shí)序圖4.3系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1關(guān)系模型設(shè)計(jì)本小節(jié)主要設(shè)計(jì)本系統(tǒng)的關(guān)系模型,其中,“主鍵”用下劃線表示,“外鍵”用雙下劃線表示。管理員實(shí)體(管理員ID,密碼,姓名,性別,身份證號(hào),手機(jī)號(hào),郵箱)醫(yī)生實(shí)體(醫(yī)生ID,密碼,姓名,性別,身份證號(hào),手機(jī)號(hào),郵箱,職位,個(gè)人簡(jiǎn)介,所處科室,在職狀態(tài),掛號(hào)費(fèi)用)患者實(shí)體(患者ID,密碼,姓名,性別,年齡,身份證號(hào),手機(jī)號(hào),郵箱,患者狀態(tài),出生日期)藥物實(shí)體(藥物ID,名稱,單價(jià),單位,剩余數(shù)量,提供商)病床實(shí)體(病床ID,患者ID,醫(yī)生ID,病床狀態(tài),預(yù)約時(shí)間,申請(qǐng)理由)檢查項(xiàng)目實(shí)體(項(xiàng)目ID,名稱,價(jià)格)掛號(hào)信息(掛號(hào)ID,患者ID,醫(yī)生ID,病歷,預(yù)約時(shí)間,結(jié)束時(shí)間,狀態(tài),藥物,病因,檢查項(xiàng)目,繳費(fèi)費(fèi)用,繳費(fèi)狀態(tài),診斷及建議)值班信息(值班ID,值班時(shí)間,醫(yī)生ID)4.3.2關(guān)系模型圖4.4系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)表4-5:admin(管理員)屬性類型長(zhǎng)度鍵字段值約束備注a_idint11主鍵NOTNULL賬號(hào)a_passwordvarchar255密碼a_namevarchar255姓名a_gendervarchar255性別a_cardvarchar255身份證號(hào)a_phonevarchar255手機(jī)號(hào)a_emailvarchar255郵箱表4-6:patient(患者)屬性類型長(zhǎng)度鍵字段值約束備注p_idint11主鍵NOTNULL賬號(hào)p_passwordvarchar255密碼p_namevarchar255姓名p_gendervarchar255性別p_birthdayvarchar255出生日期p_ageint11年齡p_phonevarchar255電話p_cardvarchar255身份證p_emailvarchar255郵箱p_stateint11狀態(tài)表4-7:doctor(醫(yī)生)屬性類型長(zhǎng)度鍵字段值約束備注d_idint11主鍵NOTNULL賬號(hào)d_passwordvarchar255密碼d_namevarchar255姓名d_gendervarchar255性別d_phonevarchar255電話d_cardvarchar255身份證d_emailvarchar255郵箱d_postvarchar255職位d_introductionvarchar255簡(jiǎn)介d_sectionvarchar255科室d_stateint11NOTNULL狀態(tài)d_pricedecimal10,2掛號(hào)價(jià)格表4-8:orders(掛號(hào))屬性類型長(zhǎng)度鍵字段值約束備注o_idint11主鍵NOTNULLidp_idint11外鍵患者賬號(hào)d_idint11外鍵醫(yī)生賬號(hào)o_recordvarchar255病歷o_startvarchar255開始時(shí)間o_endvarchar255結(jié)束時(shí)間o_stateint11狀態(tài)o_drugvarchar255藥物o_checkvarchar255檢查項(xiàng)目o_total_pricedecimal10,2需繳費(fèi)費(fèi)用o_price_stateint11繳費(fèi)狀態(tài)o_advicevarchar255診斷及建議表4-9:bed(病床)屬性類型長(zhǎng)度鍵字段值約束備注b_idint11主鍵NOTNULLidp_idint11外鍵患者賬號(hào)d_idint11外鍵醫(yī)生賬號(hào)b_stateint11病床狀態(tài)b_startvarchar255預(yù)約時(shí)間b_reasonvarchar255申請(qǐng)理由表4-10:arrange(排班)屬性類型長(zhǎng)度鍵字段值約束備注ar_idint255主鍵NOTNULLidar_timevarchar255值班時(shí)間d_idint11外鍵醫(yī)生表4-11:drug(藥物)屬性類型長(zhǎng)度鍵字段值約束備注dr_idint11主鍵NOTNULLiddr_nameint255名稱dr_priceint10,2單價(jià)dr_numberint11剩余數(shù)量dr_unitvarchar255單位dr_publishervarchar255提供商表4-12:check(檢查項(xiàng)目)屬性類型長(zhǎng)度鍵字段值約束備注ch_idint11主鍵NOTNULLidch_namevarchar255名稱ch_pricedecimal10,2價(jià)格4.5本章小結(jié) 本章主要通過圖表,展示系統(tǒng)的設(shè)計(jì)。其中圖包含了患者預(yù)約掛號(hào)活動(dòng)圖、患者預(yù)約掛號(hào)時(shí)序圖、醫(yī)生接診時(shí)序圖等,表包含了本系統(tǒng)所使用到的數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)、關(guān)系模型設(shè)計(jì)、系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。這些圖和表的設(shè)計(jì)是實(shí)現(xiàn)社區(qū)醫(yī)療系統(tǒng)的重要組成部分,其不僅將各個(gè)模塊之前的聯(lián)系梳理清楚,更是利于我們?cè)陂_發(fā)過程中有著清晰的思路。

5系統(tǒng)實(shí)現(xiàn)本章節(jié)展示了公共模塊,管理員模塊,醫(yī)生模塊以及患者模塊的部分功能頁(yè)面截圖以及主要代碼。5.1登錄注冊(cè)模塊5.1.1用戶登錄登錄頁(yè)面,用戶在此頁(yè)面輸入賬號(hào)以及正確的密碼進(jìn)行登錄,在密碼的下方分別有患者、醫(yī)生、管理員的按鈕,不同的用戶需要選擇不同的按鈕,輸入賬號(hào)和密碼后,點(diǎn)擊藍(lán)色登錄按鍵,密碼正確則可進(jìn)入系統(tǒng),如圖5-1所示。圖5-1登錄頁(yè)面主要代碼:Controller層代碼:@RequestMapping(value="login",method=RequestMethod.POST)@ResponseBodypublicResponseDatalogin(@RequestParam(value="pId")intpId,@RequestParam(value="pPassword")StringpPassword){Patientpatient=this.patientService.login(pId,pPassword);if(patient!=null){Map<String,String>map=newHashMap<>();map.put("pName",patient.getPName());map.put("pId",String.valueOf(patient.getPId()));map.put("pCard",patient.getPCard());Stringtoken=JwtUtil.getToken(map);map.put("token",token);//response.setHeader("token",token);returnResponseData.success("登錄成功",map);}else{returnResponseData.fail("登錄失敗,密碼或賬號(hào)錯(cuò)誤");}}Service層代碼:Patientlogin(intpId,StringpPassword);5.1.2用戶注冊(cè)注冊(cè)模塊,患者通過填寫下圖中的性別、密碼、出生日期等個(gè)人信息并點(diǎn)擊藍(lán)色確定按鈕進(jìn)行注冊(cè),若賬號(hào)已被注冊(cè)則需要更改所填寫的賬號(hào)并重新填寫,如圖5-2所示。該部分只支持患者使用,醫(yī)生無需注冊(cè),賬號(hào)密碼由管理員統(tǒng)一發(fā)放。圖5-2注冊(cè)界面主要代碼:@RequestMapping("addPatient")@ResponseBodypublicResponseDataaddPatient(Patientpatient){Booleanbo=this.patientService.addPatient(patient);if(bo){returnResponseData.success("注冊(cè)成功");}returnResponseData.fail("注冊(cè)失??!賬號(hào)或郵箱已被占用");5.2功能模塊5.2.1管理員模塊醫(yī)生信息管理列表,在此頁(yè)面的上端可以輸入醫(yī)生的姓名進(jìn)行搜索,點(diǎn)擊藍(lán)色的按鈕可以錄入醫(yī)生的信息,從而添加醫(yī)生,下方則可以查看醫(yī)生的一系列信息如姓名、性別等,在一行行的醫(yī)生信息的右側(cè)紅綠按鈕,可以對(duì)醫(yī)生的信息進(jìn)行修改,如圖5-3所示。5-3醫(yī)生信息管理主要代碼:@RequestMapping("findDoctor")publicResponseDatafindDoctor(@RequestParam(value="dId")intdId){returnResponseData.success("查詢醫(yī)生成功",this.doctorService.findDoctor(dId));}@RequestMapping("addDoctor")@ResponseBodypublicResponseDataaddDoctor(Doctordoctor){Booleanbo=this.doctorService.addDoctor(doctor);if(bo){returnResponseData.success("增加醫(yī)生信息成功");}returnResponseData.fail("增加醫(yī)生信息失敗!賬號(hào)或已被占用");}@RequestMapping("deleteDoctor")publicResponseDatadeleteDoctor(@RequestParam(value="dId")intdId){Booleanbo=this.doctorService.deleteDoctor(dId);if(bo){returnResponseData.success("刪除醫(yī)生信息成功");}returnResponseData.fail("刪除醫(yī)生信息失敗");}@RequestMapping("modifyDoctor")@ResponseBodypublicResponseDatamodifyDoctor(Doctordoctor){藥物信息管理列表,在此頁(yè)面的上端可以輸入藥物的名稱進(jìn)行搜索,點(diǎn)擊藍(lán)色的增加藥物按鈕,可以錄入藥物的信息,從而添加藥物,下方則可以查看藥品的一系列信息如名稱、數(shù)量等,藥物信息的右側(cè)紅綠按鈕,可以對(duì)藥物的信息進(jìn)行修改,如圖5-4所示。圖5-4藥物信息列表主要代碼:@RequestMapping("findAllDrugs")publicResponseDatafindAllDrugs(intpageNumber,intsize,Stringquery){returnResponseData.success("返回所有藥物信息成功",this.drugService.findAllDrugs(pageNumber,size,query));}@RequestMapping("findDrug")publicResponseDatafindDrug(intdrId){returnResponseData.success("根據(jù)id查找藥物成功",this.drugService.findDrug(drId));}@RequestMapping("reduceDrugNumber")publicResponseDatareduceDrugNumber(intdrId,intusedNumber){if(this.drugService.reduceDrugNumber(drId,usedNumber)){returnResponseData.success("根據(jù)id刪除藥物數(shù)量成功");}returnResponseData.fail("根據(jù)id刪除藥物數(shù)量失敗");}@RequestMapping("addDrug")@ResponseBodypublicResponseDataaddDrug(Drugdrug){Booleanbo=this.drugService.addDrug(drug);if(bo){returnResponseData.success("增加藥物信息成功");}returnResponseData.fail("增加藥物信息失??!賬號(hào)或已被占用");}@RequestMapping("deleteDrug")publicResponseDatadeleteDrug(@RequestParam(value="drId")intdrId){Booleanbo=this.drugService.deleteDrug(drId);if(bo){returnResponseData.success("刪除藥物信息成功");}returnResponseData.fail("刪除藥物信息失敗");}@RequestMapping("modifyDrug")@ResponseBodypublicResponseDatamodifyDrug(Drugdrug){this.drugService.modifyDrug(drug);returnResponseData.success("修改藥物信息成功");}排班信息管理列表,管理員首先從上方的值班日期中選擇日期,如圖5-5中所示藍(lán)色按鈕,然后在下方科室中選擇具體的科室名字,如圖5-5中下方所示,進(jìn)入具體的科室之后,查看醫(yī)生的信息,并進(jìn)行排班,如圖5-5所示。圖5-5排班時(shí)間、科室選擇圖5-6排班醫(yī)生選擇主要代碼:@RequestMapping("addArrange")publicResponseDataaddArrange(Arrangearrange){if(this.arrangeService.addArrange(arrange)){returnResponseData.success("增加排班信息成功");}returnResponseData.fail("該醫(yī)生該日已排班");}@RequestMapping("addArrange")publicResponseDataaddArrange(Arrangearrange){if(this.arrangeService.addArrange(arrange)){returnResponseData.success("增加排班信息成功");}returnResponseData.fail("該醫(yī)生該日已排班");}@RequestMapping("deleteArrange")publicResponseDatadeleteArrange(StringarId){if(this.arrangeService.deleteArrange(arId)){returnResponseData.success("刪除排班信息成功");}returnResponseData.fail("排班信息不存在");}數(shù)據(jù)統(tǒng)計(jì)分析列表,管理員可以在此頁(yè)面中查看有關(guān)掛號(hào),患者男女比例以及患者的年齡段分布等數(shù)據(jù)統(tǒng)計(jì)和分析,如圖5-7所示。圖5-7數(shù)據(jù)統(tǒng)計(jì)主要代碼:@RequestMapping("orderPeople")publicResponseDataoderPeople(){StringoStart=TodayUtil.getTodayYmd();returnResponseData.success("統(tǒng)計(jì)今天掛號(hào)人數(shù)成功",this.orderService.orderPeople(oStart));}@RequestMapping("orderPeopleByDid")publicResponseDataorderPeopleByDid(intdId){StringoStart=TodayUtil.getTodayYmd();returnResponseData.success("統(tǒng)計(jì)今天掛號(hào)人數(shù)成功",this.orderService.orderPeopleByDid(oStart,dId));}@RequestMapping("orderSeven")publicResponseDataorderSeven(){ArrayList<Integer>list=newArrayList<>();StringoStart=null;for(inti=20;i>0;i--){oStart=TodayUtil.getPastDate(i);intpeople=this.orderService.orderPeople(oStart);list.add(people);}returnResponseData.success("獲取過去20天的掛號(hào)人數(shù)成功",list);}@RequestMapping("orderGender")publicResponseDataorderGender(){returnResponseData.success("統(tǒng)計(jì)掛號(hào)男女人數(shù)",this.orderService.orderGender());}5.2.2醫(yī)生模塊今日掛號(hào)列表,醫(yī)生在此頁(yè)面中可以查看當(dāng)天對(duì)其值班科室的掛號(hào)患者信息,如圖5-8所示;點(diǎn)擊右側(cè)橙黃色的處理按鈕,進(jìn)入處理掛號(hào)界面,醫(yī)生可以根據(jù)患者的描述,填寫相關(guān)癥狀,同時(shí)也可以在藥物列表中點(diǎn)綠色按鈕,進(jìn)行開藥和開檢查項(xiàng)目,右側(cè)紅色按鈕則可以進(jìn)行刪除操作,如圖5-9所示。圖5-8某醫(yī)生當(dāng)天掛號(hào)列表圖5-9處理掛號(hào)頁(yè)面主要代碼:@RequestMapping("findOrderByNull")publicResponseDatafindOrderByNull(@Param(value="dId")intdId,@RequestParam(value="oStart")StringoStart){System.out.println("賬號(hào)時(shí)間為"+dId+oStart);returnResponseData.success("返回當(dāng)天掛號(hào)信息成功",this.orderService.findOrderByNull(dId,oStart));}歷史掛號(hào)列表,醫(yī)生在當(dāng)前頁(yè)面上方輸入患者id,進(jìn)行掛號(hào)信息的查詢,并在下方展示患者的掛號(hào)信息以及病因,點(diǎn)擊右側(cè)橙黃色追診按鈕,可以對(duì)患者進(jìn)行追診操作,如圖5-10所示。圖5-10醫(yī)生已經(jīng)處理的掛號(hào)信息列表主要代碼:@RequestMapping("findPatientById")publicResponseDatafindPatientById(intpId){returnResponseData.success("返回患者信息成功!",this.patientService.findPatientById(pId));}住院申請(qǐng)管理頁(yè)面,醫(yī)生需要根據(jù)患者的實(shí)際情況,判斷患者是否需要住院,如果需要,則可以在此頁(yè)面上方輸入患者的id,進(jìn)行查詢,然后在下方選擇患者,并點(diǎn)擊右側(cè)申請(qǐng)住院按鈕進(jìn)行操作,如圖5-11所示。圖5-11住院申請(qǐng)管理主要代碼:@RequestMapping("findNullBed")publicResponseDatafindNullBed(){returnResponseData.success("查找所有空床位成功",this.bedService.findNullBed());}@RequestMapping("updateBed")publicResponseDataupdateBed(Bedbed){if(this.bedService.updateBed(bed)){returnResponseData.success("增加床位成功!");}returnResponseData.fail("增加床位失??!");}5.2.3患者模塊預(yù)約掛號(hào)列表,患者需要依次選擇科室、日期、醫(yī)生、時(shí)間段進(jìn)行掛號(hào)。第一步,選擇科室,需要選擇具體的科室,如圖5-12所示藍(lán)色按鈕;第二步,選擇掛號(hào)日期,在上方點(diǎn)擊“請(qǐng)選擇你要掛號(hào)的日期”,接著下方會(huì)顯示該科室當(dāng)日值班的醫(yī)生信息,如圖5-13;第三步,點(diǎn)擊醫(yī)生信息,選擇預(yù)約掛號(hào)的時(shí)間段,點(diǎn)擊藍(lán)色確定按鈕,若有剩余號(hào)源,即可成功掛號(hào),如圖5-14所示。圖5-12選擇掛號(hào)科室圖5-13選擇掛號(hào)日期以及醫(yī)生圖5-14選擇掛號(hào)時(shí)間段主要代碼:@RequestMapping("findDoctorBySection")publicResponseDatafindDoctorBySection(@RequestParam(value="dSection")StringdSection){returnResponseData.success("根據(jù)科室查詢所有醫(yī)生信息成功",this.doctorService.findDoctorBySection(dSection));}@RequestMapping("addOrder")@ResponseBodypublicResponseDataaddOrder(Ordersorder,StringarId){System.out.println(arId);if(this.orderService.addOrder(order,arId)){returnResponseData.success("插入掛號(hào)信息成功");}returnResponseData.fail("插入掛號(hào)信息失敗");}我的掛號(hào)頁(yè)面,在此頁(yè)面患者可以自行查看掛號(hào)的相關(guān)信息,如:掛號(hào)時(shí)間、繳費(fèi)狀態(tài)等,并且可以在最右側(cè)的“查看”進(jìn)行報(bào)告單的打印,也可在此頁(yè)面進(jìn)行繳費(fèi),如圖5-15所示。圖5-15我的掛號(hào)主要代碼:@RequestMapping("findOrderByPid")publicResponseDatafindOrderByPid(@RequestParam(value="pId")intpId){returnResponseData.success("返回掛號(hào)信息成功",this.orderService.findOrderByPid(pId));}5.3本章小結(jié)本章主要通過系統(tǒng)頁(yè)面圖片介紹社區(qū)醫(yī)療系統(tǒng)所實(shí)現(xiàn)的功能,如在首頁(yè)的登錄、注冊(cè)功能,患者的掛號(hào)、醫(yī)生的就診功能等,呈現(xiàn)實(shí)現(xiàn)該部分功能的主要代碼,并對(duì)操作進(jìn)行步驟的介紹。

6系統(tǒng)測(cè)試6.1運(yùn)行環(huán)境操作系統(tǒng):Windows11數(shù)據(jù)庫(kù):MySQLv10.00、Redis應(yīng)用軟件:Idea2022.3.3瀏覽器:edge120.0.2210.916.2測(cè)試目的和方法系統(tǒng)測(cè)試是指在完成項(xiàng)目編碼后,在系統(tǒng)正式上線前,對(duì)每個(gè)模塊所運(yùn)行的功能進(jìn)行反復(fù)使用,對(duì)照前期的需求分析進(jìn)行每一項(xiàng)功能的排查,檢查每項(xiàng)功能是否達(dá)到預(yù)期的要求,是否存在錯(cuò)誤或者由于操作導(dǎo)致的系統(tǒng)報(bào)錯(cuò),發(fā)現(xiàn)之后及時(shí)解決和修復(fù),從而保證了系統(tǒng)的穩(wěn)定性和完整性。本系統(tǒng)采用階段式的單元測(cè)試,即在每完成一定的功能后,便進(jìn)行白盒、黑盒測(cè)試,以此保證能夠及時(shí)的發(fā)現(xiàn)存在的BUG并解決,同時(shí)在測(cè)試階段也可以完善前期的功能。6.3測(cè)試用例用戶登錄測(cè)試用例如表6-1所示:表6-1用戶登錄測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0101輸入正確的賬號(hào)和密碼登錄成功,進(jìn)入用戶角色首頁(yè)登錄成功,進(jìn)入用戶角色首頁(yè)CS0102輸入錯(cuò)誤的賬號(hào)和正確的密碼提示賬號(hào)或者密碼錯(cuò)誤,不做跳轉(zhuǎn)提示賬號(hào)或者密碼錯(cuò)誤,不做跳轉(zhuǎn)CS0103輸入正確的賬號(hào)和錯(cuò)誤密碼提示賬號(hào)或者密碼錯(cuò)誤,不做跳轉(zhuǎn)提示賬號(hào)或者密碼錯(cuò)誤,不做跳轉(zhuǎn)CS0104賬號(hào)和密碼均為空提示賬號(hào)或密碼不能為空,不做跳轉(zhuǎn)提示賬號(hào)或密碼不能為空,不做跳轉(zhuǎn)用戶注冊(cè)測(cè)試用例如表6-2所示:表6-2用戶注冊(cè)測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0201進(jìn)入用戶注冊(cè)頁(yè)面顯示用戶注冊(cè)頁(yè)面顯示用戶注冊(cè)頁(yè)面CS0202使用不正確的賬號(hào)或者已存在的賬號(hào)提示該賬號(hào)不合法或者已被占用提示該賬號(hào)不合法或者已被占用CS0203使用已存在的郵箱提示該郵箱已被注冊(cè),請(qǐng)重新輸入提示該郵箱已被注冊(cè),請(qǐng)重新輸入找回密碼測(cè)試用例如表6-3所示:表6-3找回密碼測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0301選擇錯(cuò)誤的角色,填寫錯(cuò)誤的郵箱號(hào)未能接收到驗(yàn)證碼未能接收到驗(yàn)證碼CS0302驗(yàn)證碼錯(cuò)誤提示驗(yàn)證碼錯(cuò)誤或者已過期提示驗(yàn)證碼錯(cuò)誤或者已過期CS0303驗(yàn)證碼超過有效期提示驗(yàn)證碼錯(cuò)誤或者已過期提示驗(yàn)證碼錯(cuò)誤或者已過期CS0304新密碼和確認(rèn)密碼不一致提示新密碼和確認(rèn)密碼不一致提示新密碼和確認(rèn)密碼不一致醫(yī)生信息管理測(cè)試用例如表6-4所示:表6-4醫(yī)生信息管理測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0401增加醫(yī)生,填寫的賬號(hào)已存在提示該賬號(hào)已被占用提示該賬號(hào)已被占用CS0402增加醫(yī)生,輸入新增醫(yī)生信息增加成功增加成功CS0403點(diǎn)擊刪除醫(yī)生信息提示此操作將刪除該醫(yī)生信息提示此操作將刪除該醫(yī)生信息醫(yī)生處理掛號(hào)測(cè)試用例如表6-5所示:表6-5醫(yī)生處理掛號(hào)測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0501進(jìn)入當(dāng)天掛號(hào)頁(yè)面按預(yù)約時(shí)間段順序顯示掛號(hào)信息按預(yù)約時(shí)間段順序顯示掛號(hào)信息CS0502藥物動(dòng)態(tài)增加點(diǎn)擊左邊列表增加藥物按鈕,右邊列表會(huì)實(shí)時(shí)顯示該藥物信息和數(shù)量點(diǎn)擊左邊列表增加藥物按鈕,右邊列表會(huì)實(shí)時(shí)顯示該藥物信息和數(shù)量CS0503藥物動(dòng)態(tài)移除點(diǎn)擊右邊列表移除藥物按鈕,右邊列表該藥物數(shù)量會(huì)減1,若剩余數(shù)量為0,則完全移除該藥物信息點(diǎn)擊右邊列表移除藥物按鈕,右邊列表該藥物數(shù)量會(huì)減1,若剩余數(shù)量為0,則完全移除該藥物信息CS0504進(jìn)入追加診斷頁(yè)面顯示追加診斷頁(yè)面及操作顯示追加診斷頁(yè)面及操作患者預(yù)約掛號(hào)測(cè)試用例如表6-6所示:表6-6患者預(yù)約掛號(hào)測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0601點(diǎn)擊科室顯示該科室所有醫(yī)生信息顯示該科室所有醫(yī)生信息,但無掛號(hào)操作顯示該科室所有醫(yī)生信息,但無掛號(hào)操作CS0602日期選擇顯示當(dāng)天該科室排班的醫(yī)生,并出現(xiàn)掛號(hào)操作按鈕顯示當(dāng)天該科室排班的醫(yī)生,并出現(xiàn)掛號(hào)操作按鈕CS0603選擇有剩余號(hào)源的時(shí)間段提示掛號(hào)成功,隨后跳轉(zhuǎn)到我的掛號(hào)頁(yè)面提示掛號(hào)成功,隨后跳轉(zhuǎn)到我的掛號(hào)頁(yè)面CS0604選擇有剩余號(hào)源的時(shí)間段提示該時(shí)間段已無剩余號(hào)源,請(qǐng)重新選擇掛號(hào)時(shí)間段提示該時(shí)間段已無剩余號(hào)源,請(qǐng)重新選擇掛號(hào)時(shí)間段CS0605點(diǎn)擊繳費(fèi)按鈕所需繳費(fèi)費(fèi)用清零,彈出對(duì)醫(yī)生評(píng)分對(duì)話框所需繳費(fèi)費(fèi)用清零,彈出對(duì)醫(yī)生評(píng)分對(duì)話框CS0606點(diǎn)擊查看病情報(bào)告單按鈕顯示本次掛號(hào)的病情報(bào)告單PDF顯示本次掛號(hào)的病情報(bào)告單PDF值班安排測(cè)試用例如表6-7所示:表6-7值班安排測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0701點(diǎn)擊排班日期顯示所有科室目錄,本地localStorage會(huì)存儲(chǔ)所點(diǎn)擊的排班日期顯示所有科室目錄,本地localStorage會(huì)存儲(chǔ)所點(diǎn)擊的排班日期CS0702點(diǎn)擊排班按鈕若該醫(yī)生未排班,則提示排班成功;若該醫(yī)生已排班,則提示該醫(yī)生已排班若該醫(yī)生未排班,則提示排班成功;若該醫(yī)生已排班,則提示該醫(yī)生已排班退出登錄測(cè)試用例如表6-8所示:表6-8退出登錄測(cè)試用例編號(hào)用例名預(yù)期結(jié)果實(shí)際結(jié)果CS0801點(diǎn)擊退出登錄按鈕存儲(chǔ)到本地localStorage的Token會(huì)被清除掉,返回到登錄頁(yè)面存儲(chǔ)到本地localStorage的Token會(huì)被清除掉,返回到登錄頁(yè)面6.4結(jié)果及分析在上述測(cè)試環(huán)境下,總共進(jìn)行了多輪測(cè)試。在前幾輪測(cè)試中,我們發(fā)現(xiàn)了一些小BUG,例如點(diǎn)擊刪除醫(yī)生信息,提示框并未彈出,但數(shù)據(jù)庫(kù)已刪除掉該數(shù)據(jù)。但是經(jīng)過我們多次的測(cè)試以及修改,成功解決了這些BUG,并在后幾輪測(cè)試中,各個(gè)模塊的功能都可以正常使用,預(yù)期結(jié)果也達(dá)到了我們需求的要求??偟膩碚f,本次的系統(tǒng)測(cè)試結(jié)果是較為理想的。6.5本章小結(jié)本章主要闡述了社區(qū)醫(yī)療系統(tǒng)的運(yùn)行環(huán)境、測(cè)試方法、以及各個(gè)功能的測(cè)試用例。測(cè)試是軟件開發(fā)必不可少的步驟,通過多輪的測(cè)試,我發(fā)現(xiàn)系統(tǒng)測(cè)試,不能僅僅只是對(duì)系統(tǒng)的功能進(jìn)行測(cè)試,同時(shí)也要注意系統(tǒng)的性能,安全等方面的測(cè)試,這樣才能保證系統(tǒng)在正式上線之后,用戶能更加放心的使用我們的系統(tǒng)。

7總結(jié)和展望7.1總結(jié)基于Java的社區(qū)醫(yī)療系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)從對(duì)國(guó)內(nèi)外發(fā)展的對(duì)比和分析開始,確定了此系統(tǒng)的可行性和必要性,并且將系統(tǒng)分為三大模塊來滿足患者、醫(yī)生、醫(yī)院的需求,完成系統(tǒng)的開發(fā)和數(shù)據(jù)庫(kù)建立,最后通過測(cè)試,找出存在系統(tǒng)中的BUG,并進(jìn)行修改和完善,進(jìn)而完成了系統(tǒng)的實(shí)現(xiàn)。網(wǎng)站劃分為了前端和后端分離的模式,界面和功能在完成編寫后需要進(jìn)行前后端的整合,本次設(shè)計(jì)前端界面開發(fā)主要使用Vue.js框架,后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論