|
@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.persagy.ibms.core.data.SceneDataObject;
|
|
|
+import com.persagy.ibms.core.data.SceneDataSet;
|
|
|
import com.persagy.ibms.core.data.SceneObject;
|
|
|
import com.persagy.ibms.core.data.SceneProperty;
|
|
|
import com.persagy.ibms.core.util.ComputeUtil;
|
|
@@ -91,6 +92,12 @@ public class RWDRepositoryUtil {
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage(), e);
|
|
|
}
|
|
|
+
|
|
|
+ try {
|
|
|
+ process_info_alias(Repository);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ }
|
|
|
}
|
|
|
Repository.sceneObject = sceneObject;
|
|
|
|
|
@@ -137,6 +144,53 @@ public class RWDRepositoryUtil {
|
|
|
Repository.property2SDV.clear();
|
|
|
}
|
|
|
|
|
|
+ private static void process_info_alias(RepositoryImpl Repository) {
|
|
|
+ Map<String, Map<String, String>> glfw2classCode = new ConcurrentHashMap<String, Map<String, String>>();
|
|
|
+ for (SceneDataObject sdo : Repository.ZKTClassArray.set) {
|
|
|
+ String ibmsSceneCode = (String) sdo.get("ibmsSceneCode").value_prim.value;
|
|
|
+ String ibmsClassCode = (String) sdo.get("ibmsClassCode").value_prim.value;
|
|
|
+ String code = (String) sdo.get("code").value_prim.value;
|
|
|
+ glfw2classCode.putIfAbsent(ibmsSceneCode, new ConcurrentHashMap<String, String>());
|
|
|
+ glfw2classCode.get(ibmsSceneCode).putIfAbsent(ibmsClassCode, code);
|
|
|
+ }
|
|
|
+ Map<String, Map<String, String>> class2info2alias = new ConcurrentHashMap<String, Map<String, String>>();
|
|
|
+ for (SceneDataObject sdo : Repository.InfoPointListArray.set) {
|
|
|
+ boolean isVisible = (Boolean) sdo.get("isVisible").value_prim.value;
|
|
|
+ if (!isVisible) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String infoAlias = (String) sdo.get("infoAlias").value_prim.value;
|
|
|
+ if (infoAlias == null || infoAlias.length() == 0 || infoAlias.trim().length() == 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ String ibmsSceneCode = (String) sdo.get("ibmsSceneCode").value_prim.value;
|
|
|
+ String ibmsClassCode = (String) sdo.get("ibmsClassCode").value_prim.value;
|
|
|
+ String infoCode = (String) sdo.get("infoCode").value_prim.value;
|
|
|
+ if (!glfw2classCode.containsKey(ibmsSceneCode)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (!glfw2classCode.get(ibmsSceneCode).containsKey(ibmsClassCode)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String classCode = glfw2classCode.get(ibmsSceneCode).get(ibmsClassCode);
|
|
|
+ class2info2alias.putIfAbsent(classCode, new ConcurrentHashMap<String, String>());
|
|
|
+ class2info2alias.get(classCode).putIfAbsent(infoCode, infoAlias);
|
|
|
+ }
|
|
|
+ for (String classCode : class2info2alias.keySet()) {
|
|
|
+ Map<String, String> info2alias = class2info2alias.get(classCode);
|
|
|
+ SceneDataSet infoArray = Repository.infoArrayDic.get(classCode);
|
|
|
+ for (SceneDataObject sdo : infoArray.set) {
|
|
|
+ String infoCode = (String) sdo.get("code").value_prim.value;
|
|
|
+ if (info2alias.containsKey(infoCode)) {
|
|
|
+ String infoAlias = info2alias.get(infoCode);
|
|
|
+ sdo.get("name").value_prim.value = infoAlias;
|
|
|
+ sdo.get("aliasName").value_prim.value = infoAlias;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 根据信息点是否显示过滤设备类型
|
|
|
private static void filter_by_info_point_new(RepositoryImpl Repository, SceneObject sceneObject) throws Exception {
|
|
|
Map<String, String> SceneName2Code = new ConcurrentHashMap<String, String>();
|