進(jìn)銷存管理系統(tǒng)軟件設(shè)計(jì)
《進(jìn)銷存管理系統(tǒng)軟件設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《進(jìn)銷存管理系統(tǒng)軟件設(shè)計(jì)(37頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 天津工業(yè)大學(xué) 畢業(yè)設(shè)計(jì) 進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 姓 名 劉鴿 學(xué) 院 計(jì)算機(jī)科學(xué)與軟件學(xué)院 專 業(yè) 軟件技術(shù) 指導(dǎo)教師 王鶴 職 稱 講師 2012 年 5 月 19 日 天津工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書
2、 題目 進(jìn)銷存管理系統(tǒng) 學(xué)生姓名 劉鴿 學(xué)院名稱 計(jì)算機(jī)科學(xué)與軟件 專業(yè)班級 軟件技術(shù)0912 課題類型 開發(fā)設(shè)計(jì)類 課題意義 為了對企業(yè)大量復(fù)雜的貨品信息進(jìn)行信息化管理,盡力降低企業(yè)成本,加快企業(yè)發(fā)展,增加企業(yè)投資回報(bào),我們虛擬的為某公司開發(fā)一款跨平臺的信息化軟件。從企業(yè)的需求出發(fā),定制出更適合該企業(yè)的進(jìn)銷存軟件。于此同時(shí),開發(fā)本課題的目的更是為了將自己學(xué)過的知識進(jìn)行綜合應(yīng)用,提高自身的實(shí)踐能力和動(dòng)手能力,真正的做到學(xué)以致用。并從中吸取經(jīng)驗(yàn)教訓(xùn),對軟件的開發(fā)過程做進(jìn)一步和更深刻的了解。 任務(wù)與進(jìn)度要求 2012年3月 第三周:搜集資料,
3、確定題目。 第四周:通過各個(gè)方面,獲取收集需求。 2012年4月 第一周:進(jìn)行系統(tǒng)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)。 第二周:對進(jìn)貨管理模塊進(jìn)行詳細(xì)設(shè)計(jì)。 第三周:對庫存管理模塊進(jìn)行詳細(xì)設(shè)計(jì)。 第四周:對銷售管理模塊進(jìn)行詳細(xì)設(shè)計(jì)。 2012年5月 第一周:用代碼實(shí)現(xiàn)各個(gè)模塊。 第二周:進(jìn)行系統(tǒng)測試,編寫畢業(yè)設(shè)計(jì)論文 第三周:對論文進(jìn)行修改,最終定稿。 主要參考文獻(xiàn) 1.唐大仕,Java程序設(shè)計(jì).北京:清華大學(xué)出版社;北京交通大學(xué)出版社,2007.5. 2.張思民,Java語言程序設(shè)計(jì).北京:清華大學(xué)出版社,2012.1. 3.宋昆、李嚴(yán)等.SQL Server 數(shù)據(jù)庫開發(fā)實(shí)例解析.
4、北京:機(jī)械工業(yè)出版社,2006. 4.苗春義等,Java項(xiàng)目開發(fā)全程實(shí)錄.北京:清華大學(xué)出版社,2008.6. 5.美肯德爾等,系統(tǒng)分析與設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2010.4. 6.史濟(jì)民等,軟件工程.北京:高等教育出版社,2002.12. 起止日期 2012年3月12日-2012年5月19日 備注 院長 教研室主任 指導(dǎo)教師 畢業(yè)設(shè)計(jì)(論文)開題報(bào)告表 2012年3月12日 姓名 劉
5、鴿 學(xué)院 計(jì)算機(jī)科學(xué)與軟件 專業(yè) 軟件技術(shù) 班級 軟件專0912 題目 進(jìn)銷存管理系統(tǒng) 指導(dǎo)教師 王鶴 一、與本課題有關(guān)的國內(nèi)外研究情況、課題研究的主要內(nèi)容、目的和意義: 本課題國內(nèi)外研究情況: 中小企業(yè)在我國經(jīng)濟(jì)發(fā)展中具有重要地位,目前中小企業(yè)數(shù)量多,分布廣泛,行業(yè)分布跨度大。隨著全球經(jīng)濟(jì)一體化的發(fā)展和電子商務(wù)的興起,中小企業(yè)之間的競爭將越來越激烈。 課題研究的目的和意義: 為了對企業(yè)大量復(fù)雜的貨品信息進(jìn)行信息化管理,盡力降低企業(yè)成本,加快企業(yè)發(fā)展,增加企業(yè)投資回報(bào),我們虛擬的為某公司開發(fā)一款跨平臺的信息化軟件。從企業(yè)的需求出發(fā),定制出更適合該企業(yè)的
6、進(jìn)銷存軟件。于此同時(shí),開發(fā)本課題的目的更是為了將自己學(xué)過的知識進(jìn)行綜合應(yīng)用,提高自身的實(shí)踐能力和動(dòng)手能力,真正的做到學(xué)以致用。并從中吸取經(jīng)驗(yàn)教訓(xùn),對軟件的開發(fā)過程做進(jìn)一步和更深刻的了解。 本課題研究的內(nèi)容: 進(jìn)銷存管理系統(tǒng)是完成企業(yè)進(jìn)、銷、存一體化的信息化管理軟件。它主要包括六個(gè)基本模塊:基礎(chǔ)信息管理、進(jìn)貨管理、銷售管理、查詢統(tǒng)計(jì)、庫存管理、系統(tǒng)管理。 二、進(jìn)度及預(yù)期結(jié)果: 起止日期 主要內(nèi)容 預(yù)期結(jié)果 2012年3月 第三周:搜集資料,確定題目。 確定題目和開發(fā)語言、開發(fā)工具等。 第四周:通過各個(gè)方面,獲取收集需求。 確定功能需求,明確系統(tǒng)要做什么。 2012年4月
7、 第一周:進(jìn)行系統(tǒng)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)。 分析設(shè)計(jì)系統(tǒng)的實(shí)現(xiàn),創(chuàng)建數(shù)據(jù)庫。 第二周:對進(jìn)貨管理模塊進(jìn)行詳細(xì)設(shè)計(jì)。 設(shè)計(jì)該模塊實(shí)現(xiàn)算法和局部結(jié)構(gòu)。 第三周:對庫存管理模塊進(jìn)行詳細(xì)設(shè)計(jì)。 設(shè)計(jì)該模塊實(shí)現(xiàn)算法和局部結(jié)構(gòu)。 第四周:對銷售管理模塊進(jìn)行詳細(xì)設(shè)計(jì)。 設(shè)計(jì)該模塊實(shí)現(xiàn)算法和局部結(jié)構(gòu)。 2012年5月 第一周:用代碼實(shí)現(xiàn)各個(gè)模塊。 完成各個(gè)模塊的實(shí)現(xiàn)。 第二周:進(jìn)行系統(tǒng)測試,編寫畢業(yè)設(shè)計(jì)論文。 測試并修改系統(tǒng),使系統(tǒng)能達(dá)到預(yù)期功能,完成畢業(yè)設(shè)計(jì)初稿的編寫。 第三周:對論文進(jìn)行修改,最終定稿。 完成畢業(yè)設(shè)計(jì)。 完成課題的現(xiàn)有條件 計(jì)算機(jī)設(shè)備、SQL Server 2
8、005、java、Eclipse 審查意見 指導(dǎo)教師: 年 月 日 學(xué)院意見 主管領(lǐng)導(dǎo): 年 月 日 目 錄 前 言 1 第一章 進(jìn)銷存管理系統(tǒng)開發(fā)綜述 2 1.1 選題背景 2 1.2 課題的目的及意義 2 第二章 系統(tǒng)開發(fā)相關(guān)技術(shù) 3 2.1 軟硬件工作環(huán)境 3 2.2 系統(tǒng)開發(fā)相關(guān)技術(shù)簡介 3 第三章 系統(tǒng)分析 5 3.1 系統(tǒng)分析概述 5 3.2 可行性分析 5 3.3 系統(tǒng)功能模塊劃分 5 3.4 需
9、求分析分析 6 第四章 數(shù)據(jù)庫設(shè)計(jì) 7 4.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 7 4.2 數(shù)據(jù)庫邏輯設(shè)計(jì) 7 4.3 E-R圖 7 4.4 數(shù)據(jù)庫物理設(shè)計(jì) 8 第五章 詳細(xì)設(shè)計(jì) 9 5.1 設(shè)計(jì)主要內(nèi)容 9 5.2 進(jìn)貨管理模塊設(shè)計(jì) 10 5.3 庫存管理模塊設(shè)計(jì) 12 第六章 界面及代碼設(shè)計(jì) 14 6.1 進(jìn)貨管理模塊的實(shí)現(xiàn) 14 6.2 庫存管理模塊的實(shí)現(xiàn) 19 第七章 系統(tǒng)測試 24 7.1 系統(tǒng)測試的概念及方針 24 7.2 單元測試 24 7.3 測試結(jié)果 27 結(jié) 論 28 參考文獻(xiàn) 29 謝 辭 30 摘 要 據(jù)
10、國家對重點(diǎn)企業(yè)的調(diào)查分析,我國企業(yè)普遍存在信息化程度低,信息機(jī)構(gòu)不健全,信息化建設(shè)投入不足與建設(shè)成本過高,經(jīng)營管理中協(xié)作不充分的問題。從總體上看,存在地區(qū)不平衡,還較多停留在表面應(yīng)用層次上,沒有深入到企業(yè)的運(yùn)行、管理各個(gè)環(huán)節(jié)。 經(jīng)濟(jì)大環(huán)境的變化使得規(guī)模經(jīng)濟(jì)的優(yōu)勢不再突出。固定的硬設(shè)備、人員數(shù)量、大量資金等資源投入占企業(yè)效益的比重變少,而軟投入如管理、人力資源價(jià)值、服務(wù)、品牌附加值、渠道等要素資源的投入?yún)s能增加企業(yè)的效益。“速度沖擊規(guī)?!钡乃俣冉?jīng)濟(jì)概念已經(jīng)向企業(yè)提出。 那么對于日益發(fā)展壯大的企業(yè)集團(tuán),怎樣才能找到一套功能強(qiáng)大\可任意拓展、低運(yùn)行成本、安全可靠的管理解決方案,來跟上企業(yè)的發(fā)展
11、,跟上時(shí)代的發(fā)展呢? 對于大型企業(yè)來說,成長到一定規(guī)模實(shí)現(xiàn)信息化是自然的需求,而對于多數(shù)的中小企業(yè)來說,他們會在解決具體難題的過程中感受到信息化給企業(yè)帶來的改變,漸漸領(lǐng)悟到信息化可以幫助企業(yè)突破發(fā)展的瓶頸。但是無論是中小企業(yè)領(lǐng)導(dǎo)信息化意識的提高,IT人才的充實(shí),還是信息系統(tǒng)帶來的企業(yè)效益的顯露,往往需要一個(gè)過程。 我們認(rèn)為最好的辦法是利用Internet這個(gè)工具,架構(gòu)自己的供需鏈管理平臺,使無處不在的互聯(lián)網(wǎng)為你所用,實(shí)現(xiàn)無處不在的管理目標(biāo)。讓Internet像電一樣融入到企業(yè)的管理之中,提高企業(yè)在新經(jīng)濟(jì)時(shí)代的核心競爭力,通過對Internet的高效率使用,在激烈的市場競爭中,首先打贏第
12、一仗“信息戰(zhàn)”。正是基于對Internet的這種深刻認(rèn)識,針對中國企業(yè)特點(diǎn)提出了基于Internet的網(wǎng)絡(luò)商務(wù)管理解決方案——企業(yè)進(jìn)銷存管理系統(tǒng)。 關(guān)鍵字:企業(yè)進(jìn)銷存管理系統(tǒng);信息化建設(shè);管理平臺;經(jīng)濟(jì)時(shí)代 前 言 經(jīng)濟(jì)大環(huán)境的變化使得規(guī)模經(jīng)濟(jì)的優(yōu)勢不再突出。固定的硬設(shè)備、人員數(shù)量、大量資金等資源投入占企業(yè)效益的比重變少,而軟投入如管理、人力資源價(jià)值、服務(wù)、品牌附加值、渠道等要素資源的投入?yún)s能增加企業(yè)的效益?!八俣葲_擊規(guī)?!钡乃俣冉?jīng)濟(jì)概念已經(jīng)向企業(yè)提出。 加入WTO 之后,隨著國內(nèi)經(jīng)濟(jì)的高速發(fā)展,中小型的商品流通企業(yè)越來越多,其所經(jīng)營的商品種類繁多,難以管理
13、,而進(jìn)存銷管理系統(tǒng)逐漸成為企業(yè)經(jīng)營和管理的核心環(huán)節(jié),也是企業(yè)獲得效益的關(guān)鍵。 而且隨著信息時(shí)代的到來,企業(yè)的生存和競爭環(huán)境發(fā)生了根本性的變化。隨著經(jīng)濟(jì)全球化步伐的加快,面對國內(nèi)外眾多企業(yè)的各種競爭,企業(yè)需要盡快與國際接軌,尤其是實(shí)力不強(qiáng)的中小企業(yè)更需要運(yùn)用先進(jìn)的管理手段,提升企業(yè)的核心競爭能力。對于中小企業(yè)而言,信息化無論是作為戰(zhàn)略手段還是戰(zhàn)術(shù)手段,在企業(yè)經(jīng)營中發(fā)揮著舉足輕重的作用。為了完善管理制度增強(qiáng)企業(yè)競爭力,公司決定開發(fā)進(jìn)存銷管理系統(tǒng),以實(shí)現(xiàn)商品管理的信息化。 本課題是以中小企業(yè)為背景來研究中小企業(yè)進(jìn)銷存管理系統(tǒng),首先,簡述了中小企業(yè)的發(fā)展現(xiàn)狀及信息化的必要性;其次介紹了實(shí)現(xiàn)本系統(tǒng)
14、時(shí)所用到的相關(guān)技術(shù);然后提出了該進(jìn)銷存管理系統(tǒng)的業(yè)務(wù)和數(shù)據(jù)流程及各個(gè)功能模塊的組成;最后指出系統(tǒng)的具體設(shè)計(jì)和實(shí)現(xiàn)過程。 第一章 進(jìn)銷存管理系統(tǒng)開發(fā)綜述 1.1 選題背景 中小企業(yè)在我國經(jīng)濟(jì)發(fā)展中具有重要地位,目前中小企業(yè)數(shù)量多,分布廣泛,行業(yè)分布跨度大。隨著全球經(jīng)濟(jì)一體化的發(fā)展和電子商務(wù)的興起,中小企業(yè)之間的競爭將越來越激烈。網(wǎng)絡(luò)及電子商務(wù)的迅猛發(fā)展突破了時(shí)間、空間的局限性,給中小企業(yè)帶來了更多的發(fā)展機(jī)會,同時(shí)也增大了企業(yè)之間的競爭強(qiáng)度。這就要求中小企業(yè)必須改變企業(yè)的經(jīng)營管理模式,提高企業(yè)的運(yùn)營效率。目前,我國中小企業(yè)的信息化水平還很低,相比國外企業(yè),還只處于剛開始始
15、用的階段。隨著技術(shù)發(fā)展,電腦操作及管理日趨簡化,電腦知識日趨普及,同時(shí)市場經(jīng)濟(jì)快速多變,競爭激烈,企業(yè)采用電腦管理進(jìn)貨、庫存、銷售等諸多環(huán)節(jié)也已成為趨勢及必然。 1.2 選題的目的及意義 進(jìn)銷存管理系統(tǒng)是一個(gè)基于Internet的應(yīng)用系統(tǒng),它是一個(gè)面對當(dāng)前的進(jìn)銷存管理工作基本還處于手工和半信息自動(dòng)化處理狀態(tài)而應(yīng)運(yùn)而生的一個(gè)基于Internet的一個(gè)完全信息自動(dòng)化的系統(tǒng),整個(gè)系統(tǒng)從符合操作簡便、界面友好、靈活、實(shí)用、安全的要求出發(fā),完成進(jìn)貨、銷售、庫存管理的全過程。 企業(yè)單位只需具備訪問Internet的條件即可在系統(tǒng)發(fā)布的站點(diǎn)上進(jìn)行進(jìn)銷存的管理。在圖型化的人機(jī)界面中完成日常的進(jìn)銷存管理工
16、作.一方面擺脫了時(shí)間和空間的限制,另一方面有效的解決的數(shù)據(jù)共享的問題。 經(jīng)過實(shí)際使用證明,本文所設(shè)計(jì)的企業(yè)進(jìn)銷存管理系統(tǒng)可以滿足企業(yè)進(jìn)貨、銷售管理方面的需要。 第二章 系統(tǒng)開發(fā)相關(guān)技術(shù) 2.1 系統(tǒng)軟件及開發(fā)平臺 硬件平臺: CPU : P4 3.2GHz。 內(nèi)存 : 512MB以上。 硬盤空間:80GB。 軟件平臺: 操作系統(tǒng): Windows XP。 數(shù)據(jù)庫:SQL Server 2005。 開發(fā)工具包:JDK 1.6、eclipse 2.2 應(yīng)用技術(shù)簡介 1. java簡介 Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦?/p>
17、設(shè)計(jì)語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。 Java 不同于一般的編譯執(zhí)行計(jì)算機(jī)語言和解釋執(zhí)行計(jì)算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了“一次編譯、到處
18、執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的運(yùn)行效率。但在 J2SE 1.4.2 發(fā)布后,Java 的執(zhí)行速度有了大幅提升。 2 java swing簡介 Swing是一個(gè)用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。Swing開發(fā)人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。 工具包中所有的包都是以swing作為名稱,例如javax.swing,javax.swing.event 用Swing創(chuàng)建圖形界面
19、步驟: (1) 導(dǎo)入Swing包 (2) 選擇界面風(fēng)格 (3) 設(shè)置頂層容器 (4) 設(shè)置按鈕和標(biāo)簽 (5) 將組件放到容器上 (6) 為組件增加邊框 (7) 處理事件 (8) 輔助技術(shù)支持 3. SQL Server 2005簡介 SQL Server 2005是數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個(gè)OS/2 版本。Microsoft SQL Server是一種基于客戶機(jī)/服務(wù)器的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),用來對存放在計(jì)算機(jī)中的數(shù)據(jù)庫進(jìn)行組織、管理
20、和檢索,它使用Transact-SQL語言在服務(wù)器和客戶之間傳送請求。 SQL Server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)庫應(yīng)用程序。此外,應(yīng)用SQL Server 2005可通過記分卡、Dashboard、Web services和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域。 4. Eclipse簡介 Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用java語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺,但是
21、眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。 Eclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE,提供了一個(gè)通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運(yùn)行
22、集成軟件開發(fā)環(huán)境的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。 第三章 需求分析 3.1系統(tǒng)分析概述 系統(tǒng)分析的主要任務(wù)是將在系統(tǒng)詳細(xì)調(diào)查中所得到的文檔資料集中到一起,對組織內(nèi)部整體管理狀況和信息處理過程經(jīng)性分析。它側(cè)重于從業(yè)務(wù)全過程的角度進(jìn)行分析。分析的主要內(nèi)容是:業(yè)務(wù)和數(shù)據(jù)的流程是否流暢,熱否合理;數(shù)據(jù)、業(yè)務(wù)過程和實(shí)現(xiàn)管理功能之間的關(guān)系;老系統(tǒng)管理模式改革和新系統(tǒng)管理方法的實(shí)現(xiàn)是否具有可行性等等。系統(tǒng)分析的目的是將用戶的需求及其解決方法確定下來,這些需要確定的結(jié)果
23、包括:開發(fā)者關(guān)于現(xiàn)有組織管理狀況的了解;用戶對信息系統(tǒng)功能的需求;數(shù)據(jù)和業(yè)務(wù)流程;管理功能和管理數(shù)據(jù)指標(biāo)體系;新系統(tǒng)擬改動(dòng)和新增的管理模式等等。系統(tǒng)分析所確定的內(nèi)容是今后系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。 3.2 可行性分析 通過計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)對企業(yè)進(jìn)行全面的管理,滿足了企業(yè)的現(xiàn)代化管理的要求。 1. 經(jīng)濟(jì)可行性 企業(yè)營運(yùn)過程中信息的系統(tǒng)化管理,權(quán)威的數(shù)據(jù)統(tǒng)計(jì),為企業(yè)的經(jīng)營決策提供了大量的、權(quán)威的科學(xué)依據(jù)(數(shù)據(jù));強(qiáng)大的賬單結(jié)功能,簡化了員工的日常工作,提高了工作效率,避免了人工管理過程中數(shù)據(jù)易錯(cuò)所帶來的一系列的連鎖反映,提高企業(yè)的經(jīng)濟(jì)效益。 2. 技術(shù)可行性 實(shí)際情況下,在高系統(tǒng)配置、高
24、網(wǎng)絡(luò)帶寬服務(wù),各個(gè)級別管理員很容易通過網(wǎng)站對其操作范圍內(nèi)的系統(tǒng)內(nèi)容信息進(jìn)行操作管理,完全滿足日常經(jīng)營、管理的要求。 3. 社會可行性 該系統(tǒng)符合現(xiàn)有法律、法規(guī)和政策方面的限制,沒違背當(dāng)今社會的道德標(biāo)準(zhǔn),社會可行性通過。 4. 結(jié)論 綜上所述,通過技術(shù)可行性,經(jīng)濟(jì)可行性,社會可行性分析,本系統(tǒng)的開發(fā)是可行的。 3.3 需求分析 進(jìn)銷存管理系統(tǒng)是基于先進(jìn)的軟件和高速、大容量的硬件基礎(chǔ)上的新型進(jìn)銷存管理模式,通過集中式的信息數(shù)據(jù)庫,將企業(yè)的進(jìn)、銷、調(diào)、存、轉(zhuǎn)、賺等企業(yè)的經(jīng)營業(yè)務(wù)有同地結(jié)合起來,達(dá)到數(shù)據(jù)共享、降低成本、提高效率、改進(jìn)服務(wù)等目的。一般來說,進(jìn)銷存管理系統(tǒng)需要有如下要求: 系
25、統(tǒng)操作簡單,界面友好。 規(guī)范、完善的基礎(chǔ)信息設(shè)置。 支持多人操作,要求有權(quán)限分配功能。 為了方便用戶,要求系統(tǒng)支持多條件查詢。 對銷售信息提供銷售排行。 支持銷售退貨和入庫退貨功能。 批量填寫進(jìn)貨單及銷售單。 支持庫存價(jià)格調(diào)整功能。 當(dāng)外界環(huán)境干擾本系統(tǒng)時(shí),系統(tǒng)可以自動(dòng)保護(hù)原始數(shù)據(jù)的安全。 3.4 系統(tǒng)功能模塊劃分 根據(jù)以上對進(jìn)銷存管理系統(tǒng)的分析,并且通過與公司的溝通與需求分析,一個(gè)標(biāo)準(zhǔn)的進(jìn)銷存管理系統(tǒng)應(yīng)該包括如下圖3-1企業(yè)進(jìn)銷存管理系統(tǒng)功能結(jié)構(gòu)圖所示的幾大功能。 圖3-1 企業(yè)進(jìn)銷存管理系統(tǒng)功能結(jié)構(gòu)圖 第四章 數(shù)據(jù)庫設(shè)計(jì) 4.1 數(shù)據(jù)庫分析 本系統(tǒng)
26、是一個(gè)桌面應(yīng)用程序,它可以直接在本地計(jì)算機(jī)運(yùn)行,而不需要像web應(yīng)用那樣部署到指定的服務(wù)器中,所以這個(gè)進(jìn)銷存管理系統(tǒng)在本地計(jì)算機(jī)安裝了SQL Server 2005數(shù)據(jù)服務(wù)器,將數(shù)據(jù)庫和應(yīng)用程序放在同一個(gè)計(jì)算機(jī)中,可以節(jié)省開銷、提升系統(tǒng)安全性。 4.2 數(shù)據(jù)庫邏輯設(shè)計(jì) 邏輯設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)庫的邏輯結(jié)構(gòu),與具體的數(shù)據(jù)庫管理系統(tǒng)(Database Management System, DBMS)DBMS無關(guān),主要反映業(yè)務(wù)邏輯。 在我實(shí)現(xiàn)模塊中主要用到了以下幾個(gè)表: 1. 入庫商品信息主表(入庫編號,品種數(shù),驗(yàn)收結(jié)論,供應(yīng)商名稱,入庫日期,操作員,經(jīng)手人,交易方式) 2. 入庫商品信息詳細(xì)表
27、(編號,入庫編號,商品編號,單價(jià),數(shù)量) 3. 庫存表(編號,商品名稱,簡稱,產(chǎn)地,規(guī)格,包裝,單位,庫存數(shù)量,單價(jià)) 4.3 E-R圖 N N N 1 1 供應(yīng)商 商品 庫存 客戶 入庫主表 入庫詳細(xì)表 銷售主表 銷售詳細(xì)表 提供 進(jìn)貨 銷售 1 N 1 N 1 圖4-1 庫存管理E-R圖 4.4 數(shù)據(jù)庫物理設(shè)計(jì) 表4-2 入庫商品信息主表 字段名稱 數(shù)據(jù)類型 主鍵 允許為空 描述 rkID Varchar(30) 是 否 入庫編號 p
28、zs int 否 否 品種數(shù) ysjl Varchar(50) 否 否 驗(yàn)收結(jié)論 gysname varchar(100) 否 否 供應(yīng)商名稱 rkdate datetime 否 否 入庫日期 czy varchar(30) 否 否 操作員 jsr varchar(30) 否 否 經(jīng)手人 jsfs varchar(30) 否 否 交易方式 表4-3 入庫商品信息詳細(xì)表 字段名稱 數(shù)據(jù)類型 主鍵 允許為空 描述 id int 是 否 編號 rkID Varchar(30) 否 是 入庫編號
29、spid Varchar(50) 否 是 商品編號 dj money 否 是 單價(jià) sl int 否 是 數(shù)量 表4-4 庫存表 字段名稱 數(shù)據(jù)類型 主鍵 允許為空 描述 id Varchar(30) 是 否 編號 spname Varchar(50) 否 是 商品名稱 jc Varchar(25) 否 是 簡稱 cd varchar(50) 否 是 產(chǎn)地 gg varchar(50) 否 是 規(guī)格 bz varchar(50) 否 是 包裝 dw varchar(10) 否 是
30、單位 kcsl int 否 是 庫存數(shù)量 dj money 否 是 單價(jià) 第五章 詳細(xì)設(shè)計(jì) 5.1 設(shè)計(jì)主要內(nèi)容 進(jìn)銷存管理系統(tǒng)由基礎(chǔ)信息模塊、進(jìn)貨管理模塊、庫存管理模塊、銷售管理模塊、查詢統(tǒng)計(jì)模塊、系統(tǒng)管理模塊等部分組成,規(guī)劃系統(tǒng)功能模塊如下: 1. 基礎(chǔ)信息模塊 該模塊主要包括商品信息管理、客戶信息管理、供應(yīng)商信息管理。它們分別維護(hù)(添加、修改、刪除)商品信息、客戶信息、供應(yīng)商信息。商品信息維護(hù)內(nèi)容包括商品名稱、簡稱、產(chǎn)地、單位、包裝、批準(zhǔn)文號、供應(yīng)商全稱和備注??蛻粜畔⒕S護(hù)內(nèi)容主要包括客戶全稱、客戶地址、客戶簡稱、郵政編碼、電話、開戶銀行、聯(lián)系電
31、話等。供應(yīng)商信息維護(hù)內(nèi)容主要包括供應(yīng)商全稱、簡稱、地址、電話、聯(lián)系人、開戶銀行等。 2. 進(jìn)貨管理模塊 該模塊主要實(shí)現(xiàn)進(jìn)貨信息的錄入和退貨信息保存的流程。這里記錄了經(jīng)手人和驗(yàn)收結(jié)論之后,就能在和本企業(yè)有聯(lián)系的供應(yīng)商那里進(jìn)貨和退貨,進(jìn)貨時(shí)自己填寫進(jìn)貨的單價(jià)和數(shù)量,系統(tǒng)自動(dòng)會計(jì)算商品的總金額,完成商品的入庫過程。 3. 庫存管理模塊 該模塊可以盤點(diǎn)庫存商品信息,和調(diào)整庫存商品的價(jià)格。 4. 銷售管理模塊 該模塊主要記錄商品的銷售和退貨過程。記錄了經(jīng)手人和驗(yàn)收結(jié)論之后,就可以將商品銷售給其他公司,而且如果由于某些原因如果其他企業(yè)需要對商品進(jìn)行退貨的話,這一步操作也是必不可少的。 5.
32、查詢統(tǒng)計(jì)模塊 該模塊可以對客戶信息、商品信息和供應(yīng)商的信息進(jìn)行查詢,而且可以對記錄的銷售及銷售退貨情況、進(jìn)貨及進(jìn)貨退貨情況和銷售量進(jìn)行查詢。 6. 系統(tǒng)管理模塊 該模塊中一般操作員可以修改自己的密碼。對于管理員,既可以修改自己的密碼,又可以對操作員用戶進(jìn)行修改、刪除、添加和權(quán)限的管理。 為了使人能更清楚系統(tǒng)的流程,便于交流,特別繪制了系統(tǒng)業(yè)務(wù)流程圖。如下圖5-1所示 圖5-1 系統(tǒng)流程圖 5.2進(jìn)貨管理模塊設(shè)計(jì) 進(jìn)貨管理模塊式進(jìn)銷存管理系統(tǒng)中不可缺少的重要組成部分,它主要負(fù)責(zé)系統(tǒng)記錄單及其退貨信息,相應(yīng)的進(jìn)貨商品會添加到庫存管理中。 5.2.1 進(jìn)貨管理模
33、塊概述 企業(yè)進(jìn)銷存管理系統(tǒng)中的進(jìn)貨管理模塊主要包括進(jìn)貨單和進(jìn)貨退貨兩個(gè)部分。由于它們的實(shí)現(xiàn)方法基本相似,本節(jié)將以進(jìn)貨單功能為主,介紹進(jìn)貨管理模塊對本系統(tǒng)的意義和實(shí)現(xiàn)的業(yè)務(wù)邏輯。 1. 進(jìn)貨單 進(jìn)貨單功能主要負(fù)責(zé)記錄企業(yè)的商品進(jìn)貨信息,可以單擊“添加”按鈕,在商品表中添加進(jìn)貨的商品信息。在“供應(yīng)商”下拉列表中選擇不同的供應(yīng)商,將會改變商品表中可以添加的商品。進(jìn)貨單的程序界面如圖5-2 所示。 圖5-2 進(jìn)貨單 2. 進(jìn)貨退貨 進(jìn)貨退貨功能主要負(fù)責(zé)記錄進(jìn)貨管理中的退貨信息,界面效果如圖 5-3 所示。在選擇了退貨的商品之后,單擊“退貨”按鈕,將表格中的商品退貨信息更
34、新到數(shù)據(jù)庫中。 圖5-3 進(jìn)貨退貨 5.2.2 進(jìn)貨管理模塊技術(shù)分析 進(jìn)貨管理模塊使用JDBC 實(shí)現(xiàn)事務(wù)操作,因?yàn)檫M(jìn)貨和退貨的業(yè)務(wù)邏輯涉及到3個(gè)數(shù)據(jù)表,tb_ruku_main、tb_ruku_detail、tb_kucum。為保證數(shù)據(jù)的完整性,將3個(gè)數(shù)據(jù)表的操作放在事務(wù)中實(shí)現(xiàn),如果對任何一個(gè)數(shù)據(jù)表的操作出現(xiàn)錯(cuò)誤或是不可執(zhí)行的操作,那么整個(gè)事務(wù)中的所有操作都將取消,并恢復(fù)到事務(wù)執(zhí)行之前的數(shù)據(jù)狀態(tài);否則3個(gè)數(shù)據(jù)表的操作全部執(zhí)行。下面介紹使用JDBC實(shí)現(xiàn)事務(wù)操作的關(guān)鍵方法。 1. setAutoCommit()方法 該方法用于設(shè)置連接對象的自動(dòng)提交模式。如果連接處對象的自
35、動(dòng)提交模式為 True,則它的所有SQL 語句將被執(zhí)行并作為單個(gè)事務(wù)提交; 否則,該連接對象的SQL語句將聚集到事務(wù)中,直到調(diào)用commit()方法或rollback()方法為止。默認(rèn)情況下,新連接的自動(dòng)提交模式為True。 語法:Void setAutoCommit(boolean autoCommit) autoCommit: 該參數(shù)為True 表示啟用連接對象的自動(dòng)提交模式;為False表示禁用連接對象的自動(dòng)提交模式。 2. getAutoCommit()方法 判斷此連接對象是否啟用了自動(dòng)提交模式。 語法:Boolean getAutoCommit() 3. commit(
36、)方法 該方法將執(zhí)行提交SQL語句執(zhí)行數(shù)據(jù)庫操作,并釋放此連接對象當(dāng)前持有的所有數(shù)據(jù)庫鎖。此方法只在禁用自動(dòng)提交模式情況下使用。 語法:Void commit() 4. Rollback() 方法 該方法將取消在當(dāng)前事務(wù)中進(jìn)行的所有更改,并釋放此連接對象當(dāng)前持有的所有數(shù)據(jù)庫鎖。此方法只在禁用自動(dòng)提交模式情況下使用。 Void rollback() 5.3庫存管理模塊設(shè)計(jì) 5.3.1 庫存管理模塊概述 企業(yè)進(jìn)銷存管理系統(tǒng)中的庫存管理模塊包括庫存盤點(diǎn)和價(jià)格調(diào)整兩個(gè)功能。本節(jié)將以價(jià)格調(diào)整功能為主,介紹庫存管理模塊對本系統(tǒng)的意義和實(shí)現(xiàn)的業(yè)務(wù)邏輯。 1. 庫存盤點(diǎn) 庫存盤點(diǎn)功能主要
37、用于顯示現(xiàn)有庫存情況。程序界面如圖5-4所示。 圖5-4 庫存盤點(diǎn) 2. 價(jià)格調(diào)整 價(jià)格調(diào)整功能主要用于調(diào)整庫存中指定商品的單價(jià),當(dāng)用戶選擇了指定的商品,價(jià)格調(diào)整功能的界面會顯示該商品在庫存中的單價(jià)、庫存數(shù)量、庫存金額、單位、產(chǎn)地等信息。程序界面如圖5-5所示。用戶可以修改商品價(jià)格并單擊“確定”按鈕,調(diào)整商品在庫存中的單價(jià)。 圖5-5 價(jià)格調(diào)整 5.3.2 庫存管理模塊技術(shù)分析 企業(yè)進(jìn)銷存管理系統(tǒng)中的庫存管理模塊包括庫存盤點(diǎn)和價(jià)格調(diào)整兩個(gè)功能,其中庫存盤點(diǎn)涉及的技術(shù)比較簡單,它將庫存信息顯示在表格中,由操作員輸入盤點(diǎn)的商品數(shù)量,最后程序自動(dòng)計(jì)算損益值。價(jià)格調(diào)
38、整功能涉及下拉列表礦的選擇事件監(jiān)聽和事件處理技術(shù),這在使用Java Swing 技術(shù)進(jìn)行程序開發(fā)的過程中,非常重要。為防止用戶的錯(cuò)誤輸入,程序界面經(jīng)常需要將可枚舉的輸入內(nèi)容封裝在下拉列表框中,限制用戶的輸入。但是,要知曉下拉列表框的改變,還需要為下拉列表框添加相應(yīng)的事件監(jiān)聽器。價(jià)格調(diào)整使用的數(shù)據(jù)表為tb_kucun。下面就來介紹一下相關(guān)的語法。 addItemListener()方法可以為下拉列表框添加ItemListener 監(jiān)聽器。當(dāng)更改下拉列表框中的選項(xiàng)時(shí),將產(chǎn)生相應(yīng)的事件,這個(gè)事件會被添加的ItemListener 監(jiān)聽器捕獲,并處理相應(yīng)的業(yè)務(wù)邏輯。 語法:Pubic void a
39、ddItemListener(ItemListener aListener) 參數(shù):aListener : 要通知的 ItemListener 監(jiān)聽器 第六章 界面及代碼設(shè)計(jì) 6.1 進(jìn)貨管理模塊實(shí)現(xiàn) 企業(yè)進(jìn)貨管理模塊是進(jìn)銷存系統(tǒng)中不可缺少的重要組成部分,它主要負(fù)責(zé)為系統(tǒng)記錄進(jìn)貨單及其退貨信息,相應(yīng)的進(jìn)貨商品會添加到庫存管理中。 1. 進(jìn)貨單功能的實(shí)現(xiàn) 圖6-1 進(jìn)貨單 private void initTable() { // 初始化表格 String[] columnNames = {"商品名稱", "商品編號", "產(chǎn)地",
40、 "單位", "規(guī)格", "包裝", "單價(jià)","數(shù)量", "批號", "批準(zhǔn)文號"}; ((DefaultTableModel)table.getModel()).setColumnIdentifiers(columnNames); TableColumn column = table.getColumnModel().getColumn(0); final DefaultCellEditor editor = new DefaultCellEditor(sp); editor.setClickCountToStart(2); column.setCellEdit
41、or(editor); } private void initspBox() { // 初始化商品下拉選擇框 List list = new ArrayList(); ResultSet set = Dao.query("select * from tb_spinfo where gysName='" + gys.getSelectedItem() + "'"); sp.removeAllItems(); sp.addItem(new TbSpinfo()); for (int i = 0; table != null && i < t
42、able.getRowCount(); i++) { TbSpinfo tmpInfo = (TbSpinfo) table.getValueAt(i, 0); if (tmpInfo != null && tmpInfo.getId() != null) list.add(tmpInfo.getId()); } try { while (set.next()) { TbSpinfo spinfo = new TbSpinfo(); spinfo.setId(set.getString("id").trim()); /
43、/ 如果表格中以存在同樣商品,商品下拉框中就不再包含該商品 if (list.contains(spinfo.getId())) continue; spinfo.setSpname(set.getString("spname").trim()); spinfo.setCd(set.getString("cd").trim()); spinfo.setJc(set.getString("jc").trim()); spinfo.setDw(set.getString("dw").trim()); spinfo.setGg(s
44、et.getString("gg").trim()); spinfo.setBz(set.getString("bz").trim()); spinfo.setPh(set.getString("ph").trim()); spinfo.setPzwh(set.getString("pzwh").trim()); spinfo.setMemo(set.getString("memo").trim()); spinfo.setGysname(set.getString("gysname").trim()); sp.addItem(spi
45、nfo); } } catch (SQLException e) { e.printStackTrace(); } } class RkActionListener implements ActionListener {// 入庫按鈕的事件監(jiān)聽器 public void actionPerformed(ActionEvent e) {// 結(jié)束表格中沒有編寫的單元 stopTableCellEditing(); clearEmptyRow();// 清除空行 String hpzsStr = hpzs.getText(); //
46、貨品總數(shù) String pzsStr = pzs.getText(); // 品種數(shù) String jeStr = hjje.getText(); // 合計(jì)金額 String jsfsStr = jsfs.getSelectedItem().toString(); // 結(jié)算方式 String jsrStr = jsr.getText().trim(); // 經(jīng)手人 String czyStr = czy.getText(); // 操作員 String rkDate = jhsjDate.toLocaleString(); // 入庫時(shí)間
47、 String ysjlStr = ysjl.getText().trim(); // 驗(yàn)收結(jié)論 String id = piaoHao.getText(); // 票號 String gysName = gys.getSelectedItem().toString();// 供應(yīng)商名字 if (jsrStr == null || jsrStr.isEmpty()) { JOptionPane.showMessageDialog(JinHuoDan.this, "請?zhí)顚懡?jīng)手人"); return; } if (ysjlStr ==
48、 null || ysjlStr.isEmpty()) { JOptionPane.showMessageDialog(JinHuoDan.this, "填寫驗(yàn)收結(jié)論"); return; } if (table.getRowCount() <= 0) { JOptionPane.showMessageDialog(JinHuoDan.this, "填加入庫商品"); return; } TbRukuMain ruMain = new TbRukuMain(id, pzsStr, jeStr, ysjlStr, g
49、ysName, rkDate, czyStr, jsrStr, jsfsStr);
Set
50、= (String) table.getValueAt(i, 7); Double dj = Double.valueOf(djStr); Integer sl = Integer.valueOf(slStr); TbRukuDetail detail = new TbRukuDetail(); detail.setTabSpinfo(spinfo.getId()); detail.setTabRukuMain(ruMain.getRkId()); detail.setDj(dj); detail.setSl(sl);
51、 set.add(detail); } boolean rs = Dao.insertRukuInfo(ruMain); if (rs) { JOptionPane.showMessageDialog(JinHuoDan.this, "入庫完成"); DefaultTableModel dftm = new DefaultTableModel(); table.setModel(dftm); initTable(); pzs.setText("0"); hpzs.setText("0"); hjj
52、e.setText("0"); } } } 2. 進(jìn)貨退貨功能的實(shí)現(xiàn) 圖6-2 進(jìn)貨退貨 gys.addActionListener(new ActionListener() {// 供應(yīng)商下拉選擇框的選擇事件 public void actionPerformed(ActionEvent e) { doGysSelectAction(); } private void doGysSelectAction() {// 供應(yīng)商選擇時(shí)更新聯(lián)系人字段 Item item = (Item) gys.getSelectItem();
53、 TbGysinfo gysInfo = Dao.getGysInfo(item); lian.setText(gysInfo.getLian()); } JButton rkButton = new JButton("退貨");// 單擊退貨按鈕保存退貨信息 rkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { stopTableCellEditing();// 結(jié)束表格中沒有編寫的單元 clearEmpt
54、yRow();// 清除空行 String hpzsStr = hpzs.getText(); // 貨品總數(shù) String pzsStr = pzs.getText(); // 品種數(shù) String jeStr = hjje.getText(); // 合計(jì)金額 String jsfsStr = jsfs.getSelectedItem().toString(); // 結(jié)算方式 String jsrStr = jsr.getText().trim(); // 經(jīng)手人 String czyStr = czy.getText(); //
55、操作員 String rkDate = jhsjDate.toLocaleString(); // 入庫時(shí)間 String ysjlStr = ysjl.getText().trim(); // 驗(yàn)收結(jié)論 String id = piaoHao.getText(); // 票號 String gysName = gys.getSelectedItem().toString();// 供應(yīng)商名字 if (jsrStr == null || jsrStr.isEmpty()) { JOptionPane.showMessageDialog(JinH
56、uoTuiHuo.this, "請?zhí)顚懡?jīng)手人"); return; } if (ysjlStr == null || ysjlStr.isEmpty()) { JOptionPane.showMessageDialog(JinHuoTuiHuo.this, "填寫驗(yàn)收結(jié)論"); return; } if (table.getRowCount() <= 0) { JOptionPane.showMessageDialog(JinHuoTuiHuo.this, "填加退貨商品"); return; }
57、 TbRkthMain rkthMain = new TbRkthMain(id, pzsStr, jeStr, ysjlStr,
gysName, rkDate, czyStr, jsrStr, jsfsStr);
Set
58、 0); String djStr = (String) table.getValueAt(i, 6); String slStr = (String) table.getValueAt(i, 7); Double dj = Double.valueOf(djStr); Integer sl = Integer.valueOf(slStr); TbRkthDetail detail = new TbRkthDetail(); detail.setSpid(kucun.getId()); detail.setTb
59、RkthMain(rkthMain.getRkthId()); detail.setDj(dj); detail.setSl(sl); set.add(detail); } boolean rs = Dao.insertRkthInfo(rkthMain); if (rs) { JOptionPane.showMessageDialog(JinHuoTuiHuo.this, "退貨完成"); DefaultTableModel dftm = new DefaultTableModel(); tabl
60、e.setModel(dftm); initTable(); pzs.setText("0"); hpzs.setText("0"); hjje.setText("0"); } } 6.2 庫存管理模塊實(shí)現(xiàn) 1.庫存盤點(diǎn)功能的實(shí)現(xiàn) 圖6-3 庫存盤點(diǎn) private void initTable() {// 初始化表格 String[] columnNames = {"商品名稱", "商品編號", "供應(yīng)商", "產(chǎn)地", "單位", "規(guī)格", "單價(jià)","數(shù)量", "包裝", "盤點(diǎn)數(shù)量", "損益數(shù)量
61、"}; DefaultTableModel tableModel = (DefaultTableModel) table.getModel(); tableModel.setColumnIdentifiers(columnNames); final JTextField pdField = new JTextField(0); // 設(shè)置盤點(diǎn)字段只接收數(shù)字輸入 pdField.setEditable(false); pdField.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent
62、e) { if (("" + (char) 8).indexOf(e.getKeyChar() + "") < 0) { e.consume(); } pdField.setEditable(true); } public void keyReleased(KeyEvent e) { String pdStr = pdField.getText(); String kcStr = "0"; int row = table.getSelectedRow(); if (row >= 0) {
63、 kcStr = (String) table.getValueAt(row, 7); } try { int pdNum = Integer.parseInt(pdStr); int kcNum = Integer.parseInt(kcStr); if (row >= 0) { table.setValueAt(kcNum - pdNum, row, 10); } if (e.getKeyChar() != 8) pdField.setEditable(false); }
64、 catch (NumberFormatException e1) { pdField.setText("0"); } } }); JTextField readOnlyField = new JTextField(0); readOnlyField.setEditable(false); DefaultCellEditor pdEditor = new DefaultCellEditor(pdField); DefaultCellEditor readOnlyEditor = new DefaultCellEditor(readOn
65、lyField); List kcInfos = Dao.getKucunInfos();// 初始化表格內(nèi)容 for (int i = 0; i < kcInfos.size(); i++) { List info = (List) kcInfos.get(i); Item item = new Item(); item.setId((String) info.get(0)); item.setName((String) info.get(1)); TbSpinfo spinfo = Dao.getSpInfo(item); Obj
66、ect[] row = new Object[columnNames.length]; if (spinfo.getId() != null && !spinfo.getId().isEmpty()) { row[0] = spinfo.getSpname(); row[1] = spinfo.getId(); row[2] = spinfo.getGysname(); row[3] = spinfo.getCd(); row[4] = spinfo.getDw(); row[5] = spinfo.getGg(); row[6] = info.get(2).toString(); row[7] = info.get(3).toString(); row[8] = spinfo.getBz(); row[9] = 0; row[10] = 0; tableModel.addRow(row); String pzsStr = pzs.getText()
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。