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 +++++++++++++++++++++++++++++++++++
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | 16 +++++++
app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java | 2 +
app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java | 2 +
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 2
5 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java
index 634e818..cdd9f9b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java
@@ -21,6 +21,8 @@
LiveData<List<RouteBean>> getAllRoutes();
@Query("SELECT * FROM RouteBean where currentCollectFlag=1")
RouteBean getCurrRouteBean();
+ @Query("SELECT routeName FROM RouteBean where id=:mId")
+ String getCurrRouteName(int mId);
//鏇存柊鏁村紶琛ㄧ殑 閲囬泦鏍囧織
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) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
index 5c65f63..04d65c3 100644
--- a/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
+++ b/app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -189,7 +189,7 @@
private String id;//韬唤璇�
private Speaker speaker = null;
-
+ private int examRoute;//鑰冭瘯/璁粌鐢ㄧ殑绾胯矾鍙�
private String ip="47.93.80.84";
private int port=12125;
private String mapPath;//缁濆璺緞鍖呭惈鏂囦欢鍚嶇殑path
@@ -211,6 +211,20 @@
}
+ public int getExamRoute() {
+ examRoute = (int) SPUtils.get(app.getAppContext(),SPUtils.EXAM_ROUTE_ID,-1);
+ return examRoute;
+ }
+
+ /**
+ * 璁剧疆璁粌銆佽�冭瘯鐢ㄧ殑 绾胯矾ID
+ * @param examRoute
+ */
+ public void setExamRoute(int examRoute) {
+ SPUtils.put(app.getAppContext(),SPUtils.EXAM_ROUTE_ID,examRoute);
+ this.examRoute = examRoute;
+ }
+
private ExamPlatformData() {
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index 7f453b4..61e67e7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -964,7 +964,7 @@
public void run() {
for (RouteBean bean:mRouteBeans){
if (id==bean.getId()){
-
+ ExamPlatformData.getInstance().setExamRoute(id);
routeCollect.setName(bean.getRouteName());
List<RouteTriggerLine> routeTriggerLines = WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getRouteTriggerLineDao().getAllRouteTriggerLine(id);
List<RouteCross> routeCrosses = WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getRouteCrooDao().getAllRouteCross(id);
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
index 452fb6b..ca3de39 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/SPUtils.java
@@ -35,6 +35,8 @@
public static final String Coach_SIGN_STATUS = "coach_sign_";
public static final String SIGN_MODE = "sign_mode";
public static final String EXAM_ID = "exam_id";
+ public static final String EXAM_ROUTE_ID = "exam_route_id";//璁粌/鑰冭瘯鐢ㄧ殑 绾胯矾id锛屾湰鍦板寲瀛樺偍锛宎pp閲嶇疆涔嬪悗鏍规嵁瀹冩绱㈡暟鎹簱
+
//灏� HashMap 鐢╯p瀛樺偍璧锋潵
public static void saveHashMap(HashMap<BaseDataUIBean.TYPE_,MapInfoHead> map, Context context){
--
Gitblit v1.8.0