

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 學(xué) 士 學(xué) 位 論 文</p><p> 基于Java的企業(yè)進(jìn)銷存管理系統(tǒng)的研究與開(kāi)發(fā)</p><p> 學(xué) 士 學(xué) 位 論 文</p><p> 基于Java的企業(yè)進(jìn)銷存管理系統(tǒng)的研究與開(kāi)發(fā)</p><p><b> 摘 要</b></p><p> 在市場(chǎng)經(jīng)濟(jì)中
2、,銷售是企業(yè)運(yùn)作的重要環(huán)節(jié)。為了更好地推動(dòng)銷售,不少企業(yè)建立分公司或代理制,通過(guò)分公司或代理把產(chǎn)品推向最終用戶。這些分公司或代理商大部分分布在不同的地理位置,跨空間、跨時(shí)間的頻繁業(yè)務(wù)信息交流是這些企業(yè)業(yè)務(wù)活動(dòng)的主要特點(diǎn)。在這種形勢(shì)下,傳統(tǒng)的依靠管理人員人工工作傳遞信息和數(shù)據(jù)的管理方式就無(wú)法滿足企業(yè)日益增長(zhǎng)的業(yè)務(wù)需求了。</p><p> 本系統(tǒng)即為一個(gè)基本的進(jìn)銷存管理系統(tǒng),就是利用信息化手段把先進(jìn)的企業(yè)管理方法
3、引入企業(yè)的實(shí)踐,為企業(yè)的管理改革提供切實(shí)易行的途徑。系統(tǒng)對(duì)企業(yè)中常見(jiàn)的采購(gòu)、庫(kù)存、銷售等商業(yè)活動(dòng)以及相關(guān)的供應(yīng)商和客戶等基本信息進(jìn)行管理。</p><p> 本論文以商品進(jìn)銷存管理系統(tǒng)的分析和設(shè)計(jì)為出發(fā)點(diǎn),詳細(xì)介紹了開(kāi)發(fā)本系統(tǒng)的各個(gè)步驟:系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)維護(hù)。本系統(tǒng)主要介紹了在基礎(chǔ)信息模塊的功能,彌補(bǔ)了在其他系統(tǒng)中難以對(duì)客戶信息、供應(yīng)商信息和商品信息的修改及刪除。在系統(tǒng)的實(shí)現(xiàn)中,給出了實(shí)現(xiàn)窗體
4、中相應(yīng)功能控件的示例和源代碼,以及菜單實(shí)現(xiàn)的方法。文章中列出了本系統(tǒng)的主要功能運(yùn)行界面圖。本系統(tǒng)采用目前流行的Java Swing進(jìn)行開(kāi)發(fā),后臺(tái)數(shù)據(jù)庫(kù)使用功能更強(qiáng)大操作便捷的SQL Server</p><p> 【關(guān)鍵詞】 進(jìn)銷存管理系統(tǒng);Java Swing;SQL Server</p><p><b> Abstract</b></p><
5、;p> Saling is an important part of enterprise management in market economy. In order to promote sale,many of them set up sub-company or agent system.They promote produce to customers through those sub-companies or ag
6、ents.Most of them lie in different places.The frequent communication of information beyond space and time is the major feature.In this case,the traditional management conveying information and data by management personne
7、ls can’t satisfy the need of increasing business.</p><p> The system is basic in saling and accounting management.It introduces advanced management by utilizing information method.It offers practical access
8、 to the reform of enterprise’s management.This system manage business activities,such as buying,storing and saling,and the basic information of suppliers and customers.It use visual Basic which is very popular currently
9、to develop.Backgroud database makes use of SQL Server,having strong function and converient operation.</p><p> This thesis with commodity purchase-sell-stock management system analysis and design is introdu
10、ced, the system of exploitation of each step: system analysis, system design, system, system maintenance. In the system with analysis of the data flow chart and system function structure analysis for the system of data.
11、In system design, detail shows the functional modules. The database tables and watch for the design field, and the menu. In the system, and gives corresponding function realization form</p><p> 【Keywords】Sa
12、ling and accounting Manage System ; Java Swing; SQL Server</p><p><b> 目 錄</b></p><p><b> 第1章 概述1</b></p><p> 1.1 研究課題的背景1</p><p> 1.2 研究課題
13、的意義1</p><p> 1.3研究課題的目的及內(nèi)容2</p><p> 第 2章 系統(tǒng)開(kāi)發(fā)環(huán)境的選擇與配置3</p><p> 2.1 硬件環(huán)境3</p><p> 2.2 系統(tǒng)開(kāi)發(fā)工具的選擇3</p><p> 2.2.1 使用Java + SqlServer2000進(jìn)行程序設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)
14、3</p><p> 2.2.2 Java環(huán)境的配置4</p><p> 第 3章 系統(tǒng)分析與設(shè)計(jì)5</p><p> 3.1 需求分析5</p><p> 3.2 可行性分析5</p><p> 3.3 功能模塊描述6</p><p> 第 4章 數(shù)據(jù)庫(kù)的設(shè)計(jì)8<
15、/p><p> 4.1數(shù)據(jù)庫(kù)介紹8</p><p> 4.2 E-R圖9</p><p> 4.3數(shù)據(jù)表概要說(shuō)明11</p><p> 4.4主要數(shù)據(jù)表的結(jié)構(gòu)11</p><p> 第5章 主要模塊詳細(xì)設(shè)計(jì)15</p><p> 5.1系統(tǒng)登錄模塊設(shè)計(jì)15</p>
16、<p> 5.2基礎(chǔ)信息模塊設(shè)計(jì)20</p><p> 5.3銷售單功能設(shè)計(jì)22</p><p> 5.4銷售退貨管理模塊設(shè)計(jì)23</p><p> 5.5查詢統(tǒng)計(jì)模塊設(shè)計(jì)24</p><p> 5.6庫(kù)存管理模塊的設(shè)計(jì)25</p><p> 第6章 系統(tǒng)測(cè)試27</p>
17、;<p> 6.1系統(tǒng)軟件測(cè)試27</p><p> 6.1.1 測(cè)試的原則27</p><p> 6.1.2 單元測(cè)試27</p><p> 6.1.3 集成測(cè)試28</p><p> 6.2 測(cè)試總結(jié)28</p><p> 6.3 系統(tǒng)實(shí)施與維護(hù)28</p>&l
18、t;p> 第7章 結(jié)論29</p><p><b> 參考文獻(xiàn)30</b></p><p> 致 謝31</p><p><b> 第1章 概述</b></p><p> 1.1 研究課題的背景</p><p> 在全球經(jīng)濟(jì)趨向信息化的時(shí)代
19、背景下,從我國(guó)企業(yè)信息化的意義、內(nèi)容及目前發(fā)展?fàn)顩r,深入分析現(xiàn)階段我國(guó)企業(yè)信息化建設(shè)中存在問(wèn)題,進(jìn)而提出解決問(wèn)題的對(duì)策。政府和企業(yè)合力,以達(dá)到加快我國(guó)企業(yè)信息化建設(shè)發(fā)展的步伐。</p><p> 信息化革命正在打破并重組現(xiàn)存的國(guó)際經(jīng)濟(jì)秩序和結(jié)構(gòu),并促使其由物質(zhì)型向信息型經(jīng)濟(jì)轉(zhuǎn)變。并且隨著經(jīng)濟(jì)的全球化趨勢(shì),如果沒(méi)有信息化,企業(yè)的改造、重構(gòu)、工業(yè)化的進(jìn)程就會(huì)怠慢,企業(yè)的生存和發(fā)展就會(huì)成為大問(wèn)題。從當(dāng)前來(lái)講,先行一步
20、的企業(yè)常會(huì)成為贏家,而那些不能及時(shí)做出應(yīng)對(duì)的企業(yè),即使幸免被淘汰,也只能被擠到低增長(zhǎng)的經(jīng)營(yíng)領(lǐng)域中分得殘羹冷炙。 企業(yè)信息化包括銷售、生產(chǎn)、服務(wù)等方面內(nèi)容,而實(shí)質(zhì)是企業(yè)管理的信息化,是企業(yè)將融合世界先進(jìn)管理思想的信息技術(shù)進(jìn)一步應(yīng)用于管理,提高企業(yè)管理的效率和效益。企業(yè)管理的信息化在某種意義上意味著企業(yè)的全面信息化。它包括著企業(yè)內(nèi)部管理信息化和企業(yè)的外部溝通信息化。</p><p> 1.2 研究課題的意義&l
21、t;/p><p> 隨著因特網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)上商品網(wǎng)上交易日益普及,企業(yè)進(jìn)銷存管理系統(tǒng)是目前公司或是其企業(yè)對(duì)進(jìn)銷存管理系統(tǒng)的中的典型代表,涉及到了商品或貨物管理中主要的幾個(gè)方面,即進(jìn)貨管理,銷售管理,庫(kù)存管理,信息查詢,基本資料,系統(tǒng)維護(hù)等無(wú)論公司還是企業(yè)對(duì)于貨物都實(shí)行了信息化管理,以提高管理水平額工作效率,同時(shí)也最大限度的減少手工操作帶來(lái)的錯(cuò)誤。于是進(jìn)銷存管理系統(tǒng)變應(yīng)運(yùn)而生。在工廠中,產(chǎn)品的進(jìn)銷存涉及原料的采
22、購(gòu),庫(kù)存,投入生產(chǎn),甚至有時(shí)涉及到出庫(kù),對(duì)于產(chǎn)品也有相應(yīng)的生產(chǎn),庫(kù)存,和統(tǒng)計(jì)等類似環(huán)節(jié)。在其它非生產(chǎn)性單位,如超市,商店等,則主要設(shè)計(jì)到入庫(kù),庫(kù)存,出庫(kù)統(tǒng)計(jì)等方面。進(jìn)銷存管理系統(tǒng)具有廣闊的開(kāi)發(fā)前景。</p><p> 針對(duì)我的實(shí)際情況,結(jié)合我對(duì)計(jì)算機(jī)軟件的熟練程度以及對(duì)數(shù)據(jù)庫(kù)的了解,經(jīng)過(guò)與指導(dǎo)老師董老師的協(xié)商,我選擇了《企業(yè)進(jìn)銷存管理系統(tǒng)的研究與開(kāi)發(fā)》這個(gè)課題。本系統(tǒng)界面設(shè)計(jì)美觀大方,方便,快捷,操作靈活。實(shí)現(xiàn)
23、強(qiáng)大的進(jìn)銷存管理,包括基本信息,進(jìn)貨,銷售,和庫(kù)存管理等。能夠在不同的操作系統(tǒng)下運(yùn)行,不局限于特定的平臺(tái),并提供庫(kù)存盤點(diǎn)等。</p><p> 1.3研究課題的目的及內(nèi)容</p><p><b> (1)目的:</b></p><p> 進(jìn)銷存管理系統(tǒng)主要是充分發(fā)揮信息技術(shù)的優(yōu)勢(shì),通過(guò)集中式的信息數(shù)據(jù)庫(kù),將企業(yè)的進(jìn)、銷、存等經(jīng)營(yíng)業(yè)務(wù)有機(jī)地
24、結(jié)合起來(lái),達(dá)到數(shù)據(jù)共享、降低成本、提高效率、改進(jìn)服務(wù)的目的,進(jìn)而提供企業(yè)的生產(chǎn)效率和管理水平。</p><p><b> (2)內(nèi)容: </b></p><p> 在這個(gè)進(jìn)銷存管理系統(tǒng)中,主要包含了以下幾個(gè)功能:①.采購(gòu)入庫(kù)單的生成;②.出庫(kù)單的生成;③.根據(jù)采購(gòu)信息和銷售信息對(duì)庫(kù)存定期進(jìn)行盤點(diǎn);④.歷史采購(gòu)和銷售記錄的查詢;⑤.產(chǎn)品信息、客戶信息和供應(yīng)商信息的維
25、護(hù)。</p><p> 通過(guò)發(fā)上幾個(gè)功能的實(shí)現(xiàn),基本能夠滿足一般企業(yè)的進(jìn)銷存管理需要,為企業(yè)的管理現(xiàn)代化和運(yùn)營(yíng)信息化提供繢有力的支持。</p><p> 第 2章 系統(tǒng)開(kāi)發(fā)環(huán)境的選擇與配置</p><p><b> 2.1 硬件環(huán)境</b></p><p> 開(kāi)發(fā)本系統(tǒng)隊(duì)硬件的要求不是很高,隨著科技的飛速發(fā)展,現(xiàn)
26、在一般的機(jī)器配置都能達(dá)到開(kāi)發(fā)本系統(tǒng)的要求。具體開(kāi)發(fā)環(huán)境如下:</p><p> 顯示器:液晶19英寸</p><p> 分辨率:1024*768像素</p><p> CPU:AMDAthlon2.91GHz</p><p> 內(nèi)存:1024MB以上</p><p><b> 硬盤空間:320G&l
27、t;/b></p><p><b> 光驅(qū):DVD16X</b></p><p><b> 鼠標(biāo):光電鼠標(biāo)</b></p><p><b> 鍵盤:防水鍵盤</b></p><p> 2.2 系統(tǒng)開(kāi)發(fā)工具的選擇</p><p> 2.2.
28、1 使用Java + SqlServer2000進(jìn)行程序設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì) </p><p> Java是一種簡(jiǎn)單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動(dòng)態(tài)語(yǔ)言。Java語(yǔ)言的優(yōu)良特性使得Java應(yīng)用具有無(wú)比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí)間并降低成本。Java的編譯一次,
29、到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開(kāi)放結(jié)構(gòu)和在多平臺(tái)之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫(kù)【1】。</p><p> SQL Server 2000是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它具有構(gòu)成最大的Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。SQL Server 2000 程序設(shè)
30、計(jì)模型與 Windows DNA 構(gòu)架集成,用以開(kāi)發(fā) Web 應(yīng)用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在Web 應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。SQL Server 2000 中包括一系列管理和開(kāi)發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用 SQL Server 的過(guò)程。SQL Server 2000 還支持基于標(biāo)準(zhǔn)的、與 Win
31、dows DNA 集成的程序設(shè)計(jì)模型,使 SQL Server 數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無(wú)縫部分。這些功能使您得以快速交付 SQL Server 應(yīng)用程序,使客戶只需最少的安裝和管理開(kāi)銷即可實(shí)現(xiàn)這些應(yīng)用程序【2】。</p><p> 2.2.2 Java環(huán)境的配置 </p><p> 一臺(tái)計(jì)算機(jī)上安裝了JVM,該臺(tái)機(jī)器就可運(yùn)行Java程序;而要開(kāi)發(fā)Java程序,
32、計(jì)算機(jī)上僅僅有JVM還是不夠的,需要建立Java開(kāi)發(fā)環(huán)境才行。</p><p> 本系統(tǒng)使用J2SE來(lái)進(jìn)行Java程序設(shè)計(jì),因此需要下載和安裝JavaSE開(kāi)發(fā)包。</p><p><b> JavaSE的組成</b></p><p> JavaSE是一個(gè)包含Java開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境的套件該套件由如下三項(xiàng)集成:</p>&l
33、t;p> ?。?)Java Development kit(JDK),Java程序開(kāi)發(fā)環(huán)境。</p><p> ?。?)Java Runtime Environment(JRE),Java 應(yīng)用程序運(yùn)行環(huán)境。</p><p> (3)Java Plug-in,使Java Applet可在網(wǎng)頁(yè)中運(yùn)行的插件。</p><p> 有關(guān)Java平臺(tái)方面的軟件都是免
34、費(fèi)開(kāi)放的,可直接從Sun公司的Java技術(shù)支持網(wǎng)站(http://java.sun.com)上下載,網(wǎng)站上提供了眾多不同標(biāo)準(zhǔn)和版本的Java http://java.sun.com/javase/downloads/index.jsp亦可。</p><p> 安裝完畢需要設(shè)置path和classpath兩個(gè)環(huán)境變量,這對(duì)于以后程序能否編譯,編譯成功的程序能否運(yùn)行都是很關(guān)鍵的一個(gè)環(huán)節(jié)。這在Windows XP下可
35、通過(guò)右擊桌面中的“我的電腦”,在彈出的快捷菜單中選擇“屬性”命令即可,再單擊左欄任務(wù)下的最后一項(xiàng)“高級(jí)系統(tǒng)設(shè)置”即彈出屬性窗口。然后在屬性窗口的“高級(jí)”選項(xiàng)卡下,單擊“環(huán)境變量”按鈕就會(huì)彈出“環(huán)境變量”設(shè)置窗口。</p><p> path 用于設(shè)置Java編譯、解釋等工具的路徑,這些工具文件在Java安裝目錄下的bin目錄中。classpath用于設(shè)置應(yīng)用程序類路徑和擴(kuò)展的應(yīng)用程序類路徑,通常需要指定兩項(xiàng)Ja
36、va安裝目錄下的lib目錄和當(dāng)前運(yùn)行的class所在目錄(用“?”指定)【5】</p><p> 第 3章 系統(tǒng)分析與設(shè)計(jì)</p><p><b> 3.1 需求分析</b></p><p> 需求分析的過(guò)程可以說(shuō)是一個(gè)對(duì)具體問(wèn)題的反復(fù)理解和抽象的過(guò)程。理解就是對(duì)現(xiàn)實(shí)問(wèn)題的理解,要弄清楚究竟需要解決什么問(wèn)題。抽象就是除去問(wèn)題的表面,提取問(wèn)
37、題的本質(zhì),建立問(wèn)題的邏輯模型,以便于以后階段的系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。需求分析階段是軟件產(chǎn)品生存命期中的一個(gè)重要階段,其根本任務(wù)是確定用戶對(duì)軟件系統(tǒng)的需求。所謂需求是指用戶對(duì)軟件的功能和性能的要求,就是用戶希望軟件能什么事情,完成什么樣的功能,達(dá)到什么性能。通常需求分為兩種類型:一種是功能性需求,一種是非功能性需求,這一點(diǎn)也需要有一種清楚的認(rèn)識(shí)。功能性需求是指需要計(jì)算機(jī)系統(tǒng)解決的問(wèn)題,也就是對(duì)數(shù)據(jù)的處理要求,這是一類最主要的需求。非功能性需求是
38、指實(shí)際使用環(huán)境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。</p><p> 根據(jù)市場(chǎng)的需求,要求系統(tǒng)具有以下功能:</p><p> (1)系統(tǒng)操作簡(jiǎn)單,界面友好。</p><p> (2)規(guī)范、完善的基礎(chǔ)信息設(shè)置。</p><p> (3)支持多人操作,要求有權(quán)限分配功能。</p>
39、<p> (4)為了方便用戶,要求系統(tǒng)支持多條件查詢。</p><p> (5)對(duì)銷售信息提供銷售排行。</p><p> (6)支持銷售退貨和入庫(kù)退貨功能。</p><p> (7)支持庫(kù)存價(jià)格調(diào)整功能。</p><p> (8)通過(guò)計(jì)算機(jī)能夠直接“透視”倉(cāng)庫(kù)存儲(chǔ)情況。</p><p> (
40、9)支持批量填寫進(jìn)貨單及銷售單</p><p> (10)當(dāng)外界環(huán)境干擾本系統(tǒng)時(shí),系統(tǒng)可以自動(dòng)保護(hù)原始數(shù)據(jù)的安全。</p><p><b> 3.2 可行性分析</b></p><p> 企業(yè)進(jìn)銷存管理系統(tǒng)必須提供商品信息、供應(yīng)商信息和客戶信息的基礎(chǔ)設(shè)置;提供強(qiáng)大的多條件搜索功能和商品的進(jìn)貨、銷售和庫(kù)存管理功能;可以分不同權(quán)限、不同用戶對(duì)
41、該系統(tǒng)進(jìn)行操作。另外,該系統(tǒng)還必須保證數(shù)據(jù)的安全性、完整性和準(zhǔn)確性。</p><p> 企業(yè)進(jìn)銷存管理系統(tǒng)的目標(biāo)是實(shí)現(xiàn)企業(yè)的信息化管理,減少盲目采購(gòu)、降低采購(gòu)成本、合理控制庫(kù)存、減少資金占用并提升企業(yè)市場(chǎng)競(jìng)爭(zhēng)力。</p><p> 項(xiàng)目主要以企業(yè)的進(jìn)貨、銷售和查詢統(tǒng)計(jì)功能為主,對(duì)于庫(kù)存、銷售和進(jìn)貨的記錄信息應(yīng)該及時(shí)、準(zhǔn)確的保存,并提供相應(yīng)的查詢和統(tǒng)計(jì)。由于庫(kù)存商品數(shù)量太多,不易盤點(diǎn),傳
42、統(tǒng)的盤點(diǎn)方式容易出錯(cuò),系統(tǒng)中的庫(kù)存盤點(diǎn)功能要準(zhǔn)確的計(jì)算出每種商品的損益數(shù)量,減少企業(yè)不必要的損失。</p><p> 3.3 功能模塊描述</p><p> 根據(jù)需求分析,設(shè)計(jì)的進(jìn)銷存管理系統(tǒng)的模塊組織結(jié)構(gòu)如下圖3-1所示。</p><p> 圖3-1 進(jìn)銷存管理系統(tǒng)模塊組織結(jié)構(gòu)圖</p><p> 下面對(duì)各模塊的設(shè)計(jì)功能進(jìn)行說(shuō)
43、明。</p><p> 采購(gòu)單:日常業(yè)務(wù)中需要頻繁使用的功能,主要是對(duì)每筆采購(gòu)入庫(kù)業(yè)務(wù)進(jìn)行記錄,自動(dòng)生成對(duì)應(yīng)的采購(gòu)憑證。采購(gòu)單中的商品名稱、供應(yīng)商和經(jīng)手人字段分別對(duì)應(yīng)Product數(shù)據(jù)表、Supplier數(shù)據(jù)表和Users數(shù)據(jù)表中的相關(guān)字段,所以這里需要檢驗(yàn)用戶輸入的合法性。為了管理的方便的規(guī)范。每筆采購(gòu)單對(duì)應(yīng)唯一采購(gòu)單票號(hào)。</p><p> 銷售單:日常業(yè)務(wù)中需要頻繁使用的功能,主
44、要是對(duì)每筆銷售出庫(kù)業(yè)務(wù)進(jìn)行記錄,自動(dòng)生成對(duì)應(yīng)的銷售憑證。銷售單中的商品名稱、客戶和經(jīng)手人字段分別對(duì)應(yīng)Product數(shù)據(jù)表、Customer數(shù)據(jù)表和Users數(shù)據(jù)表中的相關(guān)字段,所以這里需要檢測(cè)用戶輸入的合法性。為了管理的方便和規(guī)范,每筆銷售單對(duì)應(yīng)一個(gè)唯一銷售單票號(hào)。</p><p> 庫(kù)存盤點(diǎn):庫(kù)存管理中的重要業(yè)務(wù)活動(dòng),主要是根據(jù)采購(gòu)記錄和銷售記錄對(duì)庫(kù)存商品盤點(diǎn),更新每種商品的庫(kù)存量,為制定采購(gòu)計(jì)劃提供依據(jù)。計(jì)
45、算庫(kù)存時(shí)需要檢索每一種商品的采購(gòu)記錄,匯總得到此種商品總共的采購(gòu)數(shù)量,然后檢索這種商品的銷售記錄,匯總得到此種商品總的銷售數(shù)量,最后用總采購(gòu)數(shù)量和總銷售數(shù)量相減即可。</p><p> 產(chǎn)品管理:庫(kù)存管理中的輔助業(yè)務(wù),主要是當(dāng)有產(chǎn)品或者商品的屬性數(shù)據(jù)改變時(shí),需要在這里進(jìn)行更新。</p><p> 庫(kù)存查詢:統(tǒng)計(jì)查詢功能中的一個(gè)模塊,提供了對(duì)庫(kù)存商品按照多種字段模糊查詢的功能。</
46、p><p> 采購(gòu)查詢:統(tǒng)計(jì)查詢功能中的一個(gè)模塊,提供了對(duì)采購(gòu)記錄的多種字段的復(fù)合式查詢功能。</p><p> 銷售查詢:統(tǒng)計(jì)查詢功能中的一個(gè)模塊,提供了對(duì)銷售記錄的多種字段的復(fù)合式查詢功能。</p><p> 供應(yīng)商管理:基礎(chǔ)信息維護(hù)中的一個(gè)模塊,主要用于對(duì)供應(yīng)商信息進(jìn)行查詢和維護(hù)。為了方便對(duì)多個(gè)供應(yīng)商的管理和比較,本系統(tǒng)中將此功能用Tab頁(yè)的形式實(shí)現(xiàn),既方便
47、對(duì)單個(gè)供應(yīng)商信息的查看和編輯,又利于對(duì)供應(yīng)商總體的評(píng)價(jià)和比較。</p><p> 客戶管理:基礎(chǔ)信息維護(hù)中的一個(gè)模塊,主要用于對(duì)企業(yè)客戶信息的查詢和維護(hù)。為了方便對(duì)多個(gè)客戶的管理和比較,本系統(tǒng)中也將此功能用Tab頁(yè)的形式實(shí)現(xiàn),既方便對(duì)單個(gè)供應(yīng)商信息的查看和編輯,又利于對(duì)供應(yīng)商總體的評(píng)價(jià)和比較。</p><p> 密碼設(shè)置:系統(tǒng)設(shè)置中的一個(gè)模塊,主要用于為系統(tǒng)中現(xiàn)有的用戶提供密碼更改功能
48、。</p><p> 退出系統(tǒng):用于退出本系統(tǒng)。為了防止用戶的誤操作,退出系統(tǒng)之前需要用戶確認(rèn)退出的操作。</p><p> 整個(gè)系統(tǒng)運(yùn)行的流程圖大致如圖3-2所示。</p><p> 圖3-2 系統(tǒng)流程圖</p><p> 第 4章 數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p><b> 4.1數(shù)據(jù)庫(kù)介紹&l
49、t;/b></p><p> 所謂數(shù)據(jù)庫(kù)(Database)就是指按一定組織方式存儲(chǔ)在一起的,相互有關(guān)的若干個(gè)數(shù)據(jù)的結(jié)合,數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System)就是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,簡(jiǎn)稱DBMS,他們建立在操作系統(tǒng)的基礎(chǔ)上,對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,其功能包括數(shù)據(jù)庫(kù)定義,數(shù)據(jù)庫(kù)管理,數(shù)據(jù)庫(kù)建立和維護(hù),于操作系統(tǒng)通信等。DBMS通常由數(shù)據(jù)字典,數(shù)據(jù)描述語(yǔ)言及
50、其編譯程序,數(shù)據(jù)操縱(查詢)語(yǔ)言及其編譯程序,數(shù)據(jù)庫(kù)管理例行程序等部分組成。</p><p> 關(guān)系數(shù)據(jù)庫(kù)是以關(guān)系模型為基礎(chǔ)的數(shù)據(jù)庫(kù),是根據(jù)表、記錄和字段之間的關(guān)系進(jìn)行組織和訪問(wèn)的一種數(shù)據(jù)庫(kù),它通過(guò)若干個(gè)表(Table)來(lái)存取數(shù)據(jù),并且通過(guò)關(guān)系(Relation)將這些表聯(lián)系在一起,關(guān)系數(shù)據(jù)庫(kù)提供了成為機(jī)構(gòu)化查詢語(yǔ)言(SQL)標(biāo)準(zhǔn)接口,該接口允許使用多種數(shù)據(jù)庫(kù)工具和產(chǎn)品,關(guān)系數(shù)據(jù)庫(kù)是目前最廣泛應(yīng)用的數(shù)據(jù)庫(kù)。&l
51、t;/p><p> 數(shù)據(jù)庫(kù)是一個(gè)邏輯上的概念,通過(guò)一組系統(tǒng)文件將相互關(guān)聯(lián)的數(shù)據(jù)表及其數(shù)據(jù)庫(kù)對(duì)象組織起來(lái),成為擴(kuò)展名為.dbc的數(shù)據(jù)庫(kù)文件、擴(kuò)展名為.dct的數(shù)據(jù)庫(kù)備注文件和擴(kuò)展名為.dcx的數(shù)據(jù)庫(kù)索引文件,三個(gè)文件一般不能直接使用【2】。</p><p><b> 4.2 E-R圖</b></p><p> 進(jìn)銷存系統(tǒng)的E-R圖</p&
52、gt;<p> 進(jìn)銷存系統(tǒng)主要實(shí)現(xiàn)從進(jìn)貨、庫(kù)存到銷售的一體化管理,涉及商品信息、商品的供應(yīng)商、購(gòu)買商品的客戶等多個(gè)實(shí)體。下面簡(jiǎn)單介紹幾個(gè)關(guān)鍵的實(shí)體和系統(tǒng)的綜合E-R圖。</p><p><b> 供應(yīng)商實(shí)體屬性圖</b></p><p> 供應(yīng)商實(shí)體包括:編號(hào)、名稱、簡(jiǎn)稱、地址、電話、郵政編碼、傳真、聯(lián)系人、聯(lián)系人電話、開(kāi)戶行和E-mail屬性,如
53、圖4-1所示。</p><p> 圖4-1 供應(yīng)商實(shí)體屬性圖</p><p><b> 商品實(shí)體屬性圖</b></p><p> 商品實(shí)體包括:編號(hào)、商品名稱、商品簡(jiǎn)稱、產(chǎn)地、單位、規(guī)格、包裝、批號(hào)、批準(zhǔn)文號(hào)、商品簡(jiǎn)介和供應(yīng)商屬性。如圖4-2所示。</p><p> 圖4-2商品實(shí)體屬性圖</p>
54、<p><b> 客戶實(shí)體屬性圖</b></p><p> 客戶實(shí)體包括:客戶編號(hào)、客戶名稱、簡(jiǎn)稱、地址、電話、郵政編碼、聯(lián)系人電話、傳真、開(kāi)戶行和賬號(hào)屬性。如圖4-3所示。</p><p> 圖4-3客戶實(shí)體屬性圖</p><p><b> 售實(shí)體屬性圖</b></p><p>
55、; 銷售實(shí)體分為銷售主表和銷售明細(xì)表兩個(gè)實(shí)體,它們是一對(duì)多的關(guān)系。其中銷售主表包括:銷售票號(hào)、品種數(shù)、金額、驗(yàn)收結(jié)論、客戶名稱、經(jīng)手人、結(jié)算方式、操作員和銷售日期屬性。銷售明細(xì)表包括:編號(hào)、銷售票號(hào)、商品編號(hào)、數(shù)量和單價(jià)屬性。如圖4-4所示。</p><p> 圖4-4售實(shí)體屬性圖</p><p> 4.3數(shù)據(jù)表概要說(shuō)明</p><p> 圖4-5數(shù)據(jù)庫(kù)表概
56、要說(shuō)明</p><p> 4.4主要數(shù)據(jù)表的結(jié)構(gòu)</p><p> 數(shù)據(jù)庫(kù)在整個(gè)管理系統(tǒng)中占據(jù)非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞直接影響著系統(tǒng)的效率和實(shí)現(xiàn)效果。進(jìn)銷存管理系統(tǒng)采用SQL Server 2000 SP3以上版本的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名稱為db_JXC,因篇幅所限,本論文只給出幾個(gè)重要數(shù)據(jù)表的表結(jié)構(gòu)。</p><p><b> 供應(yīng)商信息表&
57、lt;/b></p><p> 供應(yīng)商信息表的名稱為tb_gysinfo,主要用于存儲(chǔ)供應(yīng)商的詳細(xì)信息,結(jié)構(gòu)如表4-1所示。</p><p> 表4-1供應(yīng)商信息表</p><p><b> 入庫(kù)主表</b></p><p> 入庫(kù)主表的名稱為tb_ruku_main,主要用于存儲(chǔ)入庫(kù)的單據(jù)信息,結(jié)構(gòu)如表4
58、-2所示。</p><p><b> 表4-2入庫(kù)主表</b></p><p><b> 入庫(kù)明細(xì)表</b></p><p> 入庫(kù)明細(xì)表的名稱為tb_ruku_detail,主要用于存儲(chǔ)入庫(kù)的詳細(xì)信息,結(jié)構(gòu)如表4-3所示。</p><p><b> 表4-3入庫(kù)明細(xì)表</b
59、></p><p><b> 銷售主表</b></p><p> 銷售主表的名稱為tb_sell_main,主要用于存儲(chǔ)銷售單據(jù)的信息,結(jié)構(gòu)如表4-4所示。</p><p><b> 表4-4銷售主表</b></p><p><b> 客戶信息表</b></
60、p><p> 客戶信息表的名稱為tb_khinfo,主要用于存儲(chǔ)客戶的信息,結(jié)構(gòu)如表4-5所示。</p><p><b> 表4-5客戶信息表</b></p><p><b> 庫(kù)存表</b></p><p> 庫(kù)存表的名稱為tb_kucun,主要用于存儲(chǔ)庫(kù)存信息,結(jié)構(gòu)如表4-6所示。</
61、p><p><b> 表4-6庫(kù)存表</b></p><p> 第5章 主要模塊詳細(xì)設(shè)計(jì)</p><p> 5.1系統(tǒng)登錄模塊設(shè)計(jì)</p><p> 登錄界面必須有輸入用戶名和密碼的文本框、負(fù)責(zé)登錄和退出的按鈕,另外考慮到美觀性,登錄模塊創(chuàng)建了帶背景的面板容器來(lái)美化登錄界面【22】。進(jìn)銷存管理系統(tǒng)中的登錄界面如圖5-
62、1所示。</p><p><b> 圖5-1登錄界面</b></p><p> 下面介紹登錄界面的開(kāi)發(fā)步驟。</p><p> (1)創(chuàng)建LoginPanel類,該類繼承JPanel類并覆蓋該類的paintComponent()方法,重新繪制自己的外觀,實(shí)現(xiàn)帶背景圖片的面板容器。關(guān)鍵代碼如下:</p><p>
63、public class LoginPanel extends JPanel {</p><p> protected ImageIcon icon = new ImageIcon("res/login.jpg");</p><p> public int width = icon.getIconWidth(), height = icon.getIconHeigh
64、t();</p><p> public LoginPanel() {</p><p><b> super();</b></p><p> setSize(width, height);</p><p><b> }</b></p><p> protected
65、void paintComponent(Graphics g) {</p><p> super.paintComponent(g);</p><p> Image img = icon.getImage();</p><p> g.drawImage(img, 0, 0, getParent());</p><p><b>
66、 }</b></p><p><b> }</b></p><p> ?。?)創(chuàng)建Login類,該類繼承JFrame類實(shí)現(xiàn)一個(gè)窗口界面,并且將步驟(1)所創(chuàng)建的面板容器添加到窗口中,然后初始化窗口中的各個(gè)組件大小、位置、窗口標(biāo)題等基本屬性。關(guān)鍵代碼如下:</p><p> public class Login extends
67、JFrame {</p><p> private JLabel userLabel;</p><p> private JLabel passLabel;</p><p> private JButton exit;</p><p> private JButton login;</p><p> priv
68、ate Main window;</p><p> private static TbUserlist user; //將當(dāng)前用戶對(duì)象定義為類屬性</p><p> public Login() {</p><p> setIconImage(new ImageIcon("res/main1.gif").getImage());
69、</p><p> setTitle("登錄企業(yè)進(jìn)銷存管理系統(tǒng)");</p><p> final JPanel panel = new LoginPanel();</p><p> panel.setLayout(null);</p><p> getContentPane().add(panel);</p
70、><p> setBounds(300, 200, panel.getWidth(), panel.getHeight());</p><p> userLabel = new JLabel();</p><p> userLabel.setText("用戶名:");</p><p> userLabel.setBou
71、nds(100, 110, 200, 18);</p><p> panel.add(userLabel);</p><p> final JTextField userName = new JTextField();</p><p> userName.setBounds(150, 110, 200, 18);</p><p> p
72、anel.add(userName);</p><p> passLabel = new JLabel();</p><p> passLabel.setText("密 碼:");</p><p> passLabel.setBounds(100, 140, 200, 18);</p><p> panel.ad
73、d(passLabel);</p><p> 在輸入密碼的文本框中添加一個(gè)按鍵監(jiān)聽(tīng)器,如果用戶在密碼框中按下回車鍵,該按鍵監(jiān)聽(tīng)器將攔截該按鍵事件,并執(zhí)行“登錄”按鈕的單擊事件去完成系統(tǒng)登錄。</p><p> final JPasswordField userPassword = new JPasswordField();</p><p> userPassw
74、ord.addKeyListener(new KeyAdapter() { </p><p> public void keyPressed(final KeyEvent e) {</p><p> if (e.getKeyCode() == 10)</p><p> login.doClick();</p><p><
75、b> }</b></p><p> userPassword.setBounds(150, 140, 200, 18);</p><p> panel.add(userPassword);</p><p><b> }</b></p><p> 為“登錄”按鈕添加動(dòng)作監(jiān)聽(tīng)器,當(dāng)用戶單擊該按鈕或
76、者在按鈕上按下回車鍵時(shí),監(jiān)聽(tīng)器將攔截該事件并執(zhí)行actionPerformed()方法,在該方法中通過(guò)調(diào)用Dao數(shù)據(jù)庫(kù)操作類的getUser()方法獲取用戶信息,并完成用戶驗(yàn)證和主窗體顯示。</p><p> login = new JButton();</p><p> login.addActionListener(new ActionListener() {</p>
77、<p> public void actionPerformed(final ActionEvent e) {</p><p> user = Dao.getUser(userName.getText(), userPassword. getText ());</p><p> if (user.getUsername() == null || user.getName(
78、) == null) {</p><p> userName.setText(null);</p><p> userPassword.setText(null);</p><p><b> return;</b></p><p><b> }</b></p><p>
79、; setVisible(false);</p><p> window = new Main();</p><p> window.frame.setVisible(true);</p><p><b> }</b></p><p><b> }</b></p><p
80、> login.setText("登錄");</p><p> login.setBounds(180, 170, 60, 18);</p><p> panel.add(login);</p><p> 在用戶單擊“退出”按鈕時(shí),該按鈕的監(jiān)聽(tīng)器會(huì)執(zhí)行System.exit(0)命令去終止整個(gè)Java虛擬機(jī),從而關(guān)閉進(jìn)銷存管理系統(tǒng)。
81、</p><p> exit = new JButton();</p><p> exit.addActionListener(new ActionListener() {</p><p> public void actionPerformed(final ActionEvent e) {</p><p> System.exit(
82、0);</p><p><b> }</b></p><p><b> };</b></p><p> exit.setText("退出");</p><p> exit.setBounds(260, 170, 60, 18);</p><p>
83、 panel.add(exit);</p><p> setVisible(true);</p><p> setResizable(false);</p><p> setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);</p><p><b> }&l
84、t;/b></p><p> 編寫封裝和訪問(wèn)當(dāng)前用戶對(duì)象的方法,并且將這些方法聲明為類的靜態(tài)方法,這樣其他窗口對(duì)象可以隨時(shí)獲取當(dāng)前登錄的用戶信息。</p><p> public static TbUserlist getUser() {</p><p> return user;</p><p><b> }<
85、/b></p><p> public static void setUser(TbUserlist user) {</p><p> Login.user = user;</p><p><b> }</b></p><p><b> }</b></p><p&g
86、t; 主窗口界面包括菜單欄、工具欄、窗口界面。其中每個(gè)菜單對(duì)應(yīng)著系統(tǒng)的各個(gè)功能模塊。進(jìn)銷存管理系統(tǒng)程序主界面的運(yùn)行效果如圖5-2所示。</p><p><b> 圖5-2主窗口界面</b></p><p> 程序主界面的開(kāi)發(fā)首先要?jiǎng)?chuàng)建Main類,在類中定義各個(gè)基本組件(包括標(biāo)簽、窗體、文本框等)、窗體的集合對(duì)象、動(dòng)作集合對(duì)象和當(dāng)前登錄的用戶對(duì)象,然后調(diào)用init
87、ialize()方法初始化窗口和所有基本組件,并調(diào)用登錄窗口啟動(dòng)并運(yùn)行程序。</p><p> 初始化程序主界面的initialize()方法</p><p> 該方法主要實(shí)現(xiàn)進(jìn)銷存管理系統(tǒng)主界面的初始化,初始化的界面組件包括:菜單、工具欄、窗體以及它們的布局管理等。</p><p> 窗體的初始化包括窗體標(biāo)題、圖標(biāo)、布局管理器、窗體的關(guān)閉方式、位置、大小等屬
88、性和窗體事件監(jiān)聽(tīng)器。其中窗體的ComponentListener事件監(jiān)聽(tīng)器在用戶改變窗體大小時(shí)改變背景圖片的大小,背景圖片是本實(shí)例提供的800×600和1024×768兩種大小的背景圖片。</p><p> 菜單欄中分別由不同的方法創(chuàng)建各個(gè)模塊的菜單和菜單項(xiàng)。</p><p> 工具欄由defineToolBar()方法添加工具按鈕【22】。</p>
89、<p> initialize()方法的關(guān)鍵代碼如下:</p><p> frame = new JFrame("企業(yè)進(jìn)銷存管理系統(tǒng)");</p><p> frame.addComponentListener(new ComponentAdapter() {</p><p> public void componentResi
90、zed(final ComponentEvent e) {</p><p> if (backLabel != null) {</p><p> int backw = ((JFrame) e.getSource()).getWidth();</p><p> ImageIcon icon = backw <= 800 ? new ImageIcon(&
91、lt;/p><p> "res/welcome.jpg") : new ImageIcon("res/welcomeB.jpg");</p><p> backLabel.setIcon(icon);</p><p> backLabel.setSize(backw, frame.getWidth());</p>
92、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> frame.setIconImage(new ImageIcon("res/main1.gif").getImage());</p
93、><p> frame.getContentPane().setLayout(new BorderLayout());</p><p> frame.setBounds(100, 100, 800, 600);//設(shè)置窗體位置和大小</p><p> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
94、);//窗體的關(guān)閉方式</p><p> desktopPane = new JDesktopPane();</p><p> desktopPane.setBackground(Color.WHITE); // 白色背景</p><p> frame.getContentPane().add(desktopPane);</p><p&
95、gt; backLabel = new JLabel();</p><p> backLabel.setVerticalAlignment(SwingConstants.TOP);</p><p> backLabel.setHorizontalAlignment(SwingConstants.CENTER);</p><p> desktopPane.ad
96、d(backLabel, new Integer(Integer.MIN_VALUE));</p><p> menuBar = new JMenuBar();</p><p> menuBar.setBounds(0, 0, 792, 66);</p><p> menuBar.setBorder(new LineBorder(Color.BLACK));&
97、lt;/p><p> frame.setJMenuBar(menuBar);</p><p> menuBar.add(getBasicMenu()); // 添加基礎(chǔ)信息菜單的方法</p><p> menuBar.add(getJinHuoMenu());// 添加進(jìn)貨管理菜單的方法</p><p> menuBar.
98、add(getSellMenu()); // 添加銷售管理菜單的方法</p><p> menuBar.add(getKuCunMenu());// 添加庫(kù)存管理菜單的方法</p><p> menuBar.add(getCxtjMenu()); // 添加查詢統(tǒng)計(jì)菜單的方法</p><p> menuBar.add(getSysMen
99、u()); // 添加系統(tǒng)管理菜單的方法</p><p> final JToolBar toolBar = new JToolBar("工具欄");</p><p> frame.getContentPane().add(toolBar, BorderLayout.NORTH);</p><p> toolBar.setRollo
100、ver(true);</p><p> defineToolBar(toolBar); //添加工具欄按鈕的方法</p><p> 5.2基礎(chǔ)信息模塊設(shè)計(jì)</p><p> 基礎(chǔ)信息模塊用于管理系統(tǒng)中的客戶、商品和供應(yīng)商信息【22】?;A(chǔ)信息模塊的運(yùn)行效果如圖5-3所示。</p><p> 圖5-3基礎(chǔ)信息界面</p&
101、gt;<p> 基礎(chǔ)信息模塊用到的關(guān)鍵組件</p><p><b> 圖5-4關(guān)鍵組件</b></p><p><b> 關(guān)鍵代碼:</b></p><p> public class JinHuoDan extends JInternalFrame {</p><p> p
102、rivate final JTable table;</p><p> private TbUserlist user = Login.getUser(); // 登錄用戶信息</p><p> private final JTextField jhsj = new JTextField(); // 進(jìn)貨時(shí)間</p><p> private
103、final JTextField jsr = new JTextField(); // 經(jīng)手人</p><p> private final JComboBox jsfs = new JComboBox(); // 計(jì)算方式</p><p> private final JTextField lian = new JTextField(); // 聯(lián)系人</p&g
104、t;<p> private final JComboBox gys = new JComboBox(); // 供應(yīng)商</p><p> rivate final JTextField piaoHao = new JTextField();// 票號(hào)</p><p> private final JTextField pzs = new JTextField
105、("0"); // 品種數(shù)量</p><p> private final JTextField hpzs = new JTextField("0");// 貨品總數(shù)</p><p> private final JTextField hjje = new JTextField("0");// 合計(jì)金額<
106、;/p><p> private final JTextField ysjl = new JTextField(); // 驗(yàn)收結(jié)論</p><p> private final JTextField czy = new JTextField(user.getName());// 操作員</p><p> private Date jhsjDate;<
107、/p><p> private JComboBox sp;</p><p> ?。?)在構(gòu)造方法中對(duì)這些組件初始化,并調(diào)用setupComponet()方法設(shè)置組件的布局位置。</p><p> ?。?)為供應(yīng)商下拉選擇框添加事件監(jiān)聽(tīng)器,當(dāng)用戶單擊并改變選擇的內(nèi)容時(shí),調(diào)用doGys SelectAction()方法根據(jù)改變的下拉選擇框內(nèi)容更新供應(yīng)商和聯(lián)系人信息。<
108、;/p><p> ?。?)為商品下拉選擇框添加事件監(jiān)聽(tīng)器,當(dāng)用戶單擊并改變商品下拉選擇框的內(nèi)容時(shí),調(diào)用updateTable()方法根據(jù)下拉選擇框的內(nèi)容填充表格內(nèi)的商品信息。</p><p> ?。?)為“添加”按鈕添加事件監(jiān)聽(tīng)器,當(dāng)用戶單擊該按鈕時(shí),調(diào)用initPiaoHao()方法根據(jù)當(dāng)前數(shù)據(jù)庫(kù)中的入庫(kù)信息,初始化新入庫(kù)的票號(hào)文本框。同時(shí)調(diào)用initSpBox()方法初始化商品下拉選擇框的
109、內(nèi)容,并清除表格內(nèi)的空行。</p><p> ?。?)添加“入庫(kù)”按鈕的事件監(jiān)聽(tīng)器,這個(gè)監(jiān)聽(tīng)器在用戶添加了進(jìn)貨的商品信息并單擊“入庫(kù)”按鈕時(shí),收集進(jìn)貨信息并且通過(guò)調(diào)用Dao數(shù)據(jù)庫(kù)操作類的insertRukuInfo()方法在事務(wù)中完成入庫(kù)主表、入庫(kù)明細(xì)表和庫(kù)存表的添加與更新</p><p><b> 供應(yīng)商添加實(shí)現(xiàn)過(guò)程</b></p><p>
110、; ?。?)創(chuàng)建GysTiaJiaPanle類,用于實(shí)現(xiàn)本系統(tǒng)的供應(yīng)商添加功能。該類將在界面中顯示用于輸入供應(yīng)商信息的文本框。</p><p> ?。?)創(chuàng)建RestActionListner類,該類是重填按鈕的事件監(jiān)聽(tīng)器,它必須實(shí)現(xiàn)ActionListener接口,并在actionPerformed()方法中清除界面中的所有文本框內(nèi)容。</p><p> (3)創(chuàng)建TjActionLi
111、ster類,該類是添加按鈕的事件監(jiān)聽(tīng)器,它必須實(shí)現(xiàn)AtionListener接口并在actionPerfirmed()方法中實(shí)現(xiàn)用戶輸入的驗(yàn)證和供應(yīng)商信息的保存。</p><p> 5.3銷售單功能設(shè)計(jì)</p><p> 圖5-5銷售單接界面</p><p> 銷售單功能的實(shí)現(xiàn)步驟如下。</p><p> ?。?)創(chuàng)建XiaoShouD
112、an類,該類繼承JInternalFrame類實(shí)現(xiàn)窗體界面,在類中定義窗體界面中的各個(gè)組件和當(dāng)前登錄的用戶對(duì)象,由于設(shè)置組件的布局定位方法與進(jìn)貨單和其他功能模塊所使用的方法相同,這里將省略該部分的代碼介紹。關(guān)鍵代碼如下:</p><p> public class XiaoShouDan extends JInternalFrame {</p><p> private final J
113、Table table;</p><p> private TbUserlist user = Login.getUser(); // 登錄用戶信息</p><p> private final JTextField jhsj = new JTextField(); // 進(jìn)貨時(shí)間</p><p> private final JTextField jsr =
114、 new JTextField(); // 經(jīng)手人</p><p> private final JComboBox jsfs = new JComboBox(); // 計(jì)算方式</p><p> private final JTextField lian = new JTextField(); // 聯(lián)系人</p><p> private final J
115、ComboBox kehu = new JComboBox(); // 客戶</p><p> private final JTextField piaoHao = new JTextField(); // 票號(hào)</p><p> private final JTextField pzs = new JTextField("0"); // 品種數(shù)量</p>
116、;<p> private final JTextField hpzs = new JTextField("0"); // 貨品總數(shù)</p><p> private final JTextField hjje = new JTextField("0"); // 合計(jì)金額</p><p> private final JTextF
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的小型企業(yè)進(jìn)銷存管理系統(tǒng)-畢業(yè)論文
- 基于java的超市進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 基于java的小型企業(yè)進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——企業(yè)進(jìn)銷存管理系統(tǒng)
- 基于java的進(jìn)銷存管理系統(tǒng)
- 畢業(yè)論文——企業(yè)進(jìn)銷存管理系統(tǒng)
- 畢業(yè)論文——企業(yè)進(jìn)銷存管理系統(tǒng)
- 進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——企業(yè)進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——企業(yè)進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-進(jìn)銷存管理系統(tǒng)
- 企業(yè)進(jìn)銷存管理系統(tǒng)畢業(yè)論文(設(shè)計(jì))
- 超市進(jìn)銷存管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)的畢業(yè)論文
- 畢業(yè)論文--企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的小型企業(yè)進(jìn)銷存管理系統(tǒng)-
- 畢業(yè)論文-- 商品進(jìn)銷存管理系統(tǒng)
- 倉(cāng)庫(kù)進(jìn)銷存管理系統(tǒng)畢業(yè)論文
- 超市進(jìn)銷存管理系統(tǒng)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論