国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的農(nóng)產(chǎn)品質(zhì)量安全移動監(jiān)管執(zhí)法系統(tǒng)開發(fā)與應(yīng)用

2018-05-28 11:10:10程濤魏榕馨陳慧琴吳優(yōu)高薛揚朱思勇趙明明
電腦知識與技術(shù) 2018年9期
關(guān)鍵詞:服務(wù)端執(zhí)法檢查公告

程濤 魏榕馨 陳慧琴 吳優(yōu) 高薛揚 朱思勇 趙明明

摘要:為了提高農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管工作效率,根據(jù)泰州市農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管機構(gòu)的實際需求,以泰州市農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管平臺為系統(tǒng)支撐,通過功能分析和關(guān)鍵技術(shù)研究,設(shè)計和開發(fā)了基于Android的移動智能終端軟件。終端軟件作為監(jiān)管平臺向移動客戶端的延伸,監(jiān)管人員可以使用該軟件查看轄區(qū)內(nèi)生產(chǎn)基地信息和農(nóng)產(chǎn)品質(zhì)量檢測信息、實時登記監(jiān)管巡查情況、藍(lán)牙打印執(zhí)法文書等。

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)09-0234-03

Abstract:To improve the quality and safety supervision work efficiency of agricultural products, according to the actual needs of regulators and Taizhou agricultural products quality and safety supervision platform, we analyzed functions and research on the key technologies,then designed and developed the intelligent mobile terminal software based on the Android. Terminal software is the extension of monitoring platform to the mobile client, regulators could use the software to view production base information and agricultural products quality inspection information within the jurisdiction, register inspection timely, print law enforcement documents by Bluetooth,etc.

Key words:Android; mobile internet;agricultural products quality safety; software engineering; supervision; enforcement

農(nóng)產(chǎn)品質(zhì)量安全移動監(jiān)管,是指農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管機構(gòu)工作人員基于4G、WIFI、藍(lán)牙等移動互聯(lián)網(wǎng)絡(luò),通過Android移動智能終端,在任何時刻、任何地點準(zhǔn)確跟蹤掌握實時的農(nóng)產(chǎn)品質(zhì)量安全狀況,獲取和記錄相關(guān)信息,對生產(chǎn)經(jīng)銷過程、農(nóng)業(yè)投入品使用、農(nóng)藥殘留等進行有效控制,完成對農(nóng)產(chǎn)品質(zhì)量安全的全面監(jiān)管和移動執(zhí)法,從源頭上保障舌尖上的安全。

1 需求分析

根據(jù)實地調(diào)研和與目標(biāo)用戶交流討論,通過流程圖描述了監(jiān)管工作人員瀏覽基礎(chǔ)信息、巡查登記、執(zhí)法檢查、行政處罰、執(zhí)法文書藍(lán)牙打印的一系列過程,如圖1所示。

與業(yè)務(wù)流程相對應(yīng),系統(tǒng)需要包含下列功能:

1)基礎(chǔ)信息瀏覽。監(jiān)管工作人員登錄后,可以查看服務(wù)器端提供的所有的新聞動態(tài)的詳細(xì)內(nèi)容;進入通知公告可查看近期的公告標(biāo)題并可以點擊進入查看詳細(xì)內(nèi)容;可以查看轄區(qū)內(nèi)生產(chǎn)基地的詳細(xì)信息;可以查看農(nóng)貿(mào)市場、批發(fā)市場、生產(chǎn)基地等受檢對象的詳細(xì)信息;可以查看轄區(qū)內(nèi)監(jiān)管工作隊伍的詳細(xì)信息。

2)檢測數(shù)據(jù)查詢:可以查看家庭農(nóng)場、專業(yè)合作社、農(nóng)產(chǎn)品公司等形式生產(chǎn)基地的農(nóng)藥殘留自檢數(shù)據(jù),同時可以查看到轄區(qū)內(nèi)本級監(jiān)管機構(gòu)和下級監(jiān)管機構(gòu)對生產(chǎn)基地、農(nóng)貿(mào)市場、批發(fā)市場進行農(nóng)藥殘留抽檢的數(shù)據(jù),并且可以根據(jù)條件進行查詢。

3)巡查登記:用于執(zhí)法人員執(zhí)法后輸入巡查對象、檢查員、檢查項目、檢查結(jié)果等信息以及可以拍照取證。照片功能可以用手機拍照立刻獲取或從手機相冊提取,GPS定位系統(tǒng)讓準(zhǔn)確定位到監(jiān)管工作的地址,提高監(jiān)管工作的準(zhǔn)確度。

4)行政執(zhí)法:包括執(zhí)法檢查和行政處罰。執(zhí)法對象包括了對農(nóng)業(yè)投入品企業(yè)、種植業(yè)、畜禽養(yǎng)殖業(yè)、水產(chǎn)養(yǎng)殖業(yè)等受檢對象的檢查,當(dāng)執(zhí)法檢查中發(fā)現(xiàn)違法問題時,進行行政處罰登記。執(zhí)法檢查和行政處罰的內(nèi)容通過移動終端登記到服務(wù)端的數(shù)據(jù)庫中。

5)藍(lán)牙打?。寒?dāng)巡查登記、執(zhí)法檢查和行政處罰的工作內(nèi)容已經(jīng)寫入到服務(wù)器中,通過移動終端可以瀏覽其工作列表和詳細(xì)信息,并且可以通過藍(lán)牙模塊連接到藍(lán)牙打印機實現(xiàn)實地快速打印執(zhí)法文書,有效地提高工作效率。

2 系統(tǒng)設(shè)計

2.1 功能模塊

根據(jù)需求分析,農(nóng)產(chǎn)品質(zhì)安全移動監(jiān)管軟件里面是含有新聞動態(tài)、通知公告、基地信息、被檢單位、基地自檢、監(jiān)測信息、監(jiān)管隊伍、巡查登記、行政執(zhí)法9個一級功能模塊,如圖2所示。為了滿足需求還添加系統(tǒng)登錄、掃碼功能,同時增加了執(zhí)法檢查、行政處罰、藍(lán)牙打印、電子地圖等二、三級模塊。

2.2 系統(tǒng)框架

整個系統(tǒng)采用Client/Server模式,其中Android客戶端軟件作為Client,采用JavaEE開發(fā)的泰州市農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管平臺作為Server。Server面向Client開放接口,提供數(shù)據(jù)讀取和寫入服務(wù),采用Struts2框架設(shè)計,分為控制器層、業(yè)務(wù)邏輯層、DAO層、持久化對象PO層。Android客戶端通過服務(wù)端的控制器層與服務(wù)端連接,當(dāng)有數(shù)據(jù)請求時,首先通過控制器層,再依次通過業(yè)務(wù)邏輯層、DAO層、持久化對象PO,然后與數(shù)據(jù)庫服務(wù)器進行數(shù)據(jù)交互。

Android客戶端采用MVC模式進行分層。其中Model層負(fù)責(zé)創(chuàng)建實體類,將網(wǎng)絡(luò)連接層傳輸?shù)臄?shù)據(jù)進行封裝,實體類包括基地信息、市場自檢、監(jiān)管隊伍等;Logic層負(fù)責(zé)業(yè)務(wù)邏輯處理,作為MVC模式中的Controller層,獲取返回給調(diào)用者的對象,對其進行賦值;UI層作為MVC模式中的View層,負(fù)責(zé)數(shù)據(jù)在界面上正確顯示,通過Activity加載UI界面和Logic層返回的數(shù)據(jù);在移動互聯(lián)的網(wǎng)絡(luò)狀態(tài)下,網(wǎng)絡(luò)連接層通過Apache HttpClient和HttpURLConnection類向服務(wù)端發(fā)送數(shù)據(jù)請求和數(shù)據(jù)交互,數(shù)據(jù)交互格式是JSON格式。整個系統(tǒng)框架如圖3所示。

3 具體實現(xiàn)

3.1 服務(wù)端

以“通知公告”模塊里面的“通知公告列表”為例,通知公告列表接口面向Android客戶端的請求提供通知公告標(biāo)題和序號,設(shè)計和開發(fā)步驟如下:

(1)在實體層創(chuàng)建PublicInfoVO類,表示通知公告內(nèi)容實體類,與數(shù)據(jù)表的字段一致;

(2)在PspIndexDao.xml文件中注冊訪問數(shù)據(jù)庫中通知公告數(shù)據(jù)表的代碼,如下所示:

SELECT RowID, Title, Pub_Column, User_Name, Pub_Date, Pic_Pass, Top_flag, ROW_NUMBER() OVER (ORDER BY rowid) AS RowNumber from Info_Public

where (Pub_Column =$typeId$ AND public_info_status=1 AND CityId=20) Order by Top_flag DESC, Pub_Date DESC

(3)在DAO層創(chuàng)建List getTopTopicByScType1(Map params)方法,使用getSqlMapClient().queryForList方法用于對PspIndexDao.xml文件的操作;

(4)創(chuàng)建List getTopTopicByTaizhouCityType1(int typeId, Integer i)方法;

(5)在Serivce層創(chuàng)建List getTopTopicByTaizhouCityType1(int typeId, Integer i)方法;

(6)在Action層獲得List news后,將news的id和title獲取,封裝成JSONArray,通過java.io.PrintWriter.write方法返回給移動終端。

3.2 Android客戶端

3.2.1 “通知公告”功能模塊

以“通知公告”模塊為例在Android端進行設(shè)計和開發(fā):

(1)新建接口IbaseTraceLogic,用于有關(guān)農(nóng)產(chǎn)品質(zhì)量安全信息處理邏輯的接口,包含有讀取數(shù)據(jù)的所有抽象方法,用BaseTraceLogic類實現(xiàn)IbaseTraceLogic接口,并實現(xiàn)其中所有的方法。

(2)完善BaseTraceLogic的sendForNews( )方法,方法體是BaseTraceInfoManager類的sendForNews(IhttpListener iHttpListener)方法。同時采用匿名內(nèi)部類的方式實現(xiàn)IhttpListener接口,作為sendForNews的參數(shù),作用是HTTP監(jiān)聽器,服務(wù)器返回結(jié)果會組裝成Response對象并通過onResult()方法回調(diào)給調(diào)用者;

(3)BaseTraceInfoManager類sendForNews方法參數(shù)完成后,執(zhí)行其方法體,代碼如下:

HashMap sendData = new HashMap();

super.send(ACTION_NEWS, sendData, iHttpListener);

(4)調(diào)用BaseTraceInfoManager類的父類HttpManager的send(final int action, final HashMap sendData, final IHttpListener httpListener)方法,action是請求標(biāo)識,不同請求定義不同的標(biāo)識。通過action的值A(chǔ)CTION_NEWS和sendData的判斷,得到serverUrl的值,即接口地址:http://www.js-apqt.com/jmob/jmob_main.action;

(5)在HttpConnector中,通過URL類的openConnection方法打開服務(wù)端提供的通知公告列表接口,賦給HttpURLConnection類型的對象httpConn,通過其getInputStream( )獲得InputStream對象,服務(wù)端返回數(shù)據(jù);

(6)在HttpManager的parserResult(int action, Response response)中,對HttpConnector.connect(request)返回的Response進行解析,其實質(zhì)為解析JSON數(shù)據(jù);

(7)在ServerDataParser類的parseNews方法中,將返回數(shù)據(jù)根據(jù)字段進行封裝成News類的對象,然后裝入到ArrayList集合中;

(8)在BaseTraceLogic類中,將集合數(shù)據(jù)賦給msg.obj,再通過sendMessage將msg對象賦給調(diào)用者的主線程;

(9)在調(diào)用者NewsActivity中,獲取到數(shù)據(jù)后轉(zhuǎn)換成通知公告列表數(shù)據(jù)適配器NewsAdapter,使用ListView獲取到布局文件中的顯示列表lv_base,界面顯示了通知公告列表;

(10)在通知公告列表上注冊setOnItemClickListener監(jiān)聽器,封裝意圖Intent對象,對象內(nèi)容中包括跳轉(zhuǎn)到的通知公告詳細(xì)內(nèi)容類NewsDetailActivity、通知公告列表的id;

(11)在NewsDetailActivity中,使用mIBaseTraceLogic.sendForNewsDetail(id)方法,獲得訪問通知公告詳細(xì)內(nèi)容的數(shù)據(jù)并且顯示在布局文件上,其步驟跟上面類似。

3.2.2 “行政執(zhí)法”功能模塊

農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管工作登記類模塊包括了巡查登記、行政執(zhí)法2個模塊,其中行政執(zhí)法又包括了執(zhí)法檢查和行政處罰2個子模塊。下面以執(zhí)法檢查模塊為例進行開發(fā)。

(1)獲取activity_camera_trace.xml布局文件和里面的控件;

(2)為檢查對象的查詢按鈕注冊監(jiān)聽器,當(dāng)單擊時跳轉(zhuǎn)到CheckAddrActivity中,該Activity為顯示轄區(qū)內(nèi)所有的受檢單位,使用startActivityForResult方法回調(diào)獲取到的受檢單位;

(3)為巡檢員的查詢按鈕注冊監(jiān)聽器,當(dāng)單擊時跳轉(zhuǎn)到PersonNameActivity中,該Activity為顯示監(jiān)管機構(gòu)的執(zhí)法工作人員,使用startActivityForResult方法回調(diào)獲取到的巡檢員;

(4)為拍照按鈕注冊監(jiān)聽器,當(dāng)單擊時跳出對話框,可以選擇“拍攝”和“相冊”功能,構(gòu)造對話框極其點擊條目的效果實現(xiàn)代碼如下;

AlertDialog dlg = new AlertDialog.Builder(CameraTraceActivity.this).setTitle("選擇圖片").setItems(items, new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,int item) {

if(item==1){ //使用手機即時拍照方式

Intent getImageByCamera= new Intent("android.media.action.IMAGE_CAPTURE");

startActivityForResult(getImageByCamera, CAMERA_SUCCESS); }

else{ //獲取手機相冊已有圖片

Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);

getImage.addCategory(Intent.CATEGORY_OPENABLE);

getImage.setType("image/*");

startActivityForResult(getImage, PICTURE_SUCCESS);

} } }).create();

dlg.show( );

(5)采用子線程將獲取到的圖片先傳送到服務(wù)端,采用開源框架xUtils;

(6)在登記界面上手動輸入檢查項目、檢查結(jié)果,獲取到GPS定位地址、服務(wù)端返回的圖片地址后,對提交按鈕注冊監(jiān)聽器,用來將這些數(shù)據(jù)提交給服務(wù)端。

4 軟件運行和應(yīng)用情況

以泰州市農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管平臺為系統(tǒng)支撐,采用了Struts2、iBatis等框架,提出了輕量級網(wǎng)絡(luò)傳輸JSON格式,研究了服務(wù)端數(shù)據(jù)交換接口的設(shè)計與實現(xiàn)方法,建立了MVC模式分層開發(fā)的方案,開發(fā)了泰州市農(nóng)產(chǎn)品質(zhì)量安全移動監(jiān)管執(zhí)法智能終端軟件。泰州市農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管機構(gòu)實際應(yīng)用效果表明,通過Android終端進行移動監(jiān)管,軟件獲得的農(nóng)產(chǎn)品質(zhì)量信息真實準(zhǔn)確,監(jiān)管執(zhí)法登記工作快速方便,有效地提高了監(jiān)管效率和效果。

參考文獻(xiàn):

[1] 陳長喜,許曉華.基于物聯(lián)網(wǎng)的肉雞可追溯與監(jiān)管平臺設(shè)計與應(yīng)用[J].農(nóng)業(yè)工程學(xué)報,2017(5):224-231.

[2] 陳熔,俞彤.基于APP的農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管平臺的設(shè)計與開發(fā)[J].江蘇農(nóng)業(yè)科學(xué),2017(12):171-173.

[3] 白紅武,孫愛東,陳軍,等.基于物聯(lián)網(wǎng)的農(nóng)產(chǎn)品質(zhì)量安全溯源系統(tǒng)[J].江蘇農(nóng)業(yè)學(xué)報,2013(02).

猜你喜歡
服務(wù)端執(zhí)法檢查公告
“六個精準(zhǔn)” 扎實做好執(zhí)法檢查“前半篇文章”
京津冀三地將首次開展聯(lián)合執(zhí)法檢查
云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
滬深一周重要公告
滬深一周重要公告
滬深一周重要公告
滬深一周重要公告
在Windows Server 2008上創(chuàng)建應(yīng)用
2013—2017年市人大常委會執(zhí)法檢查項目匯總
灌阳县| 兴安盟| 天峨县| 崇礼县| 灵武市| 南平市| 靖西县| 宜黄县| 玛沁县| 仙居县| 连州市| 东兴市| 梁河县| 杨浦区| 尼勒克县| 云梦县| 革吉县| 襄汾县| 五原县| 昌吉市| 岗巴县| 高要市| 张家港市| 东乌| 澄江县| 开封市| 固安县| 秦安县| 平舆县| 曲周县| 浦县| 内丘县| 桂林市| 南木林县| 建阳市| 贵定县| 彩票| 中超| 雷波县| 潜山县| 怀仁县|