藥店銷售管理系統(tǒng)分享_第1頁
藥店銷售管理系統(tǒng)分享_第2頁
藥店銷售管理系統(tǒng)分享_第3頁
藥店銷售管理系統(tǒng)分享_第4頁
藥店銷售管理系統(tǒng)分享_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、真誠為您提供優(yōu)質(zhì)參考資料,若有不當之處,請指正。第一章 緒 論1.1 開發(fā)背景及意義在現(xiàn)今的社會中,醫(yī)藥行業(yè)是一個發(fā)展迅速的行業(yè),不同規(guī)模的藥店管理機構(gòu)都要有適合自己業(yè)務的軟件銷售管理系統(tǒng),這樣才能有效的提高工作效率,增加藥店的利潤,不斷地擴大企業(yè)的經(jīng)營規(guī)模。而一些小型藥店現(xiàn)在并沒有適合自己的銷售管理系統(tǒng)。藥店盲目的采用一些簡單的管理軟件進行管理,對藥店的發(fā)展將會產(chǎn)生阻礙作用,所以要想繼續(xù)發(fā)展就必須開發(fā)一個適合該藥店的銷售管理系統(tǒng)。為了提高工作效率、解決現(xiàn)存系統(tǒng)中的問題,我們急需開發(fā)一個新的、適合實際情況需要的藥店銷售管理系統(tǒng),有了這樣一個管理系統(tǒng),不但能解決現(xiàn)存的銷售管理問題,還能有效的減少

2、藥店的費用支出。在應用了該銷售管理系統(tǒng)后,可以提高工作的準確性,減少不必要的損失;系統(tǒng)的庫存信息最低預警可以為藥店管理員提供及時進貨的藥品清單,這樣可以更加方便、及時的了解到需要采購的藥品,及時進貨,避免了藥品的缺貨現(xiàn)象。此外藥品的期限可以及時的進行提醒,可以維護消費者的利益同時維護藥店的信譽。從另一個角度考慮,這樣還可以增加營業(yè)額,提高收入,為進一步發(fā)展擴大業(yè)務做好充分準備。在應用了該系統(tǒng)后,可以提高全體工作人員的自身素質(zhì),在系統(tǒng)的各個模塊中,需要不同的工作人員來進行管理,在對現(xiàn)代化的軟件系統(tǒng)銷售管理和運用的同時會發(fā)現(xiàn)許多自身不太了解,為了學習軟件的使用而更好的投入工作。1.2 國內(nèi)外研究現(xiàn)

3、狀據(jù)研究調(diào)查表明,現(xiàn)在國外發(fā)達國家現(xiàn)在多采用“醫(yī)藥分離”的模式,即在醫(yī)院開藥,在藥店買藥。這種模式使得發(fā)達國家的藥店規(guī)模和市場較大,因而他們的藥店銷售管理系統(tǒng)已經(jīng)逐漸趨于成熟。中國現(xiàn)在的醫(yī)藥體系還不成熟,正在加緊醫(yī)藥體制的改革?,F(xiàn)在中國的藥店銷售管理系統(tǒng)多采用進銷存的模式,最近又出現(xiàn)了很多新的經(jīng)營方式,如:基于零庫存思想的沃爾瑪特管理方式。但這些新的經(jīng)營思想在中國大部分藥店的經(jīng)營中還是難以應用的,因此本藥店銷售管理系統(tǒng)也是采用了進銷存的模式。進銷存就是以貨物流為基礎,以票據(jù)流為主線和動力,以金額流作為補充的三種數(shù)據(jù)流層的關于進貨,銷售和庫存的表述。為了開發(fā)更合理更適用的銷售管理系統(tǒng),收集了一些

4、研究資料以及對對藥店的調(diào)查發(fā)現(xiàn)了國內(nèi)現(xiàn)行的一些藥店銷售存在的一些問題,下面是列舉的幾個存在的問題:1藥店制度難以執(zhí)行。不少藥店的制度是照搬其他藥店的制度,沒有制定適合本藥店的制度。2. 不同性質(zhì)的藥品未按儲存要求存放。3. 銷售憑處方銷售藥品不規(guī)范。4. 零售藥店倉儲面積不足,儲存條件簡陋,缺乏必要的驗收養(yǎng)護設備和防護措施,導致該冷藏的未冷藏,該除濕的未除濕,該分區(qū)的未分區(qū)存放,無法按條件儲存藥品,藥品質(zhì)量難以保證。5. 人員管理不到位與培訓檔案資料不全。6. 很多的藥店仍采用人工的方式進行記錄庫存銷售等信息,使得藥店很多的信息更新慢,很多藥品到期信息無法及時反饋。為了解決這些存在的問題,必須

5、采取一些相應的措施,如:采用計算機快速的記錄方式,使得藥店的管理更規(guī)范,工作效率得到提高;對銷售人員進行培訓,對數(shù)據(jù)進行快速的更新,進而及時反饋藥品的信息和庫存信息。1.3 論文結(jié)構(gòu)本文主要介紹小型藥店銷售管理系統(tǒng)的開發(fā)過程,本系統(tǒng)開發(fā)主要采用C/S(Client/Server)模式軟件構(gòu)造技術,前臺頁面系統(tǒng)采用ASP.NET開發(fā),主要采用了C#語言,后臺管理系統(tǒng)采用SQL Server 2000作為數(shù)據(jù)庫系統(tǒng),進而開發(fā)出本系統(tǒng)。下面介紹的是本文的結(jié)構(gòu)。第一章:緒論,主要闡述了本系統(tǒng)開發(fā)的背景及意義,國內(nèi)外對本系統(tǒng)的研究現(xiàn)狀。第二章:基本技術介紹,主要闡述了本系統(tǒng)開發(fā)方法和工具以及對這些工具的

6、介紹,在本系統(tǒng)中利用了這些工具的哪些優(yōu)點。第三章:需求分析與總體設計,主要闡述了該系統(tǒng)的需求分析、總體設計以及數(shù)據(jù)庫的總體設計。第四章:系統(tǒng)詳細設計,主要闡述了該系統(tǒng)功能實現(xiàn)的關鍵代碼,系統(tǒng)運行成功后的主要界面。第五章:系統(tǒng)測試,第二章 基本技術介紹2.1 系統(tǒng)開發(fā)工具及方法該系統(tǒng)采用了Client/Server模式軟件構(gòu)造技術,前臺頁面系統(tǒng)采用Visual Studio 2005開發(fā),后臺管理系統(tǒng)采用SQL Server 2000作為數(shù)據(jù)庫系統(tǒng),可以運行在Windows 98/2000/XP系統(tǒng)中。目前,網(wǎng)絡應用軟件運行的模式主要有二類:C/S模式,B/S模式。C/S結(jié)構(gòu)是軟件系統(tǒng)體系結(jié)構(gòu),

7、通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。小型藥店銷售管理系統(tǒng)只需要管理員和員工兩種主要人員使用,管理員負責管理所有員工的機器,本系統(tǒng)更是語言C/S模式開發(fā)。此外C/S具有以下的優(yōu)點:應用服務器運行數(shù)據(jù)負荷較輕,數(shù)據(jù)的儲存管理功能較為透明,數(shù)據(jù)控制靈活,并且適于在局域網(wǎng)中使用。小型藥店銷售管理系統(tǒng)中使用的人數(shù)相對較少,只是運行在小型的局域網(wǎng)中,而C/S體系結(jié)構(gòu)適用于網(wǎng)速較快的網(wǎng)絡環(huán)境如:局域網(wǎng)。此外系統(tǒng)的性能不會因為用戶的增加而產(chǎn)生速度慢等問題。綜上,小型藥店銷售管理系統(tǒng)采用C/S結(jié)構(gòu)設計方法進行開發(fā)。2.3 Visual

8、 Studio2005簡介Visual studio 2005提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。在開發(fā)本系統(tǒng)時每一個界面中都使用了控件,正是因為Visual studio 2005提供了大量的控件,使得開發(fā)中可以快捷的創(chuàng)建界面,不需要用代碼的形式在創(chuàng)建控件,大大節(jié)省了系統(tǒng)開發(fā)的時間。此外,它提供了開發(fā) Microsoft Windows(R) 應用程序的最迅速、最簡捷的方法。不論是 Microsoft Windows 應用程序的資深專業(yè)開發(fā)人員還是初學者,Visual studio

9、2005 都為他們提供了整套工具,以方便開發(fā)應用程序。這些優(yōu)點都促使本系統(tǒng)采用了Visual studio 2005這個開發(fā)平臺。Visual Studio 2005這個開發(fā)平臺易于ASP.NET程序的開發(fā),ASP.NET是Microsoft .NET平臺的一部分,ASP.NET是一個革命性的編程框架,它實現(xiàn)了企業(yè)級Web應用程序的快速開發(fā)。它提供了最簡便、最具有擴展能力的方式來開發(fā)、部署和運行可以將任何瀏覽器或設備作為目標的Web應用程序。除了常見的Web應用程序,利用ASP.NET還可以創(chuàng)建其他的一些類型,這就使我們的應用程序的范圍可以延伸到新的客戶和業(yè)務合作伙伴。此外對程序員來說,部署服

10、務器應用程序一直是一件很痛苦的事。采用了ASP.NET,程序員根本不必擔心這個問題,因為ASP.NET大大簡化了部署過程。要部署Web應用程序,只要把它復制到Web服務器上就可以了。正是基于這種開發(fā)的便利性,本系統(tǒng)采用了基于Visual Studio 2005開發(fā)平臺下的ASP.NET技術,在開發(fā)系統(tǒng)時無需進行部署Web應用程序,簡化了開發(fā)的過程。在開發(fā)語言上使用了C#(C sharp)語言,C#是一種最新的面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于ASP.NET平臺的應用程序,ASP.NET提供了一系列的工具和服務來最大程度地開發(fā)利用計算與通訊領域,在本系統(tǒng)中一些藥品的價格以及庫

11、存購貨,銷售開單都需要進行計算,因此使用ASP.NET開發(fā)平臺更簡便的實現(xiàn)數(shù)據(jù)的計算。由于C#面向?qū)ο蟮淖吭皆O計,使它成為構(gòu)建各類組件的理想之選無論是高級的商業(yè)對象還是系統(tǒng)級的應用程序。此外,C#的現(xiàn)代化設計能夠消除很多常見的C+編程錯誤諸如資源回收減輕了程序員內(nèi)存管理的負擔,C#中變量由環(huán)境自動初始化,以及C#中的變量類型是安全的。因此,程序員編寫與維護那些解決復雜商業(yè)問題的程序就更方便了,這樣在開發(fā)系統(tǒng)時可以減少很多錯誤的發(fā)生,更利于系統(tǒng)的調(diào)試。C#還有著比C/C+更強的兼容性,在C#中,每個對象都自動生成為一個COM對象。這些優(yōu)點使得C#更易于軟件的開發(fā),在大學的教學過程中也有著C#課程

12、的教學。綜上,本系統(tǒng)的開發(fā)采用了基于ASP.NET平臺C#語言的開發(fā)。2.4 SQL Server 2000數(shù)據(jù)庫簡介Microsoft SQL Server 2000是由 Microsoft公司開發(fā)的,2000版本在功能和易用性上有很大的增強,并推出了簡體中文版,它包括企業(yè)版,標準版,開發(fā)版和個人版4個版本,使同一個數(shù)據(jù)庫引擎可以在不同的操作系統(tǒng)平臺上使用,從運行Windows 9x的便攜式電腦,到運行Windows2000 Data Center Server的大型多處理器的服務器。增強的圖形用戶界面管理工具,使管理更加方便。本系統(tǒng)采用了2000個人版,并且在開發(fā)過程中采用數(shù)據(jù)庫提供的方便

13、的建表,以及管理其中角色信息和表與表之間的關系。SQL Server 2000實現(xiàn)了C/S模式,模式數(shù)據(jù)庫計算是一種分布式的數(shù)據(jù)存儲、訪問和處理技術,它已成為大多數(shù)企業(yè)計算的標準。Microsoft SQL Server是C/S應用的完美的例子,因此本系統(tǒng)適宜于采用SQL Server 2000數(shù)據(jù)庫。此外,SQL Server 2000具備企業(yè)級數(shù)據(jù)庫功能,可同時管理上千個并發(fā)數(shù)據(jù)庫用戶,其分布式查詢使用戶可以引用來自不同數(shù)據(jù)源的數(shù)據(jù),同時具備分布式事務處理系統(tǒng),保障分布式數(shù)據(jù)更新的完整性。企業(yè)在正常的業(yè)務運作過程中需要收集各種數(shù)據(jù),包含企業(yè)的動態(tài)歷史記錄,數(shù)據(jù)倉庫的目的是合并和組織這些數(shù)據(jù)

14、,以便可以對其進行分析并用來支持業(yè)務決策。而Server 2000提供的強大工具,可幫助您完成創(chuàng)建、使用和維護數(shù)據(jù)倉庫的任務,本系統(tǒng)數(shù)據(jù)的更新以及銷售中的數(shù)據(jù)必須得到合理管理與統(tǒng)計,此時采用這種技術更有利于。SQL Server2000易于安裝、部署和使用, SQL Server 2000的安裝向?qū)Э蓭椭脩舴奖愕貙崿F(xiàn)各種方式的安裝。正是SQL Server2000具有便于開發(fā)企業(yè)軟件以及適宜開發(fā)管理系統(tǒng)和操作簡單的特點,采用了SQL Server2000數(shù)據(jù)庫作為后臺開發(fā)工具。第三章 需求分析與總體設計3.1需求分析隨著藥店行業(yè)的迅速發(fā)展,競爭逐漸激烈,對于小型藥店來說藥店的銷售管理越來越重

15、要。作為一個管理系統(tǒng)應該有管理者和員工的合理權限設置,使得藥店的經(jīng)營更加合理化規(guī)范化。信息時代的到來使得信息的及時性尤其重要,藥品的種類和不斷地更新可以加大藥店的競爭力,因此藥店的銷售管理系統(tǒng)就要能夠?qū)λ幤返幕拘畔⑦M行更新、查詢、及時分更新,這樣銷售人員可以對藥品進行查詢進而向消費者介紹最新的藥品信息。穩(wěn)定的供應商是藥店貨源的保證,同時可以根據(jù)供應商的信息記錄可以使得對貨源的質(zhì)量也有著保證,因此供應商和廠家的信息必須記錄。藥店的正常運轉(zhuǎn)貨源要得到保證,這就必須有著良好的采購進貨管理功能,同時為了藥品質(zhì)量的保證,以及在未知藥品銷量時可以保證藥店不至于積存大量的藥品,對一些積存的藥品進行合理的退

16、貨,這對小型的藥店尤為重要。作為藥店盈利機構(gòu),藥店的銷售是非常重要,同時要求透明化,藥店的開單、訂單、退貨信息都必須合理的記錄統(tǒng)計。藥品的存貨是藥店進行正常運行的保證同時合理的庫存量更好的應對某些藥品需求量的變化,同時記錄藥品出庫信息可以更好的反應藥品的銷售信息。在倉庫中藥品的儲藏出現(xiàn)的損失,通過記錄的信息可以精準核對藥品量的信息。藥品的儲藏要求庫存管理中必須記錄藥品的養(yǎng)護信息,同時在倉庫儲存中應設置藥品的庫存下限,以便及時反映藥品的信息,為藥品進貨提供可靠依據(jù)。財務管理對每個盈利機構(gòu)都是至關重要的,對小型藥店來說財務管理合理性透明化尤其重要,因此收款、付款管理,以及客戶賬單查詢、供應商賬單查

17、詢這些功能必須實現(xiàn)。賬單作為一種憑據(jù),在一些大型的藥店中還可以作為積累積分來吸引顧客的功能,重要的是可以統(tǒng)計藥店銷售的一種統(tǒng)計,同時作為顧客消費退貨的憑證,此時諸如銷售開單、銷售訂單、進貨入庫等各類報表需要及時的打印。藥店的經(jīng)營必須符合國家GSP(Good Supply Practice)管理規(guī)定,這是藥店經(jīng)營企業(yè)統(tǒng)一的質(zhì)量管理規(guī)則,根據(jù)相關的規(guī)定藥店必須能夠按照GSP規(guī)定,必要的時刻要按規(guī)定進行打印或者導出各類報表記錄。在任何銷售行業(yè),退貨進貨是難免的,當出現(xiàn)退貨的情況時,原先的報表要作廢同時也要進行記錄,這就要求系統(tǒng)有著沖紅的功能。藥品的儲存都是有時間期限的為了維護消費者的利益和藥店本身的

18、信譽,藥店庫存人員必須能夠了解到期藥品,以便能得到合理的調(diào)整藥品并及時的反饋藥品的信息,將這些藥物退回或者清除。為了各行各業(yè)健康的發(fā)展,國家對每個行業(yè)都有著相關的規(guī)定,因此藥店和供應商都有著許可證期限規(guī)定,當供應商的許可證不在有效地時間內(nèi),那么供應商提供的貨物質(zhì)量就得不到保證,此時要了解到相關的供應商許可證的信息并能夠做出提示信息。了解到小型藥店銷售管理能夠合理的運行必須具備的功能,開發(fā)本系統(tǒng)具有的功能就應該能對藥店內(nèi)不同人員的信息角色進行管理。管理人員(可以稱作店長)應該能夠?qū)Φ陜?nèi)銷售營業(yè)員和庫存管理人員信息和權限進行管理,同時對管理藥店財務,并負責對系統(tǒng)的維護。同時藥店管理人員還要對藥品的

19、GSP管理和系統(tǒng)的維護進行負責,同時供應商的信息和藥店部門的信息管理業(yè)需要店長進行管理。在該系統(tǒng)中作為銷售人員只要做到對藥品的信息進行查詢,這樣可以對消費者進行介紹多重藥品相關的信息,使用戶可以有多種選擇。作為一個小型的藥店,藥店中應該有著營業(yè)員的職位,營業(yè)員可以對藥品進行銷售管理,包括收銀,開單(包括銷售開單,客戶退貨開單等),沖紅等相關的作業(yè),這樣使得藥店的分工合理化。為了更好的管理本系統(tǒng),倉庫管理人員也是不可或缺的,倉庫管理人員要對貨物進貨,退貨管理,這就要求倉庫管理人員要掌握藥物的最低下限信息可以及時的進貨,退貨。同時不同藥物的存放要求等不同也要求倉庫管理人員掌握藥物的養(yǎng)護信息,倉庫管

20、理人員最基本的職責就是管理不同的藥物進行出庫和入庫,在藥品的儲存期間可能出現(xiàn)損失,這時倉庫管理員還要具有報損的職責。作為一個合理的藥店管理系統(tǒng),當藥店人員不能正確的使用本系統(tǒng)時應該有相應的提示信息,這也是軟件合理化的體現(xiàn)。3.2 總體設計通過需求分析,可以得知該系統(tǒng)應該包括基本信息模塊、采購管理模塊、銷售管理模塊、庫存管理模塊,以及財務管理模塊、GSP管理模塊、系統(tǒng)維護模塊和報表中心模塊,系統(tǒng)模塊圖如3-1所示。藥店銷售管理系統(tǒng)基本信息模塊采購管理模塊銷售管理模塊庫存信息模塊銷售管理模塊財務管理模塊GSP管理模塊報表中心模塊系統(tǒng)維護模塊圖3-1.系統(tǒng)模塊圖這些模塊之間的信息可以交互,基本信息模

21、塊存儲了藥品的基本信息和供應商、廠家、客戶以及藥店部門的基本信息,因此在進貨管理模塊中采購收貨和采購退貨時需要查詢基本信息中的供應商信息。銷售管理模塊中銷售訂單、開單、退貨單都需要查詢客戶基本信息以及藥品的基本信息,此時將查詢基本信息模塊中的信息。庫存信息模塊中的藥品養(yǎng)護、庫存下限信息都需要基本信息模塊中的信息。財務管理模塊需要查詢進貨管理模塊的采購收貨和采購退貨信息以及銷售模塊中的銷售信息。基本信息中的以及庫存信息管理模塊中的信息更新后都需要系統(tǒng)維護模塊中的數(shù)據(jù)備份,進行保存防止數(shù)據(jù)出現(xiàn)錯誤。數(shù)據(jù)報表中心模塊中的信息需要進貨管理模塊中的采購收貨、退貨信息,銷售管理模塊中的銷售訂單、開單、退貨

22、信息,以及庫存管理模塊中的進貨、退貨信息。在GSP模塊中同樣需要進貨管理、銷售管理、和庫存管理模塊的信息來實現(xiàn)GSP管理規(guī)定的信息。這些信息交流使得各個模塊之間密切的聯(lián)系,系統(tǒng)能夠正常的運行,完成各種功能,模塊間的關系圖如圖3-2所示。圖3-2.模塊間的關系圖3.2.1 基本信息模塊功能設計在基本信息模塊中主要完成的功能有用戶信息的管理,藥店部門信息的管理以及供應商廠家的信息管理,藥品的各種信息的管理都可以在基本信息模塊中實現(xiàn)。其中在用戶信息管理中還包括角色管理,權限管理以及用戶基本信息的管理和密碼的修改,這些功能中是管理員權限的相關操作,基本信息管理模塊如圖3-3所示?;拘畔⒐芾砟K用戶信

23、息供應商信息理廠家信息藥品信息部門信息儲藏條件管理養(yǎng)護方式信息角色管理權限管理修改密碼修改資料圖3-3.基本信息管理模塊3.2.2采購管理模塊功能設計藥店的進貨信息必須得到合理的管理,包括進貨管理和退貨管理兩部分功能,進貨管理模塊功能如圖3-4所示。采購管理模塊采購收貨采購退貨 銷售管理模塊銷售開單銷售退單銷售訂單圖3-4.進貨管理模塊圖 3-5.銷售管理模塊3.2.3 銷售管理模塊功能設計通過需求分析可以清楚地得知藥店的銷售管理模塊應具備的功能,銷售管理模塊功能如圖3-5所示。 3.2.4 庫存管理模塊功能設計進貨管理模塊是庫存人員主要負責的,應該實現(xiàn)的功能有出入庫記錄管理,藥品報損和藥品養(yǎng)

24、護信息的查詢,以及藥品下限和庫存警報信息的管理,.庫存管理模塊是其功能模塊如圖3-6所示。庫存管理模塊出入庫記錄單藥品報損藥品養(yǎng)護藥品下限庫存警報圖3-6.庫存管理模塊3.2.5財務管理模塊功能設計管理員可以通過財務管理模塊進行查詢一段時期的銷售額,同時收銀員可以進行直接開單,以及支出進貨開單的功能。因此財務管理模塊包括了收款、付款管理功能,客戶賬單查詢和供應商賬單查詢功能,財務管理功能如圖3-7所示。財務管理模塊收款管理付款管理客戶賬單查詢供應商賬單查詢圖3-7.財務管理模塊3.2.6 GSP模塊功能設計GSP管理模塊主要是實現(xiàn)根據(jù)GSP管理規(guī)范可以對藥品的單獨設置了GSP管理模塊,GSP管

25、理模塊如圖3-8所示。GSP管理模塊藥品采購記錄藥品購進退貨記錄藥品驗收記錄藥品銷售記錄藥品訂單記錄藥品銷售訂單記錄藥品養(yǎng)護記錄圖3-8.GSP管理模塊3.2.7 報表中心模塊功能設計 為了方便對一些報表查詢統(tǒng)計專門設置了報表中心模塊,主要有銷售開單報表,銷售訂單報表,銷售退單報表,進貨入庫報表,進貨退貨報表,藥品養(yǎng)護報表,庫存報表,付款單報表,收款單報表,報表中心模塊如圖3-9所示。報表中心模塊銷售開單報表銷售訂單報表銷售退單報表采購入庫報表采購退貨報表藥品養(yǎng)護報表庫存報表付款單報表收款單報表圖3-9.報表中心模塊3.2.8 系統(tǒng)維護模塊功能設計系統(tǒng)數(shù)據(jù)庫的備份以及服務器的設置都需要管理人員

26、進行管理設置,因此該模塊主要完成度功能有數(shù)據(jù)庫備份,選項,服務器設置功能,系統(tǒng)維護模塊如圖3-10所示。系統(tǒng)維護模塊數(shù)據(jù)庫備份選項管理服務器設置圖3-10:系統(tǒng)維護模塊3.3 數(shù)據(jù)庫總體設計3.3.1 表的設計通過需求分析,可以得知藥品、供應商、藥店人員的信息必須進行保存更新,采購數(shù)據(jù)、銷售管理數(shù)據(jù)、庫存數(shù)據(jù)都需要更新,一些數(shù)據(jù)彼此之間也要進行交互。因此數(shù)據(jù)庫的設計尤為重要。在基本信息模塊中藥品的相關信息數(shù)據(jù)需要保存,因此設計Usr_Medicine表來存儲藥品的基本信息,Usr_Water表存儲藥品劑型信息,Usr_Type表存儲藥品類型信息,Usr_Attribute表來記錄藥品的屬性信息

27、,Usr_Matain表來記錄藥品的養(yǎng)護信息,以及Usr_MatainRecord 表來記錄藥品的養(yǎng)護記錄,Usr_Storage表來記錄藥品的存儲條件信息,以及Usr_Unit來設計藥品的基本單位信息。用戶模塊記錄用戶的基本信息、角色信息及權限。在數(shù)據(jù)庫設計Usr_User表來記錄用戶的基本信息,同時設計Usr_Role表和Usr_RoleTask表來記錄用戶的角色信息進而管理不同用戶的權限。供應商、廠家的基本信息需要隨時的更新,在數(shù)據(jù)庫中設置Usr_Factory和Usr_Supply表用來存儲供應商、廠家的基本信息。用戶的部門信息需要進行記錄修改等操作因此設計Usr_Department

28、表,為了統(tǒng)計客戶的來源,此時需要設計表Usr_Coustom進行儲存。在采購管理模塊中有收貨和退貨功能,因此藥品的數(shù)量信息必須得到保存此時應該有藥品的基本信息表和Usr_Mainbase表、Usr_Price、Usr_BaseLower和Usr_In表。Usr_Mainbase用來記錄庫存中藥品的數(shù)量信息,Usr_Price用來記錄藥品的價格信息,Usr_BaseLower表可以記錄庫存下限信息,Usr_In記錄購入的藥品的相關信息。銷售管理模塊中有銷售訂單、開單、退單三種基本的功能,Usr_Sale表、Usr_SaleDetail表、Usr_SaleD表、Usr_SaleDDetail表、U

29、sr_SaleT表、Usr_SaleTDetail表,分別表示了用戶銷售的具體信息和銷售單的具體信息。庫存管理模塊可以完成出入庫的記錄、藥品的養(yǎng)護、藥品報損、藥品下限和庫存下限功能,經(jīng)過Usr_Base表、Usr_BaseInOut表、Usr_Lower表分別記錄倉庫的基本信息,藥品的出入庫信息和倉庫的最低下線的數(shù)據(jù)信息。財務管理模塊中可以完成收款、付款,客戶賬單查詢和供應商賬單查詢功能,完成這些功能需要查詢藥品的基本信息和供應商、客戶的基本信息因此要使用Usr_In和Usr_Supply表、Usr_Sale表Usr_Costom表。GSP管理模塊和報表中心模塊需要查詢一些藥品的信息和供應商、

30、客戶和一些庫存的信息,此時要用到其他模塊中的數(shù)據(jù)信息。3.3.2 E-R圖ER圖可以來描述靜態(tài)數(shù)據(jù)結(jié)構(gòu):實體、聯(lián)系、實體和聯(lián)系的屬性。下圖3-11是圖形符號表示。圖3-11.圖形符號E-R圖E-R圖可以來描述靜態(tài)數(shù)據(jù)結(jié)構(gòu):實體、聯(lián)系、實體和聯(lián)系的屬性。本系統(tǒng)包括了收銀員、銷售員、庫存員、管理員、藥品、庫存等實體。各種實體之間存在可以通過包含、存儲、銷售等方式實現(xiàn)實體之間的聯(lián)系。下圖3-11為實體E-R圖。圖3-12.實體E-R圖把概念結(jié)構(gòu)設計轉(zhuǎn)化為邏輯結(jié)構(gòu)設計,藥品信息實體屬性包括編號、藥品名稱、藥品簡稱、英文名稱、藥品通用名稱、廠家、規(guī)格、處方類型、藥品屬性、儲藏條件、養(yǎng)護方式、藥品劑型、藥

31、品類型、藥品分類、基本單位、產(chǎn)地,如下圖3-12是藥品信息實體圖所示。圖3-13.藥品信息實體屬性藥品屬性實體包括屬性編號、屬性名稱、屬性描述,下圖3-13是藥品屬性實體圖。圖3-14.藥品屬性實體圖管理員實體屬性包括用戶名、密碼、角色、姓名、性別、年齡、職位、地址、辦公室電話、家庭電話、手機、電子郵件下圖3-14是管理員實體圖。圖3-15.管理員實體圖由于實體較多就不一一列出,只將其中較為代表的屬性列出。第四章 系統(tǒng)詳細設計4.1 模塊功能代碼實現(xiàn)4.1.1 基本功能模塊代碼實現(xiàn)基本功能模塊主要完成的是對藥品基本信息的存儲、更新功能,以及對用戶信息的管理。藥品信息的存儲功能實現(xiàn)主要是通過Sa

32、ve()函數(shù)實現(xiàn)的,用戶選擇更新和添加時會自動調(diào)用此函數(shù),以下是Save()主要的代碼部分。if(Action="Add")string strSql="insert into Usr_Medicine(MedicineId,ChineseName,EnglishName,ShortName,CommandName,Spec,Pre,Attribute,Water,Type,Sort,Unit,Area,Factory,IsDelete,Remark,Maintain,Storage) values('"+ this.txtMedicineNo.

33、Text.Trim().ToString() +"','"+ this.txtChName.Text.ToString() +"','"+ this.txtEnName.Text.Trim().ToString() +"','"+ this.txtShortName.Text.Trim().ToString() +"','"+ this.txtCommandName.Text.Trim().ToString()+"','&qu

34、ot;+ this.txtSpec.Text.Trim().ToString() +"','"+ this.cboPre.Text.Trim().ToString() +"','"+ this.cboAttribute.Text.Trim().ToString() +"','"+ this.cboWater.Text.Trim().ToString() +"','"+ this.cboType.Text.Trim().ToString() +"

35、;','"+ this.cboSort.Text.Trim().ToString() +"','"+ this.cboUnit.Text.Trim().ToString() +"','"+ this.cboPlace.Text.Trim().ToString() +"','"+ this.txtFactory.Text.Trim().ToString() +"','0','"+ this.txtRemark.T

36、ext.Trim().ToString() +"','"+ this.cboMaintain.Text.Trim().ToString() +"','"+ this.cboStorage.Text.Trim().ToString() +"')"DB.ExecNonSql(strSql);MessageBox.Show(“數(shù)據(jù)添加成功”,”系統(tǒng)提示” , System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBo

37、xIcon.Information;用戶選擇更新時同樣可以用以上代碼進行實現(xiàn),查詢功能可以實現(xiàn)模糊查詢,可以記錄各個控件輸入的信息,然后通過查詢數(shù)據(jù)庫,最后通過調(diào)用ShowData()函數(shù)來實現(xiàn)查詢顯示結(jié)果功能。用戶的管理主要實現(xiàn)用戶基本信息和角色、權限管理功能,在信息的添加、更新時先判斷用戶是否存在然后在將用戶信息存入數(shù)據(jù)庫中,刪除用戶可以直接調(diào)用相關函數(shù)直接刪除數(shù)據(jù)庫中相應數(shù)據(jù)。4.1.2 采購管理模塊代碼實現(xiàn)該模塊主要完成采購收獲、采購退貨的記錄功能,該功能的實現(xiàn)主要是通過查詢供應商和藥品信息后然后通過用戶的選擇在將采購收貨、退貨信息保存到數(shù)據(jù)庫中。查詢供應商和藥品信息功能是通過調(diào)用藥品

38、基本信息查詢信息、供應商信息中的查詢功能實現(xiàn)的,用戶選擇保存和打印采購信息的實現(xiàn)是通過調(diào)用Save()函數(shù)、Print()函數(shù)實現(xiàn)的。Save()函數(shù)的實現(xiàn)首先是判斷一些必須輸入的信息是否為空,然后在將輸入的信息(可能是多條信息)進行保存,以下是保存數(shù)據(jù)的主要代碼。sendSQL="insert into Usr_In(InId,CoustomId,InDate,PayType,CheckMan,CheckResult,Amount,Money,Operator,State,Remark) values('"+ this.GetInId().Trim()+"

39、;','"+ this.cboSupply.Text.Trim() +"', '"+ DateTime.Parse(this.txtDate.Text) +"' ,'"+ this.cboPayType.Text.Trim() +"','"+ this.txtCheckMan.Text.Trim() +"','"+ this.cboCheck.Text.Trim() +"',"+ Convert.T

40、oDecimal(this.sbCount.Text.Trim() +","+ Convert.ToDecimal(this.sbSum.Text.Trim() +",'"+ this.sbUser.Text.Trim() +"','1','"+ this.txtRemark.Text.Trim() +"')"DB.ExecNonSql(sendSQL);MessageBox.Show("操作已經(jīng)成功,收貨單:【"+ this.GetInId().

41、Trim() +"】已經(jīng)保存!","系統(tǒng)提示",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Information);4.1.3 銷售管理模塊代碼實現(xiàn)銷售管理模塊主要實現(xiàn)銷售開單、訂單、退單的功能,這些功能的實現(xiàn)基本是類似的都是先進行客戶信息、藥品信息然后記錄購買藥品數(shù)量金額等信息,最后將這些數(shù)據(jù)存入數(shù)據(jù)庫。銷售訂單的實現(xiàn)是先判斷藥品以及客戶的必要信息是否成功填入,然后調(diào)用Save()函數(shù)來實現(xiàn)保存,同時可以調(diào)用Print()函數(shù)來實現(xiàn)打印功能

42、,打印功能的實現(xiàn)首先是設置打印的一些基本參數(shù),然后調(diào)用系統(tǒng)函數(shù)進行打印,以下是打印函數(shù)實現(xiàn)的主要代碼部分。misGoldPrinter.DocumentName="報表中心"Title title = new Title();title.Text = cs.csConst.strPrintSaleCaption;misGoldPrinter.Title = title;if (print)misGoldPrinter.Print();elsemisGoldPrinter.Preview();4.1.4 庫存管理模塊代碼實現(xiàn)庫存管理模塊實現(xiàn)的功能是實現(xiàn)對藥品出入庫記錄、藥品的

43、庫存下限提醒、藥品的養(yǎng)護方式查詢、藥品報損以及根據(jù)銷售信息更新庫存信息等功能。實現(xiàn)藥品的出入庫記錄主要是查詢功能,通過查詢Usr_BaseInOut表中的數(shù)據(jù),將查到的結(jié)果顯示并且可以保存。庫存下限功能實現(xiàn)是通過查詢藥品的下限表將與用戶規(guī)定的期限的藥品顯示出來,藥品的養(yǎng)護方式、藥品報損也是采取同樣的方法實現(xiàn)的。更新庫存信息功能是根據(jù)銷售的單據(jù)進行更新操作的,首先通過查詢銷售信息然后通過調(diào)用數(shù)據(jù)更新函數(shù)frmBaseManageMent_Load(),以下是數(shù)據(jù)更新函數(shù)的主要代碼。TrysendSQL="SELECT Usr_Gathing.GathingId, Usr_Sale.Sa

44、leId, Usr_Coustom.ChineseName,Usr_Gathing.Amount, Usr_Gathing.Money, Usr_Gathing.PayType,Usr_Gathing.Remark FROM Usr_Gathing INNER JOIN Usr_Sale ON Usr_Gathing.BillNo = Usr_Sale.SaleId INNER JOIN Usr_Coustom ON Usr_Gathing.CoustomId = Usr_Coustom.CoustomId where state='2'"this.setDataSa

45、leList(sendSQL);上述代碼主要是更新銷售開單信息,將庫存中的藥品信息進行更新。4.1.5 財務管理模塊代碼實現(xiàn)財務管理模塊主要是實現(xiàn)付款單、收款單、客戶、供應商賬單查詢、打印功能,付款單顯示采購付款、退貨付款、欠賬付款相關信息,收款單顯示開單收款、訂單收款、進貨退貨收款相關信息??蛻糍~單查詢可以查詢某段時間的所有的銷售情況,供應商賬單顯示一段時間進貨的情況。付款單中可以選擇不同的供應商和客戶的信息來查詢需要付款的信息,可以將數(shù)據(jù)進行保存和打印。sendSQL="insert into Usr_Pay(PayId,CoustomId,GathingType,BillNo,

46、PayType,Amount,Money,Remark) values('"+ this.GetPayId().Trim() +"','"+ this.cboCoustom.Text.Trim() +"','"+ strGathingType.Trim() +"','"+ this.txtBillNo.Text.Trim() +"','"+ this.cboPayType.Text.Trim() +"',"

47、+ this.txtAmount.Text.Trim() +","+ this.txtMoney.Text.Trim() +",'"+ this.txtRemark.Text.Trim() +"')"cs.DBController DB=new cs.DBController();DB.ExecNonSql(sendSQL);if(this.rdoBill.Checked=true)sendSQL="update Usr_In set State='2' where InId='&qu

48、ot;+ this.txtBillNo.Text.Trim() +"'"else if(this.rdoBill1.Checked=true)sendSQL="update Usr_SaleT set State='2' where SaleTId='"+ this.txtBillNo.Text.Trim() +"'"DB.ExecNonSql(sendSQL);收款單采用同樣的思路進行設計,完成其功能。供應商賬單查詢功能的實現(xiàn)根據(jù)采購開單和采購訂單的不同查詢數(shù)據(jù)庫信息然后將查詢信息顯示,下面是

49、其中的一些關鍵代碼。if (this.txtCoustom.Text.Trim()="")sendSQL="SELECT InId AS 進貨單號, CoustomId AS 供應商編號, PayType AS 付款類型,Amount AS 數(shù)量, Money AS 金額, Remark AS 備注FROM Usr_In where Indate>='"+ DateTime.Parse(this.dtpFrom.Value.ToString() +"' and Indate<='"+ DateTim

50、e.Parse(this.dtpTo.Value.ToString() +"'"ds=DB.GetDS(sendSQL);this.DG.DataSource=ds.Tables0;if (ds.Tables0.Rows.Count>0)this.sbIn.Text=ds.Tables0.Compute("Sum(金額)","").ToString();sendSQL="SELECT IntId AS 退貨單號, CoustomId AS 供應商編號, PayType AS 付款類型,Amount AS 數(shù)量,

51、 Money AS 金額, Remark AS 備注FROM Usr_InT where InTdate>='"+ DateTime.Parse(this.dtpFrom.Value.ToString() +"' and InTdate<='"+ DateTime.Parse(this.dtpTo.Value.ToString() +"'"ds=DB.GetDS(sendSQL);this.dataGrid1.DataSource=ds.Tables0;if (ds.Tables0.Rows.Coun

52、t>0)this.sbInT.Text=ds.Tables0.Compute("Sum(金額)","").ToString();客戶賬單查詢也是采用同樣的思路完成的,因而代碼相似,不在列出。4.1.6 GSP模塊及報表中心模塊代碼實現(xiàn)此模塊實現(xiàn)GSP規(guī)定下的一些必要的信息的保存和查詢功能,報表中心模塊的相關報表主要是打印進貨、銷售、庫存的相應報表信息,所有報表、記錄表都是采用同樣的思路實現(xiàn),根據(jù)需求不同查詢相關的信息后將其顯示。因此他們下面是藥品驗收記錄表的關鍵代碼。string sendSQL;sendSQL="SELECT Usr_I

53、n.InId AS 采購單號, Usr_Medicine.ChineseName AS 藥品名稱,Usr_InDetail.LicenceNo AS 批號, Usr_InDetail.Price AS 價格,Usr_InDetail.Amount AS 數(shù)量, Usr_InDetail.Money AS 金額,Usr_In.CheckMan as 驗貨員 FROM Usr_In INNER JOIN Usr_InDetail ON Usr_In.InId = Usr_InDetail.InId INNER JOIN Usr_Medicine ON Usr_InDetail.MedicineId

54、 = Usr_Medicine.MedicineId where InDate>='"+ this.dtpFrom.Value +"'and InDate<='"+ this.dtpTo.Value +"'and State='1'"cs.DBController DB=new cs.DBController();DataSet ds=new DataSet();ds=DB.GetDS(sendSQL);this.DG.DataSource=ds.Tables0;decimal int

55、Count=0;decimal intMoney=0;if (ds.Tables0.Rows.Count>0)intCount=Convert.ToDecimal(ds.Tables0.Compute("Sum(數(shù)量)","");intMoney=Convert.ToDecimal(ds.Tables0.Compute("Sum(金額)","");this.sbUser.Text=cs.csConst.LoginUser;4.1.7 系統(tǒng)維護模塊代碼實現(xiàn)系統(tǒng)維護模塊主要完成了數(shù)據(jù)的備份功能以及服務器的設置,下

56、面是數(shù)據(jù)備份中的關鍵代碼。this.Cursor=Cursors.WaitCursor;DBBackup.DbBackup(txtDBServer.Text,txtUserName.Text,txtPwd.Text,txtPath.Text);this.Cursor=Cursors.Default;MessageBox.Show("數(shù)據(jù)庫備份成功!");代碼中的DbBackup()函數(shù)是DBBackup類中的方法,用來備份數(shù)據(jù)。4.2 數(shù)據(jù)庫詳細設計本系統(tǒng)中數(shù)據(jù)信息、數(shù)據(jù)庫中表的數(shù)量較多,因此以下介紹的是本系統(tǒng)中部分表,Usr_Medicine表來存儲藥品的基本信息,此表基

57、本信息如表3-1所示。Usr_Medicine序號字段名類型長度索引備注1MedicineIdchar8P不能重復2ChineseNameVarchar503EnglishNameVarchar504ShortNameVarchar305CommandNameVarchar506SpecVarchar507PreVarchar508AttribureVarchar50關聯(lián)藥品屬性9WaterVarchar50關聯(lián)藥品劑型10TypeVarchar50關聯(lián)藥品類型11SortVarchar50關聯(lián)藥品種類12UnitVarchar30關聯(lián)藥品單位13AreaVarchar5014FactoryVarchar5015IsDeletechar216RemarkVarchar20017MatainVarchar50關聯(lián)養(yǎng)護方式18StorageVarchar50關聯(lián)儲存方式表3-1.藥品基本信息在用戶管理中用戶的信息是非常重要的包括了角色、密碼和其它基本信息,如3-2表是用戶信息基本表。Usr_User序號字段名類型長度索引備注1UserNameVarchar20P不能重復2PasswordVarchar503Rolechar2關聯(lián)角色4NameVarchar205Sexchar26Ageint47PostVarchar208DepartMentVarchar30關

溫馨提示

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

評論

0/150

提交評論