【正文】
材料出入庫、移動(dòng)管理,即對(duì)日常的生產(chǎn)頓料、采購入庫、銷售提貨和物料移動(dòng)等工作進(jìn)行進(jìn)出口管制,產(chǎn)生出和入的動(dòng)態(tài)表單,更換倉庫、貨位的庫存數(shù)量,登記物品數(shù)量帳單。庫存材料定期查點(diǎn)。調(diào)整材料存量與產(chǎn)物相符,也就說根據(jù)物料的盤點(diǎn)周期對(duì)每一種庫存物料做盤點(diǎn),井根據(jù)盤點(diǎn)數(shù)量調(diào)整物料庫存數(shù)量。本軟件中的庫存管理系統(tǒng)的業(yè)務(wù)主要針對(duì)生產(chǎn)流程(或其他)的材料的使用情況進(jìn)行管理,編制已使用材料表單,對(duì)倉庫的日常庫存操作,如入庫,出庫等業(yè)務(wù)處理進(jìn)行處理,并生成有關(guān)出入庫表單,同時(shí)按照單記錄庫存賬目、按物抖的盤點(diǎn)周期進(jìn)行盤點(diǎn)工作,編制盤點(diǎn)表單,上報(bào)給相關(guān)的財(cái)政部門,審批后按實(shí)盤點(diǎn)調(diào)整庫存大小。下面為庫存管理的業(yè)務(wù)流程圖,并分成基本數(shù)據(jù)管理,庫存業(yè)務(wù)管理兩個(gè)子系統(tǒng),庫存管理業(yè)務(wù)第一層業(yè)務(wù)數(shù)據(jù)流程如圖410所示。圖410 庫存處理第一層業(yè)務(wù)數(shù)據(jù)流程圖一般的盤點(diǎn)方法有凍結(jié)盤點(diǎn)法和循環(huán)盤點(diǎn)法兩種。凍結(jié)盤點(diǎn)的物料需停止進(jìn)行出入庫操作流程。而循環(huán)盤點(diǎn)是則可以同時(shí)對(duì)進(jìn)行出入庫處理,盤點(diǎn)結(jié)果產(chǎn)生盤點(diǎn)表單,經(jīng)過財(cái)務(wù)核對(duì)確認(rèn)后產(chǎn)生庫存數(shù)量帳目。以及庫存材料管理信息總匯,換句話說也就是從各種角度對(duì)庫存材料信息進(jìn)行分析研究。如庫存物料數(shù)量分析、物料占用資金分析、物料去向分析和物料分類構(gòu)成分析等。及時(shí)地產(chǎn)生相應(yīng)的庫存分析表單,為企業(yè)的策劃部門、采購部門、生產(chǎn)部門、銷售部門提供準(zhǔn)確的數(shù)據(jù),庫存基礎(chǔ)數(shù)據(jù)管理第二層業(yè)務(wù)數(shù)據(jù)流結(jié)構(gòu)圖如圖411所示。圖411為庫存基礎(chǔ)數(shù)據(jù)管理第二層業(yè)務(wù)數(shù)據(jù)流結(jié)構(gòu)圖 系統(tǒng)功能設(shè)計(jì)根據(jù)數(shù)據(jù)庫設(shè)計(jì)的規(guī)范化要求,特將系統(tǒng)劃分為如下:(1)用戶管理。通過對(duì)用戶的管理來維護(hù)和操作順景貿(mào)易有限公司的內(nèi)部購存銷系統(tǒng),根據(jù)實(shí)際需要可添加用戶資料和修改用戶密碼,確保系統(tǒng)正常運(yùn)行。(2)商品信息管理。在系統(tǒng)運(yùn)營的過程中,其內(nèi)部各相關(guān)部門都需要隨時(shí)知道貨物庫存的最新信息,所以系統(tǒng)應(yīng)具有面向不同需求的添加用戶、刪除和查詢功能和修改用戶密碼功能,以滿足不同用戶的需要。(3)供應(yīng)商管理。供應(yīng)商是這類貿(mào)易公司運(yùn)營過程中不可缺少的一個(gè)環(huán)節(jié)。它與商品的采購管理及庫存管理直接相關(guān)。所以在系統(tǒng)中提供供應(yīng)商的基本信息配置是非常必要且必須的。這有利于對(duì)庫存貨物質(zhì)量的控制并能夠較快的響應(yīng)采購要求。(4)進(jìn)貨管理。進(jìn)貨管理模塊需要完成以下相關(guān)功能:①進(jìn)貨分析:即列出當(dāng)前進(jìn)貨量最多的前幾項(xiàng)商品和進(jìn)貨量最少的前幾項(xiàng)貨物;②庫存分析:即列出當(dāng)前庫存量最多的前幾項(xiàng)商品和庫存量最少的前幾項(xiàng)貨物;③分類查看:即可以根據(jù)商品的屬性來查看某種貨物的進(jìn)貨情況;④采購進(jìn)貨:即按照采購計(jì)劃采購人員購買貨物,并將貨物的基本信息登記入庫,更新數(shù)據(jù)庫的庫存信息。(5)入庫管理。庫存管理模塊可幫助公司的倉庫管理人員對(duì)庫存貨物的入庫、出庫、調(diào)撥盤點(diǎn)、補(bǔ)充訂貨等操作進(jìn)行全面的控制和管理。該模塊與采購、銷售模塊有良好的接口??梢詮倪@些模塊中獲得或向這些模塊輸送數(shù)據(jù),保持?jǐn)?shù)據(jù)的一致性。因此,庫存管理是公司管理的核心。庫存管理模塊需要實(shí)現(xiàn)以下相關(guān)功能:①商品分類編碼: 即將貨物按照一定的規(guī)則編碼,并進(jìn)行分類管理;②報(bào)損:即及時(shí)錄入損失貨物的信息,同時(shí)更新庫存;③庫存盤點(diǎn): 即貨物盤存要求能夠?qū)ο到y(tǒng)中所有商品信息進(jìn)行整理,修正與實(shí)際信息有差錯(cuò)的信息,以保證系統(tǒng)中數(shù)據(jù)的實(shí)時(shí)性和有效性;④調(diào)撥: 即進(jìn)行一定時(shí)間段內(nèi)的調(diào)撥情況的查詢、統(tǒng)計(jì);⑤庫存報(bào)警: 即當(dāng)某貨物的庫存數(shù)量低于系統(tǒng)設(shè)定的最低庫存數(shù)量時(shí),系統(tǒng)自動(dòng)報(bào)警并提醒庫存管理人員該貨物已缺貨,以保證公司貿(mào)易貨物的及時(shí)供應(yīng)。(6)銷售管理。銷售管理模塊需要完成以下相關(guān)功能:①貨物銷售信息:即錄入銷售貨物的信息包括商品銷售數(shù)量、單價(jià)、統(tǒng)計(jì)日期等;②更新庫存:即銷售信息的變動(dòng)直接關(guān)系到庫存的變化;③分類查看:即可以根據(jù)貨物的屬性來查看某種貨物的銷售情況;④銷售分析:即列出當(dāng)前銷售量最多的前幾項(xiàng)貨物和銷售量最少的前幾項(xiàng)商品。 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)通過分析超市的進(jìn)銷存系統(tǒng)的工作程序及運(yùn)行機(jī)制,并結(jié)合公司的具體實(shí)際,建立數(shù)據(jù)流圖,此外,本人還根據(jù)數(shù)據(jù)流關(guān)系建立數(shù)據(jù)庫邏輯圖,如圖412所示。圖412 數(shù)據(jù)庫邏輯模式設(shè)計(jì)在數(shù)據(jù)庫的設(shè)計(jì)中,應(yīng)當(dāng)充分的考慮到貨物作為系統(tǒng)運(yùn)營的主要環(huán)節(jié)。本人在系統(tǒng)設(shè)計(jì)中也是按照這一思路,將貨物信息表作為主要考慮環(huán)節(jié)進(jìn)行設(shè)計(jì)。其中部分重要的數(shù)據(jù)表設(shè)計(jì)主要還是按照“一對(duì)多”的思路進(jìn)行設(shè)計(jì)。 (1)供應(yīng)商信息表,供應(yīng)商作為這類貿(mào)易公司的主要依靠對(duì)象,在數(shù)據(jù)庫設(shè)計(jì)中主要考慮了供應(yīng)商的電話、姓名、地址和編號(hào)。具體如表41所示。表41 供應(yīng)商信息表(Supplier)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明編號(hào)自動(dòng)編號(hào)長(zhǎng)整型是供貨商編號(hào),主鍵名稱文本50是供貨商名稱地址備注是“”備注電話Nchar10是 (2)在商品流轉(zhuǎn)中,商品的訂貨信息也是主要考慮的因素之一。故訂貨單信息表(BookOrder)設(shè)計(jì)如表42所示。表42 訂貨單信息表(BookOrder)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明編號(hào)自動(dòng)編號(hào)長(zhǎng)整型是訂單編號(hào),遞增,主鍵日期Smalldatetime長(zhǎng)整型是訂貨日期供貨商編號(hào)Nchar長(zhǎng)整型是供貨商ID商品編號(hào)Int長(zhǎng)整型是商品名稱Text16是商品產(chǎn)地Text16不是商品數(shù)量Int整數(shù)型是4商品進(jìn)價(jià)Smallmoney4是總計(jì)Smallmoney4 (3)銷售是公司的重要環(huán)節(jié),在設(shè)計(jì)中,主要考慮以商品編號(hào)和數(shù)量為主,銷售信息表(Sell)具體設(shè)計(jì)情況如表43所示。表43 銷售信息表(Sell)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明編號(hào)自動(dòng)編號(hào)長(zhǎng)整型是銷售編號(hào),遞增,主鍵日期Smalldatetime短日期是商品編號(hào)Int長(zhǎng)整型是商品名稱Text文本不是商品數(shù)量Int整形是商品售價(jià)Smallmoney4是總計(jì)Int4 (4)庫存信息表(Warehouse),主要還是根據(jù)商品編號(hào)進(jìn)行編輯。具體設(shè)計(jì)如表44所示。表44 倉庫信息表(Warehouse)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明編號(hào)自動(dòng)編號(hào)長(zhǎng)整型是倉庫編號(hào),遞增,主鍵 (5)商品信息表(Merchandise)作為系統(tǒng)最重要的信息表,在設(shè)計(jì)中著重考慮,具體設(shè)計(jì)如圖45所示。表44 商品信息表(Merchandise)列名數(shù)據(jù)類型字段大小必填字段默認(rèn)值說明編號(hào)自動(dòng)編號(hào)長(zhǎng)整型是商品編號(hào),遞增,主鍵名稱文本16是產(chǎn)地文本16不是數(shù)量Nchar10是進(jìn)價(jià)Smallmoney4是售價(jià)Smallmoney4是類型編號(hào)Nchar10是供貨商編號(hào)Nchar10是倉庫編號(hào)Nchar10是 系統(tǒng)網(wǎng)頁窗體設(shè)計(jì)本軟件在開發(fā)過程主要采用窗體模式進(jìn)行設(shè)計(jì),包括建立主框架窗體、詳細(xì)內(nèi)容窗體、樹狀目錄窗體、信息顯示頁面以及信息修改和增刪頁面。這種設(shè)計(jì)點(diǎn)是結(jié)構(gòu)合理、易于維擴(kuò)Web頁面,采用了CodeBehind技術(shù)分離開邏輯代碼和表現(xiàn)代碼,而這分離的代碼被存儲(chǔ)在兩個(gè)文件中,、事件處理等過程的程序代碼段。編譯執(zhí)行Web應(yīng)用程序后aspx.cs文件自動(dòng)編譯成動(dòng)態(tài)項(xiàng)目鏈樓庫文件。.aspx頁面文件也會(huì)被編譯。當(dāng)用戶第一次瀏覽到主頁面時(shí),,并將其自動(dòng)編譯成動(dòng)態(tài)項(xiàng)目鏈接庫文件。Web窗體頁面繼承關(guān)系如圖413所示:圖413 Web窗體頁面繼承關(guān)系從圖413可得知web窗體繼承了Page類的所有方法和屬性。Web窗體提供了強(qiáng)大的頁面視圖,.aspx文件有兩種視圖方式分別為設(shè)計(jì)視圖和HTML視圖。在設(shè)計(jì)視圖中可通過鼠標(biāo)或命令操作直接設(shè)計(jì)用戶界面,而在HTML視圖中,主要以添加代碼來設(shè)計(jì)用戶視圖。上述提供的兩種不同方式,可進(jìn)行合理的Web窗體布局、詳細(xì)內(nèi)容窗體、樹狀目錄窗體、主框架窗體信息和顯示窗體共同構(gòu)成了主頁面。樹狀目錄窗體位于主頁面的右側(cè),詳細(xì)內(nèi)容窗體和信息顯示窗體位于主頁面的左側(cè),樹狀目錄窗體和信息修改窗體構(gòu)成了信息修改網(wǎng)頁。樹狀目錄頁面和增刪窗體構(gòu)成了增刪視圖。 系統(tǒng)數(shù)據(jù)庫的安全性涉及方案本軟件系統(tǒng)是基于web方式的,具有良好的安全機(jī)制。系統(tǒng)安全主要通過是從以下三個(gè)方面來考慮:,而IIS的安全機(jī)制取決于操作系統(tǒng)的安全機(jī)制,IIS提供了權(quán)限設(shè)置,可以對(duì)站點(diǎn)目錄進(jìn)行安全和訪問權(quán)限。在權(quán)限定的過程中,修改操作系統(tǒng)目錄及文件的權(quán)限和站點(diǎn)安全設(shè)置之間的限權(quán),并選擇要應(yīng)用的設(shè)置,包括訪問許可、難證方法、IP地址訪問限制等設(shè)置。,即在打開網(wǎng)頁之前必須要登錄到系統(tǒng)主頁,主頁中以設(shè)定了權(quán)限,將用戶類型分為管理員、高級(jí)用戶和一般用戶,登陸后具有不問的數(shù)據(jù)庫訪問權(quán)限。一般用戶進(jìn)入本系統(tǒng)主頁后,只可以瀏覽和查閱企業(yè)的公共信息以及下載一些公共表單。而高級(jí)用戶可以進(jìn)行企業(yè)信息的修改和增強(qiáng)功能,管理員登陸后主要完成系統(tǒng)地維護(hù)和擴(kuò)展工作。這樣其余頁面安全方法得到了保證的同時(shí)系統(tǒng)的安全性更得到提高,一般用戶無法通過正常手段越權(quán)操作。,而采取安全賬戶認(rèn)證來控制用戶對(duì)服務(wù)器的分級(jí)連接,使用數(shù)據(jù)庫用戶名權(quán)限來限制用戶對(duì)數(shù)據(jù)庫的訪問權(quán)限,簡(jiǎn)單地進(jìn)行用戶對(duì)象級(jí)別的權(quán)限控制。如為提高系統(tǒng)的安全性,設(shè)置用戶名as訪問密碼為ap。并設(shè)計(jì)合理的數(shù)據(jù)庫備份文件頁面,對(duì)數(shù)據(jù)進(jìn)行備份。參考文獻(xiàn)第五章 系統(tǒng)的實(shí)現(xiàn)和測(cè)試 系統(tǒng)的實(shí)現(xiàn) 系統(tǒng)登陸 登陸界面用戶通過客戶機(jī)瀏覽器接入內(nèi)部網(wǎng)絡(luò),打開購存銷一體化管理系統(tǒng)網(wǎng)址,登陸系統(tǒng)頁面,如圖51所示。本模塊的主要功能是對(duì)用戶身份進(jìn)行,驗(yàn)證只有系統(tǒng)的合法用戶才能進(jìn)入系統(tǒng)。圖51 系統(tǒng)登陸界面在登陸界面中用戶輸入用戶帳號(hào)、密碼后提交數(shù)據(jù),然后系統(tǒng)將對(duì)帳號(hào)合法性進(jìn)行判斷,需要判斷是否系統(tǒng)存在用戶,如果存在判斷是否注銷狀態(tài),如果不是注銷狀態(tài)最后判斷是否離職人員,判斷都通過后,系統(tǒng)顯示系統(tǒng)界面。如果有其中不符合,系統(tǒng)將返回登陸界面。 程序流程圖系統(tǒng)登陸程序流程圖如圖52所示。圖52 系統(tǒng)登陸程序流程圖 程序代碼根據(jù)程序流程圖分析設(shè)計(jì),編寫主要代碼如下:If 0 then if rs(IsApproved)=true then session(168soft_hy_login)=0 session(HyID) = rs(HyID) 39。用戶ID session(HyNumber) =rs(HyNumber) 39。 session(addtime) = rs(addtime) session(IsWuliu) = rs(IsWuliu) set paramrs = () sql = select * from Setting_other sql,conn if 0 then while not FuncName=paramrs(FuncName) session(FuncName)=paramrs(FuncValue) wend end if Else “” End if 進(jìn)貨管理模塊功能:該模塊主要是實(shí)現(xiàn)進(jìn)行進(jìn)貨信息的添加、修改、刪除功能。進(jìn)貨信息查詢:該模塊為超市提供整個(gè)超市的進(jìn)貨管理,也可以進(jìn)行進(jìn)貨信息的修改和刪除。輸入項(xiàng)、輸出項(xiàng):該模塊的輸入項(xiàng)為商品名稱,商品編號(hào),供應(yīng)商名稱,進(jìn)貨數(shù)量,進(jìn)貨單價(jià),銷售單價(jià),進(jìn)貨日期,進(jìn)貨員工,所屬倉庫,應(yīng)付金額,實(shí)付金額,備注。 其窗體結(jié)構(gòu)如下:圖 53進(jìn)貨管理窗體圖 程序流程圖進(jìn)貨管理模塊流程,如圖54所示。圖 54進(jìn)貨管理流程圖 程序代碼根據(jù)程序流程圖分析設(shè)計(jì),編寫主要關(guān)鍵代碼如下:添加商品信息:sql=insert into produit(id_bigclass,id_smallclass,title,huohao,id_ku,shulian,danwei,price,price2,guige,baojin,class,duihuan,tichen_type,tichen,photo,beizhu) values(amp。nowbigclassamp。,amp。nowsmallclassamp。,39。amp。nowtitleamp。39。,39。amp。nowhuohaoamp。39。,amp。nowkuamp。,amp。nowshulianamp。,39。amp。nowdanweiamp。39。,amp。nowpriceamp。,amp。nowprice2amp。,39。amp。nowguigeamp。39。,amp。nowbaojinamp。,amp。nowclassamp。,amp。nowduihuanamp。,amp。nowtichen_typeamp。,amp。nowtichenamp。,39。amp。nowphotoamp。39。,39。amp。nowbeizhuamp。39。)(sql)sql=select * from produit order by id descset rs_produit=(sql)sql=select bigclass from bigc