江曉鵬
1引言
本文設(shè)計(jì)一款計(jì)費(fèi)系統(tǒng),采用了MVC設(shè)計(jì)模式,使用J2EE框架,基于B/S模式,客戶端局域網(wǎng)可使用Web訪問方式,無需安裝客戶端。可使財(cái)務(wù)記賬方式信息化和數(shù)據(jù)化,避免手工方式的繁雜、漏記、多記。方便統(tǒng)計(jì),可按收費(fèi)對(duì)象統(tǒng)計(jì)和收費(fèi)。
此計(jì)費(fèi)系統(tǒng)主要是可對(duì)收費(fèi)對(duì)象、分物資和支付方式計(jì)費(fèi),并可分別統(tǒng)計(jì)收費(fèi)對(duì)象和操作員。首先創(chuàng)建收費(fèi)物資分類,需收費(fèi)時(shí)建立計(jì)費(fèi)對(duì)象信息。計(jì)費(fèi)可根據(jù)物資分類自動(dòng)帶出相應(yīng)的金額,保存后自動(dòng)打印,記錄相關(guān)物資、金額、操作員和計(jì)費(fèi)日期??砂从?jì)費(fèi)對(duì)象自動(dòng)統(tǒng)計(jì)并查看計(jì)費(fèi)明細(xì),也可根據(jù)操作員,操作日期進(jìn)行統(tǒng)計(jì),簡化了人工的計(jì)費(fèi)統(tǒng)計(jì)方式,便于財(cái)務(wù)管理。
2需求分析
本系統(tǒng)主要分為以下幾個(gè)模塊:登入及驗(yàn)證模塊、用戶管理模塊、計(jì)費(fèi)物資管理模塊、計(jì)費(fèi)對(duì)象管理模塊,計(jì)費(fèi)模塊、退費(fèi)模塊和統(tǒng)計(jì)模塊。圖1所示:
登入模塊:只有企業(yè)固定的操作員才能登入,根據(jù)用戶輸入的信息,與數(shù)據(jù)庫進(jìn)行比對(duì),如用戶不存在或輸入密碼錯(cuò)誤,可提示相應(yīng)的信息。同時(shí)對(duì)用戶登入信息記錄Session信息,只有登入成功后才能進(jìn)入主界面操作,如直接鏈接相應(yīng)業(yè)務(wù)模塊會(huì)跳轉(zhuǎn)登入界面,只有驗(yàn)證通過,才能進(jìn)入業(yè)務(wù)模塊。登入后用戶可修改密碼。
操作員管理模塊:管理員可對(duì)操作員進(jìn)行管理,如新增操作員、修改密碼、更改角色、刪除用戶和修改操作員基本信息等,以方便對(duì)操作員進(jìn)行管理。錄入新操作員時(shí)可對(duì)編號(hào)進(jìn)行重復(fù)校驗(yàn),如已存在會(huì)提示修改。
計(jì)費(fèi)物資管理模塊:管理員可對(duì)計(jì)費(fèi)物資進(jìn)行管理,計(jì)費(fèi)物資屬性、主要名稱、金額和規(guī)格等信息。管理員可查看、新增、修改和刪除計(jì)費(fèi)物資等操作。
計(jì)費(fèi)對(duì)象模塊:操作員可新增計(jì)費(fèi)對(duì)象,以便后續(xù)對(duì)其進(jìn)行計(jì)費(fèi)。計(jì)費(fèi)對(duì)象主要信息有編號(hào)、姓名和性別等信息??蓪?duì)計(jì)費(fèi)對(duì)象編號(hào)進(jìn)行重復(fù)檢驗(yàn),如已存在此編號(hào)可提示修改。
計(jì)費(fèi)模塊:操作員可在計(jì)費(fèi)管理界面中,根據(jù)日期或名稱查詢到計(jì)費(fèi)對(duì)象。選中計(jì)費(fèi)對(duì)象后面的計(jì)費(fèi)按鈕,進(jìn)行計(jì)費(fèi)操作。計(jì)費(fèi)可根據(jù)計(jì)費(fèi)物資帶出計(jì)費(fèi)金額,可選中現(xiàn)金、POS、支付寶和微信計(jì)費(fèi)方式,當(dāng)保存時(shí)記錄計(jì)費(fèi)時(shí)間。保存成功后自動(dòng)打印計(jì)費(fèi)清單。
退款模塊:退款模塊和計(jì)費(fèi)模塊類似,只是金額相應(yīng)有退款標(biāo)記,基本信息和計(jì)費(fèi)一致。
統(tǒng)計(jì)模塊:分為計(jì)費(fèi)對(duì)象統(tǒng)計(jì)和操作員統(tǒng)計(jì)。計(jì)費(fèi)對(duì)象統(tǒng)計(jì)可在主界面根據(jù)日期或計(jì)費(fèi)對(duì)象名稱查詢,自動(dòng)匯總該對(duì)象的總金額,當(dāng)點(diǎn)擊明細(xì)可查看各條計(jì)費(fèi)明細(xì)。而操作員統(tǒng)計(jì)可根據(jù)所需時(shí)間范圍,按操作員和支付方式分類統(tǒng)計(jì),具有打印和導(dǎo)出Excel的功能??傮w流程如圖2所示。
3數(shù)據(jù)庫設(shè)計(jì)
3.1數(shù)據(jù)庫的需求分析
數(shù)據(jù)庫采用了SqlServer數(shù)據(jù)庫,并且數(shù)據(jù)庫的設(shè)計(jì)遵循高擴(kuò)展性、低冗余。數(shù)據(jù)庫的設(shè)計(jì)將影響數(shù)據(jù)的查詢效率和更改數(shù)據(jù)的準(zhǔn)確性。在這遵循數(shù)據(jù)庫的第二范式,緊密結(jié)合系統(tǒng)業(yè)務(wù)需求,主要分為操作員表、計(jì)費(fèi)對(duì)象表、物資表和計(jì)費(fèi)表。
在此利用了J2EE的JDBC連接數(shù)據(jù)庫,為訪問不同的數(shù)據(jù)庫提供了統(tǒng)一的途徑,像ODBC一樣,JDBC對(duì)開發(fā)者屏蔽了一些細(xì)節(jié)問題,JDCB對(duì)數(shù)據(jù)庫的訪問也具有平臺(tái)無關(guān)性。JDBC中填上驅(qū)動(dòng)名稱、數(shù)據(jù)庫地址以及賬號(hào)密碼,即可連接成功。
3.2數(shù)據(jù)庫的邏輯設(shè)計(jì)
核心表計(jì)費(fèi)表的邏輯結(jié)構(gòu)主要包括:
①計(jì)費(fèi)表(計(jì)費(fèi)對(duì)象ID、操作員序號(hào)、物資分類序號(hào)、物資分類序號(hào)、支付方式、退費(fèi)標(biāo)志、計(jì)費(fèi)日期和錄入時(shí)間);
②操作員表(序號(hào)、編號(hào)、名稱、密碼、性別和錄入時(shí)間);
③計(jì)費(fèi)對(duì)象表(序號(hào)、編號(hào)、名稱、性別和錄入時(shí)間);
④物資表(序號(hào)、編號(hào)、名稱、金額、規(guī)格和錄入時(shí)間)。
統(tǒng)計(jì)無需表,只是在計(jì)費(fèi)表上做查詢操作,并利用POI導(dǎo)出到Excel操作,可以實(shí)現(xiàn)實(shí)時(shí)打印。
4結(jié)束語
本文針對(duì)單位現(xiàn)有計(jì)費(fèi)方式不便的情況,聽取財(cái)務(wù)人員的需求,利用J2EE多層分布式應(yīng)用模型,設(shè)計(jì)一個(gè)B/S架構(gòu)的基于MVC的框架的計(jì)費(fèi)系統(tǒng)。該系統(tǒng)結(jié)合了STTUTS2,JQUERY,JS,JSP,POI等技術(shù),可動(dòng)態(tài)查詢、打印和導(dǎo)出Excel的功能,該系統(tǒng)實(shí)現(xiàn)了簡化了計(jì)費(fèi)的人工統(tǒng)計(jì)操作,可節(jié)省工作時(shí)間。數(shù)據(jù)可存儲(chǔ)在物理設(shè)備的數(shù)據(jù)庫上,實(shí)現(xiàn)了信息的結(jié)構(gòu)化。