蔣賽文,沈利迪
(臺州職業(yè)技術(shù)學(xué)院,浙江 臺州 318000)
在當(dāng)前經(jīng)濟(jì)全球化環(huán)境下,工業(yè)領(lǐng)域產(chǎn)業(yè)結(jié)構(gòu)甚至是社會管理體系均出現(xiàn)了極大地改變,小微企業(yè)信息化管理工作是提高核心競爭力的重要內(nèi)容,也是實(shí)現(xiàn)經(jīng)濟(jì)效益最大化的有效手段。近年來小微企業(yè)在改革創(chuàng)新中將信息技術(shù)與管理工作結(jié)合,使得小微企業(yè)在參與市場競爭中獲得非常有利的機(jī)遇。企業(yè)進(jìn)銷存管理系統(tǒng)的開發(fā)和應(yīng)用,可以使企業(yè)中的客戶關(guān)系管理效率不斷提升,運(yùn)行模式在新環(huán)境下得到優(yōu)化,數(shù)據(jù)信息的獲得更加準(zhǔn)確,為管理人員制定管理決策、方案提供參考,真正提高企業(yè)效益。
本系統(tǒng)使用Java Swing技術(shù)和MySQL數(shù)據(jù)庫開發(fā)跨平臺的企業(yè)進(jìn)銷存管理系統(tǒng),主要包括前端應(yīng)用程序和后端數(shù)據(jù)庫兩個(gè)部分。系統(tǒng)人機(jī)交互界面設(shè)計(jì)靈活,操作簡單、方便;能夠在不同的操作平臺運(yùn)行;系統(tǒng)支持多人協(xié)同操作,能夠?qū)崿F(xiàn)多條件查詢、模糊查詢,數(shù)據(jù)備份靈活,系統(tǒng)運(yùn)行穩(wěn)定、可靠。系統(tǒng)整體功能結(jié)構(gòu)如圖1所示,企業(yè)進(jìn)銷存管理系統(tǒng)的業(yè)務(wù)流程如圖2所示。
圖1 企業(yè)進(jìn)銷存管理系統(tǒng)功能結(jié)構(gòu)圖
圖2 企業(yè)進(jìn)銷存管理系統(tǒng)業(yè)務(wù)流程圖
圖3 企業(yè)進(jìn)銷存管理系統(tǒng)中的數(shù)據(jù)表和視圖
企業(yè)進(jìn)銷存管理系統(tǒng)需要存儲一些日常數(shù)據(jù),鑒于MySQL數(shù)據(jù)庫安全、易用、性能優(yōu)良等特點(diǎn),所以本系統(tǒng)采用MySQL數(shù)據(jù)庫作為管理系統(tǒng)的后臺數(shù)據(jù)庫。根據(jù)系統(tǒng)數(shù)據(jù)完整性要求,創(chuàng)建了8個(gè)數(shù)據(jù)表和2個(gè)數(shù)據(jù)視圖,分別為供貨商信息表、商品信息表、客戶信息表、進(jìn)貨信息表、退貨信息表、銷售信息表、銷售退貨信息表、庫存信息表和用戶信息視圖、銷售信息視圖等。由于篇幅有限,本文重點(diǎn)列出供貨商信息表tb_ghsinfo(如表1所示)、商品信息表tb_spinfo(如表2所示)。
表1 供貨商信息表
表2 商品信息表
1)供貨商信息表tb_ghsinfo用于存儲供貨商的信息,包含供貨商編號(主鍵)、供貨商名稱、聯(lián)系人等信息的錄入與存儲。
2)商品信息表tb_ghsinfo用于存儲商品的各種信息,包含商品編號(主鍵)、商品名稱、產(chǎn)地和規(guī)格等信息的錄入與存儲。
2.2.1 公共類設(shè)計(jì)
企業(yè)進(jìn)銷存管理系統(tǒng)包含基本信息管理、進(jìn)貨管理、銷售管理、庫存管理、查詢統(tǒng)計(jì)、系統(tǒng)維護(hù)等六個(gè)模塊,為實(shí)現(xiàn)項(xiàng)目代碼的重用,提高程序性能和代碼可讀性,將各個(gè)模塊間的調(diào)用提取到j(luò)ava的公共類中,并通過公共類實(shí)現(xiàn)訪問數(shù)據(jù)庫,主要的公共類有:一是Item公共類重寫toString()方法,在獲取組件內(nèi)容時(shí)通過獲取Item類的對象并從該對象中獲取id屬性,再通過該屬性獲取數(shù)據(jù)庫中唯一的數(shù)據(jù)。二是數(shù)據(jù)模型公共類存放在com.mingrisoft.dao.model包中,對應(yīng)著數(shù)據(jù)庫中不同的數(shù)據(jù)表,重寫toString()方法、hashCode()方法和equals()方法,模型類主要用于數(shù)據(jù)存儲,并通過getXXX()方法和setXXX()方法實(shí)現(xiàn)不同屬性的訪問原則。三是Dao公共類是數(shù)據(jù)庫訪問類,用于實(shí)現(xiàn)數(shù)據(jù)庫的驅(qū)動(dòng)、連接、關(guān)閉和操作數(shù)據(jù)表。
2.2.2 登錄界面設(shè)計(jì)
登錄界面的設(shè)計(jì)分登錄窗體和內(nèi)容面板兩個(gè)部分,登錄窗體創(chuàng)建LoginDialog類,并繼承JFrame類,成為一個(gè)窗體,該窗體用布置JTextField、JPassword-Field、JButton等組件,實(shí)現(xiàn)系統(tǒng)登錄界面。內(nèi)容面板需要使用背景圖片美化則需要繼承Swing的JPanel類編寫面板類。
為保證系統(tǒng)的安全性,需要設(shè)置登錄用戶名和密碼,在登錄按鈕和密碼文本框中添加動(dòng)作或按鍵事件監(jiān)聽器,在此監(jiān)聽器中,獲取用戶輸入的用戶名與密碼信息,然后調(diào)用Dao類的checkLogin()方法,如果該方法返回true,則登錄成功,否則禁止用戶登錄。
2.2.3 系統(tǒng)主窗體設(shè)計(jì)
主窗體是人機(jī)交互的主體,由各種菜單、表格、文本框及子窗體組成。本系統(tǒng)主界面采用多文檔界面(MDI),可以進(jìn)行窗口平鋪、還原、關(guān)閉等操作,并能在標(biāo)題欄中顯示當(dāng)前窗口名稱。
1)菜單欄設(shè)計(jì):菜單欄放置各個(gè)功能模塊名稱及其子功能名稱。本系統(tǒng)的菜單欄由自定義菜單欄類MenuBar類實(shí)現(xiàn),它繼承javax.swing.JMenuBar類,并在該類中定義一個(gè)類型為JMenu的私有成員變量,用于表示菜單對象,后成為Swing的菜單欄組件。
2)工具欄設(shè)計(jì):工具欄放置常用的命令按鈕,如客戶信息、供貨商信息、商品信息、進(jìn)貨單、銷售單和庫存查詢等。本系統(tǒng)添加工具欄的方法與添加菜單欄的方法類似,需要繼承Swing的JTool組件來編寫工具欄。
3)狀態(tài)欄設(shè)計(jì):狀態(tài)欄主要顯示當(dāng)前的用戶名、當(dāng)前時(shí)間、當(dāng)前功能窗體及版權(quán)信息,本系統(tǒng)的狀態(tài)欄由JLabel標(biāo)簽、JPanel面板和JSeparator分割條組件組成。
2.2.4 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)
1)基本信息管理設(shè)計(jì):該模塊由客戶管理、商品管理、供貨商管理三部分組成。該模塊主要完成相關(guān)數(shù)據(jù)的增、刪、改和查等操作。
2)進(jìn)貨管理設(shè)計(jì):進(jìn)貨管理包括進(jìn)貨單和退貨單兩部分,進(jìn)貨單主要管理企業(yè)的進(jìn)貨信息,根據(jù)進(jìn)貨人員提供的單據(jù),將購入商品的編號、名稱、產(chǎn)地、規(guī)格、單價(jià)、數(shù)量和供貨商等信息記錄到數(shù)據(jù)庫中。
3)銷售管理設(shè)計(jì):商品的銷售是進(jìn)銷存管理中的重要環(huán)節(jié)之一,進(jìn)貨商品在入庫后就可以開始銷售,則由經(jīng)手人提供的銷售單據(jù),操作系統(tǒng)中的庫存商品管理和銷售信息管理,方便查詢和統(tǒng)計(jì)。
4)庫存管理設(shè)計(jì):庫存管理主要完成商品的盤點(diǎn)數(shù)據(jù)和庫存數(shù)量的損耗。系統(tǒng)界面將提示當(dāng)前日期下庫存商品種類和數(shù)量。
5)數(shù)據(jù)庫備份和恢復(fù)設(shè)計(jì):數(shù)據(jù)庫備份與恢復(fù)可以增強(qiáng)系統(tǒng)的安全性,及進(jìn)備份系統(tǒng)數(shù)據(jù),有利于意外發(fā)生時(shí),可以恢復(fù)最近時(shí)間段的數(shù)據(jù)庫內(nèi)容,將損失降低到最低。
6)查詢統(tǒng)計(jì)設(shè)計(jì):該模塊能夠根據(jù)用戶輸入的查詢條件查詢并處理相應(yīng)的數(shù)據(jù)庫信息。查詢結(jié)果都以數(shù)據(jù)庫表和視圖顯示。
本文針對目前小微企業(yè)的運(yùn)行情況利用JavaSwing技術(shù)和MySQL數(shù)據(jù)庫設(shè)計(jì)的進(jìn)銷存管理系統(tǒng)。成功實(shí)現(xiàn)了基本信息管理、進(jìn)貨管理、銷售管理、庫存管理、查詢統(tǒng)計(jì)等功能模塊以及友好的人機(jī)交互界面,為提高企業(yè)管理效率提供優(yōu)良的技術(shù)支持。