軍港油庫(kù)油料供應(yīng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
軍港油庫(kù)是我軍重要的保障實(shí)體,在油料供應(yīng)中扮演了一個(gè)舉足輕重的角色。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,適用于軍港油庫(kù)的油料供應(yīng)管理系統(tǒng)也由C/S(客戶機(jī)/服務(wù)器)結(jié)構(gòu)發(fā)展到B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),大大減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量。但是現(xiàn)有的系統(tǒng)存在著系統(tǒng)功能不完善、技術(shù)體系不合理、通信系統(tǒng)不完善、系統(tǒng)“孤島”問(wèn)題嚴(yán)重等諸多缺陷。因此,為適應(yīng)我軍機(jī)械化、信息化跨越式發(fā)展需要,加快軍需物資油料信息化建設(shè)步伐,提高綜合保障能力,圍繞首長(zhǎng)、機(jī)關(guān)指揮、決策要求和油料供應(yīng)信息化建設(shè)的實(shí)際需要,有必要對(duì)軍港油庫(kù)建設(shè)進(jìn)行新的需求分析,構(gòu)建一個(gè)全方位、一體化的軍港油庫(kù)油料供應(yīng)管理系統(tǒng)。
1 系統(tǒng)分析與設(shè)計(jì)
1.1 軍港油庫(kù)業(yè)務(wù)流程
軍港油庫(kù)油料供應(yīng)主要負(fù)責(zé)收油、儲(chǔ)油、發(fā)油三大核心業(yè)務(wù)。收油是指按照月油料運(yùn)輸計(jì)劃,接收煉油廠或后方油庫(kù)來(lái)油;儲(chǔ)油是指做好油料的儲(chǔ)備管理工作,包括對(duì)庫(kù)存油料進(jìn)行清點(diǎn),形成報(bào)表上報(bào)相關(guān)單位;發(fā)油是指向其他油庫(kù)大批量調(diào)撥油料、向供油單位小批量零發(fā)油以及辦理艦船加退油手續(xù)。最后把所有的收油、庫(kù)存、發(fā)油情況按規(guī)定上報(bào)相關(guān)部門(mén)。
1.2 系統(tǒng)功能設(shè)計(jì)
本系統(tǒng)是基于Web的軍港油庫(kù)油料供應(yīng)管理系統(tǒng),圍繞油料的“收、儲(chǔ)、發(fā)”各個(gè)環(huán)節(jié)進(jìn)行科學(xué)管理,全面反映油庫(kù)油料的增加、減少及相關(guān)變動(dòng)情況。系統(tǒng)的功能結(jié)構(gòu)如圖1所示。
(1)調(diào)撥管理。完成軍港油庫(kù)油料的收發(fā)管理以及月終對(duì)庫(kù)存油料進(jìn)行清點(diǎn),將油庫(kù)油料測(cè)量記錄錄入系統(tǒng)中,自動(dòng)計(jì)算油料重量,形成油料清點(diǎn)證件。
(2)零發(fā)油。接收領(lǐng)油指標(biāo)(正常、助供、國(guó)家儲(chǔ)備),辦理油料支撥單,實(shí)現(xiàn)零發(fā)油自動(dòng)記載賬簿。
(3)艦船加(退)油。辦理加(退)油艦艇手續(xù),將艦艇加(退)油數(shù)據(jù)寫(xiě)入加油卡中。
(4)其他業(yè)務(wù)。按規(guī)定進(jìn)行其他油料憑證(包括其他收入、其他支出等)的辦理。
(5)油料賬表。根據(jù)各項(xiàng)憑證和原始單據(jù)自動(dòng)形成賬目、報(bào)表以便統(tǒng)計(jì)查詢。
(6)系統(tǒng)維護(hù)。完成單位、油品等信息的代碼管理,以及基礎(chǔ)信息的填報(bào)、數(shù)據(jù)的備份恢復(fù)和數(shù)據(jù)傳輸?shù)取?BR>2 系統(tǒng)的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)設(shè)計(jì)基于MVC模式和iBatis框架,采用J2EE分層結(jié)構(gòu)。所謂MVC模式,即模型、視圖、控制器的設(shè)計(jì)模式。在開(kāi)發(fā)中,Javabean被用作模型,Jsp頁(yè)面被用作視圖,控制器則由servlet來(lái)實(shí)現(xiàn)。iBatis相對(duì)Hibernate和Apache OJB等“一站式”O(jiān)RM(對(duì)象關(guān)系映射)而言,它是一種“半自動(dòng)化”的、輕量級(jí)的解決方案,可以大幅提高系統(tǒng)的靈活性[1]。整個(gè)系統(tǒng)具體分為:(1)表現(xiàn)層:用來(lái)處理用戶的請(qǐng)求,并據(jù)此做出響應(yīng)。主要由JSP頁(yè)面實(shí)現(xiàn);(2)業(yè)務(wù)邏輯層:為表現(xiàn)層提供所需的業(yè)務(wù)方法。Service類和DAO接口屬于業(yè)務(wù)層。Service類封裝了業(yè)務(wù)以及相應(yīng)的事務(wù)控制,由form bean類調(diào)用,DAO接口屏蔽了底層的數(shù)據(jù)庫(kù)操作,供具體的Service類調(diào)用;(3)數(shù)據(jù)持久層:采用了iBatis實(shí)現(xiàn)ORM,是對(duì)應(yīng)DAO接口的具體實(shí)現(xiàn)。這些實(shí)現(xiàn)類以及iBatis的配置文件共同構(gòu)成了數(shù)據(jù)持久層。系統(tǒng)架構(gòu)如圖2所示。
3 關(guān)鍵技術(shù)
3.1 編碼輸入幫助
數(shù)據(jù)編碼設(shè)計(jì)是系統(tǒng)數(shù)據(jù)規(guī)范化管理的基礎(chǔ),其設(shè)計(jì)質(zhì)量直接影響到系統(tǒng)的效率。如本系統(tǒng)需要用到的“單位基本信息”、“油料基本信息”、“裝備基本信息”等,且它們都是一種層次結(jié)構(gòu)形式編碼。例如單位按油料供應(yīng)隸屬關(guān)系可以分為多層,假設(shè)每層編碼為三位數(shù)字或字母,則可以編碼“001”對(duì)應(yīng)“XXX軍區(qū)”,“001001”對(duì)應(yīng)“XXX集團(tuán)軍”,“001001001”對(duì)應(yīng)“XXX師”等逐級(jí)對(duì)照。當(dāng)系統(tǒng)中需要輸入單位的地方,能不能快速地通過(guò)輸入編碼層次式顯示出相應(yīng)的單位名稱是系統(tǒng)非常重要的一個(gè)功能。目前類似的基于Web的編碼輸入幫助系統(tǒng),尤其是代碼數(shù)據(jù)量較大的情形,在靈活性、易操作性方面都存在一些不足,因此利用ExtJS技術(shù)設(shè)計(jì)了一種算法完善、功能強(qiáng)大、界面美觀的層次式輸入幫助系統(tǒng)。ExtJS是基于AJAX的組件框架技術(shù),用于開(kāi)發(fā)RIA應(yīng)用。它利用純Html/CSS+JS技術(shù),提供了豐富的跨瀏覽器UI組件;靈活采用JSON/XML數(shù)據(jù)源,減輕了服務(wù)端表示層的負(fù)荷,使客戶端能實(shí)現(xiàn)MVC應(yīng)用[2]。
3.2 POS機(jī)刷卡加油
利用IC卡和POS機(jī)的智能性、存儲(chǔ)性能,設(shè)計(jì)艦船加油卡和專用POS機(jī)辦理油料業(yè)務(wù),通過(guò)數(shù)據(jù)接口與業(yè)務(wù)系統(tǒng)進(jìn)行有效集成?;诳ǖ募嫒菪?、安全性、經(jīng)濟(jì)性,選擇大存儲(chǔ)量芯片,考慮到數(shù)據(jù)傳輸?shù)目煽啃院桶踩?,選擇接觸式智能卡作為平臺(tái)開(kāi)發(fā)。專用POS機(jī)用于軍港油庫(kù)艦船加油現(xiàn)場(chǎng)和補(bǔ)給艦(船)加油的業(yè)務(wù)辦理,主要進(jìn)行身份審核、指標(biāo)增減、憑證打印和數(shù)據(jù)采集。它采用USB2.0/1.1通信協(xié)議進(jìn)行數(shù)據(jù)交換,預(yù)置數(shù)據(jù)和上傳數(shù)據(jù)的接口函數(shù)封裝成ActiveX控件,由系統(tǒng)調(diào)用ActiveX控件方式操作POS機(jī)讀寫(xiě)數(shù)據(jù)。
當(dāng)需要補(bǔ)給油料的艦船靠岸在軍港碼頭后,經(jīng)辦人持艦船加油卡和領(lǐng)退油介紹信到軍港油庫(kù)業(yè)務(wù)部門(mén)辦理加油手續(xù),將艦船加油數(shù)據(jù)寫(xiě)入IC卡中,并預(yù)扣加油卡內(nèi)艦船油料指標(biāo);然后在發(fā)油碼頭加油,加完油后通過(guò)POS機(jī)刷卡登記艦船加油實(shí)際發(fā)油數(shù);最后把POS機(jī)連接軍港油庫(kù)系統(tǒng)上傳艦船加油實(shí)發(fā)數(shù)。
3.3 CDMA無(wú)線通信
軍港油庫(kù)油料供應(yīng)系統(tǒng)產(chǎn)生的日常業(yè)務(wù)數(shù)據(jù)需要及時(shí)、準(zhǔn)確上傳給上級(jí)單位。但由于這些數(shù)據(jù)密級(jí)性比較高,其傳輸要求較高安全級(jí)別的通信網(wǎng)絡(luò),加之各軍港油庫(kù)網(wǎng)絡(luò)建設(shè)情況參差不齊,因而綜合考慮選擇軍用CDMA無(wú)線網(wǎng)絡(luò)來(lái)進(jìn)行數(shù)據(jù)傳輸。軍用CDMA無(wú)線網(wǎng)絡(luò)是為了滿足軍隊(duì)的特殊需要,依托CDMA公眾網(wǎng),采用碼分多址技術(shù)體制建立的可實(shí)現(xiàn)軍用特殊功能的移動(dòng)通信網(wǎng)絡(luò)[3]。它具有信號(hào)覆蓋范圍廣、保密性高、應(yīng)用成熟等優(yōu)勢(shì)。通過(guò)它的短信傳輸方式,不需要事先建立連接,方便靈活,可以實(shí)時(shí)傳輸業(yè)務(wù)數(shù)據(jù)。因此CDMA短消息傳輸方式是很好的選擇。
本文設(shè)計(jì)了基于Web的軍港油庫(kù)油料供應(yīng)管理系統(tǒng),通過(guò)系統(tǒng)框架、后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)和系統(tǒng)功能模塊的合理設(shè)計(jì),利用ExtJS技術(shù)、POS機(jī)、軍用CDMA無(wú)線通信網(wǎng)絡(luò),使得本系統(tǒng)不僅實(shí)現(xiàn)了油料供應(yīng)的憑證辦理、賬目記載、報(bào)表統(tǒng)計(jì)等基本功能要求,而且系統(tǒng)具有跨平臺(tái)特性、可擴(kuò)展性、實(shí)用性和可維護(hù)性,艦船POS機(jī)刷卡加油和軍用CDMA無(wú)線網(wǎng)絡(luò)傳輸油料關(guān)鍵數(shù)據(jù)更具有前瞻性,系統(tǒng)取得了較高的軍事經(jīng)濟(jì)效益。本系統(tǒng)目前已經(jīng)投入使用,實(shí)踐證明本系統(tǒng)的方案不僅很好地滿足了需求,同時(shí)也為解決同類問(wèn)題提供了一個(gè)通用的設(shè)計(jì)和實(shí)現(xiàn)方案,對(duì)其他部門(mén)業(yè)務(wù)系統(tǒng)建設(shè)也起著良好的借鑒作用。
參考文獻(xiàn)
[1] 李爽.基于半自動(dòng)化iBatis的輕量級(jí)ORM改進(jìn)研究[J].天津職業(yè)院校聯(lián)合學(xué)報(bào),2009,11(2):64-65.
[2] 呂海東,陸永林.基于EXTJS和DWR的Web監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2009,3(12):27-28.
[3] 中國(guó)軍事通信百科全書(shū)編審委員會(huì).中國(guó)軍事通信百科全書(shū)移動(dòng)通信手冊(cè)[M].2005:189-191.
pos機(jī)相關(guān)文章:pos機(jī)原理
評(píng)論