張惠春



摘 要: 為了能在手機上隨時查詢煤礦信息,結合山西煤礦現狀,開發了一個基于Android平臺的煤礦無限調度軟件。對該軟件進行了系統分析,給出了功能設計與所實現的部分功能,包括生產實時數據監控類、人員/設備位置定位類、報表數據查看類等。
關鍵詞: 煤礦無線調度; Android平臺; 數據監控; 位置定位; 報表
中圖分類號:TP391.1 文獻標志碼:A 文章編號:1006-8228(2013)06-41-04
Design and implementation of a colliery wireless scheduling system based on android
Zhan Huichun
(Department of Information Engineering, Jincheng Institute of Technology, Jincheng, Shanxi 048000, China)
Abstract: In order to search the colliery information at any time on mobile phones, a colliery wireless scheduling system based on Android is developed based on the present situation of Shanxi colliery. The software is analyzed systematically, and the function design and partial codes of the software are given. The functions in real-time data monitoring, person/equipment position location and the report data view are given.
Key words: colliery wireless scheduling; Android; data monitoring; position location; report forms
0 引言
基于Android平臺的煤礦無線調度系統面向煤礦各級的各類管理、技術、監控、生產人員,以煤礦各綜合自動化子系統,生產管理系統等為基礎,充分利用數理統計、圖表分析、預測判斷、圖影成像等現代技術工具和數據挖掘手段,綜合提煉并形成各個具有分析、提示、判斷、決策等功能,為企業各級各類管理、技術、監控、生產人員提供分析、決策支持。
該系統通過實時數據接口實現安全生產自動化數據與管理數據的緊密集成。在各自動化子系統數據采集的基礎上,提供綜合調度監控、安全生產、數據分析和各子系統整合,可實現對礦井各主要生產環節(如:煤流、通風、人員、工作面等)的集中監控,為市、縣主管部門和煤礦調度中心、機電、通風、生產、安監等科室提供調度及生產管理的各項功能,是煤礦安全生產管理應用的延伸。
基于仔細分析用戶的需求,確定了本系統的目標是建立一個統一的煤炭無線應用平臺,實現對平臺內的應用系統統一認證、統一風格、統一展示。
1 軟件功能設計與實現
1.1 系統主要功能介紹
綜合監測:本部分可以實現對人員信息、瓦斯實時信息、生產信息的綜合監測,對各個子系統的數據進行綜合分析和匯總,工作人員根據這些數據對井下情況進行分析并進行生產調度。
數據分析:該部分主要包括各種煤產品的銷售分析和瓦斯的涌出量分析,提供圖表和表格兩種形式,幫助相關工作人員根據圖表分析信息做出進一步的決策。
視頻監控:本功能實現礦井視頻點的展示,點擊可查看煤礦視頻,同時可以根據自己設定的時間自動切換視頻,通過手持終端上展示出視頻內容。
1.2 客戶端功能模塊實現
1.2.1 系統首頁
登錄后首先以九宮格列表顯示大同的所有縣、市、區,如圖1所示;點擊某縣/區以列表形式顯示該縣區的所有煤礦,點擊煤礦就可以查看當前煤礦的相關信息,如圖2所示。
圖1 系統主頁圖
圖2 縣級煤礦圖
1.2.2 系統主頁
選擇查看的煤礦后,跳轉到系統主頁,該模塊主要展示的是各種子功能進入的快捷方式,方便監管人員快速方便了解最新的信息。這些報表包括生產日報、瓦斯日報、綜合監測、人員綜合、視頻監控、瓦斯時報、瓦斯月報、瓦斯年報等,分別以圖片方式和九宮格的方式展現,如圖3所示;點擊上圖左上角的按鈕則會顯示菜單,如圖4所示。
圖3 系統首頁圖
圖4 系統菜單圖
1.2.3 綜合監測
本部分實現對人員信息、瓦斯實時信息、生產信息的綜合監測,對各個子系統的數據進行綜合分析、匯總,工作人員可根據這些數據對井下情況進行分析并進行生產調度。
⑴ 綜合監測
① 功能描述
工作人員可以在所選煤礦礦區的平面圖上直觀地看到各個人員點、瓦斯監控點,以及當前的產量信息,并查看各個位置相應的情況,如圖5所示;點擊圖中閃動的圓點,可查看當前瓦斯監測點的情況,如圖6所示。
圖5 礦區平面圖
圖6 瓦斯檢測記錄圖
② 實現方法[1-2]
在實現綜合檢測功能中,客戶端和服務器端所用到的類及實體數據如表1-表4所示。
表1 綜合檢測模塊客戶端類及方法
[類名\&方法名或監聽器名\&功能說明\&com.thx.activi.LayoutBaseActivity\&initMap()\&先清除首頁中容器中的內容,再new 一個WebView,把這個WebView添加到容器中,設置WebView的url。\&]
表2 綜合檢測模塊客戶端實體屬性
[實體名\&實體屬性\&屬性類型\&屬性說明\&com.thx.entity.MineCoal\&mineId\∫\&礦井id\&htmlName\&String\&頁面名稱\&]
表3 綜合檢測模塊服務端類及方法
[類名\&方法名\&功能說明\&com.topdt.action.MapAction\&checkUrl ()\&接收客戶端請求,調用MapService中的searchUrl方法,響應html頁面給客戶端。\&com.topdt.service.MapService\&searchUrl(int coalId)\&調用MapDao的searchUrl方法,并將結果返回。\&com.topdt.dao.MapDao\&searchUrl(int coalId)\&根據礦井id查詢出礦井對應的平面圖頁面名稱,并返回。\&]
表4 綜合檢測模塊服務端實體屬性及對應數據庫表字段
[實體名\&實體屬性\&屬性類型\&屬性說明\&com.thx.entity.MineCoal\&mineId\∫\&礦井id\&htmlName\&String\&頁面名稱\&]
具體實現交互流程:
WebView.loadUrl(“”);
WebView設置了url后,向后臺的com.topdt.action.MapAction類中的checkUrl()請求,checkUrl()根據傳過來的參數coalId,查詢煤礦,并返回煤礦的htmlName屬性。最后響應的是htmlName屬性對應的html頁面。
⑵ 人員綜合監測
工作人員可通過該功能查看所選煤礦當前井下人員信息,包括名字、部門、下井時間等,可分頁瀏覽。
⑶ 瓦斯綜合監測
工作人員可通過該功能查看所選煤礦礦井下各個監控點的瓦斯濃度、以及各個瓦斯相關設備的運行狀態,為工作人員決策提供依據。
⑷ 生產綜合監測
該部分主要是用列表展示所選煤礦各個隊組的運行狀態、班日月計劃實際產量對比以及出勤、瓦斯等總體情況。
⑸ 短信預警提醒
當系統檢測到有超過警戒值的情況后,系統會自動向相關聯系人發送短信提醒,干系人可通過管理端進行設置。
1.2.4 數據分析
該部分主要包括各種煤產品的銷售分析和瓦斯的涌出量分析,提供圖表和表格兩種形式,幫助相關工作人員根據圖表分析信息并做出進一步的決策。
⑴ 生產日報
① 功能描述
該部分是展示所選煤礦當天銷售的大塊煤、末煤、塊碳煤、精煤四種煤產品比例對比,餅狀圖展示各個煤產品占總銷售額的比例,表格則展示銷售的精確數量。如圖7、圖8所示。
圖7 生產日報餅狀圖
圖8 生產日報
② 實現方法
在實現生產日報功能中,客戶端和服務器端所用到的類及實體數據如表5-表8所示。
表5 生產日報模塊客戶端類及方法
[類名\&方法名或監聽器名\&功能說明\&com.thx.activi.YieldRTActivity\&\&生產日報界面\&char type\&此標記要是顯示日期報表的類型\&onCreate()\&“生產日報”菜單所在Activity\&getContent()\&獲取服務端內容\&paintLineGraph()\&繪制折線圖\&com.thx.util.RequestHttp\&\&生產實時提供的服務\&getContent()\&請求服務端\&]
表6 生產日報模塊客戶端實體屬性
[實體名\&實體屬性\&屬性類型\&屬性說明\&com.thx.entity. MineYieldReal\&-mineId\∫\&礦井id\&-mineName\&String\&礦區名字\&-county\&String\&所屬縣/區\&-city\&String\&所屬城市\&-day\&float\&實時產量值\&]
表7 生產日報模塊服務端類及方法
[類名\&方法名\&功能說明\&com.topdt.action.YieldAction\&listYieldDay()\&接收客戶端請求,調用Yield-
Service的queryYieldDay方法,響應html頁面給客戶端\&com.topdt.service.YieldService\&queryYieldDay()\&調用YieldDao的queryYieldDay方法,并將結果返回\&com.topdt.dao.YieldDao\&queryYieldDay()\&列出最新一個月內每日產量\&]
表8 生產日報模塊服務端實體屬性及對應數據庫表字段
[實體名\&實體屬性\&屬性類型\&屬性說明\&com.thx.entity. MineYieldReal\&-mineId\∫\&礦井id\&-mineName\&String\&礦區名字\&-county\&String\&所屬縣/區\&-city\&String\&所屬城市\&-day\&float\&實時產量值\&]
具體實現交互流程:
當客戶端跳轉到本頁面,獲取type類型,根據type類型調用getContent(),getContent通過調用RequestHttp中的getContent()請求服務端的Action中的listYieldDay()。
Action中調用Service并調用Dao層,最終查詢數據庫中這個月中的每天數據,并將其填充到對象并放入集合,返回的對象會被編輯為Json格式的字符串,返回給客戶端,客戶端調用paintLineGraph()在當前頁面繪制折線圖。
⑵ 生產月報
該部分是對所選煤礦當年12個月四種煤產品銷售情況的對比,通過折線圖展示四種煤產品各個月的銷售量以及整體的走勢,表格則顯示每個月每種煤產品的銷售量。
⑶ 生產年報
該部分是對所選煤礦最近三年四種煤產品銷售總額的對比,通過柱狀圖和表格進行展示。
⑷ 瓦斯實時分析
該部分是對所選煤礦每小時瓦斯涌出量的實時監測,通過折線圖展示瓦斯涌出量的整體走勢,用表格顯示具體瓦斯涌出量。
⑸ 瓦斯日報
該部分是對所選煤礦每天瓦斯涌出量的分析,通過折線圖展示一個月中瓦斯涌出量的整體走勢,用表格顯示每天瓦斯涌出總量。
⑹ 瓦斯月報
該部分是對所選煤礦每月瓦斯涌出量的分析,通過折線圖展示一年中瓦斯涌出量整體走勢,用表格顯示每月的瓦斯涌出總量,給相關工作人員提供決策依據。
⑺ 瓦斯年報
該部分是對所選煤礦最近幾年的瓦斯涌出量分析,通過折線圖展示幾年之間外涌出量的整體走勢,用表格顯示每年的瓦斯涌出總量。
1.2.5 視頻監控
① 功能描述
本功能實現礦井視頻點的展示,點擊可查看煤礦視頻,同時可以根據自己設定的時間自動切換視頻,通過手持終端的客戶端軟件展示出視頻內容。如圖9所示。
圖9 視頻監控圖
② 實現方法
在實現視頻監控功能中,客戶端和服務器端所用到的類及實體數據如表9所示。
具體實現交互流程:
當用戶登錄應用進入到主界面后,在oncreate()方法中自動開啟一個線程檢查應用版本,調用BaseActivity類的checkVersion(),在該方法中需要調用NetWorkTool工具類的getContet(),最終獲得版本信息。若當前版本為最新版本,則不需要提示用戶,也不需要做任何操作;若有新版本,則需要彈出對話框提示用戶更新,用戶如果選擇取消則不更新,若選擇確定,則調用私有方法getFile()下載文件到本地,在getFile()中需要調用openFile()打開文件并進行安裝。
用戶也可以選擇功能菜單,功能菜單在當前activity創建的時候就已經創建好了,選擇檢測更新,調用onOptionsItemSelected(),在該方法中調用checkVersion()獲得最新的版本信息,后續的功能如前所述。
2 結束語
本煤礦無限調度系統是基于Android 技術,在Windows7 環境下利用Java在Eclipse集成開發平臺上實現的[3,4]。軟件提供的主要功能包括生產實時數據監控類、人員/設備位置定位類[5]、報表數據查看類等。本系統為煤礦提供一個可以快速實現移動信息化功能的綜合解決方案,幫助煤礦企業快速地將傳統信息化系統遷移到移動終端,讓企業管理者能夠隨時隨地了解和掌握單位內部生產、安全和經營管理情況。
參考文獻:
[1] 楊豐盛.Andorid應用開發揭秘[M].機械工業出版社,2010.
[2] 韓超,梁泉.Android系統原理及開發要點詳解[M].電子工業出版社,2010.
[3] 楊豐盛.Android應用開發揭秘[M].機械工業出版社,2010.
[4] 賈理華.基于Android平臺簡易即時通訊的研究與設計[J].常州工學院學報,2010.23(4):51.
[5] 舒后,王國偉.基于Android系統的手機交通查詢軟件的設計與實現[J].北京應刷學院學報,2011.19(4):68