應(yīng)用集成原理課程設(shè)計(jì)報(bào)告_第1頁(yè)
應(yīng)用集成原理課程設(shè)計(jì)報(bào)告_第2頁(yè)
應(yīng)用集成原理課程設(shè)計(jì)報(bào)告_第3頁(yè)
應(yīng)用集成原理課程設(shè)計(jì)報(bào)告_第4頁(yè)
應(yīng)用集成原理課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩121頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

121/126應(yīng)用集成原理課程設(shè)計(jì)報(bào)告論文題目:基于倉(cāng)庫(kù)治理,進(jìn)貨治理,出貨治理的系統(tǒng)集成學(xué)院:信息與電子工程學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):計(jì)算機(jī)XXX班學(xué)號(hào):學(xué)生姓名:二○一二年六月

目錄1前言 12系統(tǒng)需求分析 22.1系統(tǒng)需求設(shè)計(jì) 22.1.1需求分析 22.1.2數(shù)據(jù)流圖 22.1.3數(shù)字字典 43數(shù)據(jù)庫(kù)需求分析 83.1概念結(jié)構(gòu) 83.2邏輯結(jié)構(gòu) 103.3物理結(jié)構(gòu) 113.4創(chuàng)建表的腳本文件 133.4.1進(jìn)貨系統(tǒng) 133.4.2出貨系統(tǒng) 183.4.3倉(cāng)庫(kù)治理系統(tǒng) 224圖表分析 254.1用例圖 254.2時(shí)序圖 304.3活動(dòng)圖 365系統(tǒng)集成 455.1數(shù)據(jù)集成 455.2網(wǎng)絡(luò)集成 465.3應(yīng)用集成 476系統(tǒng)設(shè)計(jì) 486.1系統(tǒng)分析設(shè)計(jì) 486.1.1需求分析 486.1.2系統(tǒng)功能模塊 486.1.3功能設(shè)計(jì) 496.2系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 496.2.1登錄界面 506.2.2進(jìn)倉(cāng)系統(tǒng)界面 516.2.3進(jìn)倉(cāng)明細(xì)查詢界面 556.2.4進(jìn)倉(cāng)明細(xì)維護(hù)界面 576.2.5原材料錄入界面 596.2.6原材料代碼查詢界面 606.2.7原材料代碼維護(hù)界面 626.2.8出倉(cāng)界面 636.2.9出倉(cāng)明細(xì)查詢界面 656.2.10出倉(cāng)明細(xì)維護(hù)界面 666.2.11庫(kù)存查詢界面 676.2.12倉(cāng)庫(kù)盤存界面 696.2.13系統(tǒng)日志界面 716.2.14重新登錄界面 727設(shè)計(jì)總結(jié)與體會(huì) 738參考文獻(xiàn) 741前言庫(kù)存治理是一個(gè)古老的話題,然而它與每一個(gè)企業(yè)都息息相關(guān),盡管庫(kù)存治理方面的軟件并許多,然而真正能適合企業(yè)需求的軟件并不多,有些操作煩瑣、功能復(fù)雜,一般人難以掌握;有些流程太過(guò)簡(jiǎn)單,與企業(yè)的流程大相徑庭,不能滿足企業(yè)的需要。現(xiàn)代庫(kù)存治理已突破了原有的范疇,并不僅僅局限于倉(cāng)庫(kù)治理,銷售治理、采購(gòu)治理、打算調(diào)度等已納入了廣義庫(kù)存治理當(dāng)中。通過(guò)對(duì)互連網(wǎng)上國(guó)內(nèi)外主流開發(fā)商的產(chǎn)品進(jìn)行研究比較發(fā)覺:國(guó)內(nèi)通用的庫(kù)存治理軟件如杭州歐凱庫(kù)存治理軟件、重慶林木森庫(kù)存治理軟件、河南鄭州的美萍商業(yè)進(jìn)銷存治理軟件、廣州深圳臥龍軟件等通用庫(kù)存治理軟件功能差不多相似,各具特色,然而功能相對(duì)簡(jiǎn)單,企業(yè)所需的自有特色難以發(fā)揮,要緊在當(dāng)?shù)仄髽I(yè)應(yīng)用比較多,市場(chǎng)份額相對(duì)較小;而國(guó)外的主流ERP廠商的軟件如:SAP、ORACLE等,國(guó)內(nèi)的用友ERP、金蝶ERP等廠商的軟件功能豐富,但流程復(fù)雜,操作苦惱難以適應(yīng)中小企業(yè)的實(shí)際需求。因此,專門有必要為中小企業(yè)量身定制一種集成環(huán)境下的庫(kù)存治理系統(tǒng),以便企業(yè)能隨時(shí)掌握企業(yè)庫(kù)存情況,正確制定各種需求打算。本文建立了面向中小企業(yè)的庫(kù)存治理系統(tǒng)功能結(jié)構(gòu),并對(duì)系統(tǒng)的各項(xiàng)功能特不是專有功能進(jìn)行了介紹;在此基礎(chǔ)上,給出了基于WebServices技術(shù)的系統(tǒng)應(yīng)用集成方案;最后進(jìn)行了實(shí)際開發(fā),并給出了相關(guān)功能界面,以指導(dǎo)中小企業(yè)進(jìn)行庫(kù)存治理系統(tǒng)開發(fā),從而達(dá)到降低企業(yè)庫(kù)存成本,提高企業(yè)快速響應(yīng)能力的目的。2系統(tǒng)需求分析2.1系統(tǒng)需求設(shè)計(jì)2.1.1需求分析一進(jìn)貨系統(tǒng):1進(jìn)貨登記:通過(guò)入庫(kù)原料的代碼進(jìn)行登記,登記進(jìn)貨的代碼、名稱、數(shù)量、單價(jià)、日期、備注等。2進(jìn)貨明細(xì)查詢:按照關(guān)鍵字或者數(shù)值進(jìn)行查詢,也能夠按日期進(jìn)行查詢。二進(jìn)貨系統(tǒng):1出貨登記:通過(guò)入庫(kù)原料的代碼進(jìn)行登記,登記出貨的代碼、名稱、數(shù)量、單價(jià)、日期、備注等。2出貨明細(xì)查詢:按照關(guān)鍵字或者數(shù)值進(jìn)行查詢,也能夠按日期進(jìn)行查詢。三倉(cāng)庫(kù)治理系統(tǒng)1倉(cāng)庫(kù)庫(kù)存查詢:按照關(guān)鍵字或者數(shù)值進(jìn)行查詢,查詢商品的庫(kù)存信息。2盤存:查看進(jìn)貨、出貨的明細(xì)以及盤存結(jié)果。2.1.2數(shù)據(jù)流圖進(jìn)貨系統(tǒng)圖出貨系統(tǒng)倉(cāng)庫(kù)治理系統(tǒng)2.1.3數(shù)字字典倉(cāng)庫(kù)數(shù)據(jù)字典物資(HW)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1ZDBH自動(dòng)編碼int非空2YLBH原料編號(hào)varchar(20)主鍵3YLMC

原料名稱char(20)非空4CKDJ

原料單價(jià)float非空5BZ

原料備注varchar(20)能夠?yàn)榭崭?GX)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1KCBH庫(kù)存編碼char(20)主鍵2YLBH原料編號(hào)varchar(20)外鍵3GXMC

更新名稱varchar(20)非空4GXJG更新價(jià)格float非空5GXBJ

更新備注varchar(50)能夠?yàn)榭諑?kù)存(CK)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1KCBH庫(kù)存編號(hào)char(20)主鍵2KCSL庫(kù)存數(shù)量int非空治理員(GLY)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1GLBH治理員編碼varchar(20)主鍵2GLXM治理員姓名varchar(20)非空3GLNL

治理員年齡int非空4GLBZ治理員備注varchar(50)能夠?yàn)榭毡P存(PC)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1GLBH治理員編碼varchar(20)主鍵2KCBH庫(kù)存編碼char(20)外鍵3PXRQ

盤存日期datetime非空4PCCZ盤存操作varchar(20)非空出貨數(shù)據(jù)字典物資(HW)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1ZDBH自動(dòng)編碼int非空2YLBH原料編號(hào)varchar(20)主鍵3YLMC

原料名稱char(20)非空4CKDJ

原料單價(jià)float非空5BZ

原料備注varchar(20)能夠?yàn)榭粘鲐?CC)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1KCBH庫(kù)存編碼char(20)主鍵2YLBH原料編號(hào)varchar(20)外鍵3CHSL

出貨數(shù)量int非空4CHDJ出貨單價(jià)float非空5CHBZ

出貨備注varchar(50)能夠?yàn)榭?CHRQ出貨日期datetime非空7CHCZY出貨操作員varchar(20)非空庫(kù)存(CK)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1KCBH庫(kù)存編號(hào)char(20)主鍵2KCSL庫(kù)存數(shù)量int非空治理員(GLY)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1GLBH治理員編碼varchar(20)主鍵2GLXM治理員姓名varchar(20)非空3GLNL

治理員年齡int非空4GLBZ治理員備注varchar(50)能夠?yàn)榭粘鲐泜}(cāng)庫(kù)治理(CCCKGL)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1GLBH治理員編碼varchar(20)主鍵2KCNH庫(kù)存編碼char(20)外鍵3CCCJ

出貨數(shù)量差距int非空4CHDJCJ出貨單價(jià)差距float非空進(jìn)貨數(shù)據(jù)字典物資(HW)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1ZDBH自動(dòng)編碼int非空2YLBH原料編號(hào)varchar(20)主鍵3YLMC

原料名稱char(20)非空4CKDJ

原料單價(jià)float非空5BZ

原料備注varchar(20)能夠?yàn)榭者M(jìn)貨(JC)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1KCBH庫(kù)存編碼char(20)主鍵2YLBH原料編號(hào)varchar(20)外鍵3JHSL

進(jìn)貨數(shù)量int非空4JHDJ進(jìn)貨單價(jià)float非空5JHBZ

進(jìn)貨備注varchar(50)能夠?yàn)榭?JHRQ進(jìn)貨日期datetime非空7JHCZY進(jìn)貨操作員varchar(20)非空庫(kù)存(CK)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1KCBH庫(kù)存編號(hào)char(20)主鍵2KCSL庫(kù)存數(shù)量int非空物資種類治理(HWZLGL)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1ZGLBH治理員編碼varchar(20)主鍵2YLBH原料編號(hào)varchar(20)外鍵3THHW

替換物資varchar(20)非空4THDJ

替換單價(jià)float非空治理員(GLY)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1GLBH治理員編碼varchar(20)主鍵2GLXM治理員姓名varchar(20)非空3GLNL

治理員年齡int非空4GLBZ治理員備注varchar(50)能夠?yàn)榭者M(jìn)貨倉(cāng)庫(kù)治理(JCCKGL)編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)不名數(shù)據(jù)類型數(shù)據(jù)項(xiàng)含義1GLBH治理員編碼varchar(20)主鍵2KCNH庫(kù)存編碼char(20)外鍵3JCCJ

進(jìn)貨數(shù)量差距int非空4JHDJCJ進(jìn)貨單價(jià)差距float非空數(shù)據(jù)處理進(jìn)貨系統(tǒng)進(jìn)貨:選擇原料代碼,入庫(kù)并通過(guò)TCP鏈接庫(kù)存系統(tǒng),點(diǎn)保存后首先對(duì)本地?cái)?shù)據(jù)庫(kù)進(jìn)行操作,并講信息封裝成XML傳輸個(gè)庫(kù)存治理系統(tǒng)入庫(kù)修改:對(duì)所有保存的入庫(kù)記錄就行修改入庫(kù)刪除:對(duì)差不多保存的入庫(kù)記錄進(jìn)行刪除入庫(kù)明細(xì)查詢:查看差不多保存并生效的入庫(kù)信息出貨系統(tǒng)出貨:選擇原料代碼,入庫(kù)并通過(guò)TCP鏈接庫(kù)存系統(tǒng),驗(yàn)證是否還有庫(kù)存量存在,是的話,點(diǎn)保存后首先對(duì)本地?cái)?shù)據(jù)庫(kù)進(jìn)行操作,并講信息封裝成XML傳輸個(gè)庫(kù)存治理系統(tǒng)出庫(kù)修改:對(duì)所有保存的出庫(kù)記錄就行修改出庫(kù)刪除:對(duì)差不多保存的出庫(kù)記錄進(jìn)行刪除出庫(kù)明細(xì)查詢:查看差不多保存并生效的出庫(kù)信息倉(cāng)庫(kù)治理庫(kù)存信息查詢:通過(guò)關(guān)鍵字,原料代碼進(jìn)行庫(kù)存查詢庫(kù)存入庫(kù)明細(xì)查詢:查看入庫(kù)的明細(xì)庫(kù)存出庫(kù)明細(xì)查詢:查看出庫(kù)的明細(xì)3數(shù)據(jù)庫(kù)需求分析3.1概念結(jié)構(gòu)進(jìn)貨系統(tǒng)圖出貨系統(tǒng)圖倉(cāng)庫(kù)治理系統(tǒng)圖3.2邏輯結(jié)構(gòu)進(jìn)貨系統(tǒng)圖出貨系統(tǒng)圖倉(cāng)庫(kù)治理系統(tǒng)圖3.3物理結(jié)構(gòu)進(jìn)貨系統(tǒng)圖出貨系統(tǒng)圖倉(cāng)庫(kù)治理系統(tǒng)圖3.4創(chuàng)建表的腳本文件3.4.1/*==============================================================*//*DBMSname:MicrosoftSQLServer2008*//*Createdon:2012-6-2315:04:41*//*==============================================================*/ifexists(select1fromsysobjectswhereid=object_id('HWZLGL')andtype='U')droptableHWZLGLgoifexists(select1fromsysobjectswhereid=object_id('JC')andtype='U')droptableJCgoifexists(select1fromsysobjectswhereid=object_id('倉(cāng)庫(kù)')andtype='U')droptable倉(cāng)庫(kù)goifexists(select1fromsysobjectswhereid=object_id('治理員')andtype='U')droptable治理員goifexists(select1fromsysobjectswhereid=object_id('物資')andtype='U')droptable物資goifexists(select1fromsysobjectswhereid=object_id('進(jìn)貨倉(cāng)庫(kù)治理')andtype='U')droptable進(jìn)貨倉(cāng)庫(kù)治理go/*==============================================================*//*Table:HWZLGL*//*==============================================================*/createtableHWZLGL(GLBHvarchar(20)notnull,YLBHvarchar(20)notnull,THHWvarchar(20)null,THDJfloatnull,constraintPK_HWZLGLprimarykeynonclustered(GLBH,YLBH))go/*==============================================================*//*Table:JC*//*==============================================================*/createtableJC(KCBHchar(20)notnull,YLBHvarchar(20)notnull,JHSLintnull,JHDJfloatnull,JHBZvarchar(50)null,JHRQdatetimenull,JHCZYvarchar(20)null,constraintPK_JCprimarykeynonclustered(KCBH,YLBH))go/*==============================================================*//*Table:倉(cāng)庫(kù)*//*==============================================================*/createtable倉(cāng)庫(kù)(KCBHchar(20)notnull,KCSLintnull,constraintPK_倉(cāng)庫(kù)primarykeynonclustered(KCBH))go/*==============================================================*//*Table:治理員*//*==============================================================*/createtable治理員(GLBHvarchar(20)notnull,GLXMvarchar(20)null,GLNLintnull,GLBZvarchar(50)null,constraintPK_治理員primarykeynonclustered(GLBH))go/*==============================================================*//*Table:物資*//*==============================================================*/createtable物資(ZDBHintnotnull,YLBHvarchar(20)notnull,YLMCvarchar(20)null,CKDJfloatnull,BZvarchar(20)null,constraintPK_物資primarykeynonclustered(YLBH))go/*==============================================================*//*Table:進(jìn)貨倉(cāng)庫(kù)治理*//*==============================================================*/createtable進(jìn)貨倉(cāng)庫(kù)治理(GLBHvarchar(20)notnull,KCBHchar(20)notnull,JCCJintnull,JHDJCJfloatnull,constraintPK_進(jìn)貨倉(cāng)庫(kù)治理primarykeynonclustered(GLBH,KCBH))go3.4.2/*==============================================================*//*DBMSname:MicrosoftSQLServer2008*//*Createdon:2012-6-2320:06:33*//*==============================================================*/ifexists(select1fromsysobjectswhereid=object_id('CC')andtype='U')droptableCCgoifexists(select1fromsysobjectswhereid=object_id('CK')andtype='U')droptableCKgoifexists(select1fromsysobjectswhereid=object_id('GLY')andtype='U')droptableGLYgoifexists(select1fromsysobjectswhereid=object_id('HW')andtype='U')droptableHWgoifexists(select1fromsysobjectswhereid=object_id('出貨倉(cāng)庫(kù)治理')andtype='U')droptable出貨倉(cāng)庫(kù)治理go/*==============================================================*//*Table:CC*//*==============================================================*/createtableCC(CKBHchar(20)notnull,YLBHvarchar(20)notnull,CHSLintnull,CHDJfloatnull,CHBZvarchar(50)null,CHRQdatetimenull,CHCZYvarchar(20)null,constraintPK_CCprimarykeynonclustered(CKBH,YLBH))go/*==============================================================*//*Table:CK*//*==============================================================*/createtableCK(CKBHchar(20)notnull,CKSLintnull,constraintPK_CKprimarykeynonclustered(CKBH))go/*==============================================================*//*Table:GLY*//*==============================================================*/createtableGLY(GLBHvarchar(20)notnull,GLXMvarchar(20)null,GLNLintnull,GLBZvarchar(50)null,constraintPK_GLYprimarykeynonclustered(GLBH))go/*==============================================================*//*Table:HW*//*==============================================================*/createtableHW(ZDBHintnull,YLBHvarchar(20)notnull,YLMCvarchar(20)null,CKDJfloatnull,BZvarchar(20)null,constraintPK_HWprimarykeynonclustered(YLBH))go/*==============================================================*//*Table:出貨倉(cāng)庫(kù)治理*//*==============================================================*/createtable出貨倉(cāng)庫(kù)治理(CKBHchar(20)notnull,GLBHvarchar(20)notnull,CCCJintnull,CCDJCJfloatnull,constraintPK_出貨倉(cāng)庫(kù)治理primarykeynonclustered(CKBH,GLBH))go3.4.3/*==============================================================*//*DBMSname:MicrosoftSQLServer2008*//*Createdon:2012-6-2320:12:29*//*==============================================================*/ifexists(select1fromsysobjectswhereid=object_id('CK')andtype='U')droptableCKgoifexists(select1fromsysobjectswhereid=object_id('GLY')andtype='U')droptableGLYgoifexists(select1fromsysobjectswhereid=object_id('GX')andtype='U')droptableGXgoifexists(select1fromsysobjectswhereid=object_id('HW')andtype='U')droptableHWgoifexists(select1fromsysobjectswhereid=object_id('PC')andtype='U')droptablePCgo/*==============================================================*//*Table:CK*//*==============================================================*/createtableCK(CKBHchar(20)notnull,CKSLintnull,constraintPK_CKprimarykeynonclustered(CKBH))go/*==============================================================*//*Table:GLY*//*==============================================================*/createtableGLY(GLBHvarchar(20)notnull,GLXMvarchar(20)null,GLNLintnull,GLBZvarchar(50)null,constraintPK_GLYprimarykeynonclustered(GLBH))go/*==============================================================*//*Table:GX*//*==============================================================*/createtableGX(CKBHchar(20)notnull,YLBHvarchar(20)notnull,GXMCvarchar(20)null,GXJGfloatnull,GXBZvarchar(50)null,constraintPK_GXprimarykeynonclustered(CKBH,YLBH))go/*==============================================================*//*Table:HW*//*==============================================================*/createtableHW(ZDBHintnull,YLBHvarchar(20)notnull,YLMCvarchar(20)null,CKDJfloatnull,BZvarchar(20)null,constraintPK_HWprimarykeynonclustered(YLBH))go/*==============================================================*//*Table:PC*//*==============================================================*/createtablePC(CKBHchar(20)notnull,GLBHvarchar(20)notnull,PCRQdatetimenull,PCCZvarchar(20)null,constraintPK_PCprimarykeynonclustered(CKBH,GLBH))Go4圖表分析4.1用例圖總用例圖進(jìn)貨治理用例圖出貨治理用例圖倉(cāng)庫(kù)治理用例圖4.2時(shí)序圖總時(shí)序圖用戶登錄時(shí)序圖原材料錄入時(shí)序圖進(jìn)貨系統(tǒng)時(shí)序圖出貨系統(tǒng)時(shí)序圖倉(cāng)庫(kù)治理系統(tǒng)時(shí)序圖4.3活動(dòng)圖總活動(dòng)圖進(jìn)貨錄入原材料活動(dòng)圖進(jìn)貨明細(xì)編輯活動(dòng)圖進(jìn)貨明細(xì)編輯活動(dòng)圖出貨活動(dòng)圖出貨明細(xì)編輯活動(dòng)圖出貨明細(xì)查詢活動(dòng)圖倉(cāng)庫(kù)明細(xì)查詢活動(dòng)圖盤存活動(dòng)圖5系統(tǒng)集成5.1數(shù)據(jù)集成通過(guò)講信息分裝為XML然后進(jìn)行傳輸:1進(jìn)貨系統(tǒng)進(jìn)行進(jìn)貨時(shí),發(fā)送查詢.xml查看是否能夠入庫(kù),倉(cāng)庫(kù)驗(yàn)證后返回xml給出貨系統(tǒng)。同意的話,將信息封裝成XML,后發(fā)送給倉(cāng)庫(kù)治理系統(tǒng),倉(cāng)庫(kù)治理系統(tǒng)接收到XML文檔后,進(jìn)行解析,進(jìn)行相關(guān)操作。2出貨系統(tǒng)進(jìn)行出貨時(shí),發(fā)送查詢.xml查看是否還有原料能夠出庫(kù),倉(cāng)庫(kù)驗(yàn)證后返回xml給出貨系統(tǒng)。同意的話,將信息封裝成XML,后發(fā)給倉(cāng)庫(kù)治理系統(tǒng),倉(cāng)庫(kù)治理系統(tǒng)接收到XML文檔后,進(jìn)行解析,進(jìn)行相關(guān)操作。入庫(kù).xml文檔形式如下:<products>

<product>

<id>11</id>

<name>06001</name>

<num>12</num>

<danjjia>500</danjjia>

<date>2012-6-20</date>

</product>

</products>出庫(kù).xml文檔形式如下:<products>

<product>

<id>13</id>

<name>092323</name>

<num>12</num>

<danjjia>322</danjjia>

<date>2012-6-20</date>

</product>

</products>驗(yàn)證是否有貨.xml<查詢>

<numble>

<有貨>YES</有貨>

</numble>

</查詢>驗(yàn)證是否能存入.xml<查詢>

<numble>

<入庫(kù)>YES</入庫(kù)>

</numble>

</查詢>5.2網(wǎng)絡(luò)集成將封裝好的XML文檔通過(guò)TCP協(xié)議傳輸,在不同的系統(tǒng)之間傳輸發(fā)送端:1)創(chuàng)建一個(gè)包含采納的網(wǎng)絡(luò)類型、數(shù)據(jù)傳輸類型和協(xié)議類型的本地套接字對(duì)象,并將其與服務(wù)器的IP地址和端口號(hào)綁定。此過(guò)程能夠通過(guò)Socket類或者TcpListener類完成。2)在指定的端口進(jìn)行監(jiān)聽,以便同意客戶端連接請(qǐng)求。3)一旦同意了客戶端的連接請(qǐng)求,就依照客戶端發(fā)送的連接信息創(chuàng)建與該客戶端對(duì)應(yīng)的Socket對(duì)象或者TcpClient對(duì)象。4)依照創(chuàng)建的Socket對(duì)象或者TcpClient對(duì)象,分不與每個(gè)連接的客戶進(jìn)行數(shù)據(jù)傳輸。5)依照傳送信息情況確定是否關(guān)閉與對(duì)方的連接。接收端:1)創(chuàng)建一個(gè)包含傳輸過(guò)程中采納的網(wǎng)絡(luò)類型、數(shù)據(jù)傳輸類型和協(xié)議類型的Socket對(duì)象或TcpClient對(duì)象。2)使用Connect方法與遠(yuǎn)程服務(wù)器建立連接。3)與服務(wù)器進(jìn)行數(shù)據(jù)傳輸。4)完成工作后,向服務(wù)器發(fā)送關(guān)閉信息,并關(guān)閉與服務(wù)器的連接。5.3應(yīng)用集成本庫(kù)存集成治理系統(tǒng)具有如下系統(tǒng):進(jìn)貨系統(tǒng):原料錄入,入庫(kù)查詢,入庫(kù)修改,入庫(kù)驗(yàn)證倉(cāng)庫(kù)治理系統(tǒng):庫(kù)存查詢,入庫(kù)明細(xì),出庫(kù)明細(xì)出貨系統(tǒng):原料出庫(kù),出庫(kù)查詢,出庫(kù)修改,出庫(kù)驗(yàn)證6系統(tǒng)設(shè)計(jì)6.1系統(tǒng)分析設(shè)計(jì)6.1.1需求分析本庫(kù)存集成治理系統(tǒng)具有如下系統(tǒng):進(jìn)貨系統(tǒng):原料錄入,入庫(kù)查詢,入庫(kù)修改,入庫(kù)驗(yàn)證倉(cāng)庫(kù)治理系統(tǒng):庫(kù)存查詢,入庫(kù)明細(xì),出庫(kù)明細(xì)出貨系統(tǒng):原料出庫(kù),出庫(kù)查詢,出庫(kù)修改,出庫(kù)驗(yàn)證6.1.2系統(tǒng)功能模塊本集成系統(tǒng)分為以下三大系統(tǒng)集成:進(jìn)貨系統(tǒng)、出貨系統(tǒng)、倉(cāng)庫(kù)治理系統(tǒng)進(jìn)貨系統(tǒng)進(jìn)貨系統(tǒng)理出貨系統(tǒng)倉(cāng)庫(kù)治理系統(tǒng)原料錄入入庫(kù)查詢?nèi)霂?kù)修改入庫(kù)驗(yàn)證原料出庫(kù)出庫(kù)查詢出庫(kù)修改出庫(kù)驗(yàn)證庫(kù)存查詢進(jìn)倉(cāng)明細(xì)出倉(cāng)明細(xì)圖2-1功能模塊6.1.3功能設(shè)計(jì)如下:進(jìn)貨系統(tǒng):原料錄入:填寫信息,講新增加的原料入庫(kù)入庫(kù)的驗(yàn)證:在入庫(kù)前,對(duì)倉(cāng)庫(kù)是否能還能增加進(jìn)行驗(yàn)證入庫(kù)的修改:對(duì)入庫(kù)單重新進(jìn)行修改,增加原材料數(shù)量等入庫(kù)的查詢:對(duì)入庫(kù)明細(xì)就行查詢出貨系統(tǒng):原料出庫(kù):填寫信息,對(duì)材料進(jìn)行出庫(kù)操作出庫(kù)的驗(yàn)證:在出庫(kù)前,對(duì)倉(cāng)庫(kù)內(nèi)是否還有該原料庫(kù)存進(jìn)行驗(yàn)證出庫(kù)的修改:對(duì)出庫(kù)單重新進(jìn)行修改,增加出庫(kù)原材料數(shù)量等出庫(kù)的查詢:對(duì)出庫(kù)明細(xì)就行查詢倉(cāng)庫(kù)治理系統(tǒng):庫(kù)存查詢:查看各種原材料的庫(kù)存量入倉(cāng)明細(xì):查看入倉(cāng)的明細(xì)出倉(cāng)明細(xì):查看出倉(cāng)的明細(xì)6.2系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)關(guān)于本系統(tǒng)各個(gè)功能塊的實(shí)現(xiàn),是通過(guò)C#語(yǔ)言完成的,界面是用MFC編寫的,用Sqlserver2008實(shí)現(xiàn)C#語(yǔ)言與數(shù)據(jù)庫(kù)的連接,利用同步的TCP協(xié)議來(lái)進(jìn)行3個(gè)系統(tǒng)之間的交互,完成分系統(tǒng)的開發(fā)。最后通過(guò)數(shù)據(jù)集成,網(wǎng)絡(luò)集成,應(yīng)用集成,對(duì)3個(gè)分開的系統(tǒng)進(jìn)行集成6.2.1登陸界面提供了系統(tǒng)治理員的登陸功能,如圖6_2_1。圖6_2_1關(guān)鍵實(shí)現(xiàn)代碼如下: privatevoidbutton1_Click(objectsender,System.EventArgse) { if(text1.Text=="") { MessageBox.Show("請(qǐng)輸入用戶名。","登錄提示",MessageBoxButtons.OK,MessageBoxIcon.Information); text1.Focus(); } else { _count++; string_name,_pass; _name=text1.Text.Trim(); _pass=text2.Text.Trim(); c_form.myad=newSqlDataAdapter("selectpassfromyhwherename='"+_name+"'",c_form.conn); c_form.myad.Fill(c_form.mydata,"yhdl"); if(c_form.mydata.Tables["yhdl"].Rows.Count==0) { if(_count==3) { MessageBox.Show("輸入三次錯(cuò)誤,自動(dòng)退出登錄。","登錄提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);6.2.2進(jìn)倉(cāng)系統(tǒng)界面進(jìn)倉(cāng)界面提供了各種材料的進(jìn)貨操作,通過(guò)XML交互工作,如圖6_2_2圖6_2_2XML工作的要緊實(shí)現(xiàn)代碼如下(下次簡(jiǎn)略):privatevoidbutton1_Click(objectsender,System.EventArgse) {try{//實(shí)際使用時(shí)要將Dns.GetHostName()改為服務(wù)器域名client=newTcpClient(Dns.GetHostName(),51888);}catch{MessageBox.Show("系統(tǒng)集成失?。。?!");return;}MessageBox.Show("連接成功");//獵取網(wǎng)絡(luò)流networkStream=client.GetStream();//將網(wǎng)絡(luò)流作為二進(jìn)制讀寫對(duì)象,使用UTF8編碼br=newBinaryReader(networkStream);bw=newBinaryWriter(networkStream);//SendString("Login");ThreadthreadReceive=newThread(newThreadStart(ReceiveData));threadReceive.Start(); if(MessageBox.Show("您要保存所有數(shù)據(jù)嗎?","提示",MessageBoxButtons.YesNo)==DialogResult.Yes) { stringsql,kcsql;XmlDocumentxmlDoc=newXmlDocument();xmlDoc.Load("E://data.xml");XmlNoderoot=xmlDoc.SelectSingleNode("products");if(root.HasChildNodes){root.RemoveAll();} for(inti=0;i<recordcount("jcmx1");i++) {Stringid=sort("JCMX").ToString();Stringname=c_form.mydata.Tables["jcmx1"].Rows[i][0].ToString();Stringnum=c_form.mydata.Tables["jcmx1"].Rows[i][2].ToString();Stringdanjia=c_form.mydata.Tables["jcmx1"].Rows[i][3].ToString();Stringdate=c_form.mydata.Tables["jcmx1"].Rows[i][5].ToString();Stringbeizhu=c_form.mydata.Tables["jcmx1"].Rows[i][6].ToString();XmlElementxe1=xmlDoc.CreateElement("product");XmlElementxesub1=xmlDoc.CreateElement("id");xesub1.InnerText=id;xe1.AppendChild(xesub1);XmlElementxesub2=xmlDoc.CreateElement("name");xesub2.InnerText=name;xe1.AppendChild(xesub2);XmlElementxesub3=xmlDoc.CreateElement("num");xesub3.InnerText=num;xe1.AppendChild(xesub3);XmlElementxesub4=xmlDoc.CreateElement("danjjia");xesub4.InnerText=danjia;xe1.AppendChild(xesub4);XmlElementxesub5=xmlDoc.CreateElement("date");xesub5.InnerText=date;xe1.AppendChild(xesub5);root.AppendChild(xe1);xmlDoc.Save("E://data.xml"); sql="insertintojcmx(id,bh,sl,dj,rq,user1,bz)values(@id1,@bh1,@sl1,@dj1,@rq1,@user1,@bz1)"; c_=newSqlCommand(sql,c_form.conn); c_.Parameters.Add(newSqlParameter("@id1",SqlDbType.Int)); c_.Parameters.Add(newSqlParameter("@bh1",SqlDbType.Char)); c_.Parameters.Add(newSqlParameter("@sl1",SqlDbType.Int)); c_.Parameters.Add(newSqlParameter("@dj1",SqlDbType.Float)); c_.Parameters.Add(newSqlParameter("@rq1",SqlDbType.DateTime)); c_.Parameters.Add(newSqlParameter("@user1",SqlDbType.Char)); c_.Parameters.Add(newSqlParameter("@bz1",SqlDbType.NVarChar)); c_.Parameters["@id1"].Value=sort("JCMX").ToString(); c_.Parameters["@bh1"].Value=c_form.mydata.Tables["jcmx1"].Rows[i][0].ToString();c_.Parameters["@sl1"].Value=c_form.mydata.Tables["jcmx1"].Rows[i][2]; c_.Parameters["@dj1"].Value=c_form.mydata.Tables["jcmx1"].Rows[i][3]; c_.Parameters["@rq1"].Value=c_form.mydata.Tables["jcmx1"].Rows[i][5]; c_.Parameters["@user1"].Value=c_form._name; c_.Parameters["@bz1"].Value=c_form.mydata.Tables["jcmx1"].Rows[i][6].ToString(); c_.ExecuteNonQuery(); sql="selectbhfromkcwherebh='"+c_form.mydata.Tables["jcmx1"].Rows[i][0].ToString()+"'"; c_=newSqlCommand(sql,c_form.conn); if(c_.ExecuteScalar()==null) { kcsql="insertintokc(bh,sl)values('"+c_form.mydata.Tables["jcmx1"].Rows[i][0].ToString()+"',"+c_form.mydata.Tables["jcmx1"].Rows[i][2]+")";c_=newSqlCommand(kcsql,c_form.conn); c_.ExecuteNonQuery(); } else { kcsql="updatekcsetsl=sl+"+c_form.mydata.Tables["jcmx1"].Rows[i][2]+"wherebh='"+c_form.mydata.Tables["jcmx1"].Rows[i][0]+"'"; c_=newSqlCommand(kcsql,c_form.conn); c_.ExecuteNonQuery(); } LogAdd("增加","[進(jìn)倉(cāng)明細(xì)表]代碼:"+c_form.mydata.Tables["jcmx1"].Rows[i][0].ToString()+",數(shù)量:"+c_form.mydata.Tables["jcmx1"].Rows[i][2].ToString()); } c_form.mydata.Tables["jcmx1"].Clear(); button3.Enabled=false; } } else MessageBox.Show("沒(méi)有任何記錄能夠保存。","提示"); }6.2.3進(jìn)倉(cāng)明細(xì)查詢界面進(jìn)倉(cāng)明細(xì)查詢界面提供了對(duì)進(jìn)倉(cāng)的明細(xì)查詢,可按字符串、數(shù)值、日期查詢,如圖6_2_3圖6_2_3要緊實(shí)現(xiàn)代碼如下:privatevoidbutton1_Click_1(objectsender,System.EventArgse) { c_form.mydata.Tables["jcmx"].Clear(); if(ch1.Checked==true&&ch2.Checked==true) { string_zd1,_zd2; if(c_tj1.SelectedIndex==0) _zd1="a.bh"; else _zd1="b.mc"; if(c_tj2.SelectedIndex==0) _zd2="a.bz"; else _zd2="a.user1"; showdb(jczd+"where(a.bh=b.bh)and("+_zd1+"like'%"+text1.Text+"%'or"+_zd2+"like'%"+text2.Text+"%')"+sqlpx); } else if(ch1.Checked==false&&ch2.Checked==false) { showdb(jczd+"wherea.bh=b.bh"+sqlpx); } else if(ch1.Checked==true&&ch2.Checked==false) { if(c_tj1.SelectedIndex==0) showdb(jczd+"wherea.bh=b.bhanda.bhlike'%"+text1.Text+"%'"+sqlpx); else showdb(jczd+"wherea.bh=b.bhandb.mclike'%"+text1.Text+"%'"+sqlpx); } else { if(c_tj2.SelectedIndex==0) showdb(jczd+"wherea.bh=b.bhanda.bzlike'%"+text2.Text+"%'"+sqlpx); else showdb(jczd+"wherea.bh=b.bhandb.user1like'%"+text2.Text+"%'"+sqlpx); } }6.2.4進(jìn)倉(cāng)明細(xì)維護(hù)界面進(jìn)倉(cāng)明細(xì)維護(hù)提供了對(duì)進(jìn)倉(cāng)訂單的修改,查詢,增加的功能,如圖6_2_4圖6_2_4要緊實(shí)現(xiàn)代碼如下:privatevoidbu3_Click(objectsender,System.EventArgse) { stringkk=c_form.mydata.Tables["jcmx"].Rows[grid1.CurrentRowIndex][0].ToString(); c_form.myad=newSqlDataAdapter("select*fromjcmxwhereid="+kk,c_form.conn);

溫馨提示

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

評(píng)論

0/150

提交評(píng)論