|
@@ -488,11 +488,11 @@ public class RWDAlarmUtil {
|
|
|
}
|
|
|
}
|
|
|
// 从报警列表下删除
|
|
|
- List<Integer> removeIndexList = new ArrayList<Integer>();
|
|
|
+ List<Integer> existIndexList = new ArrayList<Integer>();
|
|
|
for (int index_alarm = 0; index_alarm < RepositoryContainer.RepositoryBase.alarmArray.set.size(); index_alarm++) {
|
|
|
SceneDataObject alarmItem = RepositoryContainer.RepositoryBase.alarmArray.set.get(index_alarm);
|
|
|
if (alarmItem.value_object.get("id").value_prim.value.equals(id)) {
|
|
|
- removeIndexList.add(0, index_alarm);
|
|
|
+ existIndexList.add(0, index_alarm);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -500,11 +500,11 @@ public class RWDAlarmUtil {
|
|
|
if (existIndex != -1) {
|
|
|
alarmList.value_array.set.remove(existIndex);
|
|
|
}
|
|
|
- for (int removeIndex : removeIndexList) {
|
|
|
+ for (int removeIndex : existIndexList) {
|
|
|
RepositoryContainer.RepositoryBase.alarmArray.set.remove(removeIndex);
|
|
|
}
|
|
|
} else {
|
|
|
- //只替换非空字段
|
|
|
+ // 只替换非空字段
|
|
|
SceneDataObject sdoAlarm = RWDUtil.object2sod(alarm);
|
|
|
chixushijian(sdf, currentTime, sdoAlarm);
|
|
|
if (existIndex != -1) {
|
|
@@ -516,16 +516,22 @@ public class RWDAlarmUtil {
|
|
|
}
|
|
|
sdoInner.put(key, sdoAlarm.get(key));
|
|
|
}
|
|
|
- }
|
|
|
- for (int removeIndex : removeIndexList) {
|
|
|
- SceneDataObject sdoInner = RepositoryContainer.RepositoryBase.alarmArray.set.get(removeIndex);
|
|
|
- for (String key : sdoAlarm.keySet()) {
|
|
|
- SceneDataValue sdvInner = sdoAlarm.get(key);
|
|
|
- if (sdvInner == null || sdvInner.value_prim == null || sdvInner.value_prim.value == null) {
|
|
|
- continue;
|
|
|
+ } else {
|
|
|
+ alarmList.value_array.set.add(sdoAlarm);
|
|
|
+ }
|
|
|
+ if (existIndexList.size() > 0) {
|
|
|
+ for (int removeIndex : existIndexList) {
|
|
|
+ SceneDataObject sdoInner = RepositoryContainer.RepositoryBase.alarmArray.set.get(removeIndex);
|
|
|
+ for (String key : sdoAlarm.keySet()) {
|
|
|
+ SceneDataValue sdvInner = sdoAlarm.get(key);
|
|
|
+ if (sdvInner == null || sdvInner.value_prim == null || sdvInner.value_prim.value == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ sdoInner.put(key, sdoAlarm.get(key));
|
|
|
}
|
|
|
- sdoInner.put(key, sdoAlarm.get(key));
|
|
|
}
|
|
|
+ } else {
|
|
|
+ RepositoryContainer.RepositoryBase.alarmArray.set.add(sdoAlarm);
|
|
|
}
|
|
|
}
|
|
|
alarmCount.value_prim.value = alarmList.value_array.set.size();
|