Browse Source

微调结构

menglu 3 years ago
parent
commit
f396a448d6

+ 5 - 11
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDAlarmUtil.java

@@ -18,7 +18,6 @@ import com.persagy.ibms.core.data.SceneDataPrimitive;
 import com.persagy.ibms.core.data.SceneDataSet;
 import com.persagy.ibms.core.data.SceneDataValue;
 import com.persagy.ibms.core.util.LogUtil;
-import com.persagy.ibms.core.util.PathUtil;
 import com.persagy.ibms.core.util.RWDUtil;
 
 import lombok.extern.slf4j.Slf4j;
@@ -65,6 +64,7 @@ public class RWDAlarmUtil {
 		alarmColChange.add("status");
 		alarmColChange.add("treatState");
 		alarmColChange.add("treatMode");
+		alarmColChange.add("nature");
 	}
 
 	public static JSONObject get_alarm_detail(JSONObject paramObject) {
@@ -523,14 +523,15 @@ public class RWDAlarmUtil {
 				SceneDataObject sdoAlarm = RWDUtil.object2sod(alarm);
 				chixushijian(sdf, currentTime, sdoAlarm);
 				if (existIndex != -1) {
-					SceneDataObject sdoInner = alarmList.value_array.set.get(existIndex);
+					SceneDataObject sdoExist = alarmList.value_array.set.get(existIndex);
 					for (String key : sdoAlarm.keySet()) {
 						SceneDataValue sdvInner = sdoAlarm.get(key);
 						if (sdvInner == null || sdvInner.value_prim == null || sdvInner.value_prim.value == null) {
 							continue;
 						}
-						if (!sdvInner.value_prim.value.equals(sdoInner.get(key))) {
-							sdoInner.put(key, sdoAlarm.get(key));
+						if (sdoExist.get(key) == null || sdoExist.get(key).value_prim == null
+								|| !sdvInner.value_prim.value.equals(sdoExist.get(key).value_prim.value)) {
+							sdoExist.put(key, sdoAlarm.get(key));
 							colChangeMap.put(key, true);
 						}
 					}
@@ -575,13 +576,6 @@ public class RWDAlarmUtil {
 				SceneDataObject objSDV = Repository.id2sdv.get(objId);
 				SceneDataValue sv_alarmList = objSDV.get("报警列表");
 				SceneDataValue sv_alarmCount = objSDV.get("报警数量");
-				try {
-					String path_alarmList = PathUtil.getDataPath(sv_alarmList);
-					String path_alarmCount = PathUtil.getDataPath(sv_alarmCount);
-					log.warn(path_alarmList);
-					log.warn(path_alarmCount);
-				} catch (Exception e) {
-				}
 				if (alarmListRowChange) {
 					// Repository.ComputeOccur(sv_alarmList);
 					Repository.addWaitCompute(sv_alarmList);

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

@@ -79,9 +79,7 @@ public class RWDRepositoryUtil {
 			Repository.InfoPointRelationArray = RepositoryContainer.instance.InfoPointRelationArray;
 		}
 
-		// 清理依赖
-		Repository.dependency.clear();
-		//构建依赖关系
+		// 重新构建依赖关系
 		Repository.refresh_dependency();
 
 		log.warn("LoadConfig");

+ 22 - 16
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RepositoryImpl.java

@@ -257,12 +257,15 @@ public class RepositoryImpl extends RepositoryBase {
 	}
 
 	public void refresh_dependency() {
-		// 构建zkt到rwd的依赖
-		this.refresh_rwd2zkt();
-		// 构建IOT到对象信息点的依赖
-		this.refresh_iot2SetColumn();
-		// 构建报警数量到对象信息点的依赖
-		this.refresh_alarm2SetColumn();
+		this.dependency.clear();
+		if (this.enable_factor) {
+			// 构建zkt到rwd的依赖
+			this.refresh_rwd2zkt();
+			// 构建IOT到对象信息点的依赖
+			this.refresh_iot2SetColumn();
+			// 构建报警数量到对象信息点的依赖
+			this.refresh_alarm2SetColumn();
+		}
 	}
 
 	public int[] recomputeIOT() {
@@ -295,17 +298,20 @@ public class RepositoryImpl extends RepositoryBase {
 		int[] counts = new int[2];
 		int item_count = 0;
 		int affect_count = 0;
-		item_count++;
-		affect_count += this.addWaitCompute(this.RepositoryProject.alarmArray);
-		for (String objId : RepositoryContainer.RepositoryProject.id2alarmList.keySet()) {
-			SceneDataValue alarmList = RepositoryContainer.RepositoryProject.id2alarmList.get(objId);
-			item_count++;
-			affect_count += this.addWaitCompute(alarmList);
-		}
-		for (String objId : RepositoryContainer.RepositoryProject.id2alarmCount.keySet()) {
-			SceneDataValue alarmCount = RepositoryContainer.RepositoryProject.id2alarmCount.get(objId);
+		// 加入计算队列
+		if (this.enable_factor) {
 			item_count++;
-			affect_count += this.addWaitCompute(alarmCount);
+			affect_count += this.addWaitCompute(this.RepositoryProject.alarmArray);
+			for (String objId : RepositoryContainer.RepositoryProject.id2alarmList.keySet()) {
+				SceneDataValue alarmList = RepositoryContainer.RepositoryProject.id2alarmList.get(objId);
+				item_count++;
+				affect_count += this.addWaitCompute(alarmList);
+			}
+			for (String objId : RepositoryContainer.RepositoryProject.id2alarmCount.keySet()) {
+				SceneDataValue alarmCount = RepositoryContainer.RepositoryProject.id2alarmCount.get(objId);
+				item_count++;
+				affect_count += this.addWaitCompute(alarmCount);
+			}
 		}
 		counts[0] = item_count;
 		counts[1] = affect_count;