摘 要: 鑒于城管執(zhí)法對(duì)現(xiàn)場(chǎng)證據(jù)即時(shí)采集和錄入的需要,綜合利用3G網(wǎng)絡(luò)、GPS定位、Android手持終端和藍(lán)牙技術(shù),設(shè)計(jì)實(shí)現(xiàn)了“移動(dòng)式城管”執(zhí)法系統(tǒng)。探討了移動(dòng)式城管執(zhí)法系統(tǒng)的功能需求、系統(tǒng)架構(gòu)、實(shí)現(xiàn)方案和關(guān)鍵技術(shù)。
關(guān)鍵詞: 3G網(wǎng)絡(luò); GPS定位; 手持終端; 藍(lán)牙技術(shù); 移動(dòng)式城管執(zhí)法
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)11-31-03
0 引言
在構(gòu)建和諧社會(huì)的大背景下,人民群眾的法制意識(shí)和維權(quán)意識(shí)日益增強(qiáng),對(duì)人性化執(zhí)法的呼聲也日益強(qiáng)烈,如何減少執(zhí)法沖突和提高執(zhí)法公信力成為執(zhí)法部門面臨的難題。利用信息化手段,進(jìn)行現(xiàn)場(chǎng)證據(jù)的即時(shí)采集、錄入和罰單的自動(dòng)生成,實(shí)現(xiàn)全程現(xiàn)場(chǎng)執(zhí)法,不失為破解上述難題的有效途徑。為此,基于Android平臺(tái)和無線打印技術(shù)[1],設(shè)計(jì)了“移動(dòng)式城管”執(zhí)法系統(tǒng),實(shí)現(xiàn)從拍照、無線打印、無線數(shù)據(jù)上傳,到違章通知單下發(fā)的全程移動(dòng)式現(xiàn)場(chǎng)執(zhí)法。
1 系統(tǒng)功能
“移動(dòng)式城管”執(zhí)法系統(tǒng)通過手機(jī)終端進(jìn)行拍照、數(shù)據(jù)查詢和數(shù)據(jù)上報(bào)等工作;通過便攜式藍(lán)牙打印機(jī)進(jìn)行無線打印,實(shí)現(xiàn)違章通知單的下發(fā),讓執(zhí)法人員在第一現(xiàn)場(chǎng)就能完成證據(jù)采集、案件處理和決策生成的執(zhí)法全程,其具體功能如圖1所示。
⑴ 基本功能。包括案件上報(bào)、違章通知單打印、違章歷史信息查詢、附件管理、數(shù)據(jù)交換、系統(tǒng)自動(dòng)更新、權(quán)限控制等。
● 案件上報(bào):負(fù)責(zé)現(xiàn)場(chǎng)違章事件的填報(bào)和實(shí)時(shí)上報(bào),在移動(dòng)終端實(shí)現(xiàn)數(shù)據(jù)的新增。
● 無線打?。焊鶕?jù)案件上報(bào)中填寫的案件分類,自動(dòng)生成各種格式的文書,調(diào)用便攜式藍(lán)牙打印機(jī),現(xiàn)場(chǎng)打印違章通知書,同時(shí)將打印記錄上傳至PC端執(zhí)法管理系統(tǒng)。
● 歷史查詢:在執(zhí)法現(xiàn)場(chǎng),對(duì)違章當(dāng)事人的歷史情況進(jìn)行查詢,輔助執(zhí)法人員在法律的范圍內(nèi)進(jìn)行自由裁量。
● 附件管理:對(duì)執(zhí)法過程中的證據(jù)進(jìn)行管理。主要是將錄音、照片、視頻等證據(jù)以附件的形式進(jìn)行瀏覽和上傳。
● 權(quán)限管理:對(duì)移動(dòng)終端的用戶進(jìn)行認(rèn)證和授權(quán)。只有在PC端執(zhí)法管理系統(tǒng)后臺(tái)授權(quán)的用戶,才能使用移動(dòng)終端的相關(guān)功能。
● 個(gè)人設(shè)置:進(jìn)行用戶昵稱、密碼、界面風(fēng)格等個(gè)人信息的設(shè)置。
● 自動(dòng)更新:負(fù)責(zé)檢測(cè)是否有新版本發(fā)布,是否有新的法律條文更新,如有則自動(dòng)更新,無需人工干預(yù)。
● 數(shù)據(jù)交換:負(fù)責(zé)移動(dòng)終端和服務(wù)器的數(shù)據(jù)交互,數(shù)據(jù)格式采用JSON,輕量又易于擴(kuò)展。
⑵ 智能錄入。在以手機(jī)為移動(dòng)終端的數(shù)據(jù)錄入過程中,減少打字操作,增加智能錄入的輔助功能;在位置信息的處理上,通過GPS定位,結(jié)合地圖的地理編碼服務(wù),自動(dòng)提供位置信息,減少輸入項(xiàng)。
⑶ 離線緩存。在無信號(hào)的情況下,自動(dòng)進(jìn)入離線操作模式,將案件信息進(jìn)行臨時(shí)存儲(chǔ);緩存的案件可以繼續(xù)編輯,可以批量上傳;在信號(hào)恢復(fù)時(shí),統(tǒng)一上報(bào)至PC端執(zhí)法管理系統(tǒng)。
2 系統(tǒng)架構(gòu)
“移動(dòng)式城管”執(zhí)法系統(tǒng)是行政執(zhí)法在手機(jī)終端的一種展現(xiàn)形式,綜合考慮桌面端和手機(jī)終端的技術(shù)架構(gòu),最終采用J2EE技術(shù)體系,服務(wù)器操作系統(tǒng)采用微軟的Windows 2003 64位操作系統(tǒng);鑒于執(zhí)法數(shù)據(jù)量的龐大,數(shù)據(jù)庫采用Oracle 10;執(zhí)法過程中的圖片采用文件存儲(chǔ)的方式;Web容器采用IBM 的WebSphere Application Server 7.0。
代碼實(shí)現(xiàn)的技術(shù)層面采用規(guī)范的MVC架構(gòu)[2],數(shù)據(jù)持久層采用性能良好,擴(kuò)展靈活的MyBatis。
業(yè)務(wù)控制層主要依賴于使用廣泛的Spring,通過Spring與Spring MVC標(biāo)簽綁定的服務(wù),實(shí)現(xiàn)PC端的行政執(zhí)法管理;以JSON格式的數(shù)據(jù)進(jìn)行服務(wù)器端與移動(dòng)終端的交互。
在展現(xiàn)層,PC端執(zhí)法管理系統(tǒng)采用Spring MVC、JQuery、Flash等流行的Web 2.0技術(shù)進(jìn)行實(shí)現(xiàn);移動(dòng)終端采用性能更優(yōu)的Android App的方式實(shí)現(xiàn)[3],具體開發(fā)架構(gòu)視圖如圖2所示。
3 系統(tǒng)實(shí)現(xiàn)
根據(jù)面向?qū)ο蟮脑O(shè)計(jì)思想,遵循松耦合[4]的原則,在系統(tǒng)架構(gòu)的指導(dǎo)下,將公用的模塊進(jìn)行抽象封裝,實(shí)現(xiàn)系統(tǒng)功能。下面重點(diǎn)闡述附件管理和無線打印兩個(gè)組件的功能實(shí)現(xiàn)。
3.1 附件管理的實(shí)現(xiàn)
將附件管理的全部功能封裝為FileView組件,為FileView組件定義接口IAccess,其他模塊調(diào)用IAccess接口,則可以使用附件管理的全部功能[5]。
FileView組件依賴于AccessInfo、AccessInfoView、AccessInfoListAdapter三個(gè)類實(shí)現(xiàn)其具體功能,類圖關(guān)系如圖3所示。
IAccess接口對(duì)外提供三個(gè)方法:其中Getviews()方法,用于獲取view;getCount()方法用于獲取附件個(gè)數(shù);getFiles()方法用于獲取附件對(duì)象。
AccessInfo類[6]主要用于文字和縮略圖的管理,包含四個(gè)方法:其中g(shù)etText()方法用于得到text;setText(String text)方法用于設(shè)置文字;getIcon()方法用于得到圖標(biāo);setIcon(Drawable icon)方法用于設(shè)置圖標(biāo)。
AccessInfoView類主要用于管理單個(gè)附件對(duì)象,包括文字內(nèi)容、縮略圖和復(fù)選框等對(duì)象的管理。
AccessInfoListAdapter類主要用于多個(gè)附件對(duì)象的管理。主要的方法有:Void addItem(AccessInfo it)方法用于添加單個(gè)附件對(duì)象;Void setListItems(List
3.2 無線打印的實(shí)現(xiàn)
無線打印功能[7]的實(shí)現(xiàn)包括硬件設(shè)備連接、初始化、數(shù)據(jù)傳送、二維碼打印、條形碼打印等組件,這里給出二維碼打印和條形碼打印的部分源碼:
/**
* 二維碼打印
*
* @param prtstr
* 打印字符串
* @param codeType
* @param size
* @param ecc
* @return
*/
public ArrayList
String codeType, int size, int ecc) {
Log.d(TAG, \"PrintQRCode...\");
byte[] data1=CmdMaker.makeCommCmd(16, size, 0);
byte[] data2=CmdMaker.makeCommCmd(17, ecc, 0);
byte[] data3=new byte[2];
byte[] data4=(byte[]) 1;
ArrayList
data3[0]=0;
data3[1]=10;
try {
data4=prtstr.getBytes(codeType);
} catch (UnsupportedEncodingException e) {
Log.d(TAG, \"PrintQRCode error in code\"+e.getMessage());
} finally {
if (data4 !=1) {
cmdlist.add(data1);
cmdlist.add(data2);
cmdlist.add(data3);
cmdlist.add(data4);
}
}
return cmdlist;
}
/**
* 條形碼打印
*
* @param iType
* @param iWidth
* 打印寬度
* @param iHeight
* 打印高度
* @param hri
* @param strData
* @return
*/
public ArrayList
int iWidth, int iHeight, int hri, String strData) {
Log.d(TAG, \"PrintBarcode...\");
ArrayList
if ((iWidth<=0)||(iWidth>4)) {
iWidth=2;
}
byte[] data1=CmdMaker.makeCommCmd(10, iWidth, 0);
cmdlist.add(data1);
if (iHeight<=0) {
iHeight=36;
}
byte[] data2=CmdMaker.makeCommCmd(11, iHeight, 0);
cmdlist.add(data2);
if ((hri<0)||(hri>2)) {
hri=2;
}
byte[] data3=CmdMaker.makeCommCmd(12, hri, 0);
cmdlist.add(data3);
Log.d(TAG, \"BarCode HRI\"+data3.length);
for (int i=0; i<3; i++) {
//int hex=data3[i] 0xFF;
}
byte[] data4=CmdMaker.makeCommCmd(8,iType,strData.length());
cmdlist.add(data4);
byte[] data5=(byte[]) 1;
data5=strData.getBytes();
cmdlist.add(data5);
return cmdlist;
}
public byte[] makeQueryPrinterStatus() {
Log.d(TAG, \"QueryPrinterStatus...\");
byte[] data=CmdMaker.makeCommCmd(9, 0, 0);
return data;
}
}
4 結(jié)束語
“移動(dòng)式城管”執(zhí)法系統(tǒng)實(shí)現(xiàn)了案件上報(bào)、違章通知單打印、違章歷史信息查詢、附件管理、數(shù)據(jù)交換、系統(tǒng)自動(dòng)更新、權(quán)限控制、智能錄入等執(zhí)法功能,提供了城管全程現(xiàn)場(chǎng)執(zhí)法的解決方案。后續(xù)將針對(duì)無信號(hào)情況下的離線緩存模式進(jìn)行改進(jìn)和完善,力求實(shí)現(xiàn)憑借二維碼自主打印違章通知單??傊耙苿?dòng)式城管”執(zhí)法系統(tǒng)在實(shí)現(xiàn)全程現(xiàn)場(chǎng)執(zhí)法的同時(shí),精簡(jiǎn)了城管執(zhí)法流程,減少了城管執(zhí)法沖突,增強(qiáng)了城管執(zhí)法公信力。
參考文獻(xiàn):
[1] 牛霞紅.探討藍(lán)牙技術(shù)在無線局域網(wǎng)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2013.9(2):257-258
[2] 張國(guó)祥,舒玉坤.基于Android平臺(tái)的輕量級(jí)圖書館管理系統(tǒng)的研究與實(shí)現(xiàn)[J].湖北師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2013.33(1):1-6
[3] 唐紅杰.基于Web的求職招聘系統(tǒng)分析與設(shè)計(jì)[J].計(jì)算機(jī)時(shí)代,2013.6:36-38
[4] 王熠,李楊.基于SOA的松耦合架構(gòu)在新華08中的應(yīng)用研究[C].中
國(guó)新聞技術(shù)工作者聯(lián)合會(huì)2012年學(xué)術(shù)年會(huì)、五屆四次理事會(huì)暨第六屆“王選新聞科學(xué)技術(shù)獎(jiǎng)”的“人才獎(jiǎng)”和“優(yōu)秀論文獎(jiǎng)”頒獎(jiǎng)大會(huì)論文集,2012.7.10.
[5] 張惠春.基于Android平臺(tái)的煤礦無線調(diào)度系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2013.6:41-44
[6] 尹立坤.C#中用IComparable和IComparer接口實(shí)現(xiàn)數(shù)組排序[J].電腦編程技巧與維護(hù),2010.16:105-106
[7] 劉學(xué)平.3G技術(shù)在手機(jī)圖書館中的應(yīng)用和發(fā)展[J].情報(bào)科學(xué),2010.4:511-515