李平富+高麗金
摘要:加油站安全貼業(yè)務(wù)管理系統(tǒng)是一套運行于中石化云南公司非油業(yè)務(wù)網(wǎng)絡(luò)平臺上的,為滿足“油品安全貼”項目運作而定制開發(fā)的業(yè)務(wù)應(yīng)用軟件系統(tǒng);主要包括:庫存管理、銷售管理、統(tǒng)計分析、員工人員管理等功能模塊;設(shè)計采用Java Web技術(shù),整合Spring MVC、MyBatis框架,使用apache-tomcat-6.0.41作為服務(wù)器,數(shù)據(jù)庫采用Oracle 11.2g版本,數(shù)據(jù)庫開發(fā)采用PL/SQL Developer,實現(xiàn)了一個基于B/S架構(gòu)的加油站安全貼業(yè)務(wù)管理系統(tǒng)。
關(guān)鍵詞:加油站;油品安全貼;業(yè)務(wù)管理;管理系統(tǒng);數(shù)據(jù)庫
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)29-0048-03
Abstract: Gas station safety stickers business management system is a run on the company's non-gas business Sinopec Yunnan network platform, to meet the "gas security stickers" project operation and custom-developed business application software systems; including inventory management, sales management , statistical analysis, staff management modules and so on; The design uses Java Web technology, integration of Spring MVC, MyBatis framework, using apache-tomcat-6.0.41 as a server, database using Oracle 11.2g version, database development using PL/SQL Developer, to make a gas station security-based B/S architecture, business management system.
Key words: gas station; gas security stickers; business management; management system; database
為滿足中國石化云南石油分公司在開展油品“安全貼”業(yè)務(wù)運營過程的業(yè)務(wù)需要,專門定制開發(fā)的一套計算機網(wǎng)絡(luò)業(yè)務(wù)處理應(yīng)用軟件;用于對油品“安全貼”業(yè)務(wù)執(zhí)行全過程的電子化處理和業(yè)務(wù)運營支撐。本文主要介紹了基于Spring MVC和MyBatis的油品安全貼業(yè)務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)。包括“油品安全貼”業(yè)務(wù)管理系統(tǒng)的總體目標描述、功能需求分析描述、業(yè)務(wù)功能及數(shù)據(jù)處理邏輯詳細描述、建設(shè)實施條件及其他非功能性需求描述。
QR二維碼是由日本豐田子公司 Denso Wave于1994年發(fā)明并開始使用的一種矩陣二維碼符號[1]。QR二維碼不僅信息容量大、可靠性高、成本低,還可表示漢字及圖像等多種文字信息、其保密防偽性強而且使用非常方便,QR碼呈正方形,圖案由黑白兩色組成[1]。油品安全貼?是一種采用加密二維碼標識及抗污易碎防偽技術(shù)制作的一次性使用標簽,用于每次機動車加油后對油箱蓋進行貼封,為客戶提供對中石化油品質(zhì)量的保證及發(fā)動機因油品質(zhì)量發(fā)生故障后保險理賠的依據(jù)。
在本系統(tǒng)的各系統(tǒng)模塊、業(yè)務(wù)功能的描述中,“門店”指中石化下屬的加油站內(nèi)部門店,“產(chǎn)品”特指油品安全貼標簽,作為本項目在業(yè)務(wù)運營中向加油客戶推介使用的產(chǎn)品。
1 需求分析
1.1 系統(tǒng)總體目標
該系統(tǒng)主要包括:系統(tǒng)基礎(chǔ)管理、二維碼加密生成、庫存管理、銷售管理、員工管理、統(tǒng)計分析等功能模塊。系統(tǒng)基礎(chǔ)管理包括系統(tǒng)登錄/注銷和修改密碼;庫存管理包括對產(chǎn)品的二維碼加密生成入庫和產(chǎn)品庫存查詢;銷售管理包括產(chǎn)品領(lǐng)用(退回)登記的增刪改查、產(chǎn)品使用登記的增刪改查和產(chǎn)品報廢登記的增刪改查等操作;員工管理包括員工信息的增刪改查、員工在職狀態(tài)管理、員工是否允許登錄系統(tǒng)授權(quán)等操作。統(tǒng)計分析包括產(chǎn)品使用日流水統(tǒng)計、產(chǎn)品業(yè)務(wù)日報統(tǒng)計和員工業(yè)務(wù)月報統(tǒng)計。系統(tǒng)的改造及完善需要根據(jù)實際情況進行調(diào)整;其最終目的是通過此系統(tǒng)來實現(xiàn)加油站安全貼業(yè)務(wù)的各個環(huán)節(jié)的管理。
1.2 功能性需求分析
1.2.1 功能模塊清單
系統(tǒng)功能模塊包括系統(tǒng)基礎(chǔ)管理、庫存管理、銷售管理、業(yè)務(wù)統(tǒng)計報表,具體功能模塊清單如表1所示。
1.2.2 系統(tǒng)基礎(chǔ)管理
系統(tǒng)基礎(chǔ)管理模塊是提供系統(tǒng)通用功能。
1) 系統(tǒng)登錄/注銷
對于所有本系統(tǒng)的功能操作,都必須經(jīng)過操作員的系統(tǒng)登錄驗證?!暗卿?注銷”功能對所有操作人有效。
2) 修改登錄密碼
修改登錄密碼功能需要在已登錄系統(tǒng)的狀態(tài)下進行操作,僅對當前登錄操作員有效;“修改登錄密碼”功能應(yīng)在系統(tǒng)主頁面的上方標題欄顯示,在已登錄期間的任何時候均可調(diào)用。
3) 員工信息管理
所有操作員(員工)均歸屬于系統(tǒng)管理員維護,系統(tǒng)管理員需要對操作員的基礎(chǔ)信息進行維護,包括:工號、姓名、職務(wù)、登錄密碼、允許登錄狀態(tài)、在職狀態(tài)、備注等信息;其中“工號”作為操作員的記錄標識并作為系統(tǒng)登錄的賬號使用,故此必須保證唯一。
4) 庫存管理
庫存管理主要是對產(chǎn)品二維碼進行預(yù)加密生成處理,同時對產(chǎn)品進行入庫業(yè)務(wù)操作;產(chǎn)品二維碼處理是針對該系統(tǒng)中的油品“安全貼”標簽中所印刷的二維碼,每個標簽產(chǎn)品中的二維碼具備唯一標識性,二維碼中的編碼內(nèi)容數(shù)據(jù)需經(jīng)過加密處理以具備信息保密和標簽防偽的功能。在標簽產(chǎn)品的制作生產(chǎn)前,需經(jīng)由系統(tǒng)通過加密程序?qū)γ颗蔚臉撕灦S碼進行批量的加密生成,生成的二維碼圖形數(shù)據(jù)通過導(dǎo)出文件的方式,發(fā)送給制作單位進行實際的標簽產(chǎn)品生產(chǎn)制作。endprint
①二維碼加密生成
在本系統(tǒng)中,“安全貼”產(chǎn)品標簽采用QR二維碼;通過對系統(tǒng)自動生成的唯一標識號碼進行信息疊加,疊加的信息可以是自定義驗證標識和其他數(shù)據(jù),再通過對疊加后的信息利用對稱加密算法進行數(shù)據(jù)置換處理,生成新的編碼表象數(shù)據(jù),再對加密后的表象數(shù)據(jù)進行QR二維碼的轉(zhuǎn)換,實現(xiàn)對產(chǎn)品標簽二維碼的加密處理。
②二維碼解密識別
二維碼的識別是通過二維碼掃描儀完成,掃描識別得到的是加密后的表象數(shù)據(jù);此時需要先對表象數(shù)據(jù)通過對稱解密算法進行解密識別,恢復(fù)原始信息從而提取其中的唯一標識號碼;以此唯一標識號碼作為業(yè)務(wù)處理的產(chǎn)品標識。
③產(chǎn)品庫存查詢
加油站負責人對當前加油站的產(chǎn)品庫存數(shù)量進行查詢,庫存數(shù)量由系統(tǒng)根據(jù)產(chǎn)品使用過程中的狀態(tài)進行統(tǒng)計;便于加油站負責人核對產(chǎn)品實物庫存數(shù)與系統(tǒng)記錄是否相符,及時發(fā)現(xiàn)和處理問題。
5) 銷售管理
①員工領(lǐng)用登記
由加油站產(chǎn)品管理(倉管)員進行操作,對加油站實際發(fā)放產(chǎn)品到員工個人的業(yè)務(wù)進行登記;產(chǎn)品發(fā)放業(yè)務(wù)的實物包括:(安全貼)產(chǎn)品發(fā)放、贈品發(fā)放。
登記的信息項包括:發(fā)放領(lǐng)用記錄號、領(lǐng)用員工、數(shù)量、執(zhí)行狀態(tài)、倉管員、發(fā)放時間、登記時間、執(zhí)行時間等;其中執(zhí)行狀態(tài)分為:新建、已執(zhí)行;已執(zhí)行狀態(tài)下記錄不允許修改。
②產(chǎn)品使用登記
當加油站業(yè)務(wù)員完成一次產(chǎn)品銷售,需要對售出產(chǎn)品的二維碼進行登記激活生效,同時需要采集客戶車輛的相關(guān)信息進行錄入登記,作為一次完整的業(yè)務(wù)數(shù)據(jù)記錄;錄入的數(shù)據(jù)項包括:產(chǎn)品標識號碼、業(yè)務(wù)員、銷售時間、銷售金額、車輛號牌、油品標號、手機號碼、錄入操作員、錄入時間;如發(fā)生錄入錯誤需要修改時,登錄系統(tǒng)對錯誤記錄進行編輯修改;系統(tǒng)需記錄修改時間,修改人。
③產(chǎn)品報廢處理登記
由加油站產(chǎn)品管理(倉管)員進行操作,對加油站在日常產(chǎn)品產(chǎn)生損壞報廢的情況進行登記;產(chǎn)品報廢登記的信息項包括:記錄號、員工、報廢單位、報廢原因、登記時間、確認狀態(tài)、確認時間等。
2 系統(tǒng)總體設(shè)計
業(yè)務(wù)系統(tǒng)的界面設(shè)計采用目前流行的jQuery easyUI框架進行設(shè)計。jQuery easyUI是一組基于jQuery的一個前臺UI界面的插件,它能幫助Web開發(fā)者更輕松的打造出功能豐富并且美觀的界面。功能相對沒extjs強大,但頁面也是相當好看的。一些功能插件也足夠開發(fā)者使用,相對于extjs更輕量。另外,開發(fā)者不需要編寫復(fù)雜的JavaScript代碼。
Spring MVC框架是由一個MVC框架,通過實現(xiàn)Model-View-Controller模式來很好地將數(shù)據(jù)、業(yè)務(wù)與展現(xiàn)進行分離。Model的職責是負責業(yè)務(wù)邏輯。包含兩層:業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理邏輯,比如實體類、DAO、Service都屬于模型層;View視圖的職責是負責顯示界面和用戶交互(收集用戶信息),屬于視圖的組件是不包含業(yè)務(wù)邏輯和控制邏輯的jsp;Controller控制器是模型層M和視圖層V之間的橋梁,用于控制流程[2]。從這樣一個角度來說,Spring MVC和Struts、Struts2非常類似。Spring MVC的設(shè)計是圍繞DispatcherServlet展開的,DispatcherServlet負責將請求派發(fā)到特定的HandlerMapping。
MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。使用簡單的 XML或注解用于配置和原始映射,將接口和普通的 Java對象映射成數(shù)據(jù)庫中的記錄。
本次設(shè)計最終采用Java Web技術(shù),整合Spring MVC、MyBatis框架實現(xiàn)加油站安全貼業(yè)務(wù)管理系統(tǒng)的具體流程。
3 功能實現(xiàn)
軟件系統(tǒng)的功能與實際業(yè)務(wù)相匹配,當日常安全貼相關(guān)業(yè)務(wù)發(fā)生時需要在系統(tǒng)中進行相應(yīng)的業(yè)務(wù)處理操作;
1) 系統(tǒng)登錄:在系統(tǒng)中進行任何的業(yè)務(wù)操作均需要首先登錄系統(tǒng);登錄頁面如圖1所示。
輸入登錄賬號及登錄密碼后,點擊“登錄”進入系統(tǒng);當賬號或密碼錯誤將不允許進入并提示錯誤。
2) 系統(tǒng)主頁面:用戶成功登錄系統(tǒng)后將看到系統(tǒng)主功能頁面如下圖2所示。
進入主界面后可以進行個人密碼修改,注銷以及所有的業(yè)務(wù)操作。
3.1 員工管理模塊
維護員工工號、姓名、職務(wù)、登錄密碼、允許登錄狀態(tài)、在職狀態(tài)、備注等信息;其中“工號”作為員工操作的記錄標識并作為系統(tǒng)登錄的賬號使用,故此必須保證唯一??蓪T工信息進行修改、刪除等操作。
3.2 庫存管理模塊
3.2.1 產(chǎn)品生產(chǎn)入庫
可以對訂單的新建、修改、生產(chǎn)、刪除和查詢等操作,功能頁面如圖3所示。
3.2.2 產(chǎn)品庫存查詢
可查看加油站倉庫的產(chǎn)品庫存詳細情況,包括每一個包裝的在庫狀態(tài)及下級包裝的數(shù)量,功能頁面如圖4所示。
3.3 銷售管理
3.3.1 員工領(lǐng)用登記
加油員個人需要向加油站站長進行安全貼產(chǎn)品的領(lǐng)用,在當班過程隨身攜帶并向客戶進行推薦使用;每名加油員實際發(fā)生的安全貼產(chǎn)品領(lǐng)用均需要在系統(tǒng)中進行登記;被使用的安全貼需要交回存根進行使用登記;未使用完的安全貼將記錄在個人領(lǐng)用賬上;對于個人不再使用的安全貼,可以進行“領(lǐng)用退回登記”以清結(jié)賬目。
3.3.2 產(chǎn)品使用登記
當加油員完成本班次的工作,需要將已使用的安全貼存根交回給記賬員,由記賬員進行批量的登記使用操作處理,如圖5所示。
3.4 統(tǒng)計報表
系統(tǒng)實現(xiàn)了加油站日流水、業(yè)務(wù)日報、員工月報等統(tǒng)計功能,如圖6所示。endprint
4 總結(jié)與展望
4.1 總結(jié)
系統(tǒng)在設(shè)計方面還存在許多的不足之處需要改進,程序也有一定量的Bug,比如瀏覽器兼容性(掃描槍在中文輸入法狀態(tài)下不能自動回車),這些都還需要修改與完善。
4.2 展望
本系統(tǒng)考慮在今后業(yè)務(wù)發(fā)展過程中與外部系統(tǒng)進行對接,增加交換業(yè)務(wù)數(shù)據(jù)及提供客戶信息、業(yè)務(wù)記錄信息查詢接口;包括但不限于:
1) 與中石化微信企業(yè)服務(wù)號進行對接;
2) 與中石化海信商業(yè)系統(tǒng)進行對接;
3) 與中石化ERP系統(tǒng)的財務(wù)模塊進行對接。
參考文獻:
[1] 蘋果網(wǎng).ApplePay在美國遇勁敵:QR二維碼支付[DB/OL].http://www.app111.com/doc/100092248_1.html.
[2] wawlian.Spring MVC簡介[EB/OL].http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html.
[3] 胡玫艷,黃花,何龍.電子商務(wù)概論[M].北京:清華大學出版社,2012,10-12.
[4] 黃縉華.MySQL其實很簡單[M].北京:清華大學出版社,2011,22-30.
[5] Kenneth A,Lambert,Martin Osborne.Java程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學出版社, 2005,15-23.
[6] 沈澤剛,秦玉平.Java Web編程技術(shù)[M].北京:清華大學出版社,2010,44-46.
[7] 朱印宏,林小志.精通CSS網(wǎng)頁布局[M].中國電力出版社,2009,50-53.
[8] 耿祥義. Jsp基礎(chǔ)教程[M].北京:清華大學出版社,2004,11-16.
[9] CNNIC.中國B2C電子商務(wù)報告[J].計算機周刊,2001,12(32):12-16.
[10] 李鐘尉,陳丹丹.Java開發(fā)實例1200例[M].北京:清華大學出版社,2011,7-8.
[11] 萬錦坤.中國大學學報論文文摘[D].北京:中國大百科全書出版社,1996.
[12] Halale,Mahesh.Management Information System[M].IND:Global Media,2010,37-58.endprint