Browse Source

完善初始finish状态

menglu 3 years ago
parent
commit
2b2fb2c59f

+ 1 - 1
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/test/CheckTest.java

@@ -20,7 +20,7 @@ import lombok.extern.slf4j.Slf4j;
 public class CheckTest {
 
 	public static void test(String[] args) throws Exception {
-		Constant.debug = true;// 调试模式设为true
+		Constant.debug = false;// 调试模式设为true
 		RepositoryImpl Repository = RepositoryContainer.instance;
 		Repository.use_thread = !Constant.debug;
 		Repository.RepositoryBase = RepositoryContainer.RepositoryBase;

+ 2 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDAlarmUtil.java

@@ -317,6 +317,7 @@ public class RWDAlarmUtil {
 			SceneDataValue alarmCount = RepositoryContainer.RepositoryBase.id2alarmCount.get(objId);
 			if (alarmList == null) {
 				SceneDataValue sv_alarmList = new SceneDataValue(null, null, "报警列表", null);
+				sv_alarmList.finish = true;
 				sv_alarmList.value_array = new SceneDataSet(false);
 				sv_alarmList.value_array.set = new ArrayList<SceneDataObject>();
 				sv_alarmList.value_array.setRowChange(true);
@@ -324,6 +325,7 @@ public class RWDAlarmUtil {
 			}
 			if (alarmCount == null) {
 				SceneDataValue sv_alarmCount = new SceneDataValue(null, null, "报警数量", null);
+				sv_alarmCount.finish = true;
 				sv_alarmCount.value_prim = new SceneDataPrimitive();
 				sv_alarmCount.value_prim.value = 0;
 				sv_alarmCount.value_prim.change = true;

+ 14 - 2
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDLoadUtil.java

@@ -266,6 +266,7 @@ public class RWDLoadUtil {
 								// 表号功能号改为null
 								{
 									SceneDataValue sdv = new SceneDataValue(null, null, null, null);
+									sdv.finish = true;
 									sdv.value_prim = new SceneDataPrimitive();
 									sdv.value_prim.change = true;
 									SceneDataValue exist_sdv = RepositoryContainer.RepositoryBase.point2sdv.putIfAbsent(point, sdv);
@@ -289,6 +290,7 @@ public class RWDLoadUtil {
 								// 表号功能号改为null
 								{
 									SceneDataValue sdv = new SceneDataValue(null, null, null, null);
+									sdv.finish = true;
 									sdv.value_prim = new SceneDataPrimitive();
 									sdv.value_prim.change = true;
 									SceneDataValue exist_sdv = RepositoryContainer.RepositoryBase.set2sdv.putIfAbsent(point, sdv);
@@ -317,6 +319,7 @@ public class RWDLoadUtil {
 					SceneDataObject sdv = fromMap.get(key);
 					if (!sdv.value_object.containsKey(ConfigRelation.nameInFrom)) {
 						SceneDataValue sdvInner = new SceneDataValue(Repository, sdv, ConfigRelation.nameInFrom, null);
+						sdvInner.finish = true;
 						sdvInner.value_array = new SceneDataSet(false);
 						sdvInner.value_array.set = new ArrayList<SceneDataObject>();
 						sdv.value_object.put(ConfigRelation.nameInFrom, sdvInner);
@@ -328,6 +331,7 @@ public class RWDLoadUtil {
 					SceneDataObject sdv = toMap.get(key);
 					if (!sdv.value_object.containsKey(ConfigRelation.nameInTo)) {
 						SceneDataValue sdvInner = new SceneDataValue(Repository, sdv, ConfigRelation.nameInTo, null);
+						sdvInner.finish = true;
 						sdvInner.value_array = new SceneDataSet(false);
 						sdvInner.value_array.set = new ArrayList<SceneDataObject>();
 						sdv.value_object.put(ConfigRelation.nameInTo, sdvInner);
@@ -383,6 +387,7 @@ public class RWDLoadUtil {
 					if (sdvFromItem != null && sdvFromItem.value_array != null) {
 						if (ConfigRelation.multiplicityFrom.equalsIgnoreCase("1")) {
 							SceneDataValue sdvInner = new SceneDataValue(Repository, FromObject, ConfigRelation.nameInFrom + "-id", null);
+							sdvInner.finish = true;
 							sdvInner.value_prim = new SceneDataPrimitive();
 							if (sdvFromItem.value_array.set.size() == 0) {
 							} else if (sdvFromItem.value_array.set.size() == 1) {
@@ -408,11 +413,13 @@ public class RWDLoadUtil {
 							FromObject.value_object.put(ConfigRelation.nameInFrom + "-id", sdvInner);
 						} else {
 							SceneDataValue sdvInner = new SceneDataValue(Repository, FromObject, ConfigRelation.nameInFrom + "-id清单", null);
+							sdvInner.finish = true;
 							sdvInner.value_array = new SceneDataSet(true);
 							sdvInner.value_array.singleValueSet = new ArrayList<SceneDataValue>();
 							for (SceneDataObject sdbInner : sdvFromItem.value_array.set) {
 								SceneDataObject sdoInner = (SceneDataObject) sdbInner;
 								SceneDataValue sdvOne = new SceneDataValue(Repository, null, null, null);
+								sdvOne.finish = true;
 								sdvOne.value_prim = new SceneDataPrimitive();
 								sdvOne.value_prim.value = sdoInner.get("id").value_prim.value;
 								sdvInner.value_array.singleValueSet.add(sdvOne);
@@ -430,6 +437,7 @@ public class RWDLoadUtil {
 					if (sdvToItem != null && sdvToItem.value_array != null) {
 						if (ConfigRelation.multiplicityTo.equalsIgnoreCase("1")) {
 							SceneDataValue sdvInner = new SceneDataValue(Repository, ToObject, ConfigRelation.nameInTo + "-id", null);
+							sdvInner.finish = true;
 							sdvInner.value_prim = new SceneDataPrimitive();
 							if (sdvToItem.value_array.set.size() == 0) {
 							} else if (sdvToItem.value_array.set.size() == 1) {
@@ -455,11 +463,13 @@ public class RWDLoadUtil {
 							ToObject.value_object.put(ConfigRelation.nameInTo + "-id", sdvInner);
 						} else {
 							SceneDataValue sdvInner = new SceneDataValue(Repository, ToObject, ConfigRelation.nameInTo + "-id清单", null);
+							sdvInner.finish = true;
 							sdvInner.value_array = new SceneDataSet(true);
 							sdvInner.value_array.singleValueSet = new ArrayList<SceneDataValue>();
 							for (SceneDataObject sdbInner : sdvToItem.value_array.set) {
 								SceneDataObject sdoInner = (SceneDataObject) sdbInner;
 								SceneDataValue sdvOne = new SceneDataValue(Repository, null, null, null);
+								sdvOne.finish = true;
 								sdvOne.value_prim = new SceneDataPrimitive();
 								sdvOne.value_prim.value = sdoInner.get("id").value_prim.value;
 								sdvInner.value_array.singleValueSet.add(sdvOne);
@@ -487,6 +497,7 @@ public class RWDLoadUtil {
 				String objId = (String) objectItem.get("id").value_prim.value;
 				{
 					SceneDataValue sv_alarmList = new SceneDataValue(null, null, "报警列表", null);
+					sv_alarmList.finish = true;
 					sv_alarmList.value_array = new SceneDataSet(false);
 					sv_alarmList.value_array.set = new ArrayList<SceneDataObject>();
 					sv_alarmList.value_array.setRowChange(true);
@@ -496,6 +507,7 @@ public class RWDLoadUtil {
 				objectItem.put("报警列表", alarmList);
 				{
 					SceneDataValue sv_alarmCount = new SceneDataValue(null, null, "报警数量", null);
+					sv_alarmCount.finish = true;
 					sv_alarmCount.value_prim = new SceneDataPrimitive();
 					sv_alarmCount.value_prim.value = 0;
 					sv_alarmCount.value_prim.change = true;
@@ -563,16 +575,16 @@ public class RWDLoadUtil {
 					} else {
 						{
 							SceneDataValue svInner = new SceneDataValue(null, null, null, null);
+							svInner.finish = true;
 							svInner.value_prim = new SceneDataPrimitive();
 							svInner.value_prim.value = ibmsSceneCode;
-							svInner.finish = true;
 							sdo.put("ibmsSceneCode", svInner);
 						}
 						{
 							SceneDataValue svInner = new SceneDataValue(null, null, null, null);
+							svInner.finish = true;
 							svInner.value_prim = new SceneDataPrimitive();
 							svInner.value_prim.value = ibmsClassCode;
-							svInner.finish = true;
 							sdo.put("ibmsClassCode", svInner);
 						}
 					}

+ 1 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/websocket/IOTWebSocketClient.java

@@ -62,6 +62,7 @@ public class IOTWebSocketClient extends WebSocketClient {
 					String value = splits[i + 3];
 					try {
 						SceneDataValue sdvInner = new SceneDataValue(null, null, null, null);
+						sdvInner.finish = true;
 						sdvInner.value_prim = new SceneDataPrimitive();
 						sdvInner.value_prim.change = true;
 						SceneDataValue exist_sdv = RepositoryContainer.RepositoryBase.point2sdv.putIfAbsent(meter + "-" + funcid, sdvInner);