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