freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于bs結(jié)構(gòu)的醫(yī)院預(yù)約掛號系統(tǒng)的設(shè)計與實現(xiàn)-閱讀頁

2025-06-26 10:53本頁面
  

【正文】 該圖中實體為管理員,管理員有兩個屬性:賬戶名和密碼 . 患者信息屬性圖如圖 所示,在該圖中實體為患者,患者的屬性分別為真實姓名、登錄名、登錄密碼、性別等 . 醫(yī)生信息屬性圖如圖 所示,在該圖中實體為醫(yī)生,醫(yī)生的屬性分別為醫(yī)生名稱、醫(yī)生職稱和醫(yī)生簡介 . 管 理 員 賬號名 密 碼 圖 科 室 信 息 科 室 名 稱 科 室 概 況 圖 科室信息屬性圖 患 者 姓 名 登 錄 名 登錄密碼 類別 更新時間 性 別 聯(lián)系電話 地 址 身份證號 編號 更新時間 圖 19 本系統(tǒng)的 ER 圖如圖 所示,圖中顯示了 4 個用矩形表示的實體類型:用戶,科室信息,醫(yī)師信息和時間表,各個實體類型又有其對應(yīng)的類型,在上述圖中可以找到,實體與實體間存在四個聯(lián)系,根據(jù)不同的實際情況給輸了聯(lián)系類型 .從圖中可以清晰的看出各個實體的特點以及它們之間的關(guān)聯(lián)性 . 圖 系統(tǒng) ER 圖 圖 數(shù)據(jù)庫設(shè) 計 在完成系統(tǒng)的 ER 圖之后,需要將 ER 模型轉(zhuǎn)化為關(guān)系模型,也就是說,要設(shè)計出所需要的表格 .在這里,選用的是關(guān)系數(shù)據(jù)庫 .因為關(guān)系數(shù)據(jù)庫中的二維表格可以很清楚地描述數(shù)據(jù)之間的聯(lián)系 . 管理員表如表 所示用來存儲管理員的基本信息,包括管理員的登錄名和密碼,在管理員登錄的時候使用 . 圖 醫(yī)生信息 醫(yī)生職稱 醫(yī)生名稱 醫(yī)生簡介 20 表 字段名稱 字段類型 說明 aid(k) int(4) ID 序列號 uname Varchar(20) 登錄賬號 Upwd Varchar(6) 登錄密碼 醫(yī)生信息表如表 所示主要用來存儲醫(yī)生的 個人信息,包括醫(yī)生姓名,性別,年齡,職稱等,在用戶查詢醫(yī)生時會顯示查出的該表中醫(yī)生個人信息 . 表 字段名稱 字段類型 說明 did(k) int(4) ID 序列號 Name Varchar(30) 醫(yī)生名字 Sex Varchar(2) 性別 Age Int( 3) 年齡 Level Varchar( 20) 職稱 Special Varchar( 20) 擅長 Section Varchar( 20) 科室 img Varchar( 100) 醫(yī)生照片 ` 患者信息表如表 所示用來存儲患者的基本信息,包括患者的登錄名,密碼,真實姓名,身份證號等 .其中登錄名和密碼是患者在登錄系統(tǒng)是使用的 . 表 字段名稱 字段類型 說明 pid(k) int(4) ID 序列號 Name Varchar(32) 用戶姓名 Uname Varchar(32) 登錄名稱 Upwd Varchar(32) 登錄密碼 Sex Varchar( 2) 性別 Age Varchar( 3) 年齡 Address Varchar( 32) 地址 Phone Varchar( 32) 聯(lián)系電話 Id Varchar( 18) 醫(yī)生預(yù)約時間信息表如表 所示用來存儲醫(yī)生的預(yù)約信息,包括預(yù)約日期,上午 /下午,醫(yī)生現(xiàn)在能夠掛號的數(shù)量,醫(yī)生 id,其中醫(yī)生編號是醫(yī)生表中的主鍵作為醫(yī)生預(yù)約時間信息表的外鍵,為了將預(yù)約時間表和醫(yī)生聯(lián)系在一起 . 21 表 字段名稱 字段類型 說明 cid(k) int(12) ID 序列號 date Varchar( 32) 日期 ap Varchar( 32) 上午 /下午 number int(12) 掛號數(shù)量 did int(12) 醫(yī)生編號 病人掛號表如表 所示用來表示病人在某個醫(yī)生處掛號的基本信息,包括醫(yī)生編號,病人編號,預(yù)約日期,上午 /下午,醫(yī)生姓名,其中病人編號是病人表中的主鍵作為病人掛號表的外鍵,醫(yī)生編號是醫(yī)生表中的主鍵作為掛號表的外鍵,為了將掛號表與醫(yī)生表和病人表聯(lián)系在一起 . 表 構(gòu) 字段名稱 字段類型 說明 oid Int( 12) ID 序列號 did Int( 12) 醫(yī)生編號 pid Int( 12) 病人編號 date Verchar( 12) 日期 ap Verchar( 12) 上午 /下午 docName Verchar( 32) 醫(yī)生姓名 22 4 系統(tǒng)實現(xiàn) 系統(tǒng)首頁的實現(xiàn) 基于 WEB 服務(wù)的醫(yī)院網(wǎng)上掛號系統(tǒng)首頁如圖 所示完成醫(yī)院概述,新聞公告,科室導(dǎo)航等,如果用戶已經(jīng)登錄可以查看自己的掛號信息,沒有登錄則不能查看 .瀏覽者可以輸入自己想要掛號的醫(yī)生姓名或科室名稱查找自己想要掛號的醫(yī)生,查找后會顯示該科室的醫(yī)生姓名或該醫(yī)生的姓名,支持模糊查詢 .瀏覽者點擊醫(yī)生姓名后會顯示該醫(yī)生的信息和掛號信息,如果已經(jīng)登錄點擊確認預(yù)約后會判斷是否已經(jīng)在該醫(yī)生處掛過號,如果沒有則掛號成功,如果有則掛號失敗,如果用戶沒有登錄則點擊預(yù)約掛號后會跳轉(zhuǎn)到登錄界面 .查找自己系統(tǒng)主界面不需要登錄密碼等信息,為瀏覽者任意開放,供瀏覽者了解醫(yī)院情況和查找醫(yī)生,瀏覽者不需要登錄就可以使用這些功能 . 圖 首頁 登錄功能實現(xiàn) 在登錄窗口,用 戶可以選擇管理員還是用戶登錄,選擇完以后輸入用戶名和密碼,用 23 戶名和密碼輸入完成后點擊登錄按鈕提交到 取得用戶輸入的用戶名和密碼,然后判斷用戶選擇的是管理員登陸還是用戶登錄,根據(jù)用戶的選擇調(diào)用相應(yīng)的 dao 查詢數(shù)據(jù)庫中是否存在該用戶或者管理員 .servlet 取得返回值后判斷是否登陸成功,如果登錄成功則跳轉(zhuǎn)到管理員界面或用戶界面,如果用戶登錄失敗,會跳轉(zhuǎn)回登陸界面并且提示“用戶名或密碼錯誤”,用戶重新輸入用戶名和密碼繼續(xù)上面的步驟 .用戶登錄頁面如圖 所示 . 圖 用戶登錄頁 面 用戶功能的實現(xiàn) 用戶注冊功能的實現(xiàn) 如果需要注冊新用戶,可以使用用戶注冊功能,添加的信息包括用戶的真實姓名、性別、登陸名、登陸密碼、地址等其他信息 .當用戶輸入完一條信息后鼠標移開,會在 javaScript進行驗證,如果輸入錯誤會提示輸入錯誤信息,用戶看到錯誤信息后應(yīng)該根據(jù)提示的信息對輸入的信息進行修改 .只有當用戶的所有需要填寫的信息都正確時,用戶才可以進行注冊 . 用戶點擊注冊按鈕后會把所有信息傳遞到 servlet,servlet 調(diào)用該模塊 Dao 里的方法,把所有信息插入數(shù)據(jù)庫 .Servlet 根據(jù)返回的信息判斷是否插入 (注冊 )成功,如果注冊成功則跳轉(zhuǎn)到登錄頁面,注冊失敗跳轉(zhuǎn)回注冊頁面 . 在判斷用戶名和身份證的時候使用了 ajax 方法,用戶輸入完用戶名后鼠標移開,進入 24 判斷用戶名是否存在的 ajax 方法中 .在 ajax 方法中寫好需要跳轉(zhuǎn)的 servlet 名和用戶輸入的值 ,跳轉(zhuǎn)到 servlet 以后根據(jù)用戶輸入的值調(diào)用該模塊 dao 里面的方法,通過查詢數(shù)據(jù)庫判斷用戶名是否已存在, servlet 得到返回值后先轉(zhuǎn)化成 json 格式的數(shù)據(jù),然后傳回 ajax 方法中 .根據(jù)返回值判斷用戶名是否已經(jīng)存在,如果存在提示用 戶“用戶名已經(jīng)存在”,如果不存在提示用戶“用戶名可以使用” .使用 ajax 的優(yōu)點是不用刷新整個頁面,使用一步的方式與服務(wù)器通信,不需要打斷用戶的操作 .所以在判斷用戶名的時候使用 ajax 進行判斷,不會清除用戶輸入的其他信息 . 在使用 ajax 的時候剛開始得不到 ajax 方法得不到 servlet 返回的值,所以 ajax 方法不能使用 .最后解決方法是通過“ JSONArray json = (check)?!狈祷氐?ajax 中,通過這樣的方式可以得到 servlet 的返回值 . 判斷用戶名 ajax 代碼如下: $.getJSON( //url //data {name:$(Loginname).val()}, function(data){ //判斷,如果為 true 提示成功,否則失敗 if(data[0].value==1){ //清除表 單 $(login_msg) .empty() .html(用戶名已存在 )。 String name = (txt)。 if(1.equals(select)){//按姓名查 詢醫(yī)生信息 PatientDao pdao = new PatientImpl()。 }else{//按科室查詢醫(yī)生信息 PatientDao pdao = new PatientImpl()。} (list, list)。 通過 ifelse 判斷用戶選擇的是按醫(yī)生姓名查詢還是按醫(yī)生科室查詢,然后調(diào)用 dao 中對應(yīng)的方法,返回值保存到 list 中,然后通過 (“l(fā)ist”,list)。 }else{ PatientDao pd = new PatientImpl()。 String yes = no。 if(res){ yes = yes。 (CheckAppointmentInfo).forward(request, response)。 (success)。 先通過 if 判斷用戶是否登錄,因為如果用戶已經(jīng)登錄過會在 session 存儲“ patient”,所以如果 if 判斷為空則用戶沒有登錄,跳轉(zhuǎn)到用戶登錄頁面 .如果不為空則調(diào)用 dao 中的方法查詢用戶是否在該醫(yī)生處有沒有就診的過號 .如果有則跳轉(zhuǎn)到我的掛號頁面 .如果沒有則在數(shù)據(jù)庫中插入該用戶的掛號,并且醫(yī)生能掛號的人數(shù)減一 . 管理員模塊的實現(xiàn) 醫(yī)生管理分頁的實現(xiàn) 由于數(shù)據(jù)庫采用的是 MySql 數(shù)據(jù)庫,所以分頁的實現(xiàn)是根據(jù) MySql 數(shù)據(jù)庫的 limit 關(guān)鍵字實現(xiàn)的 .以“ select * from doctor limit 0,4”為例, 0 代表從第幾條數(shù)據(jù)開始顯示, 4 代表一共顯示多少條數(shù)據(jù) .根據(jù)這種方法,把 0 的位置的數(shù)據(jù)設(shè)置成變量 p,根據(jù)用戶點擊第幾頁后傳遞到 servlet 取得的數(shù)據(jù)進行處理,如果所得到的數(shù)據(jù) pp 為 1 或 null 則 servlet 取得的數(shù)據(jù)賦值為 0,也就是第一頁顯示數(shù)據(jù)從第一條數(shù)據(jù)開始,如果不為 0 則 pp=(pp1)*4,也就是第一頁顯示的最后一條數(shù)據(jù)是第 pp+1 條數(shù)據(jù) .然后傳到模塊 對應(yīng)的 dao 里面的方法 27 查 詢 出 這 幾 條 數(shù) 據(jù) . 而 且 在 dao 中 還 要 查 詢 出 總 的 數(shù) 據(jù) 量 count, 然后根據(jù)pageCount=(count+41)/4 計算出一共可以分出多少頁 .Servlet 得到返回的寫好的分頁類類型的數(shù)據(jù),然后傳回 jsp 頁面中進行顯示 . 使用 limit 進行分頁的好處之一是代碼簡單,易于理解,不用寫很復(fù)雜的程序就可以做到分頁 .在進系統(tǒng)后點擊醫(yī)生管理連接的時候會報數(shù)據(jù)轉(zhuǎn)換異常的錯誤,經(jīng)過調(diào)試發(fā)現(xiàn)是剛開始 pp1 變量從 jsp 得到的是 null 值,而 null 轉(zhuǎn)換成 int 類型 pp 時會拋出異常 .最后解決的方法是先把 pp 賦初值,然后進行 if 判斷如果為 null 則 pp=0,如果不為 null 則進行數(shù)據(jù)類型轉(zhuǎn)換 .醫(yī)生管理頁面如圖 所示 . Servlet 中的代碼: int pp = 0。 String pp1 = (pp)。 }else{ pp = (pp1)。 } 圖 醫(yī)生管理頁面 28 增加醫(yī)生模塊的實現(xiàn) 管理員需要增加可以預(yù)約掛號的醫(yī)生是,先在主頁輸入管理員用戶名和密碼,然后點擊登錄按鈕 ,登陸成功后跳轉(zhuǎn)到管理員界面 .管理員點擊增加醫(yī)生跳轉(zhuǎn)到增加醫(yī)生界面,管理員根據(jù)提示輸入該醫(yī)生對應(yīng)的信息,醫(yī)生圖片是點擊瀏覽后用戶在電腦上選擇醫(yī)生的圖片 .其他信息提攜真實信息就可以了 . 管理員點擊提交后跳轉(zhuǎn)到 servlet, servlet 先進行圖片的保存,圖片的 保存是用smartUpload 組件保存的,在保存圖片名稱時為防止圖片重復(fù)而使用時間從年到毫秒的當前時間作為圖片名進行保存的 .在 smartUpload 中通過傳統(tǒng)的“ ()”是取不到 該 屬性 值得 ,要 想取 值只 能通 過“ SmartUpload su=new SmartUpload()
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1