|
@@ -1,12 +1,14 @@
|
|
package com.fdkankan.model.utils;
|
|
package com.fdkankan.model.utils;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.fdkankan.model.proto.Visionmodeldata;
|
|
import com.fdkankan.model.proto.Visionmodeldata;
|
|
import com.fdkankan.model.proto.format.JsonFormat;
|
|
import com.fdkankan.model.proto.format.JsonFormat;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
public class ConvertUtils {
|
|
public class ConvertUtils {
|
|
@@ -194,4 +196,59 @@ public class ConvertUtils {
|
|
log.error(trace.toString());
|
|
log.error(trace.toString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public static String transferVisionUuidToIndex(String srcPath){
|
|
|
|
+ String visionJsonStr = readTxtFileToJson(srcPath);
|
|
|
|
+ JSONObject visionJson = JSON.parseObject(visionJsonStr);
|
|
|
|
+ JSONArray sweepLocationArr = visionJson.getJSONArray("sweepLocations");
|
|
|
|
+ Map<String, Integer> uuidIndexMap = new HashMap<>();
|
|
|
|
+ for (int i = 0; i < sweepLocationArr.size(); i++) {
|
|
|
|
+ JSONObject sweepLocationObj = (JSONObject)sweepLocationArr.get(i);
|
|
|
|
+ uuidIndexMap.put(sweepLocationObj.getString("uuid"), i);
|
|
|
|
+ }
|
|
|
|
+ for (Object o : sweepLocationArr) {
|
|
|
|
+ JSONObject sweepLocationObj = (JSONObject)o;
|
|
|
|
+ JSONArray visibles = sweepLocationObj.getJSONArray("visibles");
|
|
|
|
+// int[] visiblesArr = new int[visibles.size()];
|
|
|
|
+ List<Integer> visiblesList = new ArrayList<>();
|
|
|
|
+ for(int i = 0; i < visibles.size(); i++){
|
|
|
|
+ Integer index = uuidIndexMap.get(visibles.get(i));
|
|
|
|
+ if(Objects.isNull(index)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ visiblesList.add(index);
|
|
|
|
+ }
|
|
|
|
+ sweepLocationObj.put("visibles", visiblesList);
|
|
|
|
+
|
|
|
|
+ if(sweepLocationObj.containsKey("visibles2")){
|
|
|
|
+ JSONArray visibles2 = sweepLocationObj.getJSONArray("visibles2");
|
|
|
|
+// int[] visiblesArr2 = new int[visibles2.size()];
|
|
|
|
+ List<Integer> visibles2List = new ArrayList<>();
|
|
|
|
+ for(int i = 0; i < visibles2.size(); i++){
|
|
|
|
+ Integer index = uuidIndexMap.get(visibles2.get(i));
|
|
|
|
+ if(Objects.isNull(index)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ visibles2List.add(index);
|
|
|
|
+ }
|
|
|
|
+ sweepLocationObj.put("visibles2", visibles2List);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if(sweepLocationObj.containsKey("visibles3")){
|
|
|
|
+ JSONArray visibles3 = sweepLocationObj.getJSONArray("visibles3");
|
|
|
|
+// int[] visiblesArr3 = new int[visibles3.size()];
|
|
|
|
+ List<Integer> visibles3List = new ArrayList<>();
|
|
|
|
+ for(int i = 0; i < visibles3.size(); i++){
|
|
|
|
+ Integer index = uuidIndexMap.get(visibles3.get(i));
|
|
|
|
+ if(Objects.isNull(index)){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ visibles3List.add(index);
|
|
|
|
+ }
|
|
|
|
+ sweepLocationObj.put("visibles3", visibles3List);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return JSON.toJSONString(visionJson);
|
|
|
|
+ }
|
|
}
|
|
}
|