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

正文內(nèi)容

社區(qū)醫(yī)院藥品管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)doc-資料下載頁

2025-07-18 12:50本頁面
  

【正文】 入庫管理“入庫建立”窗體主要實(shí)現(xiàn)進(jìn)貨入庫管理,其中包含了入庫主單據(jù)的錄入。為了實(shí)現(xiàn)這些功能,需要控件如下:3個(gè)TComboBox控件,用來選擇入庫類別、采購單號(hào)和藥品編號(hào);5個(gè)TBitBtn控件,分別用來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的添加、修改、刪除、保存、查找和審核;4個(gè)TEdit控件,用來輸入入庫資料的詳細(xì)信息;2個(gè)TComboBox控件,用來選擇采購單號(hào)和藥品編號(hào);2個(gè)TDateTimePicker控件,用來輸入入庫時(shí)間和有效日期;1個(gè)TDBMemo控件,顯示輸入備注信息;1個(gè)TDBGrid控件,用來顯示入庫數(shù)據(jù)。窗體的設(shè)計(jì)界面如圖49所示。圖49 入庫建立(1) 在數(shù)據(jù)庫中添加名為“proc_InDepot”的存儲(chǔ)過程,此過程主要用來實(shí)現(xiàn)入庫模塊后臺(tái)數(shù)據(jù)庫所有的業(yè)務(wù)邏輯。在存儲(chǔ)過程中使用“@Flag”將代碼分為了八大段,分別處理不同的入庫業(yè)務(wù)數(shù)據(jù)。其中,SelectMaxID用于獲取最大的入庫單據(jù)號(hào);InsertHeader、InsertBody和DelHeader、DelInDepot分別實(shí)現(xiàn)了向入庫主表和從表添加記錄及刪除記錄;“UpdateAuditing”用于更改單據(jù)審核字段狀態(tài);SelectInDepot和SelectType分別根據(jù)入庫單號(hào)和入庫類型查詢數(shù)據(jù)。(2) 添加窗體的OnShow事件,此事件的功能主要是初始化入庫模塊一些控件的初值。(3) 添加“添加”按鈕的單擊事件,此事件的功能主要是調(diào)用存儲(chǔ)過程,清空輸入條件并新增入庫流水單號(hào),實(shí)現(xiàn)添加操作。(4) 添加“刪除”按鈕的單擊事件,此事件的功能主要是判斷單據(jù)是否已經(jīng)審核,當(dāng)單據(jù)還未審核時(shí)可以刪除單據(jù)信息。通過調(diào)用“proc_InDepot”存儲(chǔ)過程,當(dāng)“@Flag”變量標(biāo)記為“DelInDepot”和“DeleteHeader”時(shí)刪除從表和主表數(shù)據(jù),維持主從表數(shù)據(jù)的完整性。(5) 添加“保存”按鈕的單擊事件,此事件的功能是調(diào)用“proc_ InDepot”存儲(chǔ)過程,判斷“@Flag”標(biāo)記是否為“InsertHeader”和“InsertBody”,若是則執(zhí)行數(shù)據(jù)插入操作,將數(shù)據(jù)保存至數(shù)據(jù)庫中。(6) 添加“審核”按鈕的單擊事件,入庫單據(jù)的審核除了將入庫單據(jù)鎖定以外,還將當(dāng)前入庫單信息更新到系統(tǒng)的庫存表中。在這里使用到了另一個(gè)存儲(chǔ)過程proc_Storage。(7) 添加“查找”按鈕的單擊事件。實(shí)現(xiàn)代碼如下:procedure (Sender: TObject)。var SelectAll, FindID: string。 FindBool: Boolean。begin try FindID := 。 FindBool := InputQuery(39。查詢39。, 39。輸入查詢的編號(hào)39。, FindID)。 if FindBool then begin SelectAll := 39。Exec proc_InDepot @Flag=39。39。SelectInDepot39。39。39。 +39。,@InDepotID=39。 + Quotedstr(FindID)。 OpenDataSQL(qryInDepotHeader, SelectAll)。 OpenDataSQL(qryInDepotBody, SelectAll)。 := (39。InDepotType39。).AsString。 := (39。StockID39。).AsString。 := StrToDate((39。InTime39。).AsString)。 := (39。InDepotID39。).AsString。 := (39。ProviderID39。).AsString。 := (39。Remark39。).AsString。 := (39。Auditing39。).AsString。 end。 出庫管理“出庫建立”窗體主要實(shí)現(xiàn)銷售出貨管理,其中包含了銷售主單據(jù)的錄入和藥品明細(xì)的錄入。為了實(shí)現(xiàn)這些功能,需要如下控件:2個(gè)TComboBox控件,用來選擇銷售類別和藥品編號(hào);6個(gè)TBitBtn控件,分別用來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的添加、修改、刪除、保存和查找,報(bào)表的打印和審核;2個(gè)TEdit控件,分別用來輸入銷售價(jià)格和銷售數(shù)量;2個(gè)TDateTimePicker控件,用來輸入銷售時(shí)間和有效日期;1個(gè)TDBMemo控件,顯示輸入備注信息;1個(gè)TDBGrid控件,用來顯示銷售數(shù)據(jù)。窗體的設(shè)計(jì)界面如圖410所示。圖410 銷售出庫建立(1) 在數(shù)據(jù)庫中添加名為“proc_Sale”的存儲(chǔ)過程,此過程主要用來實(shí)現(xiàn)出庫模塊的業(yè)務(wù)邏輯?!癅Flag”將代碼分為了七大段,分別處理不同的出庫業(yè)務(wù)數(shù)據(jù)。其中,SelectMaxID用于獲取最大的出庫單據(jù)號(hào);InsertHeader、InsertBody和DelHeader、Del Sale分別用于向出庫主表和從表添加記錄及刪除記錄;“UpdateSale”用于更改單據(jù)審核字段狀態(tài);SelectSale根據(jù)出庫查詢數(shù)據(jù)。(2) 添加窗體的OnShow事件,此事件的功能主要是初始化銷售模塊一些控件的初值。(3) 添加“添加”按鈕的單擊事件,此事件的功能主要是調(diào)用存儲(chǔ)過程,清空輸入條件并新增出庫流水單號(hào),實(shí)現(xiàn)添加操作。(4) 添加“刪除”按鈕的單擊事件,此事件的功能主要是判斷單據(jù)是否已經(jīng)審核,當(dāng)單據(jù)還未審核時(shí)可以刪除單據(jù)信息。通過調(diào)用“proc_ Sale ”存儲(chǔ)過程,當(dāng)“@Flag”變量標(biāo)記為“DelSale”和“DelHeader”時(shí)刪除從表和主表數(shù)據(jù),維持主從表數(shù)據(jù)的完整性。(5) 添加“保存”按鈕的單擊事件,此事件的功能是調(diào)用“proc_ Sale”存儲(chǔ)過程,判斷“@Flag”標(biāo)記是否為“InsertHeader”和“InsertBody”,若是則執(zhí)行數(shù)據(jù)插入操作,將數(shù)據(jù)保存至數(shù)據(jù)庫中。(6) 添加“審核”按鈕的單擊事件,在此事件中調(diào)用存儲(chǔ)過程proc_Storage中參數(shù)@Flag為“OutUpdateStorage”的SQL語句段,實(shí)現(xiàn)審核出貨功能。“審核”按鈕單擊事件還實(shí)現(xiàn)了更改審核狀態(tài)并更新庫存,將庫存量減少。(7) 添加“查找”按鈕的單擊事件。 庫存盤點(diǎn)“盤點(diǎn)建立”窗體主要實(shí)現(xiàn)庫存盤點(diǎn)管理,其中包含了盤點(diǎn)主單據(jù)的錄入和盤點(diǎn)藥品明細(xì)的錄入以及盤點(diǎn)單的打印。為了實(shí)現(xiàn)這些功能,需要如下控件:3個(gè)TComboBox控件,用來選擇盤點(diǎn)人員編號(hào)、藥品類別和藥品編號(hào);6個(gè)TBitBtn控件,分別用來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的添加、修改、刪除、保存和查找,報(bào)表的打印和審核;1個(gè)TEdit控件,用來輸入盤點(diǎn)數(shù)量;2個(gè)TDateTimePicker控件,用來輸入盤點(diǎn)日期和有效日期;1個(gè)TDBMemo控件,顯示輸入備注信息;1個(gè)TDBGrid控件,用來顯示盤點(diǎn)數(shù)據(jù);1個(gè)TRvProject控件,Rave報(bào)表工程控件;1個(gè)TRvSystem控件,用來管理Rave報(bào)表的控件;1個(gè)TRvDataSetConnection控件,報(bào)表數(shù)據(jù)集連接控件。窗體的設(shè)計(jì)界面如圖411所示。圖411 盤點(diǎn)建點(diǎn)(1) 在數(shù)據(jù)庫中添加名為“proc_Check”的存儲(chǔ)過程,此存儲(chǔ)過程主要用來實(shí)現(xiàn)同的庫存盤點(diǎn)業(yè)務(wù)庫存盤點(diǎn)模塊功能。在存儲(chǔ)過程中使用“@Flag”將代碼分為了七大段,分別處理不數(shù)據(jù)。其中,SelectMaxID用于獲取最大的盤點(diǎn)單據(jù)號(hào);InsertHeader、InsertBody和DelCheck、DelHeader分別用于向盤點(diǎn)主表和從表添加記錄及刪除記錄;“UpdateCheck”用于更改單據(jù)審核字段狀態(tài);SelectCheck根據(jù)盤點(diǎn)單查詢數(shù)據(jù)。(2) 添加窗體的OnShow事件,此事件的功能主要是初始化盤點(diǎn)模塊一些控件的初值。(3) 添加“添加”按鈕的單擊事件,此事件的功能主要是調(diào)用存儲(chǔ)過程,清空輸入條件并新增盤點(diǎn)流水單號(hào),實(shí)現(xiàn)添加操作。(4) 添加“刪除”按鈕的單擊事件,此事件的功能主要是判斷單據(jù)是否已經(jīng)審核,當(dāng)單據(jù)還未審核時(shí)可以刪除單據(jù)信息。通過調(diào)用“proc_ Check”存儲(chǔ)過程,當(dāng)“@Flag”變量標(biāo)記為“DelCheck”和“DelHeader”時(shí)刪除從表和主表數(shù)據(jù),維持主從表數(shù)據(jù)的完整性。(5) 添加“保存”按鈕的單擊事件,此事件的功能是調(diào)用“proc_ Check”存儲(chǔ)過程,判斷“@Flag”標(biāo)記是否為“InsertCheck”和“InsertBody”,若是則執(zhí)行數(shù)據(jù)插入操作,將數(shù)據(jù)保存至數(shù)據(jù)庫中。(6) 添加“審核”按鈕的單擊事件,此事件主要用來實(shí)現(xiàn)盤點(diǎn)單審核功能。(7) 添加“查找”按鈕的單擊事件,此事件的功能主要是查找盤點(diǎn)信息。 藥庫查詢“庫存的查詢”窗體主要按照查詢項(xiàng)目和條件查找倉庫藥品庫存的信息。為了實(shí)現(xiàn)這些功能,需要如下控件:2個(gè)TComboBox控件,用來選擇查詢項(xiàng)目和查詢條件;1個(gè)TBitBtn控件,用來實(shí)現(xiàn)查詢操作;1個(gè)TDateTimePicker控件,用來選擇日期查詢條件;1個(gè)TDBGrid控件,用來顯示查詢結(jié)果的數(shù)據(jù)表格。窗體的設(shè)計(jì)界面如圖412所示。圖412 庫存查詢(1) 在數(shù)據(jù)庫中修改存儲(chǔ)過程“proc_Storage”,依次添加“@Flag”參數(shù)為“Select_Type”、“Select_MedicineID” “Select_ValidityTime” “Select_Big” “Select_Small”五段SQL語句,這些語句分別根據(jù)傳入的參數(shù)而執(zhí)行不同的查詢。(2) 添加“查詢”按鈕的單擊事件,此事件的功能是按選擇的條件查詢庫存信息。455 系統(tǒng)的調(diào)試和測(cè)試對(duì)于每一個(gè)開發(fā)的應(yīng)用系統(tǒng)都需要對(duì)其進(jìn)行調(diào)試與測(cè)試,系統(tǒng)是否具有嚴(yán)密性、正確性,是否在功能上達(dá)到完善,實(shí)現(xiàn)功能需求,只能通過嚴(yán)格的調(diào)試和測(cè)試,發(fā)現(xiàn)和解決問題,才能達(dá)到完整的開發(fā)一個(gè)應(yīng)用軟件的要求。如果測(cè)試不能通過,則所做的系統(tǒng)就不能投入使用,設(shè)計(jì)就是失敗的,同時(shí)要也要做大量的系統(tǒng)調(diào)試。調(diào)試對(duì)于開發(fā)者來說也是很關(guān)鍵的。 系統(tǒng)調(diào)試目的所謂系統(tǒng)調(diào)試[12]就是在計(jì)算機(jī)上用各種可能的數(shù)據(jù)和操作條件反復(fù)的對(duì)程序進(jìn)行試驗(yàn),發(fā)現(xiàn)錯(cuò)誤就及時(shí)修改,從而使其完全符合設(shè)計(jì)要求的過程。單獨(dú)運(yùn)行的各個(gè)程序和模塊,看看是否能夠達(dá)到預(yù)期的目標(biāo),在出錯(cuò)的地方仔細(xì)分析,查找產(chǎn)生錯(cuò)誤的原因,并找出解決的方法,再進(jìn)行逐步調(diào)試,達(dá)到真正的無誤后,開始進(jìn)行總體調(diào)試,對(duì)系統(tǒng)整體上進(jìn)行調(diào)試,檢查各模塊數(shù)據(jù)之間是否準(zhǔn)確,模塊間的接口是否恰當(dāng),能否滿足用戶的需要。在軟件的產(chǎn)品中難以避免地隱藏著各種錯(cuò)誤和缺陷,不可能十分完美。為了保證軟件的質(zhì)量和可靠性,在軟件投入運(yùn)行之前進(jìn)行軟件調(diào)試與測(cè)試是非常關(guān)鍵的步驟。為了保證本軟件運(yùn)行的正確性和有效性,必須做好系統(tǒng)的調(diào)試,把一切有可能發(fā)生錯(cuò)誤的幾率降低到最小,使運(yùn)行時(shí)盡量不發(fā)生錯(cuò)誤,這是一個(gè)系統(tǒng)進(jìn)行調(diào)試的主要目的所在。 調(diào)試中出現(xiàn)的問題即解決的辦法經(jīng)過總結(jié)共有3類經(jīng)常出現(xiàn)的錯(cuò)誤,即語法錯(cuò)誤、邏輯錯(cuò)誤和例外錯(cuò)誤。(1) 語法錯(cuò)誤:是其中最容易出現(xiàn)和糾正的。編譯程序代碼是查找大多數(shù)語法錯(cuò)誤的最快方法,但是有一些與語法相關(guān)的錯(cuò)誤并不能在編譯中表達(dá)出來。常見的語法錯(cuò)誤例如:忘記書寫表達(dá)式中的等號(hào)與其它運(yùn)算符;不正確地拼寫命令或函數(shù)名;字符串兩邊的引號(hào)不配對(duì);常見的錯(cuò)誤是在字符串中使用了與區(qū)分字符串界限的引號(hào)相同的引號(hào);復(fù)雜表達(dá)式中的括號(hào)不配對(duì);變量未定義或定義錯(cuò)誤;對(duì)象引用錯(cuò)誤;賦值類型不匹配。(2) 邏輯錯(cuò)誤:很難發(fā)現(xiàn)和排除,編譯通過卻不能達(dá)到預(yù)期的運(yùn)行結(jié)果。這時(shí)必須認(rèn)真分析解決問題思路的每一個(gè)細(xì)節(jié),程序語句所實(shí)現(xiàn)的局部功能是否與全局環(huán)境相兼容等,作各種嘗試,直至將問題,調(diào)試成功。(3) 例外錯(cuò)誤:是由程序直接控制的外部環(huán)境引起的。例如,程序因?yàn)檎也坏剿枰奈募鲥e(cuò),也許這個(gè)文件已被刪除或移動(dòng);或者訪問數(shù)據(jù)庫的權(quán)限不足,需要分配更高級(jí)的權(quán)限。 測(cè)試的目的設(shè)計(jì)好的程序需要經(jīng)過測(cè)試才能明確的知道其功能上的不足之處。系統(tǒng)測(cè)試是管理信息系統(tǒng)開發(fā)期間中一個(gè)十分重要而漫長的階段。其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口。且對(duì)整個(gè)系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)的最終審查。在程序中往往存在著許多預(yù)料不到的問題,可能會(huì)被疏漏,許多隱藏的錯(cuò)誤只有在特定的環(huán)境下才可能暴露出來,會(huì)遺留到運(yùn)行階段中去,所以我們把測(cè)試的目標(biāo)對(duì)準(zhǔn)發(fā)現(xiàn)程序中存在的錯(cuò)誤,在選取測(cè)試用例時(shí),考慮那些易于發(fā)現(xiàn)程序錯(cuò)誤的數(shù)據(jù)。通過用隨機(jī)數(shù)據(jù),邏輯數(shù)據(jù),和典型數(shù)據(jù)的測(cè)試,確認(rèn)軟件的功能和性能與用戶的要求基本一致,軟件可以接受。最后,進(jìn)行系統(tǒng)測(cè)試。把軟件作為整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。驗(yàn)證軟件的可行性。系統(tǒng)的測(cè)試與調(diào)試是不相同的,系統(tǒng)進(jìn)行調(diào)試的目的是為了找出該系統(tǒng)的問題和錯(cuò)誤,而測(cè)試是為了檢測(cè)系統(tǒng)是否能夠達(dá)到預(yù)期的效果,我們?cè)谶M(jìn)行系統(tǒng)測(cè)試時(shí)選擇了黑盒測(cè)試方法,即不關(guān)心軟件的結(jié)構(gòu),只強(qiáng)調(diào)測(cè)試的功能。我們采用了多組數(shù)據(jù)分別進(jìn)行測(cè)試,發(fā)現(xiàn)運(yùn)行結(jié)果和手工的結(jié)果一致,說明設(shè)計(jì)基本成功,如果發(fā)現(xiàn)問題在詳細(xì)的進(jìn)行調(diào)試,盡量使整套系統(tǒng)完美。 測(cè)試的經(jīng)驗(yàn)與體會(huì)  本系統(tǒng)用盡量多的各種數(shù)據(jù)進(jìn)行測(cè)試。在測(cè)試“修改密碼”模塊時(shí),輸新密碼之后,數(shù)據(jù)庫中數(shù)據(jù)未發(fā)生改變。檢查編寫的代碼,發(fā)現(xiàn)存儲(chǔ)過程語句有問題,存儲(chǔ)過程聲明的變量與主程序中聲明的變量不一致,統(tǒng)一變量名稱后實(shí)現(xiàn)了密碼修改。在“藥品盤點(diǎn)”模塊中,選擇盤點(diǎn)人員編號(hào)時(shí)盤點(diǎn)人員編號(hào)未能與盤點(diǎn)人員名稱對(duì)應(yīng),檢查源代碼發(fā)現(xiàn)變量聲明時(shí)對(duì)應(yīng)數(shù)據(jù)表數(shù)據(jù)發(fā)生錯(cuò)誤,修改為應(yīng)對(duì)應(yīng)數(shù)據(jù)表數(shù)據(jù)后實(shí)現(xiàn)所需求的功能。其實(shí)解決這種問題并不復(fù)雜,但對(duì)不熟悉軟件內(nèi)部構(gòu)造的操作人員來說是相當(dāng)困難的。所以我盡可能用各種數(shù)據(jù)進(jìn)行測(cè)試,以便發(fā)現(xiàn)問題及時(shí)解決。經(jīng)過不斷測(cè)試,本系統(tǒng)基本無錯(cuò)。總  結(jié)  醫(yī)院管理系統(tǒng)基本實(shí)現(xiàn)了最初的設(shè)計(jì)思想,滿足了醫(yī)院對(duì)藥品進(jìn)貨,銷售以及庫存管理的基本需求,比較接近預(yù)定的性能指標(biāo)。本系統(tǒng)采用
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1