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