馬萌
(中國電子科技集團公司第五十四研究所,河北石家莊050081)
基于Java語言的進銷存管理系統
馬萌
(中國電子科技集團公司第五十四研究所,河北石家莊050081)
針對企業進銷存管理中賬目混論、庫存不準和信息反饋不及時等問題,采用Java開發設計集進貨、銷售he存儲多個環節于一體化的移動進銷存管理系統,詳細介紹了該系統的功能、數據結構、模塊和軟件設計技術,給出了關鍵技術的具體方法,完美實現了“精準報價、清晰庫存”的核心價值,凸顯了該系統具有與傳統進銷存管理系統無法比擬的優越性。
進銷存管理系統Java語言數據庫軟件設計
在中小型企業面臨的挑戰和競爭越來越激烈的今天,如何有效整合倉庫信息和高效率進行倉庫管理已經成為中小企業們“以快制慢”贏得競爭的重要手段,顯然,引進合適的進銷存管理系統非常的重要,進銷存管理系統無疑有著非常光明的前景。據信息產業部中國電子信息產業研究院發布的《2009-2010年中國管理軟件研究市場研究年度總報告》顯示,2009年中國進銷存軟件市場的銷售總額為6.48億元,同比增長20.2%,預計2010年進銷存市場銷售額將達到7.75億元,同比增長20.5%。如何設計開發一個進銷存管理系統顯得格外重要。Java作為當今Internet最流行的編程語言,它是一個“簡單、健全、面向對象、平臺獨立、多線程、動態并且通用的編程環境”,因此用Java語言編程進銷存管理系統是一件自然而然,水到渠成的事。
進銷存管理系統不僅對企業中人員情況進行管理規范,而且對企業生產經營中的物料流和資金流進行條碼全程跟蹤管理,從合同開始到進入物料采購、入庫、出庫和回收貨款等等一系列流程,進銷存管理系統將為各個環節提供準確的數據,有效輔助企業進行人員管理、業務管理、銷售管理、存貨管理、營銷計劃的執行和監控,有效地解決了統計信息及收集信息的業務問題。該系統利用B/S模式和MVC三層結構模式,采用MyEclipse作為開發工具,JSP網頁編程語言。SSH框架技術[1](即struts spring hibernate、),MySQL作為后臺數據庫支撐,使用windowsXP作為系統開發平臺,軟件開發運用軟件工程的思想,通過以上工具來實現系統的設計與編寫,然后在不同的操作平臺上進行軟件測試,進一步對軟件進行完善。
2.1系統功能設計
進銷存管理系統[2]主要業務集中企業的進貨和出貨,并打印相應的票據以及人員管理、基本信息(商品、庫存、員工、用戶和客戶)的維護,實現對商品(進貨商品、出貨商品以及零售商品)的數據的錄入、查詢和更新等功能。
通過調查,要求系統需要有以下功能:①支持批發銷售零售銷售;②供貨商往來帳務管理;③客戶往來帳務管理;④支持銷售換貨;⑤提供業務員和員工管理;⑥職工出勤情況的管理;⑦工資發放管理。系統功能圖如圖1所示。

圖1 系統功能圖
2.2數據庫設計
這一設計階段是在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體,以及他們之間的關系,為后面的邏輯結構設計打下基礎,可以用實體關系模型來描述。
實體—關系模型[3](ENTITY—RELATIONSHIP MODULE,E—R模型)是數據庫結構設計常用的方法,E—R圖中的矩形表示實體,菱形表示實體間的聯系,聯系類型可用其1:1或者1:N,M:N等表示,圓角矩形表示實體的有關屬性,橢圓形表示實體的具體屬性。以下列出的是系統的關系模型圖,如圖2所示(其中pk為主鍵,fk為外鍵)。

圖2 關系模型圖
2.3軟件結構
本系統中src包[4]下分為8個包。其中dao包:用于對數據庫的操作;service包用于用戶調用dao中的方法,使得以后調用時容易使用;pojo包存放的是實體類;struts包[5]放的是所有的業務操作,此處是核心代碼處;filter包放置的是我的過濾器,用于過濾所有的漢字進行編碼轉換防止亂碼;pdf包存放當報表打印時需要的類;util包用于存放工具類的,如分頁的代碼全在這里;text包是我用于調試我程序使用的。applicationContext.xml為Spring的配置文件[6],用于數據庫的鏈接,已經各種類的注入。軟件結構圖如圖3所示。

圖3 軟件結構圖
2.4主要模塊設計
2.4.1管理員登陸界面
從數據庫中獲得所有的管理員數據,以及從頁面中獲得登錄人員輸入的用戶名密碼,把輸入的數據和數據庫中的數據一一進行比較,當匹配成功時跳的首頁面,否則返回到登錄頁面。
登錄界面的主要實現代碼:


2.4.2系統主界面
主系統管理界面[7]:包括了所有系統的功能,并將所有功能分類寫在菜單上,主要分7類功能:系統參數(基本信息的維護)、進貨、出貨、零售、出勤情況、工資發放和庫存查看。左側的系統菜單,點擊“全部打開”按鈕,可以查看系統的所有功能模塊;要是點擊“全部關閉”按鈕,就可以關閉所有的功能模塊。
3.1報表打印
其他的客戶信息維護、商品信息維護及員工信息維護都與用戶信息維護相同。以下主要介紹一下出貨、進貨、零售和pdf報表打印等業務信息。
在記錄下進貨信息成功后還有一個子關鍵的技術,就是打印進貨信息的報表,對于打印報表采用的是Jasper和Jrxml技術進行處理的,使用PDF的打印功能進行報表打印的。
首先,通過Ireport軟件進行靜態的表格設計,設計完后進行保存。會得到input.jrxml把此文件保存在同一目錄下。其次,在action中把頁面得到的那些值保存到一個list對象中,通過request傳導一個打印報表的頁面,即input_pdf.jsp[8]頁面,在這個頁面中得到list對象,然后傳給一個方法,此方法可以將這個list對象傳給input.jrxml,即可以動態生成pdf的頁面。最后,action的result應該是跳轉到input_pdf.jsp頁面,這樣在你添加完進貨記錄,就可以立刻查看pdf頁面,然后順便也可以打印出來,以作為跟客戶的交易憑證。
3.2中文亂碼處理
對系統的進出貨物功能模塊進行了開發時,發現當進出貨物之后進行查看數據庫發現備注信息為亂碼,不能正常顯示,經過一步步提交測試發現在還沒有提交前就已經出現亂碼了,當所有數據提交到業務邏輯層時所有的中文漢字已經變成了亂碼,經過上網搜索得知解決這一問題的簡單又有效的方法是寫過濾器進行過濾來完成字符集的轉換。
以下就是我編寫的過濾器[9],把所有的編碼都改成UTF-8進行編碼。

//過濾器進行初始化,獲得配置文件web.xml中設置的編碼格式

//過濾器過濾所有請求,把字符轉換成制定的編碼格式

//當過濾器過濾完后進行銷毀

設置此過濾器的編碼格式

參數經過此類轉換后寫入、讀取數據庫中的數據就不再出現亂碼問題,同時在web.xml中加入如下代碼,主要是為了在程序提交時自動調用過濾器進行過濾,并且可以在此設置轉換的編碼格式,當人們想該另外一種編碼格式時,只需改此配置文件即可,不用對過濾器進行修改。

經過再次演示,亂碼的問題得到了解決。
近年來,隨著計算機管理的推廣,進銷存管理系統已經深入到各大中小型企業中,采用客戶端本地業務管理與互聯網搜索及應用相結合的方式,以貨品價格搜索和庫存管理為基礎,統一管理個體工商戶的報價、庫存、往來及收支,解決日常經營中一直存在的太多無法記住價格及庫存的問題,完美實現“精準報價、清晰庫存”的核心價值。隨著4G網絡的部署,進銷存已經進入移動時代,移動進銷存管理系統將利用無線網絡實現進銷存的技術,將原有的計算機式進銷存管理系統遷移至手機,移動進銷存管理系統具有傳統進銷存管理系統無法比擬的優越性。
[1](美)布朗,(美)戴維斯,斯坦利克.Struts2實戰[M].馬召,譯.北京:人民郵電出版社,2010.
[2]李剛.輕量級J2EE企業用實戰:Struts+Spring+Hibernate整合開發[M].北京:電子工業出版社,2007.
[3]嚴蔚敏,吳偉民.數據結構及應用[M].北京:清華大學出版社,2004.
[4]Marity H,Larry B.Servlet與JSP核心編程(第2版)[M].趙學良,譯.北京:清華大學出版社,2004.
[5]Karl M.Java Servlet開發人員指南[M].北京:清華大學出版社,2003.
[6]計磊,李理,周偉.《精通J2EE-Eclipse》系列相關書籍[M].北京:人民郵電出版社,2007.
[7]張桂元,賈艷鳳,姜波.征服Ajax Web2.0快速入門與項目實踐(Java)[M].北京:人民郵電出版社,2006.
[8]Donny.JSP與網站開發編程實戰[M].北京:科學出版社,2001.
[9]李興華,王月清.java web開發實戰經典[M].北京:清華大學出版社,2011.
Invoicing Management System Based on Java
MA Meng
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)
In the invoicing management of enterprise,the problems exist,such as confused accounts,inaccurate inventory,inopportune information feedback,etc.In view of these problems,a mobile invoicing management system integrating purchase,marketing and storage is designed by using Java.The system functions,data structure,module and software design are described in detail,and the key techniques are introduced.This system realizes the core value of“accurate quotation,clear inventory”.Compared with traditional invoicing management system,it has more advantages.
invoicing management system;Java;database;software design
TN312
A
1008-1739(2015)19-61-4
定稿日期:2015-09-12