• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      多功能進(jìn)銷存管理系統(tǒng)

      2014-10-21 12:55查全有王鵬飛覃章健
      電子世界 2014年23期
      關(guān)鍵詞:數(shù)據(jù)庫

      查全有 王鵬飛 覃章健

      【摘要】結(jié)合進(jìn)銷存管理系統(tǒng)的實(shí)際需求,利用Java Swing技術(shù)和Microsoft SQL Server 2005數(shù)據(jù)庫開發(fā),實(shí)現(xiàn)了進(jìn)貨、銷售、庫存等各項(xiàng)業(yè)務(wù)的動(dòng)態(tài)管理過程,功能上充分體現(xiàn)系統(tǒng)的完整性,極大地提高了管理水平和工作效率,本文主要介紹了多功能進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)過程和實(shí)現(xiàn)方法。

      【關(guān)鍵詞】Java;進(jìn)銷存管理;數(shù)據(jù)庫

      Abstract:Combined with the actual demand of Invoicing management system,using Java Swing technology and the Microsoft SQL Server 2005 database development,achieved the dynamic management process of purchase,sales,inventory and other business,fully embodied the integrity of the system function,greatly improved the management level and work efficiency,this article mainly introduced the multi-functional Invoicing management system of the design process and implementation method.

      Key words:Java;invoicing management;database

      1.引言

      隨著社會(huì)經(jīng)濟(jì)和科技的不斷發(fā)展,各種經(jīng)營模式層出不窮,銷售的渠道、方式也愈趨于多樣化,企業(yè)之間的競爭激烈。為提高企業(yè)自身的競爭力,滿足其對(duì)于商品管理上多樣化的需求,多功能進(jìn)銷存管理系統(tǒng)正是在這樣的背景下而開發(fā)的管理軟件。本文針對(duì)于一個(gè)實(shí)體兼虛擬銷售模式的商店的實(shí)際需求,實(shí)現(xiàn)了其進(jìn)貨管理、銷售管理、庫存管理、查詢統(tǒng)計(jì)、系統(tǒng)管理等方面的功能。管理系統(tǒng)是一個(gè)信息化、智能化和先進(jìn)管理理念的集合體,帶來的經(jīng)濟(jì)效益是簡捷的,其最主要的表現(xiàn)就是減少了管理費(fèi)用和人力的開支,節(jié)省了大量的時(shí)間,為管理者的各項(xiàng)決策提供了寶貴的資料,帶來巨大的經(jīng)濟(jì)效益。

      2.系統(tǒng)設(shè)計(jì)

      本系統(tǒng)對(duì)商品的采購、銷售、庫存等運(yùn)作流程實(shí)現(xiàn)了動(dòng)態(tài)的管理,使得管理員能夠及時(shí)的掌握公司的時(shí)機(jī)運(yùn)作狀況、合理做出戰(zhàn)略決策,提高了公司的工作效率。

      系統(tǒng)要求實(shí)現(xiàn):基本信息管理、進(jìn)貨管理、銷售管理、庫存管理、查詢統(tǒng)計(jì)、系統(tǒng)管理、數(shù)據(jù)庫管理、數(shù)據(jù)庫備份、恢復(fù)等管理功能。支持如下要求:

      進(jìn)貨管理:將到貨商品錄入到該模塊,可根據(jù)商品資料中設(shè)置的最高庫存、最低庫存及當(dāng)前庫存情況和銷售情況,制定進(jìn)貨計(jì)劃,可以避免盲目進(jìn)貨造成的商品積壓,按計(jì)劃單有選擇的進(jìn)行入庫登記。綜合查詢打印計(jì)劃進(jìn)貨與入庫記錄及金額。

      銷售管理:將銷售信息錄入到該模塊,實(shí)現(xiàn)商品出庫。商品正常銷售、促銷與限量、限期及禁止銷售控制。綜合查詢各種銷售明細(xì)記錄、交結(jié)賬情況,按照多種方式統(tǒng)計(jì)生成銷售排行榜。

      庫存管理:綜合查詢庫存明細(xì)記錄,庫存情況匯總,庫存狀態(tài)自動(dòng)告警提示。如庫存過剩、少貨、缺貨等。系統(tǒng)為您預(yù)警,避免庫存商品積壓損失和缺貨。庫存自動(dòng)盤點(diǎn)計(jì)算。

      基本信息管理:是系統(tǒng)運(yùn)行的基礎(chǔ),需要實(shí)現(xiàn)供銷商、客戶、商品的基本信息的動(dòng)態(tài)管理,包括信息的添加、修改與刪除等功能。這些信息要先于其他數(shù)據(jù)錄入系統(tǒng),系統(tǒng)才能正常的運(yùn)行。

      統(tǒng)計(jì)查詢模塊:需要實(shí)現(xiàn)客戶查詢、商品庫存查詢、供應(yīng)商查詢、銷售情況查詢、價(jià)格查詢、退貨查詢等功能。

      系統(tǒng)功能結(jié)構(gòu)如圖1所示。

      圖1 多功能進(jìn)銷存管理系統(tǒng)功能結(jié)構(gòu)

      3.數(shù)據(jù)庫設(shè)計(jì)

      進(jìn)銷存管理系統(tǒng)的開發(fā)需要考慮所需要的數(shù)據(jù),以及如何對(duì)這些數(shù)據(jù)進(jìn)行操作。這就是數(shù)據(jù)庫的設(shè)計(jì)問題,是進(jìn)銷存管理系統(tǒng)設(shè)計(jì)的一個(gè)核心。設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)是應(yīng)該首先充分了解用戶各個(gè)方面的要求,包括現(xiàn)有的及將來可能增加的要求。對(duì)于一個(gè)確定的環(huán)境,進(jìn)行符合應(yīng)用語義的邏輯設(shè)計(jì),以及提供一個(gè)確定的存貯結(jié)構(gòu)和物理設(shè)計(jì),建立實(shí)現(xiàn)系統(tǒng)目標(biāo),并能有效存取數(shù)據(jù)和數(shù)據(jù)模型。

      我們根據(jù)系統(tǒng)功能結(jié)構(gòu)分析構(gòu)建系統(tǒng)的數(shù)據(jù)庫,使用PowerDesigner建模,依次創(chuàng)建本系統(tǒng)中的數(shù)據(jù)表,并通過主外鍵引用工具建立各表間的依賴關(guān)系。創(chuàng)建完成的模型如圖所示。再設(shè)置導(dǎo)出的腳本文件的名稱及保存路徑,在指定的路徑中生成數(shù)據(jù)庫腳本文件。在導(dǎo)出數(shù)據(jù)庫腳本文件后,就可以在SQL server2005中執(zhí)行該腳本來創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表。

      數(shù)據(jù)庫名稱為db_JXC。包含表:tb_gysinfo、tb_khinfo、tb_kucun、tb_rkth_detail、tb_rkth_main、tb_ruku_detail、tb_ruku_main、tb_sell_detail、tb_sell_main、tb_spinfo、tb_userlist、tb_xsth_detail、tb_xsth_main。

      4.系統(tǒng)實(shí)現(xiàn)

      本系統(tǒng)是典型的數(shù)據(jù)庫應(yīng)用程序,由登錄模塊、主界面、基礎(chǔ)信息管理、進(jìn)貨管理、銷售管理、庫存管理、查詢統(tǒng)計(jì)、系統(tǒng)管理等部分組成。

      4.1 系統(tǒng)登錄功能實(shí)現(xiàn)

      管理員用戶與操作員用戶通過相同的登錄入口進(jìn)入系統(tǒng),系統(tǒng)對(duì)用戶輸入的用戶名和密碼進(jìn)行驗(yàn)證,通過身份驗(yàn)證的用戶將進(jìn)入管理系統(tǒng)操作桌面,執(zhí)行系統(tǒng)各項(xiàng)管理功能,而未通過身份驗(yàn)證的用戶將無法使用該系統(tǒng),登錄流程如圖2所示:

      4.2 主窗體設(shè)計(jì)

      主窗體界面是系統(tǒng)的歡迎界面,應(yīng)用程序的主窗體要設(shè)計(jì)層次清晰的系統(tǒng)菜單和工具欄,其中系統(tǒng)菜單要包含系統(tǒng)中所有功能的菜單項(xiàng),工具欄主要提供常用功能的快捷訪問按鈕。

      創(chuàng)建Main類,編寫initialize()方法,在該方法中創(chuàng)建窗體、桌面面板、背景標(biāo)簽、菜單欄、工具欄對(duì)象。在類中聲明這些對(duì)象并調(diào)用initialize()方法初始化之。

      編寫主窗體的main()入口方法,在該方法中創(chuàng)建登錄窗體對(duì)象,登錄窗體會(huì)驗(yàn)證登錄信息,并顯示主窗體界面。

      圖2 用戶登錄流程圖

      編寫getIFrame()方法,該方法負(fù)責(zé)創(chuàng)建指定名稱的窗體對(duì)象,在方法中使用了Java的反射技術(shù),調(diào)用Class.forName()方法根據(jù)制定的窗體類名稱到internalFrame包路徑中裝載指定的窗體類,并反射該類的構(gòu)造方法去創(chuàng)建新的窗體對(duì)象并添加到主界面中。

      編寫內(nèi)部類openFrameAction,它必須繼承AbstractAction類實(shí)現(xiàn)Action接口。該類用于創(chuàng)建按鈕的Action對(duì)象,并為每個(gè)按鈕定義創(chuàng)建并顯示不同窗體對(duì)象的動(dòng)作監(jiān)聽器,當(dāng)這個(gè)監(jiān)聽器按鈕被按下時(shí),調(diào)用getIFrame()方法獲取相應(yīng)的窗體對(duì)象,并顯示在主界面中。

      編寫addFrameAction()方法,該方法負(fù)責(zé)創(chuàng)建Action對(duì)象,該對(duì)象用于創(chuàng)建并顯示窗體對(duì)象,將其添加到系統(tǒng)菜單欄或工具欄中,會(huì)直接創(chuàng)建相應(yīng)的菜單欄和工具按鈕,而且這些菜單項(xiàng)和工具按鈕將顯示Action對(duì)象中的文本和圖標(biāo)屬性。

      編寫內(nèi)部類ExitAction()同樣繼承自AbstractAction類實(shí)現(xiàn)Action接口,實(shí)現(xiàn)系統(tǒng)的退出動(dòng)作。

      在類的靜態(tài)代碼段中設(shè)置進(jìn)銷存管理系統(tǒng)的外觀樣式。Swing支持跨平臺(tái)特性,可以在不同的操作系統(tǒng)中保持一致的風(fēng)格,但是本系統(tǒng)UIManager類的setLookAndFeel()方法設(shè)置程序界面使用本地外觀,這樣可以使程序更像本地應(yīng)用程序。

      4.3 公共模塊設(shè)計(jì)

      系統(tǒng)的項(xiàng)目空間中,有部分模塊是公用的,或者是多個(gè)模塊甚至整個(gè)系統(tǒng)的配置信息,他們被多個(gè)模塊重復(fù)調(diào)用完成指定的業(yè)務(wù)邏輯。

      Dao類主要負(fù)責(zé)有關(guān)數(shù)據(jù)庫的操作,該類在靜態(tài)代碼段中驅(qū)動(dòng)并連接數(shù)據(jù)庫,然后將所有的數(shù)據(jù)庫訪問方法定義為靜態(tài)的編寫Item類,這是系統(tǒng)的公共類之一,主要用于封裝和傳遞參數(shù)信息,是典型命令模式的實(shí)現(xiàn)。在Dao類中經(jīng)常使用該類作為方法參數(shù);在各個(gè)窗體界面中也經(jīng)常使用該類作組件數(shù)據(jù),其toString()方法將返回name屬性值,所以顯示到各個(gè)組件上的內(nèi)容就是Item類的對(duì)象所代表的商品、供應(yīng)商或客戶等信息的名稱。

      4.4 基礎(chǔ)信息模塊設(shè)計(jì)

      基礎(chǔ)信息模塊用于管理進(jìn)銷存系統(tǒng)中的客戶、商品和供應(yīng)商信息,其功能主要是對(duì)這些基礎(chǔ)信息進(jìn)行添加、修改和刪除。系統(tǒng)中使用了Java Swing的JPanel選項(xiàng)卡面板組件分別為客戶信息管理、商品信息管理和供應(yīng)商信息管理提供了多個(gè)操作界面,例如商品信息管理中分別存在商品信息添加和商品信息修改與刪除界面,而這兩個(gè)界面都存在于一個(gè)窗體中,可以通過選擇頂部的兩個(gè)選項(xiàng)卡,在不同的界面中來回切換。由于實(shí)現(xiàn)的方法基本類似,以商品信息管理部分為例介紹基礎(chǔ)信息模塊實(shí)現(xiàn)的業(yè)務(wù)邏輯。

      創(chuàng)建ShangPinTianJiaPanel類,用于實(shí)現(xiàn)本系統(tǒng)的商品添加功能。該類將在界面中顯示多個(gè)用于輸入商品信息的文本框。創(chuàng)建tjButton按鈕并設(shè)置該“添加”按鈕的事件監(jiān)聽器,必須實(shí)現(xiàn)ActionListener接口,并在actionPerformed()方法中實(shí)現(xiàn)用戶輸入的驗(yàn)證和商品信息的保存。創(chuàng)建resetButton按鈕并設(shè)置該“重置”按鈕的事件監(jiān)聽器,同樣要實(shí)現(xiàn)ActionListener接口,并在actionPerformed()方法中清除界面中的所有文本框內(nèi)容。

      4.5 查詢統(tǒng)計(jì)模塊設(shè)計(jì)

      查詢統(tǒng)計(jì)模塊主要包括客戶查詢、商品查詢、供應(yīng)商查詢、銷售查詢、入庫查詢等功能。查詢統(tǒng)計(jì)模塊主要以豐富的查詢條件為主要技術(shù),當(dāng)查詢某個(gè)商品的信息時(shí)需要提供按商品名稱、指定日期等多種查詢條件和查詢對(duì)象,進(jìn)行普通查詢或者模糊查詢。對(duì)于普通查詢條件可以簡單地使用SQL語句的“=”進(jìn)行判斷,模糊查詢需要使用SQL語句中的LIKE關(guān)鍵字。LIKE關(guān)鍵字需要使用通配符在字符串內(nèi)查找指定的模式。

      4.6 進(jìn)貨管理模塊設(shè)計(jì)

      進(jìn)貨管理模塊主要包括進(jìn)貨單和進(jìn)貨退貨兩個(gè)部分,進(jìn)貨單功能主要負(fù)責(zé)記錄商品的進(jìn)貨信息,單擊“添加”按鈕,在商品表中添加進(jìn)貨的商品信息,相應(yīng)的進(jìn)貨商品會(huì)添加到庫存管理中。進(jìn)貨退貨功能主要負(fù)責(zé)記錄進(jìn)貨管理中的退貨信息,在選擇了退貨的商品之后,點(diǎn)擊“退貨”按鈕,將把表格中的商品退貨信息更新到數(shù)據(jù)庫中。進(jìn)貨管理模塊使用JDBC實(shí)現(xiàn)事務(wù)操作,因?yàn)檫M(jìn)貨和退貨的業(yè)務(wù)邏輯涉及到3個(gè)數(shù)據(jù)表,為保證數(shù)據(jù)的完整性,將3個(gè)數(shù)據(jù)表的操作放在事務(wù)中實(shí)現(xiàn),如果對(duì)任何一個(gè)數(shù)據(jù)表的操作出現(xiàn)錯(cuò)誤或是不可執(zhí)行的操作,那么整個(gè)事務(wù)中的所有操作都將取消,并恢復(fù)到事務(wù)執(zhí)行之前的數(shù)據(jù)狀態(tài);否則3個(gè)數(shù)據(jù)表的操作全部執(zhí)行。

      4.7 庫存管理模塊設(shè)計(jì)

      庫存管理模塊包括庫存盤點(diǎn)和價(jià)格調(diào)整兩個(gè)功能,其中庫存盤點(diǎn)主要是將庫存信息顯示在表格中,有操作員輸入盤點(diǎn)的商品數(shù)量,然后程序自動(dòng)計(jì)算損益值。價(jià)格調(diào)整功能主要用于調(diào)整庫存中指定商品的單價(jià),當(dāng)用戶選擇了指定的商品,價(jià)格調(diào)整功能的界面會(huì)顯示該商品在庫存只能怪的單價(jià)、庫存數(shù)量等信息。用戶可以通過單擊“確定”按鈕調(diào)整該商品在庫存中的單價(jià)。價(jià)格調(diào)整功能涉及下拉列表框的選擇事件監(jiān)聽和事件處理技術(shù),為防止用戶的錯(cuò)誤輸入,程序界面經(jīng)常需要將可枚舉的輸入內(nèi)容封裝在下拉列表框中,限制用戶輸入。但是,要知道下拉列表框的改變,還需要為下拉列表框添加相應(yīng)的時(shí)間監(jiān)聽器。

      addItemListener()方法可以為下拉列表框添加ItemListener監(jiān)聽器。當(dāng)更改下拉列表框中的選項(xiàng)時(shí)將產(chǎn)生相應(yīng)的事件,這個(gè)事件會(huì)被添加的ItemListener監(jiān)聽器捕獲,并處理相應(yīng)的業(yè)務(wù)邏輯。

      5.總結(jié)

      該系統(tǒng)使用的是MDI窗體模式開發(fā)的界面程序,一個(gè)主窗體包含多個(gè)子窗體,由主窗體上的按鈕調(diào)用,給按鈕添加事件監(jiān)聽器,在單擊該按鈕時(shí),由事件監(jiān)聽器創(chuàng)建并初始化相應(yīng)的子窗體,然后顯示該子窗體。利用Java的反射功能使用同一個(gè)時(shí)間監(jiān)聽器類,完成所有子窗體的初始化工作,實(shí)現(xiàn)代碼重用,提高程序的開發(fā)速度。

      本系統(tǒng)的實(shí)現(xiàn)完成了系統(tǒng)開發(fā)前提出的要求,實(shí)現(xiàn)了進(jìn)貨管理、銷售管理、庫存管理、查詢統(tǒng)計(jì)、系統(tǒng)管理等方面的功能,能夠滿足對(duì)于進(jìn)銷存管理方面的需求,提高企業(yè)自身的競爭力,提升管理水平,從而提高其經(jīng)濟(jì)效益和社會(huì)效益,具有廣闊的市場效益,但是此系統(tǒng)依然存在這樣或那樣的問題,展望在以后的開發(fā)中能夠使系統(tǒng)中的功能更人性化,更符合要求。

      參考文獻(xiàn)

      [1]呂靜驊,史進(jìn).SQL Server 2000基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2004.

      [2]李路路,劉一松,蔣麗.基于Ajax與J2 EE的進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2013(4):134-137.

      [3]李奎成.企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連理工大學(xué),2005.

      [4]邢俊鳳,唐思源,苗玥.進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)業(yè)家,2014(3):182.

      基金項(xiàng)目:四川省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(編號(hào):201310616043)“多功能進(jìn)銷存管理系統(tǒng)”。

      猜你喜歡
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      昌黎县| 民勤县| 阜阳市| 沙田区| 靖安县| 凉山| 荣成市| 黄山市| 瑞昌市| 庆阳市| 台南市| 临汾市| 丰原市| 芦山县| 如东县| 高淳县| 丹江口市| 临高县| 灌阳县| 焉耆| 恩平市| 新晃| 东平县| 萨迦县| 建平县| 涿州市| 吴忠市| 基隆市| 体育| 丰顺县| 收藏| 无棣县| 监利县| 于田县| 东阳市| 鹤山市| 织金县| 宜良县| 洪雅县| 武邑县| 应用必备|