版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
3系統(tǒng)分析目錄15摘要基于SQL和VisualC++的倉庫物資管理系統(tǒng)的設計與實現(xiàn)摘要隨著企業(yè)物流活動的競爭加劇,如何高效管理和使用倉庫,成為企業(yè)目前急需解決的問題。為了有效管理企業(yè)倉儲信息,針對倉庫信息管理目前存在的問題狀況以及企業(yè)發(fā)展需要,設計了倉儲管理系統(tǒng)開發(fā)項目。本文分析了倉儲管理體系的現(xiàn)狀及未來的功能需求,進行了倉儲管理系統(tǒng)的研究與應用。在該系統(tǒng)的設計研究過程中利用了從上而下的分析方法,對倉庫管理系統(tǒng)的分析、數(shù)據(jù)庫設計、系統(tǒng)功能設計等的實現(xiàn)進行了介紹。利用數(shù)據(jù)庫進行規(guī)劃,設計新的數(shù)據(jù)庫管理系統(tǒng)、信息咨詢、信息管理和數(shù)據(jù)控制等各項數(shù)據(jù)管理系統(tǒng)。本文對數(shù)據(jù)庫管理問題進行了深入的分析,實現(xiàn)了數(shù)據(jù)庫管理系統(tǒng)的設計職能,改進了現(xiàn)有倉庫管理模式,加快了信息化管理的進程,對于倉庫管理的發(fā)展具有里程碑意義。關(guān)鍵詞:倉庫管理;數(shù)據(jù)庫設計;系統(tǒng)功能設計;信息化管理論文類型:應用研究目錄TOC\o"2-3"\h\z\t"標題1,1"1緒論 11.1課題研究背景 11.2倉庫管理系統(tǒng)研究現(xiàn)狀 22系統(tǒng)應用技術(shù) 22.1SOLServer2000技術(shù) 22.1.1SOLServer簡介 32.1.2SOLServer2000的基本特點 32.2VisualC++技術(shù)介紹 32.2.1VisualC++概述 42.2.2VisualC++的優(yōu)勢 43系統(tǒng)分析 53.1系統(tǒng)需求分析 53.1.1系統(tǒng)結(jié)構(gòu) 63.1.2系統(tǒng)運行環(huán)境 63.2系統(tǒng)功能分析 63.2.1基礎信息管理 73.2.2庫房日常管理 74系統(tǒng)詳細設計 74.1開發(fā)環(huán)境選擇 84.2設計原則 84.2.1系統(tǒng)性能要求 84.2.2系統(tǒng)可靠性要求 94.2.3系統(tǒng)安全性要求 94.2.4系統(tǒng)易用性要求 94.3系統(tǒng)功能模塊設計 94.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設計……………….95系統(tǒng)具體實現(xiàn) 105.1主窗體設計 105.1.1菜單設計 105.1.2工具欄設計 115.1.3主窗體設計步驟 115.2父窗口設計 115.3商品入庫程序設計 125.3.1概述 125.3.2設計步驟 125.3.3程序相關(guān)代碼 125.4庫存盤點程序設計 125.4.1概述 135.4.2設計步驟 135.4.3程序相關(guān)代碼 135.5疑難問題分析解決 145.5.1利用表格錄入商品 145.5.2聯(lián)想錄入表格的實現(xiàn) 146結(jié)論 15致謝 16參考文獻 17聲明西安交通大學網(wǎng)絡教育學院論文PAGE16緒論1.1課題研究背景隨著當今社會信息化高速發(fā)展,對企業(yè)管理提出了更高的要求,物資高效流動成為一個企業(yè)競爭力提升的一個重要支撐點。物資的倉儲是物流管理的一個關(guān)鍵環(huán)節(jié)。倉庫是調(diào)節(jié)物流的中樞。隨著企業(yè)的高速發(fā)展,企業(yè)規(guī)模增大,物資儲存種類及儲存量的急劇上升,依靠過去人工管理模式,已顯然不能滿足企業(yè)的發(fā)展需求,提升倉儲管理,加快物資流動效率,成為企業(yè)發(fā)展的必然選擇。近些年來,一些經(jīng)濟發(fā)達國家級地區(qū)已逐步在進行物流倉儲效率提升方面開展了一些研究與應用,并取得了明顯的效果,促進了企業(yè)競爭力的提升,在當前競爭激烈的市場環(huán)境中得到了考驗。設計和開發(fā)“倉庫管理系統(tǒng)”成為國內(nèi)外先進企業(yè)的共識,成為企業(yè)提升其競爭力的一種重要手段。倉庫管理系統(tǒng)是一個多元化的流程管理,目前,在大型的公司、企業(yè)、單位都在使用計算機管理,操作者節(jié)約時間、大大提高工作效率,對操作管理系統(tǒng)的查詢、統(tǒng)計、輸入、輸出、修改能很快的完成,并且準確率高。運用計算機進行倉庫物資管理是手工管理無法相比的,信息的儲存量大、成本價廉、具有很強的可靠性原則??梢詷O大的提高勞動管理的工作效率。目前,各行各業(yè)都在使用計算機對單位的整個運行情況操作,使用了信息資源的儲備量和快捷性,查詢方便、快捷輸入、幫助倉庫管理人員對企業(yè)生產(chǎn)所需要的物資設備有效的控制和管理,使得企業(yè)的各項工作都能有條不紊的進行,最大限度的降低了生產(chǎn)成本,提高了工作人員的效率,因此開發(fā)倉庫管理軟件具有很多的優(yōu)點,完全實現(xiàn)了現(xiàn)代化、規(guī)模化的管理模式。1.2倉庫管理系統(tǒng)研究現(xiàn)狀倉庫管理和研究經(jīng)歷了幾十年的發(fā)展,在開發(fā)倉庫管理系統(tǒng)領域已經(jīng)取得了巨大的成績。倉庫管理的概念最初是在工廠的設計過程中,未形成建立系統(tǒng)化的思維。上世紀50、60年代在一些國外學者的著作中陸續(xù)的出現(xiàn)倉庫管理數(shù)據(jù)研究,并進行了系統(tǒng)的分析,出現(xiàn)了一些杰出的設計師,如愛伯爾、穆爾、繆色等人物。多年以來,計算機技術(shù)的發(fā)展非常快,計算機已經(jīng)普及和應用到了工廠的設計中,以及各個領域。隨著技術(shù)的發(fā)展,人們對倉庫管理意識逐漸增強,各個企業(yè)中物流逐漸發(fā)展起來,對物資的運輸方式也發(fā)生了改變,由原來的人工逐漸替換為機械化。這些技術(shù)在國內(nèi)外都得到了應用與發(fā)展。設計的產(chǎn)品品種多、物美價廉,得到了市場的認可,這種規(guī)劃思想在市場上得到了廣泛認同和發(fā)展壯大。計算機的設計技術(shù)帶動了倉庫管理的發(fā)展,設計模式的變化,在建筑行業(yè)、企業(yè)、倉儲行業(yè)得到了應用。在倉庫行業(yè)信息化進程的加快,軟件技術(shù)的發(fā)展,使倉庫管理的發(fā)展速度也加快。使倉庫管理的系統(tǒng)化更加完善,計算機的發(fā)展更促進了這一趨勢的快速發(fā)展。在國外,有關(guān)倉庫物資管理的應用和發(fā)展已經(jīng)有幾十年的歷程,在相關(guān)的技術(shù)領域具有一定的研究成果。1960年時倉庫管理系統(tǒng)發(fā)展的開始階段,剛開始的倉庫管理系統(tǒng)相當?shù)暮唵?,沒有系統(tǒng)化的管理理念,信息的儲備量也較小,僅僅在加工業(yè)產(chǎn)品設計過程中使用,可以降低工人繁雜的勞動過程。隨著技術(shù)的進步,國外的許多專家開始在科學管理領域運用一套系統(tǒng)管理的方式對工廠設計進行研究。在1970年,計算機技術(shù)發(fā)展更加迅速,國外的一些計算機輔助工廠布置程序逐漸發(fā)展起來,倉庫管理系統(tǒng)的先進理念進一步的發(fā)展起來,當時在物流行業(yè)發(fā)展相當?shù)钠毡?,美國學者RichardMuther提出對物料的搬運技術(shù)進行了分析,他提出了一套完整的、簡單易行的邏輯原理,運用數(shù)理化的分析方法,受到國內(nèi)外眾多學者的關(guān)注。隨著加工廠產(chǎn)品品種的多樣化、工序的復雜,加工廠的設計技術(shù)不斷成熟,有了新的規(guī)劃和工藝流程,使得整個生產(chǎn)管理流程都具有合理化的方案。在1990年,國外的工廠已經(jīng)開始運用先進的制造技術(shù)和管理方法進行物料的搬運和加工,并可以計算機繪圖,在網(wǎng)上訂貨、銷售等流程逐漸發(fā)展起來。先進的信息技術(shù)逐漸在企業(yè)中發(fā)展起來,使得企業(yè)的生產(chǎn)、銷售實現(xiàn)資源共享、信息交流,企業(yè)與供應商、銷售商更好的協(xié)作。運用互聯(lián)網(wǎng)技術(shù)使得整個發(fā)展流程能夠順利進行。目前倉庫管理軟件供應商發(fā)展到幾百家,可以在多個倉庫環(huán)境下入庫、出庫、實現(xiàn)工作中人員的監(jiān)控錄像,網(wǎng)上客戶訂單便捷化的實行,人們在家里都可以完成工作,服務相當?shù)目焖?,實行了供應鏈管理一體化的模式,流程相當?shù)暮唵?、訂單管理、高自動化流程等?yōu)點。我國的倉庫管理系統(tǒng)研究比較晚,也不能和國外先進技術(shù)相比。1980年,美國物流專家RichardMuther在中國講授系統(tǒng)的設計流程、物料搬運設計、系統(tǒng)工業(yè)化設計,在國內(nèi)產(chǎn)生了很大的影響力,這時我國的倉庫管理系統(tǒng)逐漸發(fā)展起來。在這個時期,日本專家在西安、鄭州、沈陽等做倉庫管理系統(tǒng)的培訓,在我國理論界受到了影響,我國的倉庫管理系統(tǒng)也開始進入發(fā)展階段。目前,我國在倉庫管理系統(tǒng)方面已經(jīng)取得了一定的成績,研制了自動化的立體倉儲管理模式,具有規(guī)范化和統(tǒng)一性的物流連接口,并實現(xiàn)了與海爾公司的團建合作技術(shù),實現(xiàn)了由加工、收單、出貨的整個流程和功能;由于國內(nèi)的倉儲技術(shù)發(fā)展還不是非常熟練,研究機構(gòu)沒有真正起到舉足輕重的作用,國內(nèi)市場目前還不是很發(fā)達,流傳的還是普通的管理軟件。普通軟件在資源配置方面相對滯后,生產(chǎn)成本較高。對物資和信息的交流還不是很熟練,沒有形成統(tǒng)一的管理系統(tǒng)模式,導致物流時間較長、周轉(zhuǎn)的次數(shù)較慢,給整個周轉(zhuǎn)流程造成一定的影響,所以,實行倉庫管理模式對我國倉儲管理水平具有一定的理論意義和現(xiàn)實意義。2系統(tǒng)應用技術(shù)2.1SQLServer2000技術(shù)2.2.1SQLServer簡介SQLServer關(guān)系數(shù)據(jù)庫(relationaldatabase)的一種,它促進了普通數(shù)據(jù)庫管理的發(fā)展,是關(guān)系數(shù)據(jù)庫重要的組成部分。關(guān)系數(shù)據(jù)庫是所有數(shù)據(jù)庫中最為重要的管理方式之一。它具有支持其他數(shù)據(jù)庫功能的優(yōu)點,并可以備份數(shù)據(jù)的特征。關(guān)系數(shù)據(jù)庫的演化模式也發(fā)生了變化,后來也出現(xiàn)了相關(guān)的操作系統(tǒng),并與之結(jié)合產(chǎn)生了新的操作系統(tǒng)。2.2.2SQLServer2000的主要基本特點1.Internet集成。SQLServer2000可以支持語言系統(tǒng)的開發(fā)和應用,可支持數(shù)據(jù)庫的網(wǎng)站的存儲功能,以及具有延展性、穩(wěn)定性、實用性等多個特征。也可進行數(shù)據(jù)庫的設計和模型構(gòu)造功能。同時,還具有查詢、篩選等優(yōu)點,給軟件語言提供了強大的支持。2.可伸縮性和可用性。無論是筆記本,還是其他具有具有數(shù)據(jù)處理的軟件均支持本數(shù)據(jù)庫引擎。該數(shù)據(jù)庫商用版可以用在不同服務請、查詢圖形和內(nèi)存等強大功能,使其可實現(xiàn)最為強大網(wǎng)站所具有的優(yōu)勢和其功能特點。3.企業(yè)級數(shù)據(jù)庫功能。該搜索軟件可滿足目前各種數(shù)據(jù)管理所需的要求和條件。其可以有效的保證數(shù)據(jù)的安全性,可以對大量的數(shù)據(jù)進行管理和修改,該功能可以對數(shù)據(jù)的完整性具有強大的安全性。該數(shù)據(jù)庫的類似鏡像功能可保證使用者對多個數(shù)據(jù)存儲單位進行修訂,并可使單獨數(shù)據(jù)副本同時更新。還同時具有將數(shù)據(jù)應用到不同用戶能力,使其可獨立自行運行,同時可把不同用戶獨立運行所有的修改記錄回傳到服務器中。2.2VisualC++技術(shù)介紹2.2.1VisualC++概述VC是一種可視化快速軟件開發(fā)工具。VC主要以C語言的發(fā)展為基礎,它具有C語言的原本的所有特點外,還可針對具體的目標按照操作者的意思進行編輯,融入操作者的思想。另外,編譯器的主要功能是創(chuàng)建應用程序,完成可執(zhí)行的文件。它的主要優(yōu)點主要表現(xiàn)在:1.可以兼容多種不同類型的數(shù)據(jù);2.可以接受度較高;3.可以進行結(jié)構(gòu)化和面向?qū)ο蟮某绦蛟O計;4.可以大大提供使用者的效率;5.可復制性,可以反復使用。2.2.2VisualC++的優(yōu)勢1.VC的集成的窗體設計器可操作性強、易于各類人員的使用,功能豐富。2.VC將軟件的功能進行了最大的發(fā)揮,實現(xiàn)了其價值的最大化,它能夠較好將其適用人群及其優(yōu)點進行了很好的結(jié)合和權(quán)衡。VC清晰和嚴謹?shù)哪K化構(gòu)成、使用簡單。3.MFC是VC的基礎。VC在設計時以程序為框架,并可以完成組件屬性的設置,完成組件的操作。4.VC在軟件系統(tǒng)開發(fā)方面特別是數(shù)據(jù)庫的應用和支持方面具有較大的優(yōu)勢。VC具有功能強大的數(shù)據(jù)庫引擎,可支持本地、客戶、服務器形式等數(shù)據(jù)庫平臺[17]。此外,VC的多層訪問數(shù)據(jù)源更易于實現(xiàn)。5.VC的編程開發(fā)工具功能強大、可延展性情。在VC中包含了多個功能強大的組件。另外,還封裝了等底層網(wǎng)絡函數(shù)。西安交通大學網(wǎng)絡教育學院論文3系統(tǒng)分析3.1系統(tǒng)需求分析3.1.1系統(tǒng)結(jié)構(gòu)圖3-1倉庫管理流程圖在激烈的市場競爭中,擁有高效的管理制度成為企業(yè)管理不二之選,倉庫管理的重要性不言而喻。建立倉庫信息系統(tǒng)對于企業(yè)管理效率的提高,具有劃時代意義,是一個現(xiàn)代化企業(yè)的必由之路,能夠有效促進企業(yè)科學、可持續(xù)發(fā)展的道路[21]。圖3-1倉庫管理流程圖通過對倉庫管理過程的分析與研究,要求倉庫管理系統(tǒng)實現(xiàn)如下目標[22]:1.可以進行商品的進出庫管理。2.實現(xiàn)商品的實際情況管理。3.實現(xiàn)商品的流動管理。4.實現(xiàn)商品的庫存極限管理。5.實現(xiàn)動態(tài)管理。3.1.2系統(tǒng)運行環(huán)境1.硬件環(huán)境1)瀏覽器:GoogleChrome?(適用于AutoCAD網(wǎng)絡應用);2)內(nèi)存:8GB以上;3)硬盤:200GB以上;4)顯示器:常規(guī)顯示器:1920x1080真彩色,高分辨率和4K顯示:Windows10,64位系統(tǒng)支持高達3840x2160的分辨率(帶顯示卡);5)打印機:IIP系列激光打印機及噴墨打印機.2.軟件環(huán)境1)Windows10SDK預覽版Build15003以上操作系統(tǒng);2)SQLServer2019內(nèi)部版本;3)VisualC++2017以上版本。3.2系統(tǒng)功能分析3.2.1基礎信息管理此系統(tǒng)可進行輸入人員、存貨、采購產(chǎn)品廠家資料的管理,以及對其修改、查詢。1.設定數(shù)據(jù)庫。主要包括庫管人員登記表,記錄了維護倉庫管理人員相關(guān)的基本信息。2.人員管理。主要完成對人員情況的錄入,修改,刪除等維護操作,同時也可進行查詢、統(tǒng)計、打印表單等操作。3.商品信息管理。主要完成對商品基礎信息的輸入、調(diào)整等動態(tài)修改操作及其瀏覽。4.供應商信息管理。主要完成對商品采購廠家相關(guān)資料的輸入、調(diào)整等動態(tài)管理。5.設定文本編輯工具。3.2.2用戶權(quán)限管理本系統(tǒng)的用戶權(quán)限分為兩級,分別是一般操作員和系統(tǒng)操作員,其權(quán)限如下:1.一般操作員可實現(xiàn)庫房日常管理功能和查詢管理功能。2.系統(tǒng)操作員在擁有一般操作員的權(quán)限外,還可對系統(tǒng)的基礎信息進行管理,并設定操作人員的主要信息?;A信息設定中,系統(tǒng)操作員可對數(shù)據(jù)庫設置信息、商品基本信息、供貨商基本信息等進行設定。對操作人員主要信息的設定主要包括對操作人員的權(quán)限管理和限定。西安交通大學網(wǎng)絡教育學院論文4系統(tǒng)詳細設計4.1環(huán)境開發(fā)選擇SQLServer2000是一種主導式的數(shù)據(jù)庫管理系統(tǒng),它自身不是VF簡單的開發(fā)形式,主要為客戶提供有效的客戶開發(fā)端,為用戶提供主要的功能。它的主要功能是為客戶提供主要的數(shù)據(jù)管理功能,同時也是數(shù)據(jù)庫服務器的主要特征,為客戶服務功能提供一定的接口。有助于運用不同的開發(fā)軟件來為客戶提供一定的客戶應用程序的客戶端。這樣就用不同的開發(fā)工具來開發(fā)客戶端應用程序[15]。本系統(tǒng)選VisualC++6.0完成對程序應用的開發(fā)效果。數(shù)據(jù)庫系統(tǒng)一般是由數(shù)據(jù)庫應用程序、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫等三部分應用程序組成。其中主要的核心部分是數(shù)據(jù)庫管理系統(tǒng),其中最重要的作用就是進行數(shù)據(jù)庫的控制活動和管理活動。其次對數(shù)據(jù)進行存儲、查看應用程序、修改和操作這些數(shù)據(jù)的主要程序是數(shù)據(jù)庫應用程序。4.2設計原則4.2.1系統(tǒng)性能要求1.查詢操作快速查詢的一般時間主要控制在3秒以內(nèi),并且可以承受2小時的疲勞系統(tǒng)測速,但是可以查詢成功。2.快速的生成報表報表一般會在2分鐘之內(nèi)打印出來,數(shù)據(jù)較困難的報表會在10幾分鐘生成。4.2.2系統(tǒng)可靠性要求系統(tǒng)應支持一年365天不間斷運行。該系統(tǒng)一般不會出現(xiàn)程序上的原始數(shù)據(jù)錯誤,系統(tǒng)在出現(xiàn)問題后會在很短的時間內(nèi)取得成功,恢復原始的數(shù)據(jù),具有自動的恢復功能和檢修功能。4.2.3系統(tǒng)安全性要求基于倉庫管理系統(tǒng)應用層用戶管理對用戶的身份認證和授權(quán),保證數(shù)據(jù)權(quán)限的安全性。根據(jù)基礎設施方面提供的設備情況,并且數(shù)據(jù)可以進行備份的功能,建立有效的數(shù)據(jù)庫管理功能,有效減少數(shù)據(jù)出現(xiàn)的問題,并且對操作的信息進行長時間的記錄。4.2.4系統(tǒng)易用性要求系統(tǒng)軟件設計充分考慮了不同類型用戶的需求差異,操作簡便,采用通用的操作平臺,友好性強,易于掌握。系統(tǒng)設計充分考慮了用戶操作的便捷性要求[24]。4.3系統(tǒng)功能模塊設計本系統(tǒng)的功能設計主要分為:基礎信息管理模塊、入庫管理模塊、庫存管理模塊和查詢管理模塊等四個主要模塊。其中操作員信息、商品信息、庫存信息和供應商信息是基礎信息管理模塊。主要信息的記錄入庫和入庫退貨管理是入庫管理模塊管理。庫存管理模塊是主要盤點出入庫的信息,查詢管理可以對出入庫的額信息進行查詢管理。4.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設計圖4-1數(shù)據(jù)庫E-R圖倉庫管理系統(tǒng)的E-R如圖4-1所示圖4-1數(shù)據(jù)庫E-R圖倉庫管理系統(tǒng)共使用了10張數(shù)據(jù)表,分別為操作員信息表(tb_operator),供應商信息表(tb_providerinfo),庫存盤點明細表(tb_check_sub),庫存盤點主表(tb_check_main),庫存信息表(tb_storageinfo),入庫明細表(tb_instock_sub),入庫退貨明細表(tb_cancelinstock_sub),入庫退貨主表(tb_instore_main),商品庫存表(tb_merchandisestorage),商品入庫主表(tb_instore_main),商品信息表(tb_merchandiseinfo)下面列出了各數(shù)據(jù)表結(jié)構(gòu),如表4-1~表4-10所示。表4-1操作員信息表(tb_operator)字段名稱字段類型主鍵外鍵是否為空描述namevarchar(30)是操作原名稱passwordvarchar(50)操作員密碼levelsmallint操作員級別操作員信息表是用來儲存所有操作員的信息,主要包括:操作員名稱、操作員密碼、操作員級別3個字段。表4-2供應商信息表(tb_providerinfo)字段名稱字段類型主鍵外鍵是否為空描述providermamevarchar(50)是供應商名稱artificialpersonvarchar(30)法人principalvarchar(10)負責人phonevarchar(30)電話addrvarchar(50)地址webvarchar(50)網(wǎng)址e_mailvarchar(50)電子信箱供應商信息表是用來儲存所有供應商的信息,主要包括:供應商名稱、法人、負責人、電話、地址、網(wǎng)址、電子信箱7個字段。表4-3庫存盤點明細表(tb_check_sub)字段名稱字段類型主鍵外鍵是否為空描述checkIDvarchar(30)是盤點單號merchandiseidvarchar(50)商品編號sumfloat數(shù)量庫存盤點明細表是用來儲存庫存盤點的信息,主要包括:盤點單號、商品編號、數(shù)量3個字段。表4-4庫存盤點主表(tb_check_main)字段名稱字段類型主鍵外鍵是否為空描述checkIDvarchar(30)是盤點單號storagevarchar(30)倉庫名稱principalvarchar(30)負責人checktimedatetime盤點時間checkspecsmallint盤點標識0報損1報益memovarchar(100)備注庫存盤點主表是用來儲存庫存盤點的主要信息,主要包括:盤點單號、倉庫名稱、負責人、盤點時間、盤點標識0報損1報益5個字段。表4-5入庫明細表(tb_instock_sub)字段名稱字段類型主鍵外鍵是否為空描述instockidvarchar(30)外鍵入庫單號merchandiseIDvarchar(30)外鍵商品編號unitPricemoney單價numbersfloat數(shù)量rebatefloat折扣paymoneymoney金額stocknamevarchar(30)倉庫名稱入庫明細表是用來儲存入庫情況的信息表,主要包括:入庫單號、單價、數(shù)量、折扣、金額、倉庫名稱6個字段。表4-6入庫退貨明細表(tb_cancelinstock_sub)字段名稱字段類型主鍵外鍵是否為空描述CancelIDvarchar(30)退貨編號merchandiseIDvarchar(30)商品編號unitPricemoney單價numbersfloat數(shù)量rebatefloat折扣paymoneymoney金額stocknamevarchar(30)外鍵倉庫名稱入庫退貨明細表是用來儲存入庫退貨的信息表,主要包括:退貨編號、商品編號、單價、數(shù)量、折扣、金額、倉庫名稱7個字段。表4-7入庫退貨主表(tb_instore_main)字段名稱字段類型主鍵外鍵是否為空描述CancelIDvarchar(30)是退貨單號providervarchar(50)是供應商operatorvarchar(30)是操作員rebatefloat折扣sumtotalmoney總計paymoneymoney應付金額factmoneymoney實付金額intimedatetime退貨時間入庫退貨主表是用來儲存入庫退貨的主要信息,主要包括:退貨單號、供應商、操作員。折扣、總價、應付金額、實付金額、退貨時間8個字段。表4-8商品庫存表(tb_merchandisestorage)字段名稱字段類型主鍵外鍵是否為空描述merchandiseIDvarchar(30)是(聯(lián)合主鍵)商品編號storagenamevarchar(30)是(聯(lián)合主鍵)倉庫名稱storagenamfloat商品庫存pperlimitfloat庫存上限lowerlimitfloat庫存下限商品庫存表是用來儲存商品庫存情況的信息表,主要包括:商品編號、倉庫名稱、商品庫存、庫存上限、庫存下限5個字段。表4-9商品信息表(tb_merchandiseinfo)字段名稱字段類型主鍵外鍵是否為空描述IDvarchar(50)是商品編號namevarchar(30)商品名稱specvarchar(20)規(guī)格shortnamevarchar(10)簡稱defaultpricemoney默認價格manufacturervarchar(30)廠家memovarchar(100)備注商品信息表是用來儲存商品的信息,主要包括:商品編號、商品名稱、規(guī)格、簡稱、默認價格、廠家6個字段。5系統(tǒng)具體實現(xiàn)5.1主窗體設計菜單,工具欄,狀態(tài)欄和客戶區(qū)域圖5-1主窗體等部分是構(gòu)成倉庫管理系統(tǒng)的主要部件??梢杂行У木庉嬑臋n/視圖狀態(tài)欄等部件的創(chuàng)建,所以不需要進行編輯。同時,將客戶區(qū)域設計為兩個部分,分別為左邊區(qū)域和右邊區(qū)域,左邊區(qū)域是一個空間視圖,右邊區(qū)域是一個普通視圖,分割條在中間,通過調(diào)整分割條可以調(diào)整左右區(qū)域的空間大小。主窗體設計效果如圖5-1所示。圖5-1主窗體5.1.1工具欄設計倉庫管理系統(tǒng)的工具欄由CReBar類與CToolBar組成。其中,CReBar類主要窗口為CToolBar,可以在其中設置相應的顏色,再將CToolBar類設置為效果,這樣,工具欄背景就被巧妙地改變了。利用CReBar類,CToolBar類設計工具欄步驟如下:1.在主窗口框如何利用CReBar類對象m_wndReBar,一個CToolBar類對象m_wndToolBar,一個CLmageList類對象img,其中img用于存儲工具欄上顯示的圖像。2.創(chuàng)建一個工具欄的方法。3.在其方法中通過調(diào)用Create()方法創(chuàng)建CReBar空間。4.調(diào)用CToolBar類的CreateEx()方法創(chuàng)建一個工具欄空間。5.設置工具欄按鈕大小,加載工具欄按鈕圖像。6.修改工具欄風格,使其背景透明。向工具欄中添加工具欄按鈕,并設置工具欄按鈕信息。圖5-2商品入庫管理窗口圖5-2商品入庫管理窗口5.1.2設計步驟主窗體設計步驟如下:1.從樹視圖控件類CTreeView派生一個子類CLeftView。2.在CLeftView中定義一個CImageList類型的成員變量ImgTree,用于存儲樹視圖節(jié)點圖標。3.改寫“OnInitialUpdate()”方法,創(chuàng)建圖像列表,向圖像列表中加載圖像,定義樹節(jié)點結(jié)構(gòu),向樹視圖控件中添加節(jié)點。4.處理樹控件的雙擊事件,根據(jù)節(jié)點標題顯示相應的窗口。這樣,當用戶雙擊節(jié)點時,就會現(xiàn)實相應的對話框。程序源代碼如下所示:voidCLeftView::OnDblclk(NMHDR*pNMHDR,LRESULT*pResult){NM_TREEVIEW*pNMTreeView=(NM_TREEVIEW*)pNMHDR;//TODO:AddyourcontrolnotificationhandlercodehereCTreeCtrl&CtlTree=(CTreeCtrl&)GetTreeCtrl();HTREEITEMselect_item=CtlTree.GetSelectedItem();CStringstr=CtlTree.GetItemText(select_item);if(str=="操作員管理"){m_pdlgBaseInfoM=newCDlgBaseInfoM(0);m_pdlgBaseInfoM->DoModal(); deletem_pdlgBaseInfoM;}……}5.在主題窗口框架類中定義一個CSplitterWnd類對象m_wndSplitter,用于拆分窗口。6.改寫主窗口框架類的“OnCreateWnd”方法,將客戶區(qū)域分為兩個部分。至此,完成主窗口的設計。BOOLCMainFrame::OnCreateClient(LPCREATESTRUCT/*lpcs*/,CCreateContext*pContext){//createsplitterwindowif(!m_wndSplitter.CreateStatic(this,1,2))returnFALSE;if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CLeftView),CSize(200,100),pContext)||!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CAaaView),CSize(100,100),pContext)){m_wndSplitter.DestroyWindow();returnFALSE;}returnTRUE;5.2父窗口設計在設計倉庫管理系統(tǒng)時,按功能將各模塊組織起來,放在一個父窗口的標簽控件中,每個標簽頁現(xiàn)實一個子窗口,其運行效果如圖5-3所示。圖5-3父窗口圖5-3父窗口在設計父窗口時,定義一個標簽控件類CTabSheet,該控件派生于類CTabCtrl,主要實現(xiàn)如下功能:(1)存儲標簽控件中現(xiàn)實的所有窗口的指針(2)存儲標簽控件中現(xiàn)實的所有窗口的標題和窗口ID(3)記錄標簽控件的頁數(shù)(4)記錄標簽控件的當前頁索引(5)將窗口添加到標簽頁中(6)設置窗口在標簽頁中的顯示位置(7)顯示指定標簽頁中的窗口CTabSheet類的詳細設計過程如下:1.創(chuàng)建一個MFC類,名稱為“CTabSheet”,基類為“CTabCtrl”。2.定義5個成員變量,代碼如下:LPCTSTRm_Title[MAXPAGE];UINTm_IDD[MAXPAGE];CDialog*m_pPages[MAXPAGE];intm_nNumOfPages;intm_nCurrentPage;其中,m_Title用于存儲標簽控件中所有窗口的標題,m_IDD存儲標簽控件中所有窗口的ID,m_pPages存儲標簽控件中所有的窗口指針,m_nNumOfPages記錄標簽控件中標簽的頁數(shù),m_nCurrentPage記錄標簽控件的當前頁面索引。3.將窗口添加到標簽頁面,代碼如下:BOOLCTabSheet::AddPage(LPCTSTRtitle,CDialog*pDialog,UINTID){if(MAXPAGE==m_nNumOfPages)returnFALSE;m_nNumOfPages++;m_pPages[m_nNumOfPages-1]=pDialog;m_IDD[m_nNumOfPages-1]=ID;m_Title[m_nNumOfPages-1]=title;returnTRUE;}參數(shù)title為窗口標題,pDialog是頁面關(guān)聯(lián)的窗口指針,ID為窗口ID。4.創(chuàng)建標簽頁面,顯示所有窗口。voidCTabSheet::Show(){for(inti=0;i<m_nNumOfPages;i++){m_pPages[i]->Create(m_IDD[i],this);InsertItem(i,m_Title[i]);}m_pPages[0]->ShowWindow(SW_SHOW);for(i=1;i<m_nNumOfPages;i++)m_pPages[i]->ShowWindow(SW_HIDE);SetRect();}5.顯示某個標簽頁中的窗口。voidCTabSheet::Show(intn){for(inti=0;i<m_nNumOfPages;i++){m_pPages[i]->Create(m_IDD[i],this);InsertItem(i,m_Title[i]);}for(i=0;i<m_nNumOfPages;i++)m_pPages[i]->ShowWindow(SW_HIDE);m_pPages[n]->ShowWindow(SW_SHOW);SetRect(n);SetCurSel(n);}在完成標簽控件的設計后,開始設計父窗口。1.創(chuàng)建一個窗口,類名為“CDlgInputStorageM”在該類中定義工具欄對象m_wndToolBar(類名為CToolBar),m_wndReBar(類名為CReBar)。2.定義一個CTabSheet對象,名稱為“m_tab”,用于管理窗口。3.定義功能窗口對象。用戶可以根據(jù)需要定義窗口類對象。例如,在入庫管理中需要包含兩個功能模塊,即入庫退貨管理,一次需要定義兩個窗口對象,代碼如下:CDlgProductorInput2m_dlg1;CDlgInputStoreBack2m_dlg2;4.在窗口類CDlgInputStorageM的初始化事件中調(diào)用標簽控件(m_tab)的AddPage方法添加頁面,并現(xiàn)實頁面和相應窗口。至此,完成父窗口的設計。m_tab.AddPage("商品入庫",&m_dlg1,IDD_PRODUCTOR_INPUT2);m_tab.AddPage("入庫退貨",&m_dlg2,IDD_INPUT_BACK2);if(nSelect>=0){m_tab.Show(nSelect);}else{m_tab.Show();}5.3商品入庫程序設計5.3.1概述商品入庫管理主要實現(xiàn)商品入庫信息的等級,生成入庫票號,修改(增加)商品庫存的功能。在錄入入庫信息時,為了方便用戶錄入數(shù)據(jù),還提供了一些輔助功能。例如:在錄入供應商信息時,按PageDown鍵,會以列表的形式顯所有供應商信息供用戶選擇商品信息,商品入庫管理活動圖,如圖5-4所示,商品入庫管理運行效果如圖5-5所示。圖5-4商品入庫管理活動圖圖5-5商品入庫管理窗口圖5-5商品入庫管理窗口5.3.2設計步驟1.創(chuàng)建一個窗口,類名為“CDlgProductorInput2”,刪除窗口中的“OK”和“Cancel”按鈕。2.在對話框?qū)傩源翱谥羞x擇“Styles”選項卡,將“Titlebar”選項置于非選中狀態(tài),取消窗口的標題欄。3.在窗口中放置7個靜態(tài)文本資源,6個編輯框資源,1個時間控件資源,2個列表框資源,2個列表視圖資源。設置各主要資源屬性如表5-1所示。表5-1主要資源屬性設置對象名稱資源符號資源變量資源屬性ListBoxIDC_LISTBOXlistbox可見屬性:falseEditBoxIDC_OPERATORNAMEoperatorname可見屬性:falseListViewIDC_DETAILLISTlist視圖屬性:Report5.3.3程序相關(guān)代碼處理窗口初始化時的時間,設置錄入表格的風格,列標題,列寬度。自定義函數(shù)CalculateMoney()用于統(tǒng)計列表中的商品金額。該函數(shù)利用循環(huán)累計商品列表中的金額字段數(shù)據(jù)。代碼如下:floatCDlgProductorInput2::CalculateMoney(){ floatmoney,temp; money=0.0; CStringc_money; introwcounts=list.GetItemCount(); for(inti=0;i<rowcounts;i++) { c_money=list.GetItemText(i,6); if(!c_money.IsEmpty()) { temp=atof(c_money); money+=temp; } } returnmoney;}函數(shù)InputInfoIsNull()用于判斷商品入庫信息是否為空。該函數(shù)首先讀取所有編輯框中的數(shù)據(jù),如果有一項數(shù)據(jù)為空,函數(shù)返回值為true代碼如下:boolCDlgProductorInput2::InputInfoIsNull(){ CStringc_provider,c_totalmoney,c_rebate,c_paymoney,c_factmoney; providername.GetWindowText(c_provider); totalmoney.GetWindowText(c_totalmoney); rebate.GetWindowText(c_rebate); paymoney.GetWindowText(c_paymoney); factmoney.GetWindowText(c_factmoney); if((c_provider.IsEmpty())||(c_totalmoney.IsEmpty())||(c_rebate.IsEmpty())||(c_paymoney.IsEmpty())||(c_factmoney.IsEmpty())) returntrue; else returnfalse;5.4庫存盤點程序設計5.4.1概述在企業(yè)中,倉庫管理人員會定期對庫存商品進行盤點,以確認商品實際庫存。在倉庫管理系統(tǒng)中,庫存盤點是對計算機中原始商品數(shù)量進行修改,以使其與實際商品數(shù)量一致。此外,還可以記錄原始商品數(shù)量與實際商品數(shù)量存在差距的原因,即由何種原因?qū)е聦嶋H的商品數(shù)量與原始數(shù)據(jù)不符,并且針對商品數(shù)量減少的情況,對倉庫管理人員進行處罰。庫存盤點窗口如圖5-6所示。圖5-6庫存盤點窗口圖5-6庫存盤點窗口5.4.2設計步驟1.新建一個窗體,其類名為“CDlgStorePD3”,刪除窗口中的“OK”和“Cancel”按鈕2.在對話框?qū)傩源翱谥羞x擇“Styles”選項卡,將“Titlebar”選項置于非選中狀態(tài),取消窗口的標題欄。3.向窗口中添加5個靜態(tài)文本資源,2個編輯框資源,2個組合框資源,2個列表視圖資源,1個時間控件資源。設置各主要資源屬性,如表5-2所示。表5-2主要資源屬性設置對象名稱資源符號資源變量資源屬性ComBoxIDC_COMBO1storagename類型屬性:DropeListListViewIDC_LIST3listinfo可用屬性:false視圖屬性:ReportListViewIDC_LIST3list視圖屬性:Report5.4.3程序相關(guān)代碼函數(shù)InfoIsNull(intmain)用于判斷盤點信息是否為空,如果為空,返回值為true,否則為false。參數(shù)main標識函數(shù)檢查的盤點信息,盤點信息為0,標識檢查盤點的主要信息,入庫查詢程序設計5.5疑難問題分析解決5.5.1利用表格錄入商品在設計商品入庫模塊時,采用了表格形式進行錄入以方便用戶錄入多種商品。程序中利用列表視圖控件錄入商品信息,但MFC提供的列表視圖控件CListCtrl只能夠顯示數(shù)據(jù),而不能編輯,為了使列表視圖控件能夠編輯,改寫CListCtel類,從該類派生一個子類CCustomGrid[16]。為了讓CCustomGrid能夠具有編輯功能,在該類中定義了一個編輯框類,當用戶單擊表格中的單元格時,將編輯框顯示在單元格中,用戶可以在編輯框中輸入數(shù)據(jù),在編輯框失去焦點時,將數(shù)據(jù)寫入單元格。根據(jù)上面的功能描述,需要解決如下的問題:定義一個編輯框類,使其在失去焦點時將數(shù)據(jù)顯示在列表中。在表格中創(chuàng)建編輯框,用戶單擊表格時,確定單元格的坐標(行和列索引)。根據(jù)單元格坐標確定單元格的區(qū)域,并在制定的區(qū)域顯示編輯框。5.5.2聯(lián)想錄入表格的實現(xiàn)在本系統(tǒng)的商品入庫管理模塊中,為了方便用戶錄入數(shù)據(jù),在輸入商品信息時,可以鍵入簡碼,系統(tǒng)會將相關(guān)的商品信息顯示在一個列表中,供用戶選擇。根據(jù)上面的功能描述,需要解決如下問題:截獲表格編輯時的消息。根據(jù)不同的字段(商品編號,商品名稱)設置不同的查詢語句。在適當?shù)奈恢蔑@示列表控件。雙擊列表控件,將選擇的數(shù)據(jù)顯示在表格中。針對上面的問題描述,逐一進行解決。6結(jié)論本論文主要運用數(shù)據(jù)庫技術(shù)和面向?qū)ο缶幊碳夹g(shù)研究開發(fā)的一套倉庫管理系統(tǒng)。它集網(wǎng)絡辦公,業(yè)務工作,資料搜索,資料文檔管理,數(shù)據(jù)實時更新等于一體,功能齊全,實用性強,為倉庫的管理提供了科學規(guī)范的“模板”。該系統(tǒng)實現(xiàn)的信息資源共享,辦公網(wǎng)絡化、無紙化及遠程辦公、異地辦公,功能多樣化,能夠有效地提高工作效率和辦公自動化程度,具有較高的經(jīng)濟效益。6.1系統(tǒng)特點1.操作簡便,管理容易。由于本系統(tǒng)采用VisualC++編碼設計,程序可讀性和通用性好。其簡單易學的特點使得本系統(tǒng)管理工作的難度與工作量大大降低。且其人性化的設計界面,顯著降低操作難度。2.覆蓋面廣,功能完善。本系統(tǒng)機制完整,功能完善,覆蓋面廣,涵蓋了倉庫管理的絕大部分業(yè)務。倉庫管理的各項規(guī)章制度以及各項工作流程皆能在本系統(tǒng)中體現(xiàn)出來。3.保有費用低。應用系統(tǒng)的保有費用包含了購買費用、管理維護費用、應用開發(fā)費用、系統(tǒng)集成費用等等。由于本系統(tǒng)管理維護簡便,大大降低了保有費用。6.2解決的主要問題本系統(tǒng)結(jié)合工作實際,貼近倉庫日常管理工作,系統(tǒng)有效地解決了以下幾個方面的內(nèi)容:1.對倉庫房日常管理工作進行科學規(guī)范;對倉庫房管理各類人員進行科學配置;3.實現(xiàn)了倉庫房管理的各項主要數(shù)據(jù)的數(shù)字化管理與實時更新;6.3本系統(tǒng)技術(shù)創(chuàng)新點本系統(tǒng)實現(xiàn)了數(shù)字化的功能。登錄本系統(tǒng)就可查看權(quán)限內(nèi)的最新情況、傳送或接收工作信息、呈送或檢查各類報表,正常處理個人手頭工作等。使得對倉庫的管理更具時效性,提高了效率和質(zhì)量,同時大大提高了工作效率。6.4試驗試用情況對本系統(tǒng)的性能、各種功能以及實用性方面進行了認真檢測。認為:該系統(tǒng)運行穩(wěn)定可靠,界面友好,操作簡便,實用性強,有效提高了工作效率,增強了倉庫管理的完善性和有效性。本系統(tǒng)經(jīng)某單位試用,反映良好。工作人員一致認為:本系統(tǒng)操作簡便,簡單易學,能夠很好地提高工作效率,值得大力推廣。6.5系統(tǒng)存在不足1.由于水平有限,部分代碼寫得不夠簡潔,可讀性不是太強。2.系統(tǒng)雖然能夠包含倉庫管理的絕大部分工作,但也不能盡善盡美,亟待在下一步工作中加以完善補充。3.系統(tǒng)針對單機開發(fā),為解決大型企業(yè)的跨地域倉庫管理問題,可研究進一步開發(fā)網(wǎng)絡版。致謝致謝我的網(wǎng)絡教育本科即將畢業(yè),心情無比的快樂,帶著感恩的情懷寫出了這篇畢業(yè)論文,在2.5年的本科計算機應用學習中,我學到了很多知識。這都離不開指導老師對我的悉心教導。主要感謝我的論文指導老師
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五下十道題目及答案英語
- 東京入學考試題目及答案
- 養(yǎng)老院藥品管理與使用制度
- 養(yǎng)老院老人生活娛樂活動組織人員職業(yè)道德制度
- 養(yǎng)老院老人家屬溝通聯(lián)系制度
- 養(yǎng)老院服務質(zhì)量投訴處理制度
- 養(yǎng)老院財務管理與審計制度
- 辦公室績效考核與獎懲制度
- 針對施工現(xiàn)場人員的處罰制度
- 酒店規(guī)章制度獎罰制度
- 2025年考研英語真題試卷及答案
- 酒店治安安全管理制度范本
- 專家咨詢委員會建立方案
- 兼職剪輯外包合同范本
- 物業(yè)入戶維修標準及流程
- 生物濾池除臭裝置設計計算實例
- 選煤廠安全規(guī)程培訓考核試題帶答案
- 八年級上冊道德與法治全冊知識點(2025年秋新版)
- 消防設備故障和維修的應急響應預案
- 護理安全隱患與防范措施課件
- 瀘州市龍馬潭區(qū)三叉河山洪溝治理項目環(huán)評報告
評論
0/150
提交評論