倉庫進(jìn)存銷管理系統(tǒng) 畢業(yè)設(shè)計(jì)_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  《信息系統(tǒng)設(shè)計(jì)》</b></p><p><b>  軟件工程課程設(shè)計(jì)</b></p><p>  課題名稱: 倉庫進(jìn)存銷管理系統(tǒng) </p><p>  姓 名: </p><p>  學(xué) 號:

2、 </p><p>  學(xué) 院:應(yīng)用技術(shù)與繼續(xù)教育學(xué)院</p><p>  專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  年 級: 2010 級(夜大專升本) </p><p>  指導(dǎo)教師: </p><p>  完成日期: 2012年 4月 15

3、 日</p><p><b>  目 錄</b></p><p><b>  引言 摘要3</b></p><p>  第1章 系統(tǒng)規(guī)劃4</p><p>  1.1 系統(tǒng)設(shè)計(jì)目標(biāo)4</p><p>  1.2 系統(tǒng)總體規(guī)劃4</p><p&g

4、t;  1.3 設(shè)計(jì)方案4</p><p>  第2章 系統(tǒng)分析5</p><p>  2.1 業(yè)務(wù)需求及分析5</p><p>  2.2 系統(tǒng)業(yè)務(wù)流程圖5</p><p>  2.3 系統(tǒng)數(shù)據(jù)流程圖6</p><p>  第3章 系統(tǒng)設(shè)計(jì)7</p><p>  3.1 系統(tǒng)軟件功

5、能結(jié)構(gòu)7</p><p>  3.2 系統(tǒng)主要技術(shù)7</p><p>  3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)8</p><p>  3.3.1 系統(tǒng)組成及數(shù)據(jù)環(huán)境8</p><p>  3.3.2 數(shù)據(jù)庫概念設(shè)計(jì)8</p><p>  3.3.3 數(shù)據(jù)庫邏輯設(shè)計(jì)9</p><p>  3.3.4

6、 數(shù)據(jù)庫物理設(shè)計(jì)10</p><p>  3.4 系統(tǒng)輸入設(shè)計(jì)14</p><p>  3.5 系統(tǒng)輸出設(shè)計(jì)14</p><p>  第4章 系統(tǒng)實(shí)現(xiàn)15</p><p>  4.1系統(tǒng)主程序流程15</p><p>  4.2系統(tǒng)主界面設(shè)計(jì)15</p><p>  4.3系統(tǒng)主程序

7、設(shè)計(jì)22</p><p>  4.3.1登錄及切換用戶22</p><p>  4.3.2登錄成功后進(jìn)入的主界面23</p><p>  4.3.3權(quán)限設(shè)置24</p><p>  4.3.4進(jìn)貨單查詢27</p><p>  4.3.5銷售訂單校驗(yàn)28</p><p>  4.3.

8、6庫存信息設(shè)置30</p><p>  4.4軟件測試33</p><p>  第5章 結(jié)束語33</p><p><b>  參考文獻(xiàn)34</b></p><p><b>  摘要</b></p><p>  隨著技術(shù)發(fā)展,電腦操作及管理日趨簡化,電腦知識日趨普及,

9、同時(shí)市場經(jīng)濟(jì)快速多變,競爭激烈,企業(yè)采用電腦管理進(jìn)貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢及必然。倉庫進(jìn)銷存管理系統(tǒng)集中體現(xiàn)了一個企業(yè)對是否對庫存合理管控的能力與效率。本倉庫管理系統(tǒng)主要實(shí)現(xiàn)產(chǎn)品配送,發(fā)貨,等情況,讓管理人員能及時(shí)根據(jù)所需,對產(chǎn)品流轉(zhuǎn)有較為直觀的操控。本系進(jìn)銷存管理系統(tǒng)的配送流程采用B/S模式開發(fā)設(shè)計(jì),從訂單管理到運(yùn)貨商供應(yīng)有著一套嚴(yán)格的流程</p><p>  【關(guān)鍵詞】進(jìn)貨、銷售、庫存、預(yù)警。&l

10、t;/p><p><b>  引言</b></p><p>  隨著電腦技術(shù)的不斷發(fā)展,他在人們生活的各個層次在不斷的滲透著,讓人們漸漸的離不開了電腦這個高科技的新新產(chǎn)物。原先的用手工來完成倉庫管理系統(tǒng)是一個較煩瑣的過程,既費(fèi)時(shí)、費(fèi)力、耗損人員力量,大量的紙質(zhì),又不利于一個月或更久時(shí)間的結(jié)算,而進(jìn)行計(jì)算機(jī)管理可以大大提高工作效率,而且數(shù)據(jù)處理也更為,也能保證操作的準(zhǔn)確性、

11、高效性及安全性。</p><p>  倉庫進(jìn)銷存管理系統(tǒng)同時(shí)也是一些企業(yè)管理不可缺少的一個信息系統(tǒng),它的內(nèi)容對于管理者來說是至關(guān)重要的,所以倉庫進(jìn)銷存管理系統(tǒng)應(yīng)該能夠?yàn)楣芾碚咛峁┏渥愕男畔⒑涂旖莸牟樵兪侄?,大大的方便管理者合理的管理?lt;/p><p><b>  第1章 系統(tǒng)規(guī)劃</b></p><p>  1.1 系統(tǒng)設(shè)計(jì)目標(biāo)</p&g

12、t;<p>  (1)系統(tǒng)采用人機(jī)對話方式,界面美觀友好、信息查詢靈活、方便、快捷、準(zhǔn)確、數(shù)據(jù)存儲安全可靠。</p><p>  (2)鍵盤操作,快速響應(yīng)。</p><p>  (3)實(shí)現(xiàn)各種查詢,如多條件查詢、模糊查詢等。</p><p>  (4)管理員可以設(shè)置操作員的權(quán)限。</p><p>  (5)對用戶輸入的數(shù)據(jù),系統(tǒng)

13、進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯誤。</p><p>  (6)數(shù)據(jù)保密性強(qiáng),為每個用戶設(shè)置權(quán)限級別。</p><p>  (7)系統(tǒng)最大限度地實(shí)現(xiàn)了易安裝性、易維護(hù)性和易操作性。</p><p>  (8)系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。</p><p>  1.2 系統(tǒng)總體規(guī)劃</p><p>  進(jìn)銷存管理系統(tǒng)是基

14、于先進(jìn)的軟件和高速、大容量的硬件基礎(chǔ)上的新的進(jìn)銷存管理模式,通過集中式的信息數(shù)據(jù)庫,將企業(yè)的進(jìn)、銷、存、調(diào)、轉(zhuǎn)、賺等企業(yè)的經(jīng)營業(yè)務(wù)有機(jī)的結(jié)合起來中,達(dá)到數(shù)據(jù)共享、降低成本、提高效率、改進(jìn)服務(wù)等目的。同時(shí)還可以從以下幾個方面來提高管理水平:</p><p>  ●提高管理效率降低人工成本</p><p><b>  ●降低采購成本</b></p><

15、p><b>  ●及時(shí)調(diào)整營銷策略</b></p><p>  ●防范陳呆死帳提高帳款管理</p><p>  ●減少倉儲面積,提高房產(chǎn)綜合利用</p><p><b>  ●降低儲備資金占用</b></p><p>  ●加快資金周轉(zhuǎn)實(shí)現(xiàn)的經(jīng)濟(jì)效益</p><p> 

16、 ●強(qiáng)化財(cái)務(wù)控制實(shí)現(xiàn)的經(jīng)濟(jì)效益</p><p><b>  ●商業(yè)數(shù)據(jù)智能分析</b></p><p><b>  ●高效決策</b></p><p><b>  1.3 設(shè)計(jì)方案</b></p><p>  (1)要求有良好的人機(jī)界面。</p><p>

17、;  (2)由于該系統(tǒng)的使用對象多,要求有較好的權(quán)限管理。</p><p>  (3)方便的數(shù)據(jù)查詢,支持多條件查詢。</p><p>  (4)基礎(chǔ)信息管理(包括商品信息、客戶信息、供應(yīng)商信息等)。</p><p>  (5)通過計(jì)算機(jī),能夠直接“透視”倉庫存儲情況。</p><p>  (6)完善的商品采購信息、商品銷售信息進(jìn)行管理。&l

18、t;/p><p>  (7)商品銷售排行統(tǒng)計(jì)。</p><p>  (8)當(dāng)外界環(huán)境(停電、網(wǎng)絡(luò)病毒)干擾本系統(tǒng)時(shí),系統(tǒng)可以自動保護(hù)原始數(shù)據(jù)的安全。</p><p>  (9)數(shù)據(jù)計(jì)算自動完成,盡量減少人工干預(yù)。</p><p><b>  (10)系統(tǒng)退出。</b></p><p><b>

19、;  第2章 系統(tǒng)分析</b></p><p>  系統(tǒng)分析的最主要內(nèi)容有抽獎系統(tǒng)的業(yè)務(wù)需求分析、系統(tǒng)數(shù)據(jù)需求、業(yè)務(wù)流程圖、數(shù)據(jù)流程圖、E-R關(guān)系圖設(shè)計(jì)等。</p><p>  2.1業(yè)務(wù)需求及分析</p><p>  進(jìn)銷存管理系統(tǒng)是一個典型的數(shù)據(jù)庫開發(fā)應(yīng)用程序,由基礎(chǔ)信息管理模塊、進(jìn)貨信息管理模塊、銷售信息管理模塊、庫存信息管理模塊等部分組成,規(guī)劃系

20、統(tǒng)功能模塊如下:</p><p>  (1)基礎(chǔ)信息管理模塊</p><p>  該模塊主要包括切換用戶、權(quán)限信息設(shè)置、業(yè)務(wù)員信息設(shè)置、客戶信息設(shè)置、供應(yīng)商信息設(shè)置、商品信息設(shè)置、倉庫信息設(shè)置、角色信息設(shè)置、會員類別信息設(shè)置、產(chǎn)品類別信息設(shè)置。</p><p>  (2)進(jìn)貨信息管理模塊</p><p>  該模塊主要包括進(jìn)貨信息查詢、進(jìn)貨訂

21、單錄入和修改、進(jìn)貨單錄入和修改、訂貨單打印。</p><p>  (3)銷售信息管理模塊</p><p>  該塊主要包括銷售信息查詢、銷售訂單錄入和修改改、銷售單錄入和修改、銷售單打印。</p><p>  (4)庫存信息銷售模塊</p><p>  該模塊主要包括庫存信息查詢、庫存信息的設(shè)置、進(jìn)貨訂單的校驗(yàn)、銷售訂單的校驗(yàn)、庫存單打印。&

22、lt;/p><p>  2.2 系統(tǒng)業(yè)務(wù)流程圖</p><p>  從實(shí)際業(yè)務(wù)功能的角度將系統(tǒng)規(guī)劃中有關(guān)的該業(yè)務(wù)做進(jìn)一步的分析,用一個完整的圖形來反映實(shí)際業(yè)務(wù)處理過程的“流水帳”。系統(tǒng)業(yè)務(wù)流程圖(TFD)如下:</p><p>  2.3 系統(tǒng)數(shù)據(jù)流程圖</p><p><b>  第3章 系統(tǒng)設(shè)計(jì)</b></p>

23、;<p>  3.1系統(tǒng)軟件功能結(jié)構(gòu)</p><p>  圖3-1 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  3.2 系統(tǒng)主要技術(shù)</p><p>  進(jìn)銷存管理系統(tǒng)的開發(fā)工作主要包括前臺應(yīng)用程序的展現(xiàn)和后臺數(shù)據(jù)庫的建立與維護(hù)這兩個方面。對于前者要求應(yīng)用程序功能完善、使用方便、易操作等。后者則要求建立數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫。</p

24、><p>  3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)</p><p>  3.3.1 系統(tǒng)組成及數(shù)據(jù)環(huán)境</p><p>  系統(tǒng)主要采用VisualStudio.NET 2003+SYbase來完成開發(fā)。SYBASE數(shù)據(jù)庫環(huán)境下,創(chuàng)建相應(yīng)的表admin管理員登入后,將按結(jié)構(gòu)設(shè)計(jì)進(jìn)行相應(yīng)功能模塊調(diào)用。</p><p>  3.3.2 數(shù)據(jù)庫概念設(shè)計(jì)</p&

25、gt;<p>  本系統(tǒng)數(shù)據(jù)庫采用SQL Server 2005數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為JXC。數(shù)據(jù)庫JXC中包含15張表。</p><p>  (1)商品信息,包括的數(shù)據(jù)項(xiàng)有:產(chǎn)品編號、產(chǎn)品名稱、條形碼、類別、入庫價(jià)格、分銷價(jià)格、零售價(jià)格、生產(chǎn)廠家、更新日期、備注信息等。</p><p>  (2)產(chǎn)品類別信息,包括的數(shù)據(jù)項(xiàng)有:類別編號、類別名稱、備注信息等。</p&

26、gt;<p>  (3)客戶信息,包括的數(shù)據(jù)項(xiàng)有:客戶編號、客戶名稱、地址、郵政編碼、電話號碼、公司主頁、聯(lián)系人、聯(lián)系人電子郵件、類別、累計(jì)消費(fèi)金額、備注信息等。</p><p>  (4)供應(yīng)商信息,包括的數(shù)據(jù)項(xiàng)有:供應(yīng)商編號、供應(yīng)商名稱、地址、郵政編碼、電話號碼、公司主頁、聯(lián)系人、聯(lián)系人電子郵件、備注信息等。</p><p>  (5)角色信息,包括的數(shù)據(jù)項(xiàng)有:角色編號、

27、角色名稱、備注信息等。</p><p>  (6)權(quán)限信息,包括的數(shù)據(jù)項(xiàng)有:權(quán)限編號、權(quán)限名稱、權(quán)限轉(zhuǎn)向、備注信息等。</p><p>  (7)角色權(quán)限信息,包括的數(shù)據(jù)項(xiàng)有:編號、角色編號、權(quán)限編號。</p><p>  (8)業(yè)務(wù)員信息,包括的數(shù)據(jù)項(xiàng)有:業(yè)務(wù)員編號、業(yè)務(wù)員姓名、登錄名稱、登錄密碼、類別、電話號碼、家庭住址、身份證號碼、備注信息等。</p&g

28、t;<p>  (9)進(jìn)貨訂單信息,包括的數(shù)據(jù)項(xiàng)有:訂貨日期、編號、業(yè)務(wù)員、供應(yīng)商編號、產(chǎn)品編號、數(shù)量、單價(jià)、折扣比例、總金額、狀態(tài)、備注信息等。</p><p>  (10)進(jìn)貨單信息,包括的數(shù)據(jù)項(xiàng)有:入庫日期、業(yè)務(wù)員、編號、進(jìn)貨訂單編號、供應(yīng)商編號、倉庫編號,商品編號、數(shù)量、單價(jià)、折扣、總金額、是否即時(shí)付款、是否記帳、預(yù)付比例、備注信息等。</p><p>  (11)銷

29、售訂單表, 包括的數(shù)據(jù)項(xiàng)有:銷售訂貨日期、業(yè)務(wù)、銷售訂貨單編號、客戶編號、商品編號、數(shù)量、單價(jià)、折扣、總金額、狀態(tài)、備注信息。</p><p>  (12)銷售單表, 包括的數(shù)據(jù)項(xiàng)有:銷售日期、業(yè)務(wù)員、銷售單編號、銷售訂單編號、客戶編碼、倉庫編號、商品編號、數(shù)量、單價(jià)、折扣、總金額、是否即時(shí)付款、是否記帳、預(yù)付比例、備注信息。</p><p>  (13)庫存信息,包括的數(shù)據(jù)項(xiàng)有:編號、更

30、新日期、倉庫編號、商品編號、數(shù)量、總金額、缺貨警告、備注信息等。</p><p>  (14)會員類別信息,包括的數(shù)據(jù)項(xiàng)有:編號、名稱、備注信息等。</p><p>  (15)倉庫信息,包括的數(shù)據(jù)項(xiàng)有:倉庫編號、倉庫名稱、備注。</p><p>  3.3.3 數(shù)據(jù)庫邏輯設(shè)計(jì)</p><p>  3.3.4 數(shù)據(jù)庫物理設(shè)計(jì)</p>

31、;<p>  根據(jù)上述數(shù)據(jù)庫的需求分析和概念結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)了名稱為JXC的數(shù)據(jù)庫。</p><p>  數(shù)據(jù)庫JXC由下面多個表格組成,各個表的命名及字段命名都是以相應(yīng)名稱的拼音首字母組合而成,各個表格的設(shè)計(jì)結(jié)果如下表格所示,每個表格表示在數(shù)據(jù)庫中相對應(yīng)的一個表。</p><p>  表1-1商品信息表(spxx)</p><p>  表1-2產(chǎn)品類別

32、表(cplb)</p><p>  表1-3客戶信息表(kh)</p><p>  表1-4供應(yīng)商信息表(gys)</p><p>  表1-5角色表(js)</p><p>  表 1-6權(quán)限表(qx)</p><p>  表 1-7角色權(quán)限表(js_qx)</p><p>  表1-8業(yè)務(wù)員

33、表(ywy)</p><p>  表1-9進(jìn)貨訂單表(jhdd)</p><p>  表1-10進(jìn)貨單表(jhd)</p><p>  表1-11銷售訂單表(xsdd)</p><p>  表1-12銷售單表(xsd)</p><p>  表1-13庫存表(kc)</p><p>  表1-14

34、會員類別表(hylb)</p><p>  表1-15倉庫表(ck)</p><p>  3.4 系統(tǒng)輸入設(shè)計(jì)</p><p> ?。?)輸入方式設(shè)計(jì):鍵盤輸入,為常規(guī)的數(shù)據(jù)錄入方式; </p><p> ?。?)用戶界面設(shè)計(jì)(詳見各子模塊用戶界面)</p><p>  菜單方式:設(shè)計(jì)成下拉式、按鈕式。</p&g

35、t;<p>  3.5 系統(tǒng)輸出設(shè)計(jì)</p><p>  (1)選擇輸出方式:顯示終端、打印機(jī);</p><p>  (2)確定輸出格式:導(dǎo)出EXCEL表格;</p><p>  (3)輸出的主要形式:查詢匯總表;</p><p> ?。?)輸出內(nèi)容:主要有輸出項(xiàng)目、數(shù)據(jù)結(jié)構(gòu)、位數(shù)及取值范圍。其中的數(shù)據(jù)結(jié)構(gòu)、位數(shù)及取值范圍等體現(xiàn)

36、在具體的數(shù)據(jù)庫設(shè)計(jì)中。</p><p><b>  第4章 系統(tǒng)實(shí)現(xiàn)</b></p><p>  4.1 系統(tǒng)主程序流程</p><p>  4.2 系統(tǒng)主界面設(shè)計(jì)</p><p>  根據(jù)使用角色的不同,本系統(tǒng)界面設(shè)計(jì)的比較兼容。對于管理員、操作人員使用同一個登錄界面,登錄成功后,根據(jù)用戶對應(yīng)的權(quán)限不同,確認(rèn)所使用的功

37、能。</p><p><b>  1.登陸界面</b></p><p><b>  實(shí)現(xiàn)方式:</b></p><p>  public void dlDataBind()</p><p><b>  {</b></p><p>  ddlsf.Data

38、Source = JsManager.getAllJs();</p><p>  ddlsf.DataBind();</p><p>  ListItem item = new ListItem("請選擇……", "-1", true);</p><p>  ddlsf.Items.Insert(0, item);</p

39、><p><b>  }</b></p><p>  protected void btndl_Click1(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (ddlsf.SelectedValue == "-1&quo

40、t;)</p><p>  lblmassage.Text = "請選擇身份!";//51aspx</p><p>  else if(txtbuser.Text == null || txtbuser.Text == "")</p><p>  lblmassage.Text = "請?zhí)顚懹脩裘?quot;;&l

41、t;/p><p>  else if (txtbpwd.Text == null || txtbpwd.Text == "")</p><p>  lblmassage.Text = "請?zhí)顚懨艽a!";</p><p><b>  else {</b></p><p>  lblmas

42、sage.Text = "";</p><p>  Ywy ywy = YwyManager.getYwyByCoditions(txtbuser.Text,</p><p>  txtbpwd.Text,Convert.ToInt32(ddlsf.SelectedValue)); </p><p>  if(ywy!=null &&am

43、p; ywy.Ywymc!=null){</p><p>  Session.Add("ywy", ywy);</p><p>  Response.Redirect("/JXC/Default.aspx", true);</p><p><b>  }</b></p><p>&

44、lt;b>  else{</b></p><p>  lblmassage.Text = "登錄失?。?quot;;</p><p><b>  }</b></p><p><b>  }</b></p><p>  2.登陸后的總體界面</p><p

45、><b>  3.產(chǎn)品入庫</b></p><p><b>  實(shí)現(xiàn)方式:</b></p><p>  public static IList<Jhd> getJhdsByCondition(string condition1,string condition2)</p><p>  { IList<

46、;Jhd> jhds = new List<Jhd>();</p><p><b>  try</b></p><p><b>  {</b></p><p>  string sql = "select jhrq,ywy,jhdbh,jhddbh,gysbh,ckbh,spbh,sl,dj,&

47、lt;/p><p>  zk,zje,sfjsfk,sfjz,yfje,jhdbz from jhd where 1=1";</p><p>  if (condition1 != "-1" && condition2 != null)</p><p>  sql += " and " + conditi

48、on1 + " like '%" + condition2 + "%'";</p><p>  using (SqlDataReader reader = DBHelper.GetReader(sql))</p><p><b>  {</b></p><p>  while (reade

49、r.Read())</p><p><b>  {</b></p><p>  Jhd jhd = new Jhd();</p><p>  jhds.Add(jhd);</p><p><b>  }</b></p><p><b>  }</b>&l

50、t;/p><p>  }catch (Exception ex)</p><p><b>  {</b></p><p>  throw new Exception(ex.ToString());</p><p><b>  }</b></p><p>  return jhds

51、;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.入庫記錄查詢</b></p><p><b>  實(shí)現(xiàn)方式:</b></p><p>  public static

52、 JHDCX<Jhd> getJhdsByCondition(string condition1,string condition2)</p><p>  { IList<Jhd> jhds = new List<Jhd>();</p><p><b>  try</b></p><p><b> 

53、 {</b></p><p>  string sql = "select jhrq,ywy,jhdbh,jhddbh,gysbh,ckbh,spbh,sl,dj,</p><p>  zk,zje,sfjsfk,sfjz,yfje,jhdbz from jhd where 1=1";</p><p>  if (condition1

54、 != "-1" && condition2 != null)</p><p>  sql += " and " + condition1 + " like '%" + condition2 + "%'";</p><p>  using (SqlDataReader reade

55、r = DBHelper.GetReader(sql))</p><p><b>  {</b></p><p>  while (reader.Read())</p><p><b>  {</b></p><p>  Jhd jhd = new Jhd();</p><p&g

56、t;  jhds.Add(jhd);</p><p><b>  }</b></p><p><b>  }</b></p><p>  }catch (Exception ex)</p><p><b>  {</b></p><p>  throw

57、new Exception(ex.ToString());</p><p><b>  }</b></p><p>  return jhds;</p><p><b>  }</b></p><p><b>  }</b></p><p><b&

58、gt;  5.庫存查詢</b></p><p><b>  實(shí)現(xiàn)方式:</b></p><p>  protected void KCCX_RowCommand(object sender, GridViewCommandEventArgs e)</p><p><b>  {</b></p>&

59、lt;p>  string jhddbh = Convert.ToString(e.CommandArgument);</p><p>  if(jhddbh!=null && jhddbh!=""){</p><p>  Jhdd jhdd = new Jhdd();</p><p>  jhdd = JhddManage

60、r.getJhddByJhddbh(jhddbh);</p><p>  if(jhdd!=null){</p><p>  Kc kc = new Kc();</p><p>  kc = KcManager.existsKcBySpbh(jhdd.Spbh);</p><p>  if(kc.Kcbh!=null){</p>

61、<p>  txtbgxrqgx.Text = kc.Gxrq;</p><p>  txtbkcbhgx.Text = Convert.ToString(kc.Kcbh);</p><p>  Kcbh = Convert.ToString(kc.Kcbh);</p><p>  if(kc.Ckbh!=null && kc.Ckbh!

62、=""){</p><p>  ddlckbhgx.SelectedItem.Selected = false;</p><p>  ddlckbhgx.Items.FindByValue(kc.Ckbh).Selected = true;</p><p><b>  }</b></p><p>  

63、if(kc.Spbh != 0){</p><p>  ddlspbhgx.SelectedItem.Selected = false;</p><p>  ddlspbhgx.Items.FindByValue(Convert.ToString(kc.Spbh)).Selected = true;</p><p><b>  }</b><

64、;/p><p><b>  6.顧客退貨</b></p><p><b>  7.進(jìn)貨統(tǒng)計(jì)</b></p><p><b>  8.添加會員</b></p><p><b>  實(shí)現(xiàn)方式</b></p><p>  public int

65、 Qxbh</p><p><b>  {</b></p><p><b>  get {</b></p><p>  if (ViewState["Qxbh"] != null)</p><p>  return (int)ViewState["Qxbh"]

66、;</p><p><b>  else</b></p><p>  return -1;</p><p><b>  }</b></p><p>  set { ViewState["Qxbh"] = value; }</p><p><b>

67、  }</b></p><p><b>  //綁定業(yè)務(wù)員</b></p><p>  public void qxDataBind() {</p><p>  gvQx.DataSource = QxManager.getAllQx();</p><p>  gvQx.DataBind();</p&g

68、t;<p><b>  }</b></p><p><b>  9.會員管理</b></p><p><b>  10.基本信息設(shè)置</b></p><p>  11.修改/刪除倉庫</p><p>  4.3 系統(tǒng)主程序設(shè)計(jì)</p><p&g

69、t;  4.3.1登錄及切換用戶</p><p>  進(jìn)入系統(tǒng)前首先進(jìn)入登錄這個界面,當(dāng)用戶登錄成功后,可以利用此界面進(jìn)行權(quán)限切換,流程圖4-1,。</p><p><b>  登錄的主要代碼:</b></p><p>  public void dlDataBind()</p><p><b>  {<

70、/b></p><p>  ddlsf.DataSource = JsManager.getAllJs();</p><p>  ddlsf.DataBind();</p><p>  ListItem item = new ListItem("請選擇……", "-1", true);</p><p&

71、gt;  ddlsf.Items.Insert(0, item);</p><p><b>  }</b></p><p>  protected void btndl_Click1(object sender, EventArgs e)</p><p><b>  {</b></p><p>  

72、if (ddlsf.SelectedValue == "-1")</p><p>  lblmassage.Text = "請選擇身份!";//51aspx</p><p>  else if(txtbuser.Text == null || txtbuser.Text == "")</p><p>  l

73、blmassage.Text = "請?zhí)顚懹脩裘?quot;;</p><p>  else if (txtbpwd.Text == null || txtbpwd.Text == "")</p><p>  lblmassage.Text = "請?zhí)顚懨艽a!";</p><p><b>  else {

74、</b></p><p>  lblmassage.Text = "";</p><p>  Ywy ywy = YwyManager.getYwyByCoditions(txtbuser.Text,</p><p>  txtbpwd.Text,Convert.ToInt32(ddlsf.SelectedValue)); </

75、p><p>  if(ywy!=null && ywy.Ywymc!=null){</p><p>  Session.Add("ywy", ywy);</p><p>  Response.Redirect("/JXC/Default.aspx", true);</p><p><b

76、>  }</b></p><p><b>  else{</b></p><p>  lblmassage.Text = "登錄失敗!";</p><p><b>  }</b></p><p><b>  }</b></p>

77、<p><b>  登錄流程圖4-1</b></p><p>  4.3.2登錄成功后進(jìn)入的主界面</p><p>  主界面可以添加一些制度及其他方面的說明,更重要的是從這個界面可以依據(jù)不同的權(quán)限進(jìn)入相應(yīng)的界面進(jìn)行相關(guān)操作,流程圖5-4,主界面圖5-5所示。</p><p>  主界面涉及權(quán)限的部分代碼:</p>&

78、lt;p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (Session["ywy"] != null)</p><p><b>  {</b></p>

79、<p>  Ywy ywy = (Ywy)Session["ywy"];</p><p>  IList<Js_qx> js_qxs = new List<Js_qx>();</p><p>  js_qxs = Js_qxManager.getJs_qxsByJsbh(ywy.Jsbh);</p><p>  

80、int urlid = Convert.ToInt32(Request.QueryString["urlid"]);</p><p>  if (urlid != 0)</p><p><b>  {</b></p><p>  if (js_qxs.Count > 0)</p><p><

81、;b>  {</b></p><p>  for (int i = 0; i < js_qxs.Count; i++)</p><p><b>  {</b></p><p>  Js_qx js_qx = (Js_qx)js_qxs[i];</p><p>  if (js_qx.Qxbh ==

82、 urlid)</p><p>  Response.Redirect(QxManager.getQxByQxbh(urlid).Qxurl, true);</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  }</b>

83、</p><p><b>  }</b></p><p><b>  }</b></p><p>  登錄后進(jìn)入其他模塊流程圖5-4</p><p>  4.3.3 權(quán)限設(shè)置</p><p>  進(jìn)入這個界面后,就可以對權(quán)限進(jìn)行相關(guān)操作,權(quán)限設(shè)置流程圖5-6,權(quán)限設(shè)置圖5-7

84、所示。</p><p><b>  權(quán)限設(shè)置部分代碼:</b></p><p>  //保存數(shù)據(jù),確保刷新時(shí)數(shù)據(jù)存在</p><p>  public int Qxbh</p><p><b>  {</b></p><p><b>  get {</b>

85、;</p><p>  if (ViewState["Qxbh"] != null)</p><p>  return (int)ViewState["Qxbh"];</p><p><b>  else</b></p><p>  return -1;</p>&l

86、t;p><b>  }</b></p><p>  set { ViewState["Qxbh"] = value; }</p><p><b>  }</b></p><p><b>  //綁定業(yè)務(wù)員</b></p><p>  public vo

87、id qxDataBind() {</p><p>  gvQx.DataSource = QxManager.getAllQx();</p><p>  gvQx.DataBind();</p><p><b>  }</b></p><p><b>  //行變色事件</b></p>

88、<p>  protected void gvQx_RowDataBound(object sender, GridViewRowEventArgs e)</p><p><b>  {</b></p><p>  if (e.Row.RowType == DataControlRowType.DataRow)//判斷事件行是不是數(shù)據(jù)行</p>

89、;<p><b>  {</b></p><p>  e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;</p><p>  this.style.backgroundColor='#CCFF99'&quo

90、t;);//改變鼠標(biāo)所在行的顏色,并存儲當(dāng)前顏色</p><p>  e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");</p><p><b>  //還原顏色</b></p><p>  Link

91、Button lbtnDelete = (LinkButton)e.Row.FindControl("lbtnDelete");</p><p><b>  //獲得點(diǎn)擊的按鈕</b></p><p>  lbtnDelete.Attributes.Add("onclick", "return confirm('

92、;你確定刪除嗎?')");</p><p><b>  //彈出提示對話框</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //實(shí)現(xiàn)分頁</b></p>&

93、lt;p>  protected void gvQx_PageIndexChanging(object sender, GridViewPageEventArgs e)</p><p><b>  {</b></p><p>  gvQx.PageIndex = e.NewPageIndex;</p><p>  qxDataBind()

94、;</p><p><b>  }</b></p><p><b>  //編輯和刪除事件</b></p><p>  protected void gvQx_RowCommand(object sender, GridViewCommandEventArgs e)</p><p><b>

95、;  {</b></p><p>  Qxbh = Convert.ToInt32(e.CommandArgument);</p><p>  if(e.CommandName == "De"){</p><p>  QxManager.deleteQxByQxbh(Qxbh);</p><p><b&g

96、t;  }</b></p><p>  if(e.CommandName == "Ed"){</p><p>  Qx qx = QxManager.getQxByQxbh(Qxbh);</p><p>  this.txtbqxmcgx.Text = qx.Qxmc;</p><p>  this.txtbq

97、xurlgx.Text = qx.Qxurl;</p><p>  this.txtbbzgx.Text = qx.Qxbz;</p><p>  //lbltjmassage.Text = "eeee"+Qxbh;</p><p><b>  }</b></p><p>  qxDataBind()

98、; </p><p><b>  } </b></p><p><b>  //更新修改項(xiàng)</b></p><p>  protected void btngx_Click(object sender, EventArgs e)</p><p><b>  {</b></

99、p><p>  Qx qx = new Qx();</p><p>  if (this.Qxbh == -1)</p><p><b>  {</b></p><p>  lblgxmassage.Text = "請選擇編輯項(xiàng)!";</p><p><b>  }<

100、;/b></p><p><b>  else{</b></p><p>  qx.Qxbh = this.Qxbh;</p><p>  qx.Qxmc = txtbqxmcgx.Text;</p><p>  qx.Qxurl = txtbqxurlgx.Text;</p><p>  

101、qx.Qxbz = txtbbzgx.Text;</p><p>  lblgxmassage.Text = QxManager.modifyQx(qx);</p><p>  qxDataBind();</p><p>  cleanGX();</p><p><b>  }</b></p><p&

102、gt;<b>  }</b></p><p><b>  //添加新項(xiàng)</b></p><p>  protected void btntj_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  Qx q

103、x = new Qx();</p><p>  if (txtbqxmctj.Text == null || txtbqxmctj.Text == "")</p><p><b>  {</b></p><p>  lbltjmassage.Text = "請?zhí)顚懹脩裘?quot;;</p><

104、;p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  qx.Qxmc = txtbqxmctj.Text;</p><p>  qx.Qxurl = txtbqxurltj.Text;<

105、;/p><p>  qx.Qxbz = txtbbztj.Text;</p><p>  lbltjmassage.Text = QxManager.addQx(qx);</p><p>  qxDataBind();</p><p>  cleanTJ();</p><p><b>  }</b>&

106、lt;/p><p>  權(quán)限設(shè)置流程圖5-6</p><p>  圖5-7 權(quán)限設(shè)置(JCXX_QX.aspx)</p><p>  4.3.4進(jìn)貨單查詢</p><p>  在這個頁面可以根據(jù)不同的條件查詢查找存在的數(shù)據(jù),并且可以根據(jù)表頭進(jìn)行排序,進(jìn)貨單查詢流程圖5-8,進(jìn)貨單查詢圖5-9所示。</p><p><

107、b>  進(jìn)貨單查詢代碼:</b></p><p>  public static IList<Jhd> getJhdsByCondition(string condition1,string condition2)</p><p>  { IList<Jhd> jhds = new List<Jhd>();</p><

108、;p><b>  try</b></p><p><b>  {</b></p><p>  string sql = "select jhrq,ywy,jhdbh,jhddbh,gysbh,ckbh,spbh,sl,dj,</p><p>  zk,zje,sfjsfk,sfjz,yfje,jhdbz f

109、rom jhd where 1=1";</p><p>  if (condition1 != "-1" && condition2 != null)</p><p>  sql += " and " + condition1 + " like '%" + condition2 + "%

110、'";</p><p>  using (SqlDataReader reader = DBHelper.GetReader(sql))</p><p><b>  {</b></p><p>  while (reader.Read())</p><p><b>  {</b>&

111、lt;/p><p>  Jhd jhd = new Jhd();</p><p>  jhds.Add(jhd);</p><p><b>  }</b></p><p><b>  }</b></p><p>  }catch (Exception ex)</p>

112、<p><b>  {</b></p><p>  throw new Exception(ex.ToString());</p><p><b>  }</b></p><p>  return jhds;</p><p><b>  }</b></p>

113、;<p><b>  }</b></p><p>  進(jìn)貨查詢流程圖5-8</p><p>  圖5-9 進(jìn)貨單查詢(JH_JHCX.aspx)</p><p>  4.3.5 銷售訂單校驗(yàn)</p><p>  在這個頁面可以對銷售訂單進(jìn)行校驗(yàn),隨意更改一項(xiàng)、多項(xiàng)或全部狀態(tài)(銷售訂單的四種狀態(tài)的三種,分別是

114、未確認(rèn)、確認(rèn)、退貨、),銷售單校驗(yàn)流程圖5-10,銷售單校驗(yàn)圖5-11所示。</p><p>  銷售訂單校驗(yàn)的部分代碼:</p><p><b>  //綁定銷售訂單</b></p><p>  public void xsddDataBind() {</p><p>  gvXsddjy.DataSource = X

115、sddManager.getAllXsdd("","3");</p><p>  gvXsddjy.DataBind();</p><p><b>  }</b></p><p><b>  //修改事件</b></p><p>  protected voi

116、d btnxg_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if(ddlzt.SelectedValue == "-1"){</p><p>  lblmassage.Text = "請選擇修改后的狀態(tài)!";</p&

117、gt;<p><b>  }</b></p><p><b>  else{</b></p><p>  string xsddbhs = string.Empty;</p><p>  for (int i = 0; i < gvXsddjy.Rows.Count;i++ )//遍歷所有行</p

118、><p><b>  {</b></p><p>  CheckBox ckb = (gvXsddjy.Rows[i].FindControl("ckbzt")) as CheckBox;</p><p>  //獲得id為ckbzt的控件并轉(zhuǎn)化為CheckBox</p><p>  if(ckb.Che

119、cked == true){//如果選中</p><p>  xsddbhs += (gvXsddjy.Rows[i].FindControl("lblxsddbh") as Label).Text + ",";//把選中項(xiàng)的編號累加到字符串中</p><p><b>  }</b></p><p>&l

120、t;b>  }</b></p><p>  if (xsddbhs.Length > 0)</p><p><b>  {</b></p><p>  xsddbhs = xsddbhs.Substring(0, xsddbhs.Length - 1);//去掉末尾的逗號</p><p>  st

121、ring zt = ddlzt.SelectedValue;//</p><p>  XsddManager.modifyZtByDdbh(zt, xsddbhs);//</p><p>  xsddDataBind();//</p><p>  lblmassage.Text = "成功修改選中項(xiàng)的狀態(tài)!";</p><p&

122、gt;<b>  }</b></p><p><b>  else {</b></p><p>  lblmassage.Text = "請選擇要修改的項(xiàng)!";</p><p><b>  }</b></p><p><b>  }</b&g

123、t;</p><p><b>  }</b></p><p>  銷售單校驗(yàn)流程圖5-10</p><p>  4.3.6 庫存信息設(shè)置</p><p>  在這個頁面可以對庫存信息進(jìn)行相關(guān)操作,庫存信息設(shè)置流程圖5-12,庫存信息設(shè)置圖5-13所示。</p><p><b>  庫存信

124、息設(shè)置代碼:</b></p><p><b>  //后臺代碼</b></p><p>  protected void gvJhdd_RowCommand(object sender, GridViewCommandEventArgs e)</p><p><b>  {</b></p><

125、;p>  string jhddbh = Convert.ToString(e.CommandArgument);</p><p>  if(jhddbh!=null && jhddbh!=""){</p><p>  Jhdd jhdd = new Jhdd();</p><p>  jhdd = JhddManager.

126、getJhddByJhddbh(jhddbh);</p><p>  if(jhdd!=null){</p><p>  Kc kc = new Kc();</p><p>  kc = KcManager.existsKcBySpbh(jhdd.Spbh);</p><p>  if(kc.Kcbh!=null){</p>&

127、lt;p>  txtbgxrqgx.Text = kc.Gxrq;</p><p>  txtbkcbhgx.Text = Convert.ToString(kc.Kcbh);</p><p>  Kcbh = Convert.ToString(kc.Kcbh);</p><p>  if(kc.Ckbh!=null && kc.Ckbh!=&

128、quot;"){</p><p>  ddlckbhgx.SelectedItem.Selected = false;</p><p>  ddlckbhgx.Items.FindByValue(kc.Ckbh).Selected = true;</p><p><b>  }</b></p><p>  if

129、(kc.Spbh != 0){</p><p>  ddlspbhgx.SelectedItem.Selected = false;</p><p>  ddlspbhgx.Items.FindByValue(Convert.ToString(kc.Spbh)).Selected = true;</p><p><b>  }</b></

130、p><p>  txtbslgx.Text = Convert.ToString(kc.Sl+jhdd.Sl);</p><p>  txtbzjegx.Text = Convert.ToString(kc.Zje+jhdd.Zje);</p><p>  ddlqhjggx.SelectedItem.Selected = false;</p><p

131、>  ddlqhjggx.Items.FindByValue(Convert.ToString(kc.Qhjg)).Selected = true;</p><p>  txtbbzgx.Text = kc.Kcbz;</p><p>  jhdd.Zt = 1;</p><p>  JhddManager.modifyJhdd(jhdd);</p>

132、;<p>  jhddDataBind();</p><p>  lblmassagegx.Text = "請點(diǎn)擊更新!";</p><p><b>  }</b></p><p><b>  else{</b></p><p>  txtbsltj.Text =

133、Convert.ToString(jhdd.Sl);</p><p>  txtbzjetj.Text = Convert.ToString(jhdd.Zje);</p><p>  ddlspbhtj.SelectedItem.Selected = false;</p><p>  ddlspbhtj.Items.FindByValue(Convert.ToStr

134、ing(jhdd.Spbh)).Selected = true;</p><p>  jhdd.Zt = 1;</p><p>  JhddManager.modifyJhdd(jhdd);</p><p>  jhddDataBind();</p><p>  lblmassagetj.Text = "請點(diǎn)擊添加!";&

135、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  lblmassagegx.Text = "請點(diǎn)擊入庫!";</p><p><b

136、>  }</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  lblmassagegx.Text = "請點(diǎn)擊入庫!";</p><p><b>  }</b></p&g

137、t;<p><b>  }</b></p><p><b>  }</b></p><p>  庫存信息設(shè)置流程圖5-12</p><p><b>  4.4 軟件測試</b></p><p>  系統(tǒng)程序設(shè)計(jì)后,依照測試用例分別進(jìn)行系統(tǒng)的單元測試、集成測試、有效

溫馨提示

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

評論

0/150

提交評論