From 43e3df53484d02fb50ab073fa23a31a95b9dbc2f Mon Sep 17 00:00:00 2001 From: endian11 <Dana_Lee1016@126.com> Date: 星期四, 29 十月 2020 11:23:49 +0800 Subject: [PATCH] app重启以及服务重启重新发送考试/训练线路 --- app/src/main/java/safeluck/drive/evaluation/app.java | 70 +++++++++++++++++++++++++++++++++++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index 50fa403..426546e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -23,6 +23,7 @@ import com.anyun.basecommonlib.MyLog; import com.anyun.exam.lib.crash.CrashHandler; import com.facebook.stetho.Stetho; +import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -34,6 +35,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.Executors; @@ -48,8 +50,12 @@ import safeluck.drive.evaluation.DB.failitems.FailedProj; import safeluck.drive.evaluation.DB.failitems.LuKaoFailedProj; import safeluck.drive.evaluation.DB.gps.GpsInfoWorker; +import safeluck.drive.evaluation.DB.route.RouteCross; +import safeluck.drive.evaluation.DB.route.RouteTriggerLine; import safeluck.drive.evaluation.DB.rtktb.RTKConfigUpdateWorker; import safeluck.drive.evaluation.bean.ExamPlatformData; +import safeluck.drive.evaluation.bean.RemoteRouteCollect; +import safeluck.drive.evaluation.bean.RouteCollect; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.AttachInfo; @@ -119,6 +125,7 @@ // OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class); sendMapInfo(); sendVechileInfo(); + sendRouteExam(); DataInitKt.MCUUpgrade(getApplicationContext()); DataInitKt.sendExamLights(getApplicationContext()); DataInitKt.sendRtkConfig(getApplicationContext()); @@ -130,6 +137,67 @@ }); + } + + private void sendRouteExam() { + if (CThreadPoolExecutor.isOnMainThread()){ + Log.i(TAG,"sendRouteExam 杩愯鍦ㄤ富绾匡紝闇�瑕佸湪瀛愮嚎绋嬪彂閫佺嚎璺�"); + CThreadPoolExecutor.runInBackground(()->{ + opDBAndSendRoute(); + }); + }else{ + Log.i(TAG,"sendRouteExam 杩愯瀛愮嚎绋�"); + opDBAndSendRoute(); + } + } + + private void opDBAndSendRoute() { + List<RouteCollect.CrossingActiveBean> crossingActiveBeans = new ArrayList<>(); + List<RouteCollect.TriggerLineBean> triggerLineBeans = new ArrayList<>(); + List<Double> xy = new ArrayList<>(); + RemoteRouteCollect remoteRouteCollect = new RemoteRouteCollect(); + RouteCollect routeCollect = new RouteCollect(); + List<RouteCollect> routeCollects = new ArrayList<>(); + String routeName = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteBeanDao().getCurrRouteName(ExamPlatformData.getInstance().getExamRoute()); + routeCollect.setName(routeName); + List<RouteTriggerLine> routeTriggerLines = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getRouteTriggerLineDao().getAllRouteTriggerLine(ExamPlatformData.getInstance().getExamRoute()); + List<RouteCross> routeCrosses = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext().getApplicationContext()).getRouteCrooDao().getAllRouteCross(ExamPlatformData.getInstance().getExamRoute()); + for (RouteTriggerLine line:routeTriggerLines){ + RouteCollect.TriggerLineBean triggerLineBean = new RouteCollect.TriggerLineBean(); + int road = line.getRoad(); + int type = line.getType(); + + double x = line.getX(); + double y = line.getY(); + xy.clear(); + xy.add(x); + xy.add(y); + triggerLineBean.setRoad(road); + triggerLineBean.setType(type); + triggerLineBean.setX_y(xy); + triggerLineBeans.add(triggerLineBean); + + + } + routeCollect.setTrigger_line(triggerLineBeans); + + for (RouteCross routeCross:routeCrosses){ + int idx = routeCross.getIdx(); + int road = routeCross.getRoad(); + int active = routeCross.getActive(); + RouteCollect.CrossingActiveBean crossingActiveBean = new RouteCollect.CrossingActiveBean(); + crossingActiveBean.setActive(active); + crossingActiveBean.setIdx(idx); + crossingActiveBean.setRoad(road); + crossingActiveBeans.add(crossingActiveBean); + } + routeCollect.setCrossing_active(crossingActiveBeans); + routeCollects.add(routeCollect); + + remoteRouteCollect.setScheme(routeCollects); + String str = new Gson().toJson(remoteRouteCollect); + Log.i(TAG,"json====="+str); + AYSdk.getInstance().sendCmd(0x8017,str); } private void sendJudgeArgs() { @@ -340,6 +408,8 @@ OneTimeWorkRequest examStatausOutWorker1 = new OneTimeWorkRequest.Builder(ExamStatusOutWorker.class) .setInputData(data).build(); WorkManager.getInstance(getApplicationContext()).enqueue(examStatausOutWorker1); + sendRouteExam(); + sendJudgeArgs(); break; } } catch (JSONException e) { -- Gitblit v1.8.0