張惠春



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