




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、. . . . 長河醫藥公司進銷存系統的設計與實現作者作者王智峰指導教師指導教師宇蘭所學專業所學專業計算機科學與技術(軟件工程方向) 班級班級08B5所屬院系所屬院系信息學院學習年限學習年限2008年年9月至月至2012年年7月月二一二年五 月學號:學號:20088425302008842530本 科 畢 業 論 文(設 計). . . . 目目 錄錄容提要1 引言 12 系統分析 13 系統設計 33.1 系統功能設計 33.2 數據庫設計 43.2.1 數據項和數據結構 43.2.2 數據庫概念設計 43.2.3 數據庫物理設計 84 系統主要功能實現 124.1 WEB.CONFIG 文
2、件配置 134.2 系統登錄模塊的實現 134.3 藥品管理模塊的實現 144.3.1 添加藥品類別信息功能的實現 144.3.2 添加藥品信息功能的實現 154.3.3 藥品查詢維護功能的實現 174.4 員工管理模塊的實現 184.4.1 添加員工信息功能的實現 184.4.2 員工查詢維護功能的實現 194.5 進貨管理模塊的實現 20. . . . 3 / 414.5.1 添加進貨信息功能的實現 204.5.2 進貨信息查詢功能的實現 214.5.3 添加進貨退貨信息功能的實現 224.5.4 進貨退貨信息查詢功能的實現 244.6 銷售管理模塊的實現 254.6.1 員工銷售藥品功能
3、的實現 254.6.2 員工銷售業績排名功能的實現 284.6.3 顧客辦理退貨功能的實現 294.7 庫存管理模塊的實現 314.7.1 庫存查詢功能的實現 314.7.2 庫存盤點功能的實現 324.7.3 庫存報警功能的實現 325 結語 34致 35參考文獻 36ABSTRACT37. . . . 長河醫藥公司進銷存系統的設計與實現學生:王智峰指導老師:宇蘭容提要本課題是為長河醫藥公司開發的一款醫藥進銷存管理系統,以解決該公司醫藥管理事務中的進貨、銷售、退貨等情況的問題以與相關統計工作。本系統采用 技術和 SQL Server2005 數據庫,實現了藥品信息管理,員工管理,進貨管理,銷
4、售管理,庫存管理和系統設置六大功能。它在日常的藥品交易管理中將為工作人員提供簡單的工作環境和便捷快速的工作流程,為公司適應信息化管理提供強大的助力。關鍵詞銷售管理 交易管理 數據庫管理系統 . . . . 1 引言當前信息時代的沖擊下,舊有的企業管理模式已不能適應新型的社會主義市場經濟的要求,再者藥品產品種類繁多、業務量大,單憑手工記賬很難適應工作的需要。此外,藥品作為一個關系到人民群眾健康的特殊行業,國家對藥品行業專門出臺了一些不同于其他行業的管理政策,在一定程度上加大了醫藥管理的難度。因此,如何盡快建立和完善藥品行業的信息化管理體制,已成為影響藥品行業生存發展的關鍵所在。藥店進銷存管理系統
5、就是為了解決傳統藥品管理過程中的進銷存人工處理混亂、賬目管理困難等問題,可以將管理人員從大量繁瑣的手工操作中解脫出來,方便地完成藥品信息管理、藥品入庫出庫等操作,靈活地完成各項藥品屬性、銷售狀況和供需狀態的統計。通過該系統可以對各種藥品信息供應商信息員工信息進貨信息和銷售信息進行有效的管理,從而解決了傳統人工操作的效率低,易出錯等問題。隨著 Internet/Intranet 技術的興起,將原本在單機或本地局域網上運行的數據庫系統移植到因特網中,即開發基于 B/S 模式的新一代 MIS(Management Information System,管理信息系統)系統,正成為技術發展的趨勢。因此為
6、了保證系統性能的高效性、可擴展性,以與達到數據共享和網絡化管理的目的,該系統以 B/S(Browser/Server,瀏覽器/客戶端)模式實現,并以基于.NET 平臺架構使用ASP.NET(C#語言)和 ADO.NET 技術開發設計。2 系統分析系統的功能要求即用戶對目標系統數據處理功能所提出的要求,主要考慮以下需求:系統分管理員和一般的銷售人員(收銀員)兩種身份。藥品信息管理,可以添加藥品類別信息,添加和管理所有藥品信息。員工信息管理,管理員可以添加和維護員工的信息。進貨信息管理,可以添加藥品進貨信息藥品進貨退貨信息添加藥品進貨退貨信息查詢藥品進貨退貨信息。銷售信息管理,可以登記藥品銷售和銷
7、售退貨信息,可以進行查詢,可以查看某個時間段的員工銷售業績。. . . . 庫存管理,可以查詢藥品的庫存,對庫存過多或過少的藥品進行報警,可以對某個時間段進行庫存盤點(計算醫藥的收益)。 系統管理,可以添加和查看供應商信息,可以修改登陸密碼信息。據此系統的基本流程可以表示為::用戶登錄界面時向系統發出請求,有系統判定用戶的權限并顯示相應功能模塊,然后用戶開始提交數據請求和操作請求,系統將與數據庫交互之后的結果輸出到顯示界面,如果出現錯誤則提交給用戶錯誤提示。我們可以對系統畫出如圖所示的頂層數據流圖,如圖 2.1 所示。圖 2.1 系統頂層數據流圖第 1 層數據流圖是在頂層上的細分,從整體考慮進
8、銷存系統出現的數據流動與流向,如圖 2.2 所示。圖 2.2 系統第 1 層數據流圖用戶端提交數據界面顯示登錄信息錯誤提示輸 出執行結果操作請求醫藥進銷存信息管理系統Sqlserver數據庫. . . . 3 / 413 系統設計3.1 系統功能設計通過在需求階段對系統的總體功能的要求,最終得到了這個信息管理軟件的總體功能結構,它應包括 6 大基本功能。系統的總體功能如圖 3.1 所示。 (1)藥品信息管理:管理員登錄系統后可以添加和查詢藥品類別信息,可以添加和修改藥品的信息;員工登錄后只能查詢藥品信息。(2)員工信息管理:管理員登錄系統后可以添加和維護醫藥員工(收銀員)的信息。(3)進貨管理
9、:管理員登錄系統后可以添加藥品進貨信息,可以對藥品進貨信息進行查詢和統計,可以添加藥品進貨退貨信息,還可以藥品進貨退貨信息進行查詢統計。(4)銷售管理:員工(收銀員)登錄系統后可以對藥品進行銷售,可以按時間查詢自己的銷售業績;管理員登錄系統后可以按照時間等條件對銷售信息進行查詢,可以根據小票號登記顧客退貨信息,查詢顧客退貨信息,還可以查看員工的銷售業績。(5)庫存管理:管理員或員工登錄系統后都可以查詢藥品的庫存,可以統計庫存上溢或不足的信息(庫存報警);管理員還可以對庫存盤點(進貨金額和銷售金額的對比,計算醫藥的利潤)。(6)系統管理:管理員可以添加和查看供應商信息;管理員和員工都可以修改自己
10、的密碼。圖 3.1 軟件總體功能結構藥品信息管理醫藥進銷存銷售管理系統員工信息管理添加員工信息員工查詢維護添加藥品類別添加藥品信息藥品進貨管理藥品進貨登記藥品進貨查詢庫存信息查詢庫存盤點庫存報警用戶密碼修改關于系統信息查詢統計系統管理藥品查詢維護進貨退貨登記進貨退貨查詢藥品銷售管理員工銷售藥品銷售查詢統計顧客辦理退貨員工業績查詢添加供應商. . . . 3.2 數據庫設計3.2.1 數據項和數據結構針對一般銷售管理信息系統的要求,通過對進貨銷售管理工作過程的容和數據流程分析,設計如下面的主要數據項和數據結構:(1)藥品信息:包括藥品編號藥品類別藥品名稱藥品單位藥品型號藥品規格藥品售價和藥品產地
11、。 (2)員工信息:包括員工編號員工員工登錄密碼員工性別員工生日教育層次家庭移動號地址和居住地址。 (3)供應商信息:包括供應商公司名稱供應商法人代表和供應商和地址。 (4)藥品進貨信息:包括系統記錄進貨編號藥品編號供應商名稱進貨單價進貨數量進貨總價格和進貨日期。 (5)進貨退貨信息:包括系統記錄編號藥品編號供應商名稱退貨單價退貨數量退貨總金額退貨日期和退貨原因。 (6)藥品銷售信息:包括銷售單據號銷售的藥品銷售單價銷售數量銷售總價銷售時間和員工編號。 (7)銷售退貨信息:包括退貨藥品所在單據號藥品編號退貨單價退貨數量退貨總額退貨原因和退貨時間。 (8)藥品庫存信息:包括藥品編號和庫存數量。
12、(9)藥品購物車信息:包括藥品編號庫存數量和員工編號(每個員工對應一個購物車,它保存的是顧客待購買的藥品信息)。 (10)管理員信息:包括管理和密碼。 3.2.2 數據庫概念設計根據上面的做的數據項和數據結構和它們之間的關系,設計規劃出來的實體有:藥品信息實體員工信息實體供應商信息實體進貨信息實體進貨退貨信息實體銷售信息實體銷售退貨實體藥品庫存信息實體藥品購物車信息實體和管理員信息實體。各個實體的屬性通過實體屬性圖表示如下面這些圖所示,其中矩形代表該實體對象,它們每一個對應數據庫中的一數據表,而橢圓形里的信息代表該數據對象的屬性,它們則對應著數據表中的字段信息。整體的系統 E-R 圖如圖 3.
13、1 所示。. . . . 5 / 41登陸管理員員工操作操作供貨商信息藥品庫存信息商品進貨信息藥品信息進貨退貨信息藥品銷售信息藥品購物車信息顧客退貨信息賬號賬號密碼密碼郵箱地址郵箱地址教育層次教育層次移動電話移動電話員工編號員工編號身份證號身份證號員工住址員工住址家庭電話家庭電話員工生日員工生日員工性別員工性別員工密碼員工密碼員工姓名員工姓名藥品類別藥品類別藥品單位藥品單位藥品編號藥品編號藥品產地藥品產地藥品售價藥品售價藥品型號藥品型號藥品名稱藥品名稱藥品價格藥品價格法人代表法人代表公司名稱公司名稱供應商電話供應商電話地址地址進貨編號進貨編號進貨日期進貨日期進貨總價進貨總價進貨單價進貨單價進貨
14、數量進貨數量藥品編號藥品編號供應商供應商供應商供應商退貨日期退貨日期藥品編號藥品編號退貨數量退貨數量退貨總金退貨總金退貨編號退貨編號退貨單價退貨單價退貨原因退貨原因銷售數量銷售數量銷售總價銷售總價員工編號員工編號銷售時間銷售時間銷售單價銷售單價銷售藥品編號銷售藥品編號銷售單據號銷售單據號銷售單據號銷售單據號退貨時間退貨時間退貨原因退貨原因退貨單價退貨單價退貨數量退貨數量藥品編號藥品編號退貨金額退貨金額藥品編號藥品編號藥品庫存藥品庫存購買數量購買數量員工編號員工編號藥品編號藥品編號圖 3.1 數據庫整體 E-R 圖藥品信息如圖 3.2 所示。. . . . 圖 3.2 藥品信息實體屬性圖員工信息
15、如圖 3.3 所示。圖 3.3 員工信息實體屬性圖供應商公司名稱,供應商法人代表,供應商和地址如圖 3.4 所示。圖 3.4 供應商信息實體屬性圖藥品庫存信息的相關容如圖 3.5 所示。圖 3.5 藥品庫存信息實體屬性圖藥品信息藥品編號藥品類別藥品名稱藥品單位藥品型號藥品價格藥品售價藥品產地員工信息員工編號員工 XX員工密碼員工性別員工生日家庭 移動 XX 號地址居住地址教育層次公司名稱法人代表供應商 供應商地址供應商信息藥品庫存信息藥品編號藥品庫存. . . . 7 / 41進貨事宜的相關信息如圖 3.6 所示。圖 3.6 藥品進貨信息實體屬性圖退貨事宜的相關信息如圖 3.7 所示。圖 3.
16、7 進貨退貨信息實體屬性圖銷售藥品的相關信息如圖 3.8 所示。圖 3.8 藥品銷售信息實體屬性圖顧客退貨的相關信息如圖 3.9 所示。商品進貨信息進貨編號藥品編號供應商名稱進貨單價進貨數量進貨總價格進貨日期進貨退貨信息記錄編號藥品編號退貨單價退貨總金額退貨原因退貨數量供應商名稱退貨日期商品銷售信息銷售單據號銷售藥品編號銷售單價銷售總價員工編號銷售數量銷售時間. . . . 圖 3.9 顧客退貨信息實體屬性圖管理員信息的相關容如圖 3.10 所示。圖 3.10 管理員信息實體屬性圖藥品購物車信息的相關容如圖 3.11 所示。圖 3.11 藥品購物車信息實體屬性圖3.2.3 數據庫物理設計在前面
17、,通過系統分析員和用戶的了解,歸納出了系統的各個關鍵的實體,分析了它們的屬性以與各個實體的聯系,下面就是需要在一個關系數據庫系統中使用二維關系表將各個實體與實體的聯系物理實現。通過前面的分析,得到了本系統的 10 個數據實體,它們分別可以在 sqlserver2005 過 10數據信息表來實現,以下是 10 個數據表。(1)藥品信息表它包括藥品編號,藥品種類代碼,藥品名稱,藥品規格,藥品型號,藥品售價,藥品產地,藥品單位,藥品附加信息,藥品添入時間,藥品價格,如表 3.1 所示。管理員信息管理員密碼管理員 XX顧客退貨信息所在銷售單據號藥品編號單據退貨單價退貨數量退貨總金額退貨原因退貨時間購買
18、數量藥品編號員工編號藥品購物車信息息. . . . 9 / 41表 3.1 藥品信息結構列名數據類型允許空goodNovarchar(20)否goodClassIdint是goodNamenvarchar(30)否goodUnitnvarchar(2)是goodModelnvarchar(20)是goodSpecsnvarchar(20)是goodPricefloat是goodPlacenvarchar(50)是goodMemotext是goodAddTimedatetime是(2)員工信息表它包括員工編號,員工性別,員工生日,家庭,件,居住地址,員工,員工學歷,登錄密碼,手機, ,如表 3.
19、2 所示。表 3.2 員工信息表結構列名數據類型允許空employeeNovarchar(20)否employeeNamenvarchar(20)是employeePasswordvarchar(30)是employeeSexnchar(1)是employeeBirthdaydatetime是employeeEducationIdint是employeeHomeTelvarchar(20)是employeeMobilevarchar(20)是employeeCardvarchar(20)是employeeEmailvarchar(30)是employeeAddressnvarchar(80)否
20、. . . . (3)供應商信息表它包括供應商公司名稱,供應商法人代表,供應商,供應商地址,如表 3.3 所示。表 3.3 供應商信息表結構列名數據類型允許空supplierNamenvarchar(50)是supplierLawyernvarchar(4)是supplierTelephonevarchar(11)是supplierAddressnvarchar(50)否(4)藥品進貨信息表它包括藥品編號,進貨序號,供應商,進貨單價,進貨數量,進貨總價,進貨日期,添加日期,如表 3.4 所示。表 3.4 藥品進貨信息表結構列名數據類型允許空buyIdint否goodNovarchar(20)是
21、supplierNamenvarchar(50)是pricefloat是numberint是totalPricefloat是buyDatedatetime是addTimedatetime否(5)進貨退貨信息表它包括供貨商,藥品編號,退貨價格,進貨總價,退貨數量,退貨日期,退貨原因,退貨編號,退貨添加時間,如表 3.5 所示。表 3.5 進貨退貨信息表結構列名數據類型允許空buyBackIdint否goodNovarchar(20)是. . . . 11 / 41supplierNamevarchar(50)是pricefloat是numberint是totalPricefloat是buyBac
22、kDatedatetime是buyBackReasontext是buyBackAddTimedatetime是(6)藥品銷售信息表它包括賣出序號,單據序號,藥品編號,藥品名稱,銷售價格,銷售數量,銷售時間,銷售員序號,如表 3.6 所示。表 3.6 藥品銷售信息表結構列名數據類型允許空sellInfoIdint否sellNovarchar(30)否goodNovarchar(20)是pricefloat是numberint是totalPricefloat是sellTimedatetime是employeeNovarchar(20)是(7)銷售退貨信息表它包括銷售退貨序號,藥品編號,退貨單價,退
23、貨數目,退貨原因,退貨時間,退貨序號,銷售單據序號。如表 3.7 所示。表 3.7 銷售退貨信息表結構列名數據類型允許空sellBackIdint否sellNovarchar(20)是goodNovarchar(20)是. . . . pricefloat是numberint是totalPricefloat是sellBackReasontext是sellBackTimedatetime是(8)藥品庫存信息表它包括藥品序號,藥品庫存,如表 3.8 所示。表 3.8 藥品庫存信息圖結構列名數據類型允許空goodNovarchar(50)否goodCountint是(9)藥品購物車信息表它包括訂單號
24、,員工號,藥品編號,藥品數量,如表 3.9 所示。表 3.9 藥品購物車信息表結構列名數據類型允許空goodCartIdint否employeeNovarchar(20)是goodNovarchar(20)是goodCountint是(10)管理員信息表它包括管理員名稱,管理員密碼,如表 3.10 所示。表 3.10 管理員信息表結構列名數據類型允許空adminUsernamevarchar(20)否adminPasswordvarchar(32)是. . . . 13 / 414 系統主要功能實現4.1 Web.config 文件配置ASP.NET 應用程序的配置功能放在 Web.confi
25、g 文件中,它包含每一個具體 Web 應用程序的配置信息。在程序運行時,ASP.NET 使用分層虛擬目錄結構的 Web.config 文件提供的配置信息為每個惟一的URL 資源計算一組配置設置,然后緩存結果配置設置,以供所有頁面對資源的請求使用。本系統的Web.config 文件中的配置:通過鍵/值對 key 和 value 配置數據庫連接的相關信息,將 sqlserver 數據庫 SuperMarket 的登錄用戶名和密碼設置到配置文件中,這樣在程序中就可以隨時連接本數據庫進行系統的各種操作了。4.2 系統登錄模塊的實現作為一個信息管理系統,只有通過驗證的操作員才可以進入系統的操作界面,這保
26、證了系統的安全性,在 技術中,它實現的原理還是可以和在 asp 一樣,都是通過 Session 對象實現的。在它上面有一個輸入用戶名的文本框,一個輸入密碼的密碼框,和一個選擇用戶身份的下拉框,其登錄界面設計如圖 4.1 所示。圖 4.1 進銷存系統登錄界面設計作為 login.asp 程序,它是本信息管理系統的啟動頁,也就是當系統運行后首先進入本頁要求進. . . . 行身份認證。當此 web 窗體首次啟動時,首先要求操作員輸入用戶名密碼,選擇用戶身份,當選擇登錄后,程序首先取得用戶輸入的這三個參數,根據不同的身份構造不同的模型并調用對應的業務處理邏輯進行身份驗證,該程序的業務邏輯流程如圖 4
27、.2 所示。取得 XX,密碼和身份信息管理員身份?構造管理員信息模型傳入管理員業務邏輯處理,判斷管理員 XX 和密碼的正確性.設置管理員 session 信息,進入管理員操作首頁.構造員工信息模型傳入員工業務邏輯處理,判斷員工 XX 和密碼的正確性.存在該員工?設置員工 session 信息,進入員工操作首頁.提示 XX 或密碼錯誤是否、否、否、是是存在該管理員?員?圖 4.2 系統登錄模塊處理流程4.3 藥品管理模塊的實現醫藥需要管理大量的藥品,需要對藥品進行分門別類,這樣可以方便藥品和其他信息的管理,管理員登錄系統后可以實現藥品類別信息的添加,員工登錄系統后只能進行藥品信息的查詢。4.3.
28、1 添加藥品類別信息功能的實現藥品類別信息的界面設計中有一個接受藥品類別名稱的 TextBox 控件和一個 Button 控件,當管理員填寫好藥品名稱后選擇添加就可以實現藥品類別的添加,如圖 4.3 所示。模塊功能:藥品類別信息的添加。模塊輸入:藥品類別名稱字符串。模塊處理流程:當登錄員進入本功能后輸入藥品名稱字符串后,程序將該藥品類別的名稱信息封裝到藥品類別信息模型中并傳遞給藥品類別業務邏輯進行處理,它首先查詢系統中是否已經存在了該藥品類別名稱信息,如果存在則不執行添加操作并返回 fasle,否則執行數據庫信息添加操作,成功. . . . 15 / 41執行返回 true。圖 4.3 添加藥
29、品類別界面設計模塊輸出:添加藥品類別成功將藥品類別信息保存在藥品類別信息表中,同時在界面上提示成功信息,失敗在界面上顯示錯誤原因信息。4.3.2 添加藥品信息功能的實現藥品信息添加功能的界面設計包括藥品的各個屬性的信息,有關于藥品編號的文本框控件,關于藥品類別的下拉框控件,關于藥品名稱的文本框等,其中對藥品的某些屬性控件使用驗證控件,保證數據輸入的完整性和正確性,如圖 4.4 所示。模塊功能:藥品信息的添加。模塊輸入:藥品信息各個屬性,生成藥品信息模型對象。模塊處理流程:管理員進入本功能后填寫和選擇好藥品的各個屬性信息后,選擇添加按扭,程序首先將該藥品的各個信息封裝到藥品信息模型對象中,然后再
30、將該對象傳遞給藥品信息業務處理邏輯進行處理。業務層判斷該藥品編號是否存在,如果已經存在則不執行添加操作返回 false。否則執行藥品信息的添加操作,添加失敗返回 false;添加成功后還要將該藥品的庫存設置為 0 并添加到藥品庫存信息表中,如圖 4.5 所示。. . . . 圖 4.4 添加藥品信息界面設計模塊輸出:將藥品信息保存在藥品信息表中,設置該藥品的庫存為 0 并保存在庫存信息表中。取得藥品信息并構造模型將該對象傳遞給業務層處理該藥品編號存在?添加失敗,返回 false添加藥品成功?設置庫存成功?業務處理成功,返回 true否否否是是否圖 4.5 添加藥品處理流程. . . . 17
31、/ 414.3.3 藥品查詢維護功能的實現管理員添加好藥品的信息后,也可能還要對藥品的信息進行查詢和更新操作,對藥品的信息進行維護。關于藥品信息的維護設計界面如下,其中最上面放置幾個用于查詢條件輸入信息的文本框和下拉框,有藥品編號,藥品名稱的文本框,藥品類別的下拉框和一個執行查詢功能的按扭,下面是顯示查詢結果的 GridView 控件,它綁定顯示查詢結果中各個對應字段的信息,如圖 4.7 所示。圖 4.6 藥品信息維護界面設計模塊功能:藥品信息的查詢功能。模塊輸入:藥品編號藥品名稱藥品類別。模塊處理流程:當管理員進入本功能頁面時,由于沒有選擇查詢按扭,系統默認查詢所有的藥品信息并顯示出來。此時
32、管理員可以輸入藥品編號藥品名稱關鍵字(支持模糊查詢),可以選擇藥品類別信息,然后選擇查詢功能,程序會將這些參數傳遞給業務層進行處理,業務層根據這些參數構造查詢的 sql 語句,它會從藥品信息視圖中查詢符合條件的藥品信息,將查詢結果返回給前臺調用者,前臺調用者再將結果綁定到 gridview 控件上,從而實現了符合條件的藥品記錄信息的顯示功能。模塊輸出:界面上的 gridview 控件。. . . . 4.4 員工管理模塊的實現此系統也可用于比較大型的醫藥,此時醫藥的銷售人員(收銀員)也比較多,管理員登錄系統后可以實現員工管理操作,包括員工的添加、查詢和更新操作等。4.4.1 添加員工信息功能的
33、實現員工信息添加功能的界面設計如下圖,它包括員工的各個屬性的信息,有關于員工編號和員工的文本框控件,關于性別和學歷的下拉框控件等,其中學歷控件的信息綁定到一個 sqldatasource 數據源控件上,該控件查詢系統中所有的學歷信息,如圖 4.7 所示。圖 4.7 添加員工信息界面設計模塊功能:員工信息的添加。模塊輸入:員工信息各個屬性,生成員工信息模型對象。模塊處理流程:管理員進入本功能后填寫和選擇好員工的各個屬性信息后,選擇添加按扭,程序首先將該員工的各個信息封裝到員工信息模型對象中,然后再將該對象傳遞給員工信息業務處理邏輯進行處理。業務層首先判斷員工信息的完整性和正確性,然后判斷該員工編
34、號是否已經存在,如果存. . . . 19 / 41在則不執行添加操作并返回 false,否則執行數據庫添加操作,添加失敗也返回 false,成功返回true。模塊輸出:執行成功將員工信息保存在員工信息表中并在界面上提示成功信息,失敗在界面上提示失敗信息。4.4.2 員工查詢維護功能的實現管理員添加好員工的信息后,也可能還要對員工的信息進行查詢和更新操作,對員工的信息進行維護。關于員工信息的維護設計界面如下,其中最上面放置用于查詢條件輸入信息的文本框,有員工編號員工的文本框支持模糊查詢。下面是顯示查詢結果的 GridView 控件,它綁定顯示查詢結果中各個對應字段的信息,如圖 4.8 所示。模
35、塊功能:員工信息的查詢功能。模塊輸入:員工編號、員工。模塊處理流程:當管理員進入本功能頁面時,系統默認查詢所有的員工信息并顯示出來。此時管理員可以輸入員工編號,員工關鍵字(支持模糊查詢),然后選擇查詢功能,程序會將這些參數進行處理,然后這些參數構造查詢的 sql 語句,它會從員工信息視圖中查詢符合條件的員工信息,將查詢結果返回給前臺調用者,前臺調用者再將結果綁定到 gridview 控件上從而實現了該功能。圖 4.8 員工信息維護界面設計. . . . 模塊輸出:界面上的 gridview 控件。4.5 進貨管理模塊的實現醫藥需要銷售藥品,就需要從貨源進貨,如果覺得進的貨因為某些原因不滿意,也
36、能辦理退貨業務,同時,系統還能提供對這些進貨信息進貨退貨信息的查詢。4.5.1 添加進貨信息功能的實現藥品進貨信息添加功能的界面設計包括進貨的各個屬性的信息,選擇供應商的下拉框控件,它會綁定到一個 sqldatasource 數據源上。該數據源查詢系統中所有的供應商信息,一個藥品編號的文本框,當管理員輸入藥品編號后還可以選擇獲取藥品信息查看待進藥品的詳細信息,確保登記信息的正確性,進貨總價,進貨數量,進貨總價文本框,一個進貨日期文本框,它的值通過選擇按扭選擇進貨的詳細日期,如圖 4.9 所示。圖 4.9 添加進貨信息界面設計模塊功能:進貨信息的添加。模塊輸入:進貨信息各個屬性,生成進貨信息模型
37、對象。模塊處理流程:管理員進入本功能后填寫和選擇好進貨的各個屬性信息后,選擇進貨登記按扭,程序首先將該進貨的各個信息封裝到進貨信息模型對象中,然后再將該對象傳遞給進貨信息業務. . . . 21 / 41處理邏輯進行處理。業務層首先判斷進貨信息中的藥品是否存在,如果管理員輸入了不存在的藥品信息是不能執行進貨信息的登記的并返回 fasle,執行進貨信息的添加操作,同時根據該進貨藥品和進貨數量自動增加庫存表中該藥品的存存數量,成功返回 true,失敗返回 false,如圖 4.10 所示。取得藥品進貨信息,構造進貨信息模型將該藥品進貨模型傳給業務層處理該藥品存在?處理失敗,返回false將藥品進貨
38、信息加入到進貨信息表添加成功?增加藥品庫存表中對應商品的庫存修改成功?業務處理成功,返回true否是否是否圖 4.10 添加進貨業務流程模塊輸出:執行成功將進貨信息保存在進貨信息表中,修改庫存表中該藥品的庫存數量,并在界面上提示成功信息,失敗在界面上提示失敗信息。4.5.2 進貨信息查詢功能的實現管理員添加好藥品進貨的信息后,還需要要對進貨的信息進行查詢操作,了解醫藥的進貨情況。關于藥品進貨信息的查詢設計界面如下,其中最上面放置用于查詢條件輸入信息的文本框,有藥品編號藥品名稱藥品類別進貨開始時間進貨結束時間。其中藥品編號和藥品名稱支持模糊查詢,下面是顯示查詢結果的 GridView 控件,它綁
39、定顯示查詢結果中各個對應字段的信息,如圖 4.11 所示。. . . . 圖 4.11 進貨信息查詢界面設計模塊功能:藥品進貨信息的查詢功能。模塊輸入:藥品編號,藥品名稱,藥品類別,開始時間,結束時間。模塊處理流程:當管理員進入本功能頁面時,由于沒有選擇查詢按扭,系統默認查詢所有的進貨信息并顯示出來。此時管理員可以輸入和選擇好各個查詢字段的屬性,然后選擇查詢功能,程序會將這些參數傳遞給業務層進行處理,業務層根據這些參數構造查詢的 sql 語句,它會從藥品進貨信息視圖中查詢符合條件的進貨信息,將查詢結果返回給前臺調用者,前臺調用者再將結果綁定到 gridview控件上從而實現了符合條件的藥品進貨
40、記錄信息的顯示功能。模塊輸出:界面上的 gridview 控件。4.5.3 添加進貨退貨信息功能的實現藥品進貨退貨信息添加功能的界面設計如下圖,它包括進貨退貨的各個屬性的信息,選擇供應商的下拉框控件,它會綁定到一個 sqldatasource 數據源上,該數據源查詢系統中所有的供應商信息,一個藥品編號的文本框,當管理員輸入藥品編號后還可以選擇獲取藥品信息查看待進藥品的詳細信息,確保登記信息的正確性,退貨總價,退貨數量,退貨總價和退貨原因文本框,如圖 4.12 所示。. . . . 23 / 41圖 4.12 添加進貨退貨信息界面設計模塊功能:進貨退貨信息的添加。模塊輸入:進貨退貨信息各個屬性,
41、生成進貨退貨信息模型對象。模塊處理流程:管理員進入本功能后填寫和選擇好進貨退貨的各個屬性信息后,選擇退貨登記按扭,程序首先將該進貨退貨的各個信息封裝到進貨退貨信息模型對象中,然后再將該對象傳遞給進貨退貨信息業務處理邏輯進行處理。業務層首先判斷進貨退貨信息中的藥品是否存在,如果管理員輸入了不存在的藥品信息是不能執行進貨退貨信息的登記的并返回 fasle,然后判斷退貨的數量是否大于該藥品目前的庫存量,顯示退貨量大于庫存也是不合理的,此時處理失敗,返回 false,否則執行進貨退貨信息的添加操作,同時根據該進貨退貨藥品和退貨數量自動減少庫存表中該藥品的存存數量,成功返回 true,失敗返回 fals
42、e,如圖 4.13 所示。模塊輸出:執行成功將進貨退貨信息保存在進貨退貨信息表中,減少庫存表中該藥品的庫存數量,并在界面上提示成功信息,失敗在界面上提示失敗信息。. . . . 取得藥品進貨退貨信息,構造進貨退貨信息模型將該藥品退貨模型傳給業務層處理該藥品存在?處理失敗,返回false將藥品退貨信息加入到進貨退貨信息表添加成功?減少藥品庫存表中對應商品的庫存修改成功?業務處理成功 true否是否是否退貨數量大于庫存?否是圖 4.13 添加進貨退貨業務流程4.5.4 進貨退貨信息查詢功能的實現管理員添加好藥品進貨退貨的信息后,還需要要對進貨退貨的信息進行查詢操作,了解醫藥的進貨退貨情況。關于藥品
43、進貨退貨信息的查詢設計界面如下,其中最上面放置用于查詢條件輸入信息的文本框,有藥品編號,藥品名稱,藥品類別,進貨退貨開始時間,進貨退貨結束時間,其中藥品編號和藥品名稱支持模糊查詢,下面是顯示查詢結果的 GridView 控件,它綁定顯示查詢結果中各個對應字段的信息,如圖 4.14 所示。模塊功能:藥品進貨退貨信息的查詢功能。模塊輸入:藥品編號,藥品名稱,藥品類別,開始時間,結束時間。. . . . 25 / 41圖 4.14 進貨退貨信息查詢界面設計模塊處理流程:當管理員進入本功能頁面時,由于沒有選擇查詢按扭,系統默認查詢所有的進貨退貨信息并顯示出來。此時管理員可以輸入和選擇好各個查詢字段的屬
44、性,然后選擇查詢功能,程序會將這些參數傳遞給業務層進行處理,業務層根據這些參數構造查詢的 sql 語句,它會從藥品進貨退貨信息視圖中查詢符合條件的進貨信息,將查詢結果返回給前臺調用者,前臺調用者再將結果綁定到gridview 控件上從而實現了符合條件的藥品進貨記錄信息的顯示功能。模塊輸出:界面上的 gridview 控件。4.6 銷售管理模塊的實現員工(收銀員)登錄系統后可以對藥品進行銷售,可以查看自己的銷售業績,管理登錄系統后可以查詢銷售信息,查看員工銷售業績,可以辦理顧客退貨業務,可以對退貨信息進行查詢。4.6.1 員工銷售藥品功能的實現第一步:添加藥品到購物車中。員工登錄系統后的藥品銷售
45、界面設計如下,上面是一個顯示藥品銷售信息的 gridview 控件,它顯示當前購物車中的藥品銷售清單信息。下面員工可以輸入新的藥品編號和是藥品數量將新的銷售信息加入到當前購物車中,如圖 4.15 所示。. . . . 圖 4.15 員工錄入藥品銷售信息界面設計程序功能:將新藥品信息加入到當前員工處理的購物車中。程序輸入:藥品編號,藥品數目程序處理:當員工登記好顧客選擇好的藥品對象和藥品數目后,接下來需要將其首先加入到購物車中(因為顧客一般一次買多件藥品),選擇添加功能可以調用業務層進行處理。在業務層程序首先判斷該藥品編號是否存在,以防止員工輸入錯誤的編號,然后再查詢該藥品的庫存是否小于員工輸入
46、的數量,如果員工錯輸入了錯誤的藥品數目,程序是不會執行添加操作的,由此保證了系統的正確性。通過驗證了后程序會將該藥品銷售信息保存在該顧客對應的購物車信息表中同時減少對應藥品的庫存,如果操作成功返回 true,失敗返回 false,最后程序更新界面上的 gridview 控件顯示最新的購物車中的藥品銷售信息,如圖 4.16 所示。程序輸出:登記藥品銷售信息到購物車信息表,修改藥品庫存表,更新 gridview。. . . . 27 / 41取得員工輸入的藥品編號和商品數目傳遞給業務層進行處理將該藥品的銷售信息保存在該顧客的購物車信息表中,修改該商品的庫存該藥品存在?失敗,返回 false銷售數目
47、庫存?成功?返回 true否是是否是否圖 4.16 員工錄入藥品銷售信息業務流程第二步:藥品結帳。當員工把顧客要購買的藥品信息都登記好后就可以選擇結帳功能將當前購物車中的銷售信息保存在銷售信息表中。本功能界面設計如下,程序會自動生成本次交易的銷售單據號,從該顧客的當前購物車中讀取藥品銷售信息,包括藥品編號和藥品數量,查詢該藥品的售價并計算顧客應付的總價,輸入顧客實際支付金額,選擇計算功能可以顯示應找零的金額,同時在本頁面上還提供打印功能,可以打印出本次顧客購物清單信息。選擇完成實現顧客藥品銷售信息的登記,如圖 4.17所示。程序功能:實現顧客銷售信息的登記程序輸入:該顧客的購物車信息程序處理:
48、程序已經統計出該員工應當支付的總金額,當員工選擇完成按紐后,程序會調用業務層執行當前顧客藥品銷售信息的登記。該業務層首先查詢該顧客的購物車信息和藥品信息將藥品銷售信息登記到銷售信息表中,然后清空該購物車信息,這樣下位顧客來臨后就可以擁有一個空的購物車。程序輸出:從購物車中將銷售信息轉移到銷售信息表中,同時清空購物車中的信息。. . . . 圖 4.17 員工對顧客結帳功能界面設計4.6.2 員工銷售業績排名功能的實現管理員可以對員工的銷售業績按時間進行查詢,并對銷售業績進行排名,本功能的界面設計如下,最上面是兩個查詢條件,一個是統計的開始時間文本框,一個是統計的結束時間文本框,下面的gridv
49、iew 控件用于顯示該時間段的所有員工的銷售業績排名信息,如圖 4.18 所示。程序功能:對指定的時間段所有員工的銷售業績進行排行程序輸入:開始時間,結束時間程序處理:管理員選擇統計的開始時間和結束時間,選擇查詢功能,程序將開始時間傳遞給業務層進行員工銷售業績的統計。在本系統中,員工的銷售業績是用一個數據表來保存的,每次都需要將統計的員工銷售業績保存在此數據表中。所以在業務層處理中,它首先刪除當前員工銷售業績信息表中的數據,然后從員工信息表中查詢所有的員工信息,對每一個員工統計該時間段他的銷售業績總金額,然后將該員工的銷售業績保存在銷售業績信息表中。最后,程序通過員工業績字段進行降序查詢員工銷
50、售業績信息表,返回查詢的結果集合,前臺界面根據此結果集更新 gridview 控件的數據源從而實現了本功能。程序輸出:員工業績信息表,界面顯示在 gridview 控件上. . . . 29 / 41圖 4.18 員工業績排名功能界面設計4.6.3 顧客辦理退貨功能的實現顧客可能需要辦理退貨業務,需要系統提供此功能,界面設計如下。當顧客辦理退貨時,他需要提供銷售時的單據,有管理員輸入單據號,要退貨的藥品編號,退貨單價,退貨數量,退貨原因,選擇藥品是否完好等信息,如圖 19 所示。程序功能:顧客藥品退貨程序輸入參數:藥品退貨信息模型各個屬性,藥品是否完好程序處理:當管理員輸入和選擇好各個信息后,
51、程序會構造該退貨信息的模型對象,將該對象和藥品是否完好同時傳遞給業務層進行處理。在業務層,程序首先判斷該單據號是否存在,有效防止管理員輸入的錯誤發生,然后根據該單據號查詢該次銷售中是否銷售了該藥品信息,不能退根本就沒有銷售過的藥品,最后還要判斷退貨的數量,它不能大于購買的數量,所有驗證通過后就可以就該藥品的退貨信息保存在系統中了,然后程序判斷藥品的完好性,如果完好可以放入庫存中,需要修改對應藥品的庫存信息,如圖 4.20 所示。. . . . 圖 4.19 顧客辦理退貨界面設計取得顧客退貨信息傳遞給業務層處理系統中存在該單據?該次銷售中是否存在該藥品?退貨數量該次購買量?藥品是否完好?登記藥品
52、退貨信息到系統中失敗,返回 false成功,返回 true;修改該藥品庫存是是否否否是否是圖 4.20 顧客辦理退貨業務流程. . . . 31 / 41程序輸出:銷售退貨信息表,藥品庫存信息表4.7 庫存管理模塊的實現管理員和員工都可以查詢藥品庫存,可以使用藥品報警功能,管理員還可以使用庫存盤點功能,統計某個時間段的藥品進貨總金額,進貨退貨總金額,銷售總金額,銷售退貨總金額,計算該段時間醫藥的利潤。4.7.1 庫存查詢功能的實現藥品庫存查詢功能的界面設計如下,管理員或員工登錄系統后可以按照藥品編號,藥品名稱,藥品類別進行藥品庫存的查詢,其中藥品編號和藥品名稱支持模糊查詢,如圖 4.21 所示
53、。圖 4.21 藥品庫存查詢界面設計程序功能:藥品庫存信息的查詢程序輸入:藥品編號,藥品名稱,藥品類別程序處理:前臺程序將這些參數信息傳遞給業務層,業務層根據參數的值構造查詢的 sql 語句從藥品庫存信息視圖中查詢信息,最后將查詢到的結果集合返回給前臺調用者,前臺調用者再更新gridview 控件的數據源進行顯示。. . . . 程序輸出:前臺 gridview 控件。4.7.2 庫存盤點功能的實現使用庫存盤點功能可以統計某段時間醫藥的進貨總金額,進貨退貨總金額,銷售總金額,顧客退貨總金額信息,從而計算出該時間段醫藥的利潤,本功能的設計界面如下,它接受兩個參數,一個是統計的開始時間,一個是結束
54、時間,如圖 4.22 所示。圖 4.22 藥品庫存盤點界面設計程序功能:庫存盤點程序輸入參數:開始時間,結束時間程序處理:管理員可以選擇開始時間和結束時間條件,然后傳遞給業務層處理,該業務層根據該時間段條件分別從進貨信息表,進貨退貨信息表,銷售信息表,銷售退貨信息表中查詢計算總的金額返回,最后在前臺顯示各個金額的信息并同時計算醫藥的利潤顯示。程序輸出:前臺界面的各個 label 標簽控件。4.7.3 庫存報警功能的實現使用庫存報警功能可以所有藥品的庫存進行查詢,如果某個藥品的庫存數量過多或過少都可以將該藥品的信息顯示出來,本功能的設計界面如下。其中如果藥品庫存過多以黃色字體顯示,過少時以. .
55、 . . 33 / 41紅色字體顯示,如圖 4.23 所示。圖 4.23 藥品庫存報警界面設計程序功能:庫存報警程序輸入參數:無參數程序處理:程序從藥品庫存信息視圖中查詢所有的藥品庫存信息,設置藥品數量過多或過少的過濾條件,最后將查詢到的結果送 gridview 控件進行顯示。程序輸出:gridview 控件。. . . . 5. 結語在完成該進銷存信息系統程序的過程中,我訪問了大量 Web 網絡開發方面的,搜集了大量關于Web 網絡開發的中英文資料,也查閱了大量書籍的源代碼作為參考和運用,從中學會了許多 ASP.NET和 ADO.NET 技術關于 Web 開發方面的知識。通過幾個月的系統開發,作為一個醫藥藥品進銷存信息管理系統的所有功能都按照需求分析得到了完美的解決。整個軟件從需求到項目完成完全采用了軟件工程的設計思想,前期的每一步設計都是為后期的設計做準備,所以系統必須在項目開始時就能很好的定位方向。本系統可以作為一般的醫藥用做藥品的進銷存管理,使用它能夠完成進銷存的大量工作了,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025飛行培訓及雇傭意向合同書樣本
- 2025精算師考點關于投資連結保險合同形成資產的解析與探究
- 2025房屋租賃合同協議范本2
- 蘇州某污水管道工程頂管施工組織設計
- 二手房買賣合同書公證操作流程簡述
- 二零二五版勞動合同書管理制7
- 二零二五版租房子合同書模板
- 二零二五版分紅協議書合同書屋
- 教師崗位員工勞動合同書二零二五年
- 大學生職業規劃大賽《市場營銷專業》生涯發展展示
- 2025-2030年中國小麥加工產業運行動態及發展可行性分析報告
- 乾坤未定皆有可能-2025屆高三百日誓師班會課件
- 臺達DELTA變頻器VFD-EL系列使用說明書和手冊(完整中文版)VFD007EL23A
- 2025年山西汾西礦業集團公司招聘筆試參考題庫含答案解析
- 2024年度英語課件容貌焦慮
- 神經外科質量與安全管理工作計劃
- 城市違建拆除施工方案
- 復色激光光譜分析研究
- 農藥代銷協議書模板
- 《電力中長期交易合同示范文本(2022年修訂版)》
- 小學班會 世界知識產權日知識產權宣傳周主題班會 課件
評論
0/150
提交評論