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