소스 검색

折腾报警类型

menglu 3 년 전
부모
커밋
7fd3a4c451

+ 52 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDDownloadUtil.java

@@ -3,6 +3,7 @@ package com.persagy.ibms.data.sdk.util;
 import java.io.File;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -312,6 +313,57 @@ public class RWDDownloadUtil {
 					+ ibmsClassCode + ".json", FastJsonUtil.toFormatString(infoArray));
 		}
 		log.debug("Download zkt physical world finish " + path);
+
+		{
+			Map<String, Boolean> alarmTypeMap = new HashMap<String, Boolean>();
+			if (Constant.alarm_rest_get) {
+				for (int i = 0; i < classArray.size(); i++) {
+					JSONObject classItem = classArray.getJSONObject(i);
+					String ibmsSceneCode = classItem.getString("ibmsSceneCode");
+					String ibmsClassCode = classItem.getString("ibmsClassCode");
+					JSONObject criteria = new JSONObject();
+					criteria.put("appId", "0");
+					criteria.put("userId", "systemId");
+					criteria.put("projectId", RepositoryContainer.RepositoryBase.projectId);
+					criteria.put("groupCode", RepositoryContainer.RepositoryBase.groupCode);
+					String post_result = HttpClientUtil.get(
+							Constant.alarm_rest + "alarm-config/itemList/" + ibmsSceneCode + "/" + ibmsClassCode + "?projectId="
+									+ RepositoryContainer.RepositoryBase.projectId + "&groupCode=" + RepositoryContainer.RepositoryBase.groupCode,
+							null);
+					JSONObject resultJSON = JSON.parseObject(post_result);
+					JSONArray Content = resultJSON.getJSONArray("Content");
+					for (int ii = 0; ii < Content.size(); ii++) {
+						JSONObject ContentItem = Content.getJSONObject(ii);
+						String name = ContentItem.getString("name");
+						alarmTypeMap.put(name, true);
+					}
+				}
+			} else {
+				JSONObject criteria = new JSONObject();
+				criteria.put("appId", "0");
+				criteria.put("userId", "systemId");
+				criteria.put("projectId", RepositoryContainer.RepositoryBase.projectId);
+				criteria.put("groupCode", RepositoryContainer.RepositoryBase.groupCode);
+				String post_result = HttpClientUtil.post(Constant.alarm_rest + "alarm/queryItem", criteria.toJSONString());
+				JSONObject resultJSON = JSON.parseObject(post_result);
+				JSONArray Content = resultJSON.getJSONArray("Content");
+				for (int ii = 0; ii < Content.size(); ii++) {
+					JSONObject ContentItem = Content.getJSONObject(ii);
+					String name = ContentItem.getString("name");
+					alarmTypeMap.put(name, true);
+				}
+			}
+			JSONArray alarmTypeArray = new JSONArray();
+			String[] alarmTypes = alarmTypeMap.keySet().toArray(new String[0]);
+			Arrays.sort(alarmTypes);
+			for (String key : alarmTypes) {
+				JSONObject item = new JSONObject();
+				item.put("code", key);
+				item.put("name", key);
+				alarmTypeArray.add(item);
+			}
+			FileUtil.Save(path + Constant.getSeperator() + "alarmTypeArray.json", FastJsonUtil.toFormatString(alarmTypeArray));
+		}
 	}
 
 	public static boolean Process_ibms_physical_world() throws Exception {

+ 8 - 4
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDLoadUtil.java

@@ -524,7 +524,7 @@ public class RWDLoadUtil {
 			{
 				SceneDataSet SceneDataSet = new SceneDataSet(false);
 				SceneDataSet.set = RWDUtil.array2SDOList(classArray);
-				Repository.classArrayZKT = SceneDataSet;
+				Repository.ZKTClassArray = SceneDataSet;
 			}
 			Map<String, Map<String, SceneDataSet>> objectArrayDicZKT = new HashMap<String, Map<String, SceneDataSet>>();
 			for (int i = 0; i < classArray.size(); i++) {
@@ -556,7 +556,13 @@ public class RWDLoadUtil {
 				// }
 				mapInner.put(ibmsClassCode, SceneDataSet);
 			}
-			Repository.objectArrayDicZKT = objectArrayDicZKT;
+			Repository.ZKTObjectArrayDic = objectArrayDicZKT;
+		}
+		{
+			JSONArray array = FastJsonReaderUtil.Instance().ReadJSONArray(new File(validPath + Constant.getSeperator() + "alarmTypeArray.json"));
+			SceneDataSet SceneDataSet = new SceneDataSet(false);
+			SceneDataSet.set = RWDUtil.array2SDOList(array);
+			Repository.ZKTAlarmTypeArray = SceneDataSet;
 		}
 	}
 
@@ -844,7 +850,6 @@ public class RWDLoadUtil {
 					modelMap.put(modelId, modelName);
 				}
 			}
-			Repository.IBMSCalendarModel.setRowChange(true);
 			Repository.IBMSCalendarModel.set = RWDUtil.array2SDOList(array);
 		}
 		{
@@ -872,7 +877,6 @@ public class RWDLoadUtil {
 					}
 				}
 			}
-			Repository.IBMSCalendarBinding.setRowChange(true);
 			Repository.IBMSCalendarBinding.set = RWDUtil.array2SDOList(array);
 		}
 

+ 5 - 4
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDRepositoryUtil.java

@@ -47,7 +47,7 @@ public class RWDRepositoryUtil {
 		} else {
 			Repository.alarmConfigArray = RepositoryContainer.instance.alarmConfigArray;
 			Repository.alarmConfigTrigger = RepositoryContainer.instance.alarmConfigTrigger;
-			
+
 			Repository.objTypeMap = RepositoryContainer.instance.objTypeMap;
 			Repository.classCode2NameMap = RepositoryContainer.instance.classCode2NameMap;
 			Repository.code2objTypeMap = RepositoryContainer.instance.code2objTypeMap;
@@ -64,9 +64,10 @@ public class RWDRepositoryUtil {
 			Repository.id2object = RepositoryContainer.instance.id2object;
 			Repository.id2sdv = RepositoryContainer.instance.id2sdv;
 
-			Repository.classArrayZKT = RepositoryContainer.instance.classArrayZKT;
-			Repository.objectArrayDicZKT = RepositoryContainer.instance.objectArrayDicZKT;
-
+			Repository.ZKTClassArray = RepositoryContainer.instance.ZKTClassArray;
+			Repository.ZKTObjectArrayDic = RepositoryContainer.instance.ZKTObjectArrayDic;
+			Repository.ZKTAlarmTypeArray = RepositoryContainer.instance.ZKTAlarmTypeArray;
+			
 			Repository.IBMSGroupArray = RepositoryContainer.instance.IBMSGroupArray;
 			Repository.IBMSArrayDic = RepositoryContainer.instance.IBMSArrayDic;
 		}

+ 11 - 8
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RepositoryImpl.java

@@ -45,16 +45,17 @@ public class RepositoryImpl extends RepositoryBase {
 	public Map<String, SceneDataObject> id2sdv = new HashMap<String, SceneDataObject>();
 
 	// 管理范围
-	public SceneDataSet classArrayZKT = new SceneDataSet(false);
-	public Map<String, Map<String, SceneDataSet>> objectArrayDicZKT = new HashMap<String, Map<String, SceneDataSet>>();
+	public SceneDataSet ZKTClassArray = new SceneDataSet(false);
+	public Map<String, Map<String, SceneDataSet>> ZKTObjectArrayDic = new HashMap<String, Map<String, SceneDataSet>>();
+	public SceneDataSet ZKTAlarmTypeArray = new SceneDataSet(false);
 
 	// 编组
 	public SceneDataSet IBMSGroupArray = new SceneDataSet(false);
 	public Map<String, Map<String, SceneDataSet>> IBMSArrayDic = new HashMap<String, Map<String, SceneDataSet>>();
 
 	// 日历模式:周期性刷新,不需要拷贝
-	public SceneDataSet IBMSCalendarModel = new SceneDataSet(false);
-	public SceneDataSet IBMSCalendarBinding = new SceneDataSet(false);
+	public SceneDataSet IBMSCalendarModel = new SceneDataSet(false, true);
+	public SceneDataSet IBMSCalendarBinding = new SceneDataSet(false, true);
 
 	public ConcurrentHashMap<SceneDataValue, String> sdv2point() {
 		return RepositoryBase.sdv2point;
@@ -113,17 +114,15 @@ public class RepositoryImpl extends RepositoryBase {
 				result.setRowChange(false);
 			}
 		} else if (Source.equals("zkt-class")) {
-			result = this.classArrayZKT;
+			result = this.ZKTClassArray;
 		} else if (Source.equals("zkt-object")) {
 			String ibmsSceneCode = (descSet.get("ibmsSceneCode")).toString();
 			String ibmsClassCode = (descSet.get("ibmsClassCode")).toString();
-			result = this.objectArrayDicZKT.get(ibmsSceneCode).get(ibmsClassCode);
+			result = this.ZKTObjectArrayDic.get(ibmsSceneCode).get(ibmsClassCode);
 		} else if (Source.equals("ibms")) {
 			String product = (descSet.get("product")).toString();
 			String type = (descSet.get("type")).toString();
 			result = this.IBMSArrayDic.get(product).get(type);
-		} else if (Source.equals("alarm")) {
-			result = this.RepositoryBase.alarmArray;
 		} else if (Source.equals("alarmConfig")) {
 			String alarmConfig = (descSet.get("alarmConfig")).toString();
 			if (alarmConfig.equals("configTrigger")) {
@@ -135,6 +134,10 @@ public class RepositoryImpl extends RepositoryBase {
 			result = this.IBMSCalendarModel;
 		} else if (Source.equals("ibms-calendar")) {
 			result = this.IBMSCalendarBinding;
+		} else if (Source.equals("ibms-alarm-type")) {
+			result = this.ZKTAlarmTypeArray;
+		} else if (Source.equals("alarm")) {
+			result = this.RepositoryBase.alarmArray;
 		}
 		return result;
 	}

+ 1 - 1
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RepositoryProject.java

@@ -24,7 +24,7 @@ public class RepositoryProject {
 	public ConcurrentHashMap<String, SceneDataValue> set2sdv = new ConcurrentHashMap<String, SceneDataValue>();
 	public ConcurrentHashMap<SceneDataValue, String> sdv2set = new ConcurrentHashMap<SceneDataValue, String>();
 	// 报警数据
-	public SceneDataSet alarmArray = new SceneDataSet(false);
+	public SceneDataSet alarmArray = new SceneDataSet(false, true);
 	public ConcurrentHashMap<String, SceneDataValue> id2alarmList = new ConcurrentHashMap<String, SceneDataValue>();
 	public ConcurrentHashMap<String, SceneDataValue> id2alarmCount = new ConcurrentHashMap<String, SceneDataValue>();