




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上醫(yī)務收費系統(tǒng)隨著我國醫(yī)療衛(wèi)生體制改革的深化,計算機技術(shù)與應用的發(fā)展,計算機信息化管理已成為各醫(yī)院提高生存力,加強管理,增加效益的重要保障,作為一般高校的后勤醫(yī)務室亦不例外。高校醫(yī)務收費系統(tǒng)的主要目標是支持醫(yī)務室的日常收入賬務處理業(yè)務,減輕事務處理人員的勞動強度,合理地記錄和管理這些賬務信息,從而提高整個醫(yī)務室的工作效率和工作質(zhì)量。本章以某高校醫(yī)務收費系統(tǒng)為實例,詳細講述整個醫(yī)務收費系統(tǒng)的實施過程,需求分析、系統(tǒng)框架、系統(tǒng)建模、數(shù)據(jù)庫建模、程序?qū)崿F(xiàn)、系統(tǒng)維護等方面展開分析。A.1 系統(tǒng)分析需求分析是成功實施一個管理信息系統(tǒng)的基礎(chǔ),只有弄清楚客戶的需求,才能真正開發(fā)出滿足
2、客戶需求的管理信息系統(tǒng),也才能夠讓整個系統(tǒng)真正發(fā)揮其相應的作用。該環(huán)節(jié)是系統(tǒng)開發(fā)過程的最初階段,圍繞整個開發(fā)的指導思想和開發(fā)目標,對校醫(yī)務室的整個記賬收費過程和需求進行總的分析和概括。接下來就針對某高校醫(yī)務收費系統(tǒng)的總體需求做分析??赡苡行┽t(yī)院在某些管理方面有其特殊的需求,讀者在實際開發(fā)過程中,可以在本系統(tǒng)需求分析中繼續(xù)完善。A.1.1 系統(tǒng)總體功能需求在經(jīng)過對學校醫(yī)院正常運行的流程進行詳細了解與分析后,一個功能完善的醫(yī)務收費系統(tǒng)必須包括以下幾個子系統(tǒng):(1)操作人員管理系統(tǒng)。這個管理系統(tǒng)包括用戶的注冊、用戶密碼的修改、用戶權(quán)限的設(shè)置、更換操作人員4個功能模塊組成。操作人員管理系統(tǒng)主要是用來管
3、理對該軟件進行操作的工作人員,同時系統(tǒng)所提供的用戶權(quán)限設(shè)置能夠提高系統(tǒng)的安全性,并對不同性質(zhì)的人員賦予不同的權(quán)限,滿足了不同人員對該軟件的需求。(2)基本人員管理系統(tǒng)。這個管理系統(tǒng)包括編輯查詢?nèi)藛T、批處理人員信息、學生數(shù)據(jù)導入、醫(yī)生信息維護和醫(yī)藥費率調(diào)整5個功能模塊?;救藛T管理系統(tǒng)用來對基本人員數(shù)據(jù)、醫(yī)生數(shù)據(jù)進行統(tǒng)一集中的管理,為其他幾個管理系統(tǒng)提供基本信息,以提高工作效率。(3)收費管理系統(tǒng)。這個管理系統(tǒng)包括藥費數(shù)據(jù)輸入、打印日報表、打印日明細表、打印月報表、打印月明細報表、打印年報表、報表查詢、帳單查詢8個功能模塊。收費管理系統(tǒng)主要為系統(tǒng)輸入數(shù)據(jù),并根據(jù)所輸入的數(shù)據(jù)進行匯總,統(tǒng)計打印各種
4、報表。同時該子系統(tǒng)還提供報表和賬單的查詢,用戶可以很方便的對各項數(shù)據(jù)和報表進行查詢。(4)系統(tǒng)維護。這個管理信息系統(tǒng)包括數(shù)據(jù)備份、數(shù)據(jù)還原、計算器、導出每月數(shù)據(jù)4個功能模塊。系統(tǒng)設(shè)置中的功能模塊用來補充醫(yī)務收費系統(tǒng)的一些輔助功能。綜上所述,系統(tǒng)總體的功能需求可用圖A-1簡要表示。系統(tǒng)維護收費管理基本人員管理系統(tǒng)操作人員管理系統(tǒng)醫(yī)務收費系統(tǒng)圖A-1 系統(tǒng)總體功能需求框圖A.1.2 操作人員管理系統(tǒng)操作人員管理系統(tǒng)包括的具體功能模塊可以用圖A-2說明。操作人員管理系統(tǒng)包括權(quán)限管理、更換用戶、修改密碼和修改用戶等功能。1權(quán)限管理權(quán)限管理功能圖如圖A-3所示。權(quán)限管理修改權(quán)限刪除用戶增加用戶操作人員管
5、理修改用戶修改密碼權(quán)限管理更換用戶 圖A-2 操作人員管理系統(tǒng)包括的功能模塊需求框圖 圖A-3 權(quán)限管理的功能框圖此功能主要是面向管理人員對操作人員的操作進行管理,滿足不同層次的人員對系統(tǒng)不同的需求,使得系統(tǒng)的敏感數(shù)據(jù)不公開,同時實現(xiàn)了系統(tǒng)的安全性。在進入系統(tǒng)的時候,系統(tǒng)根據(jù)操作人員的權(quán)限自動判斷操作人員是否可以對該項功能進行操作等。(1)增加用戶的需求分析,如圖A-4所示。O:生成用戶注冊信息詳細列表F:產(chǎn)生用戶注冊記錄更新到數(shù)據(jù)庫I:輸入用戶名、密碼等詳細信息圖A-4 增加用戶的需求分析(2)刪除用戶需求分析,如圖A-5所示。I:選擇將刪除的用戶名稱F:更新用戶信息表到數(shù)據(jù)庫O:生成用戶注
6、冊詳細列表圖A-5 刪除用戶需求分析(3)更換用戶。由于該軟件的操作人員并非惟一,當另一個操作員在同一臺機器上需對系統(tǒng)進行操作時,就需要該操作人員重新登陸,獲得該操作人員的權(quán)限后,再對系統(tǒng)進行操作。這樣可以方便多用戶對系統(tǒng)進行操作。(4)修改密碼用戶名,如圖A-6所示。I:輸入用戶舊、新密碼信息F:更新用戶新密碼到數(shù)據(jù)庫O:生成用戶注冊信息詳細列表圖A-6 修改密碼功能這兩項功能可以集成到權(quán)限管理中,滿足用戶對用戶名和密碼的修改。不定期的對系統(tǒng)密碼進行修改,能夠減少密碼的泄露,提高系統(tǒng)的安全性。A.1.3 基本人員管理系統(tǒng)這個管理系統(tǒng)包括的具體功能模塊需求可以用圖A-7說明。醫(yī)藥費率調(diào)整醫(yī)生信
7、息維護學生數(shù)據(jù)導入批處理人員信息編輯查詢?nèi)藛T基本人員管理圖A-7 基本人員管理系統(tǒng)包括的功能模塊需求框圖1編輯查詢?nèi)藛T某學院校醫(yī)院是內(nèi)部對全校教職工、在校學生、退休人員和統(tǒng)籌人員進行門診治療的機構(gòu)。隨著學校規(guī)模的不斷發(fā)展,公費醫(yī)療對象不斷增加,為了合理的記錄各類人員的門診信息,準確地對進行公費醫(yī)療數(shù)據(jù)的復雜人員的信息進行處理,此模塊即產(chǎn)生了。在管理信息系統(tǒng)中,代碼是人與計算機的共同語言,是著人與計算機溝通的橋梁。采用代碼,可以使數(shù)據(jù)表達式標準化,簡化程序,加快輸入,減少出錯,提高處理速度。在本系統(tǒng)中,由于人員類型繁多,人數(shù)多的特點。人員代碼采用8位代碼表示。如,第1位表示學生,其余表示學生學號
8、,具體形式如表A-1。表A-1 人員編碼前兩位代碼表示人員類別備 注00教 工如果教工退休則轉(zhuǎn)為退休人員TX退 休TC統(tǒng) 籌表示學院教職工子女9x學 生x表示在校生的入學年份2批處理人員信息伴隨著國家政策的改變,公費對象的定額和補償金都將發(fā)生改變,為了快速地對所有數(shù)據(jù)進行修改,本系統(tǒng)提供了批處理模塊。同時該模塊也提供了刪除畢業(yè)生數(shù)據(jù)的功能,是集成了處理人員基本信息功能的模塊。3學生數(shù)據(jù)導入由于高校擴招,每年學生人數(shù)在不斷的上升,如果手工進行學生數(shù)據(jù)的輸入,肯定很繁瑣,同時效率也很低。而且目前的高校招生大多采才用網(wǎng)上招生,肯定有學生基本信息的數(shù)據(jù)庫,通過該模塊可以很好的利用這些數(shù)據(jù),同時減少了重
9、復勞動和輸入過程中所出現(xiàn)的錯誤。4醫(yī)生信息維護對某高校校醫(yī)院的醫(yī)生數(shù)據(jù)進行增加、刪除、修改等,以適應校醫(yī)院醫(yī)生數(shù)據(jù)的改變。同時醫(yī)生信息的改變也會影響收費系統(tǒng)中數(shù)據(jù)的改變。5醫(yī)藥費率調(diào)整根據(jù)國家的政策,適當?shù)膶υ摴M醫(yī)療的費率進行修改和調(diào)整。該功能的變化會對數(shù)據(jù)的錄入產(chǎn)生影響,因此該功能是數(shù)據(jù)輸入的基礎(chǔ)。B.1.4 收費管理系統(tǒng)這個管理系統(tǒng)包括的具體功能模塊需求框圖如圖A-8所示。收費管理報表查詢賬單查詢報表打印藥費數(shù)據(jù)輸入圖A-8 收費管理系統(tǒng)包括的功能模塊需求框圖收費管理是該系統(tǒng)的核心內(nèi)容,它負責數(shù)據(jù)的輸入和輸出,并對數(shù)據(jù)進行匯總、統(tǒng)計等操作,打印出符合需求的它總報表。同時該模塊也提供了查詢
10、功能,用戶可以自由的查詢每日報表和每月報表,清楚地掌握當日或當月校醫(yī)院的經(jīng)營情況。1藥費數(shù)據(jù)輸入藥費數(shù)據(jù)輸入模塊完成病員看病時一些基本信息的登記,病員從醫(yī)生處獲得處方后,交由交費人員進行數(shù)據(jù)的輸入。數(shù)據(jù)輸入人員只需進行人員編號、醫(yī)藥費用的輸入即可,其他的都由系統(tǒng)提供數(shù)據(jù)供操作人員進行選擇。這樣不但提高了工作效率,而且減少了輸入過程中因人為導致的錯誤的發(fā)生。2報表打印管理報表打印管理的功能需求框圖如圖A-9所示。打印年明細表打印月明細表打印日明細表打印月報表打印日報表報表打印圖B-9 報表打印管理的功能需求框圖報表打印功能模塊也是收費管理系統(tǒng)中的核心,該模塊主要實現(xiàn)了日報表、日明細表、月報表、月
11、明細表和年明細表的打印功能。日報表和月報表分別是對每日數(shù)據(jù)和每月數(shù)據(jù)進行匯總、統(tǒng)計而生成的,日明細表、月明細表和年明細表則是分別對每日數(shù)據(jù)、每月數(shù)據(jù)和每年數(shù)據(jù)進行匯總而生成,它們并不對原始數(shù)據(jù)進行處理。3賬單查詢賬單查詢?nèi)鐖DA-10所示。O:生成該月份相關(guān)數(shù)據(jù)F:選擇查詢的關(guān)鍵字段I:選擇月份圖A-10 賬單查詢功能為了方便管理人員,提高工作效率,系統(tǒng)提供了賬單查詢功能,用戶可以按多種查詢方式對數(shù)據(jù)庫中的賬單信息進行查詢,比如:某月某病員的就診情況、某月某醫(yī)生的工作情況等。4報表查詢報表查詢功能如圖A-11所示。O:顯示用戶查詢的數(shù)據(jù)F:根據(jù)用戶選擇進行查詢I:用戶選擇輸入日期或月份圖A-11
12、 報表查詢功能該功能完成對日報表和月報表的任意查詢,并得到類似于日報表和月報表格式的結(jié)果,能夠讓用戶A.1.5 系統(tǒng)維護系統(tǒng)維護包括的具體功能模塊需求框圖如圖A-12所示。導出每月數(shù)據(jù)系統(tǒng)計算器數(shù)據(jù)還原數(shù)據(jù)備份系統(tǒng)維護圖A-12 系統(tǒng)維護包括的功能模塊需求框圖系統(tǒng)維護包括數(shù)據(jù)備份、數(shù)據(jù)還原、系統(tǒng)計算器和導出每月數(shù)據(jù)等功能模塊,基本滿足了系統(tǒng)運行時所需的功能。(1)數(shù)據(jù)恢復功能需求。該功能將數(shù)據(jù)庫數(shù)據(jù)表備份成數(shù)據(jù)庫文件,再進行二次備份將其備份到U盤或其他計算機上,便于在一些無法避免數(shù)據(jù)破壞的情況下通過數(shù)據(jù)恢復功能恢復數(shù)據(jù),以減小損失。(2)數(shù)據(jù)恢復功能需求。該功能實現(xiàn)從備份數(shù)據(jù)庫中將數(shù)據(jù)導入到工
13、作數(shù)據(jù)庫中。(3)系統(tǒng)計算器功能需求。該功能實現(xiàn)打開操作系統(tǒng)提供計算器,用它可以進行一些簡單的計費操作,方便用戶進行計費操作。A.2 UML系統(tǒng)建模對于本例,主要使用UML中的用例圖、時序圖和協(xié)作圖來進行系統(tǒng)分析,幫助開發(fā)人員了解系統(tǒng)功能與系統(tǒng)流程。A.2.1 UML用例視圖描述首先確定醫(yī)務收費系統(tǒng)中的角色。1角色(Actors)的確定在醫(yī)務收費系統(tǒng)中,可以歸納出來的主要問題是:(1)病人要看??;(2)掛號操作員提供掛號服務; (3)醫(yī)生提供病人看病服務;(4)收費操作員提供門診病人劃價收費服務,并將信息輸入到系統(tǒng);(5)取藥員負責取藥給病人;(6)住院登記操作員提供住院登記服務,并將信息輸入
14、到系統(tǒng);(7)系統(tǒng)維護員提供系統(tǒng)相關(guān)的維護服務。由于醫(yī)生與病人打交道,給病人診斷病情、開藥方等服務,并沒有直接與系統(tǒng)發(fā)生交互,與系統(tǒng)的交互是通過劃價收費操作員來進行的,因此可以將醫(yī)生與劃價收費操作員這兩個對象用一個操作員的角色代替,即認為劃價收費操作員在所有病人看病的過程中直接向病人提供服務,并根據(jù)服務業(yè)務流程對系統(tǒng)進行操作。這樣不妨礙系統(tǒng)的功能實現(xiàn)。同樣,取藥操作員并沒有直接和系統(tǒng)發(fā)生交互,可以不用一個單獨的角色。從以上的分析中,可以創(chuàng)建以下角色:(1)病人;(2)掛號操作員;(3)收費操作員;(4)藥品管理員;(5)系統(tǒng)維護員。在Rational Rose的Use Case View中建立
15、角色如圖A-13所示。圖A-13 在Use Case View中創(chuàng)建角色2創(chuàng)建用例(Use Cases)醫(yī)院信息系統(tǒng)根據(jù)業(yè)務流程可以分為以下的幾個用例:(1)病人掛號;(2)掛號服務;(3)病人看病;(4)病人交費取藥;(5)病人按處方配藥;(6)收費操作員劃價扣費配藥;(7)分發(fā)藥品;(8)維護基本信息;(9)用戶注冊;(10)登錄驗證。在Rational Rose的Use Case View中創(chuàng)建用例(Use Cases)如圖A-14所示。圖A-14 在Use Case View中創(chuàng)建用例3創(chuàng)建角色(Actor)與用例(Use Case)關(guān)系圖Actor和Use Case之間存在的關(guān)聯(lián)關(guān)系
16、通常涉及到Actor和Use Case之間的通信關(guān)聯(lián)關(guān)系。(1)病人的Use Cases關(guān)系圖如圖B-15所示。病人(from Actors)病人看?。╢rom User Cases)病人交費取藥(from User Cases)病人按處方配藥(from User Cases)病人掛號(from User Cases)圖A-15 病人的用例關(guān)系圖(2)掛號操作員的Use Cases關(guān)系圖如圖A-16所示。掛號服務(from User Cases)掛號操作員(from Actors)圖A-16 掛號操作員的用例關(guān)系圖(3)收費操作員用例的Use Cases關(guān)系圖如圖A-17所示。收費操作員劃價扣
17、費配藥(from User Cases)收費操作員(from Actors)圖A-17 收費操作員用例關(guān)系圖(4)藥品管理員的Use Cases關(guān)系圖如圖A-18所示。分發(fā)藥品(from User Cases)退貨(from User Cases)進貨(from User Cases)藥品管理員(from Actors)圖A-18 藥品管理員的用例關(guān)系圖(5)系統(tǒng)維護員的Use Cases關(guān)系圖如圖A-19所示。維護基本信息(from User Cases)系統(tǒng)維護員(from Actors)用戶注冊(from User Cases)登錄驗證(from User Cases)圖A-19 系統(tǒng)維
18、護員的用例關(guān)系圖A.2.2 UML時序與協(xié)作視圖描述下面介紹收費系統(tǒng)中的時序圖及協(xié)作圖。(1)病人看病過程時序圖如圖B-20所示。輸入藥費信息收費發(fā)票和藥品交醫(yī)藥費用會診后醫(yī)生開處方給病人病人看病返回給病人瀠?掛號收費操作員劃價收費取藥模塊醫(yī)生診斷掛號模塊病人 掛號操作人員圖A-20 病人看病過程時序圖(2)病人看病過程協(xié)作圖如圖A-21所示。醫(yī)生會診劃價收費取藥模塊收費操作員8:收費發(fā)票7:輸入藥費掛號操作人員5:處方交費病人9:藥品5:處方4:看病掛號模塊3:掛號號碼2:輸入信息1:掛號圖B-21 病人看病過程協(xié)作圖A.2.3 數(shù)據(jù)庫設(shè)計本系統(tǒng)采用SQL Server 2000作為后臺數(shù)據(jù)
19、庫,由于數(shù)據(jù)庫表比較多,以下只列出了幾個比較重要的數(shù)據(jù)表,詳細的數(shù)據(jù)庫建模請參看所附光盤的“F_MIS.sql”文件。(1)描述收費單信息的表。描述門診收費單信息的表格一共分為5個,即收費表(feiyong)、收費日報表(feiyong_rpt)、醫(yī)生表(doctor)、人員信息表(rmk)和類別表(leibie)。使用Powerdesigner定義這5個表的字段,以及每個表的主鍵等如圖A-22所示。IDsmallir人員名稱nvarchArealBrealCrealDrealleibie號碼nvarchar8姓名nvarchar8性別nvarchar2工齡float15補償金float15定
20、額float15RMKIDnvarcharDOCTOR NAMEnvarchardoctor記錄號smallint編號nvarchar8姓名nvarchar10醫(yī)藥費money類別 nvarchar2醫(yī)生 nvarchar2自負金money日期 smalldatetimfeiyongfeiyong_rpt記錄號smallint編號nvarchar8姓名nvarchar10醫(yī)藥費money類別 nvarchar2醫(yī)生 nvarchar2自負金money日期 smalldatetim圖A-22 描述收費單信息的表(2)其他數(shù)據(jù)庫表。其他數(shù)據(jù)庫表包括:軟件用戶信息表User_load、編號計數(shù)表Co
21、unt等,這里就不一一列舉了。本例使用的后端數(shù)據(jù)庫是客戶/服務器型數(shù)據(jù)庫SQL Server 2000。單機版文件共享型數(shù)據(jù)庫ACCESS可以跳過此配置。在SQL Server 2000的企業(yè)管理器中新建一個數(shù)據(jù)庫,命名為YAOFEI,然后打開SQL Server 2000的查詢分析器,輸入數(shù)據(jù)庫表、視圖和存儲過程的全部SQL語句后執(zhí)行,有關(guān)數(shù)據(jù)庫的后臺工作就已經(jīng)建立。以上的SQL語句已經(jīng)保存為文件,也可以用查詢分析器直接運行一下本例源程序目錄下SQL目錄里的F_MIS.sql文件來建立數(shù)據(jù)庫,不需要在企業(yè)管理器新建數(shù)據(jù)庫表。在本系統(tǒng)中由于報表是由功能強大的水晶報表所制作,所以需對ODBC數(shù)據(jù)
22、源進行設(shè)置,具體操作在第1章有詳細的說明。創(chuàng)建的ODBC數(shù)據(jù)源名稱為“YAOFEI”。A.3 系統(tǒng)實現(xiàn)A.3.1 系統(tǒng)設(shè)計概況本程序是一個較完整的應用程序,能夠?qū)崿F(xiàn)醫(yī)務收費管理的相關(guān)功能。為了能夠讓讀者了解本程序,首先列舉出本程序包含的所有窗體和模塊。具體程序窗體信息如下。mainform(程序的主窗體):程序的主窗體,方便用戶進行各種功能操作。frmlogin(用戶登錄窗體):為了提高軟件操作安全性,用戶進入系統(tǒng)前,需要進行身份驗證,用戶通過此窗口輸入個人信息用以驗證身份,并從用戶表中獲得用戶的操作權(quán)限,為權(quán)限管理提供服務。frmsq(用戶授權(quán)、增加和刪除窗體):該窗體將用戶修改和授權(quán)集成在
23、一起,方便管理員增加用戶后對該用戶進行授權(quán)。frmqueryperson(人員基本信息的查詢、修改窗體):該窗體主要實現(xiàn)對公費醫(yī)療對象的基本信息進行操作,包括增加、刪除、修改等。frmdoctor(醫(yī)務人員登記窗體):用于管理校醫(yī)院各個科室下醫(yī)務人員的情況,可以進行錄入、修改、刪除操作; frmlrsj(數(shù)據(jù)錄入窗體):根據(jù)病人的處方進行數(shù)據(jù)輸入,該窗體是整個系統(tǒng)的核心,能夠執(zhí)行數(shù)據(jù)的修改、查詢、打印等功能。frmquerybook(查詢報表窗體):該功能是為了更好地查詢?nèi)請蟊砗驮聢蟊?,并方便管理層對實時數(shù)據(jù)的掌握。同時用戶也可以方便的進行報表數(shù)據(jù)的查詢。frmquerycheck(查詢帳單窗
24、體):該窗體為了查詢具體數(shù)據(jù),統(tǒng)計某位醫(yī)生某個月的會診數(shù)據(jù)或是某位病員某個月的就診情況,是對查詢報表窗體的補充。frmdataback(數(shù)據(jù)備份、還原窗體):為了提高系統(tǒng)數(shù)據(jù)的安全性,可將數(shù)據(jù)備份到U盤或其他主機的硬盤上。如果遇到系統(tǒng)數(shù)據(jù)損壞的情況,利用該窗體對備份的數(shù)據(jù)進行還原操作,使系統(tǒng)能夠正常運行。以上介紹的是程序的重要窗體,用戶登陸窗體來進行更換用戶的操作,這樣大大減少了窗體的使用數(shù)量。還有一個重要部分即模塊文件,如下。全局模塊(Global.bas):主要是在數(shù)據(jù)庫的連接、報表打印時所進行的數(shù)據(jù)操作,以及基本的通用函數(shù)的定義和實現(xiàn)、全局變量的定義等。數(shù)據(jù)備份(databack.bas
25、):為frmdataback的實現(xiàn)提供服務,它提供了基本的API函數(shù)的聲明和調(diào)用、變量的定義等。讀者在閱讀下面的具體程序以前,最好弄清楚每個窗體的大概功能,這對了解整個程序的開發(fā)實施是非常有益的,要弄清楚一個比較完整的商業(yè)系統(tǒng)是需要花一定時間的。接下來就是針對重要模塊和代碼進行的分析。在后面的具體程序?qū)崿F(xiàn)中,由于篇幅的限制,并不一定對所有的代碼都進行詳細的分析,而是針對關(guān)鍵的模塊和技術(shù)進行說名,其他代碼都在本書的附贈光盤中。A.3.2 系統(tǒng)主界面實現(xiàn)本程序采用流行的界面設(shè)計技術(shù),符合商業(yè)化軟件設(shè)計的要求。采用菜單、工具欄、狀態(tài)條相結(jié)合的方法,使用戶能夠在主界面上快速的進入自己想要的程序模塊,具
26、體的程序運行主界面如圖B-23所示。在圖B-23中很容易看清楚整個程序的結(jié)構(gòu),用戶也可以很方便的從菜單和工具欄各小項功能模塊及工具欄很快的進入各個模塊。圖A-23 程序運行主界面窗體設(shè)計包括菜單欄設(shè)計、工具欄設(shè)計、狀態(tài)條設(shè)計,下面就分別進行簡單的說明。1菜單欄設(shè)計進入菜單編輯器,設(shè)計界面如圖A-24所示。圖 A-24 菜單編輯器某些菜單命令的右邊標有組合鍵,稱為該命令的快捷鍵,可以不打開菜單而直接按快捷鍵來執(zhí)行此命令。為命令選項增加快捷鍵(Shortcut Key),可在菜單編輯器中的“快捷鍵(S)”列表框中為該命令項分配一個。列表中一個快捷鍵只能被分配一次,否則系統(tǒng)會拒絕接受。為了讓用戶迅速
27、地在菜單中找到要執(zhí)行的命令項,有必要對菜單中相關(guān)的命令用分隔條(Separate Bar)進行分組例如文件菜單中,把有關(guān)打印輸出的一組命令:“頁面設(shè)置”、“打印預覽”、“打印”等用分隔條醒目地進行分隔。這只要在需要進行分組的命令之間插入一個特殊的命令條,將該命令條的“標題”插入“”,而“名稱”任意,因為程序中一般不會引用此命令的名稱。2工具欄設(shè)計組合工具欄設(shè)計需要兩個控件配合使用,一個是工具欄控件(Toolbar1),另一個是圖像列表控件(ImageList1)。ImageList1控件用來保存各種圖片,使其顯示在工具欄中(具體的程序界面,讀者朋友可以打開本書附贈光盤中的源代碼查看)。工具欄設(shè)
28、計界面如圖A-25所示。圖A-25 工具欄的設(shè)計界面在工具條位置單擊鼠標右鍵,在彈出的窗體中選擇“按鈕”來添加按鈕,在樣式中,選擇“3-tbrSeparator”添加分隔條。在本例中創(chuàng)建5個按鈕和4個分隔條。3狀態(tài)條控件設(shè)計StatusBar 控件由若干個面板構(gòu)成,主要用來顯示應用程序的運行狀態(tài)。它既可以節(jié)省界面空間又可包含豐富的信息。例如,顯示數(shù)據(jù)庫表的有關(guān)情況(記錄總數(shù),以及當前記錄在數(shù)據(jù)庫中的位置等),顯示關(guān)于RichTextBox控件的文本和字體狀態(tài)的信息,顯示鍵盤的狀態(tài)(如Caps Lock 或 Number Lock),顯示當前日期或時間等。其設(shè)計界面如圖A-26所示。圖A-26
29、狀態(tài)條控件設(shè)計界面4核心代碼分析主窗體的代碼不是很復雜,主要是對各個功能的導航和顯示狀態(tài)條導航信息,具體有菜單點擊處理程序、工具條快捷按鈕處理程序、狀態(tài)度顯示處理程序。程序說明:主窗體代碼;程序模塊名稱:mainform.frm;重要控件:Toolbar、狀態(tài)欄StatusBar、圖像列表Imagelist、CrystalReport控件。 (1)菜單處理代碼。由于系統(tǒng)涉及到權(quán)限問題,因此每次進行菜單處理程序前,應該對該用戶的權(quán)限進行檢查,判斷該用戶是否具有該項操作的權(quán)利。其具體實現(xiàn)如下所示:'作為檢查操作員使用權(quán)限的函數(shù),該函數(shù)通過截取user_load表中的ql_flag字段來判斷
30、該操作員所具有的權(quán)限和使用范圍'ql_flag字段的設(shè)置Public Function check_qx(qx_flag As String, i As Integer) As BooleanDim temp As IntegerIf qx_flag <> "" Then temp = Mid(qx_flag, i, 1) If temp = 0 Then MsgBox "您無權(quán)限使用該功能!", vbOKOnly + vbExclamation, "注意了:)" check_qx = False Else che
31、ck_qx = True End IfElse MsgBox "未經(jīng)管理員授權(quán),您無權(quán)限使用所有功能!", vbOKOnly + vbExclamation, "注意了:)" check_qx = FalseEnd IfEnd Function檢查權(quán)限后,如果該用戶擁有該項權(quán)限的話,則進入菜單處理程序:Private Sub sjlr_Click()'調(diào)用函數(shù)判斷是否擁有權(quán)限使用各種功能t = check_qx(czry_flag, 6)If t = True Then 如果用戶擁有該權(quán)限,則進入菜單處理程序,否則出現(xiàn)警告信息。 mainform
32、.StatusBar1.Panels(1).Text = "狀態(tài): 藥費輸入" frmlrsj.ShowEnd IfEnd Sub(2)工具欄處理代碼。工具欄上的快捷按鈕用來打開醫(yī)務收費系統(tǒng)軟件中某個特定的窗體。通過工具欄,用戶可以方便地直接打開經(jīng)常使用的功能,工具欄的實現(xiàn)代碼示例如下:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Key 判斷所按下的工具欄按鈕的名稱 Case "query" 如果是查詢編輯人員 t = che
33、ck_qx(czry_flag, 1)檢查當前用戶是否擁有操作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 查詢編輯人員" frmqueryperson.Show 顯示frmqueryperson窗體 End If Case "input" 如果是數(shù)據(jù)輸入 t = check_qx(czry_flag, 6) 檢查當前用戶是否擁有操作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 藥費輸入&q
34、uot; frmlrsj.Show 顯示frmlrsj窗體 End If Case "drdc" 如果是每月數(shù)據(jù)導出 t = check_qx(czry_flag, 17)檢查當前用戶是否擁有操作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 每月數(shù)據(jù)導出" frmimport.Show vbModal顯示frmimport窗體 End If Case "book" 如果是查詢報表 t = check_qx(czry_flag, 13) 檢查當前用戶是否擁有操
35、作權(quán)限 If t = True Then mainform.StatusBar1.Panels(1).Text = "狀態(tài): 查詢報表" frmquerybook.Show 顯示frmquerybook窗體 End If Case "exit" 如果是退出 End 退出系統(tǒng)End SelectEnd Sub(3)狀態(tài)欄處理代碼。狀態(tài)欄主要是為了提示用戶所做的操作,其代碼分散在各個菜單項和工具欄按鈕的程序處理事件中,示例如下:Private Sub sysjsq_Click() 單擊系統(tǒng)計算器菜單項 mainform.StatusBar1.Panels(1
36、).Text="狀態(tài):系統(tǒng)計算器"顯示狀態(tài):系統(tǒng)計算器 Shell "calc.exe", vbNormalFocus 顯示操作系統(tǒng)所帶的計數(shù)器End sub以上介紹了主窗體的主要代碼,在該窗體中,主要是對界面及程序?qū)Ш竭M行設(shè)計,沒有涉及到具體的數(shù)據(jù)庫設(shè)計,在后面的窗體分析中主要是數(shù)據(jù)庫的設(shè)計,以及其他數(shù)據(jù)庫的設(shè)計。A.3.3 操作人員管理操作人員管理系統(tǒng)主要是用來管理對該軟件進行操作的工作人員,同時系統(tǒng)所提供的用戶權(quán)限設(shè)置能夠提高系統(tǒng)的安全性,并對不同性質(zhì)的人員給予不同的權(quán)限,滿足了不同人員對該軟件的需求。為了方便集中管理數(shù)據(jù)庫表和數(shù)據(jù)源,我們把數(shù)據(jù)庫
37、的連接放到Global.bas模塊中,應用ADO接口技術(shù)直接和SQL Server 2000數(shù)據(jù)庫服務器建立連接。具體實現(xiàn)代碼如下:Public Sub condatabase() Set cn = New ADODB.Connection cn.Provider = "sqloledb" cn.Properties("Data Source").Value = "SQLServerName" '建立與SQLServer的連接 cn.Properties("Initial Catalog").Value =
38、 "DataBaseName" '數(shù)據(jù)庫的名稱 cn.Properties("Integrated Security").Value = "SSPI" cn.openEnd Sub1操作人員維護模塊操作人員維護模塊的運行界面如圖A-27所示。圖A-27 操作人員維護模塊的運行界面界面設(shè)計主要是利用了樹型控件來實現(xiàn)的,讀者可以參考前面章節(jié)。程序說明:操作人員管理窗體代碼;程序模塊名稱:frmsq;重要控件:TreeView、圖像列表Imagelist等;相關(guān)數(shù)據(jù)庫表:user_load。下面學習窗體的核心代碼。該窗體主要實現(xiàn)增加
39、用戶、刪除用戶、對用戶進行授權(quán),主要是面向管理人員對操作人員的操作進行管理,滿足不同層次的人員對系統(tǒng)不同的需求。Private SubCommand3_Click () '刪除操作人員的命令按鈕'顯示對話框,是否刪除操作人員t = MsgBox("你是否確定刪除該操作員!", vbOKCancel, "確定嗎?")If t = 1 Then '如果返回1,則進行刪除操作 '判斷是否有記錄,如果沒有記錄,則提示選擇操作人員 If rsdel.BOF = True Or rsdel.EOF = True Then t = Ms
40、gBox("請選擇操作員姓名!", vbOKOnly, "無記錄") Else '否則進行刪除,并顯示成功刪除操作人員對話框 rsdel.Delete t = MsgBox("成功刪除操作員姓名!", vbOKOnly, "成功") End If tvwdb.Nodes.Clear '清除TreeView中節(jié)點的內(nèi)容 tvwdb.Sorted = True '設(shè)置sorted屬性為真 Set mnode = tvwdb.Nodes.Add() mnode.Text = "操作員姓名
41、"'節(jié)點顯示“操作員姓名” mnode.Image = 2 '設(shè)置節(jié)點的圖表為imagelist1中的圖2 Set rspsw = New ADODB.Recordset rspsw.open"select*from user_load",cn,adOpenStatic,adLockPessimistic Do Until rspsw.EOF '用rspsw中的記錄對treeview進行加載 Set mnode = tvwdb.Nodes.Add(1, tvwChild) '添加treeview的孩子 mnode.Text = rs
42、psw.Fields("user_name") '使其文本為rspsw字段中的用戶名 mnode.Image = 1 '設(shè)置節(jié)點的圖表為imagelist1中的圖1 rspsw.MoveNext '記錄往后移動一條 LoopElse Exit SubEnd If'將用戶數(shù)據(jù)庫表中的用戶名加載到treeview控件中Private SubPrivate Sub loadtreeview() tvwdb.Sorted = True '將treeview的排序設(shè)為真Set mnode = tvwdb.Nodes.Add() mnode.Te
43、xt = "操作員姓名"'節(jié)點顯示“操作員姓名” mnode.Image = 2 '設(shè)置節(jié)點的圖表為imagelist1中的圖2If cn.State = 1 ThenElse Call condatabase '連接數(shù)據(jù)庫End If Set rspsw = New ADODB.Recordset '打開rspsw記錄集 rspsw.open "select * from user_load", cn, adOpenStatic, adLockPessimistic Do Until rspsw.EOF '用rs
44、psw中的記錄對treeview進行加載 Set mnode = tvwdb.Nodes.Add(1, tvwChild) '添加treeview的孩子 mnode.Text = rspsw.Fields("user_name") '使其文本為rspsw字段中的用戶名 mnode.Image = 1 '設(shè)置節(jié)點的圖表為imagelist1中的圖1 rspsw.MoveNext '記錄往后移動一條 LoopEnd SubPrivate Sub Form_Load() '窗體加載過程 Call loadtreeview '調(diào)用lo
45、adtreeview過程End SubPrivate Sub tvwdb_NodeClick(ByVal Node As MSComctlLib.Node) '處理nodeclick事件If Node.Index = 1 Then '如果只有一個根節(jié)點,則退出程序 Exit SubEnd IfCall check_condatabase '檢查是否連接數(shù)據(jù)庫,如果連接了則放棄,否則連接If Node.Parent.Index = 1 Then '是根節(jié)點 nodename = Node.Text '將刪除的變量賦值給nodename Set rsdel
46、= New ADODB.Recordset '獲得該節(jié)點的用戶名的所有資料 rsdel.open "select * from user_load where user_name='" & nodename & "'", cn, _ adOpenStatic, adLockPessimisticEnd IfEnd Sub2操作人員授權(quán)窗體在圖A-27中,單擊【授權(quán)】按鈕會彈操作員授權(quán)窗體,如圖A-28所示。圖B-28 操作員授權(quán)窗體該窗體主要實現(xiàn)對用戶授權(quán),用戶的授權(quán)是采用0,1編碼來實現(xiàn)的。如果該用戶擁有某項權(quán)限
47、,則該權(quán)限為1;反之,則為0。界面主要是SSTab的設(shè)計,讀者可以參考前面章節(jié)的設(shè)計。程序說明:操作人員管理窗體;程序模塊名稱:frmczql;重要控件:SSTab控件等;相關(guān)數(shù)據(jù)庫表:user_load。下面學習窗體中的核心代碼。(1)“確定”按鈕單擊事件代碼。Private SubCommand3_Click () '單擊確定按鈕事件Dim ql_flag As String '定義變量ql_flag存放用戶權(quán)限字段Dim flag As String '定義變量flag值為0、1的字符變量For i = 0 To 4 If Check1(i).Value = 1
48、Then'判斷sstab1.tab=0時的符號 flag = 1 '如果有選擇復選框的值,則flag為1 Else flag = 0 '否則為0 End If ql_flag = ql_flag & flag '將連續(xù)變量連接起來Next iFor j = 0 To 7 If Check2(j).Value = 1 Then'判斷sstab1.tab=1時的符號 flag = 1 '如果有選擇復選框的值,則flag為1 Else flag = 0 '否則為0 End If ql_flag = ql_flag & flagN
49、ext jFor k = 0 To 3 If Check3(k).Value = 1 Then'判斷sstab1.tab=2時的符號 flag = 1 '如果有選擇復選框的值,則flag為1 Else flag = 0 '否則為0 End If ql_flag = ql_flag & flagNext k rsnodename.Fields("ql_flag")=ql_flag'對user_load表中的“ql_flag”進行賦值 rsnodename.Update '對該記錄進行更新操作MsgBox "成功對該操作
50、員進行授權(quán)!", vbOKOnly + vbExclamation, "完成" 顯示成功操作對話框End Sub(2)窗體加載時Load事件代碼。Private Sub Form_Load() '加載窗體 Call condatabase '連接數(shù)據(jù)庫Label1(1).Caption = nodename '顯示用戶的姓名Set rsnodename = New ADODB.Recordset 定義rsnodename為記錄集'打開記錄集,找到該用戶的記錄 rsnodename.Open "select * from u
51、ser_load where user_name='" & nodename & "'", cn, adOpenStatic, _ adLockPessimisticIf rsnodename.Fields("ql_flag").Value<>""Then如果該用戶的權(quán)限字段不為空,運行 ql_flag = rsnodename.Fields("ql_flag").Value '獲得用戶的權(quán)限值字段 Call load_check '按照用戶的權(quán)
52、限,分別對各復選框賦值End IfEnd Sub(3)自定義子過程,按照用戶的權(quán)限,分別對各復選框賦值,過程名為load_check。Public Sub load_check()Dim i, j, k, temp As Integer '定義i,j,k,temp為整形變量For i = 0 To 4 '對第一個sstab頁面的復選框賦值 temp = Mid(ql_flag, i + 1, 1) '截取第i+1個字符 If temp <> 0 Then '如果截取的字符非空 Check1(i).Value = 1 '對復選框賦值 Else
53、Check1(i).Value = 0 '否則不賦值 End IfNext iFor j = 0 To 7 '對第一個sstab頁面的復選框賦值 temp = Mid(ql_flag, j + 6, 1) '截取第i+6個字符 If temp <> 0 Then '如果截取的字符非空 Check2(j).Value = 1 '對復選框賦值 Else Check2(j).Value = 0 '否則不賦值 End IfNext jFor k = 0 To 3 '對第一個sstab頁面的復選框賦值 temp = Mid(ql_fla
54、g, k + 11, 1) '截取第i+11個字符 If temp <> 0 Then '如果截取的字符非空 Check3(k).Value = 1 '對復選框賦值 Else Check3(k).Value = 0 '否則不賦值 End IfNext kEnd SubA.3.4 基本人員管理各功能模塊設(shè)計基本人員信息管理主要實現(xiàn)了人員信息的編輯、批處理人員信息、學生數(shù)據(jù)導入、醫(yī)生信息維護和醫(yī)療費率調(diào)整5個模塊。下面介紹一些重點模塊。窗體設(shè)計包括DataGrid控件設(shè)計、ADODC控件設(shè)計,下面就分別進行簡單的說明。1DataGrid控件的設(shè)計DataGrid控件是個類似電子表格一樣的數(shù)據(jù)綁定控件,它可以顯示并處理數(shù)據(jù),這些數(shù)據(jù)可以是一些從RecordSet 對象中產(chǎn)生的記錄的行或列。當你設(shè)置好DataGrid控件的DataSource屬性時,這個控件就會自動為自己填好數(shù)據(jù),列標題也會自動地從DataGrid控件的Recordset對象中提取出來。這個強大的功能使你可以方便地瀏覽或編輯數(shù)據(jù)庫表或查詢結(jié)果。在VB的菜單【工程】|【對象】對話框中,選擇“Microsoft DataGrid Cont
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶園綠道觀光旅游項目可行性研究報告-計劃書
- 教育機器人在多媒體教學中的應用與創(chuàng)新
- 教育技術(shù)進步與學習效果的提升關(guān)系
- 混合式學習模式的設(shè)計原則與實踐
- 企業(yè)遠程辦公培訓的智能教學系統(tǒng)應用
- 郴州工廠宿舍管理辦法
- 學習財務報銷管理辦法
- 教育型醫(yī)療機構(gòu)的資金管理與風險控制方案
- 衛(wèi)生院安全隱患及整改措施
- 客戶信息披露管理辦法
- 幼兒園2025-2026學年度第一學期園本培訓計劃
- 科技史10:改變世界的10大科技發(fā)明
- 2025年度礦山開采與沙石資源承包合同范本4篇
- 《培訓講師技能提升》課件
- 3D3S基本模塊命令詳解施加荷載地震參數(shù)11課件講解
- 兩位數(shù)加兩位數(shù)口算練習題4000道203
- 2024年廣東省中考化學真題含解析
- 瑞格音混合矩陣培訓
- (完整版)康復診療指南及規(guī)范
- 醫(yī)學教程 《精神衛(wèi)生法》解讀
- 寄售管理制度
評論
0/150
提交評論