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