diff --git a/src/main/java/neatlogic/framework/cmdb/dto/transaction/CiEntityTransactionVo.java b/src/main/java/neatlogic/framework/cmdb/dto/transaction/CiEntityTransactionVo.java index 165ecc3dc2db2d3fb09862228c42a59519c92b4d..4ae8cf487cac772573fbd3e890f3a5d602e36c80 100644 --- a/src/main/java/neatlogic/framework/cmdb/dto/transaction/CiEntityTransactionVo.java +++ b/src/main/java/neatlogic/framework/cmdb/dto/transaction/CiEntityTransactionVo.java @@ -288,17 +288,24 @@ public class CiEntityTransactionVo implements Serializable { if (MapUtils.isNotEmpty(relEntityData) && relEntityData.containsKey("rel" + direction + "_" + relId) && relEntityData.getJSONObject("rel" + direction + "_" + relId).containsKey("valueList")) { JSONArray relList = relEntityData.getJSONObject("rel" + direction + "_" + relId).getJSONArray("valueList"); if (CollectionUtils.isNotEmpty(relList)) { - List removeList = new ArrayList<>(); - for (int i = 0; i < relList.size(); i++) { +// List removeList = new ArrayList<>(); +// for (int i = 0; i < relList.size(); i++) { +// JSONObject relObj = relList.getJSONObject(i); +// //如果是新增加目标则不会有ciEntityId,所以必须要判断ciEntityId是否为空 +// if (relObj.containsKey("ciEntityId") && relObj.getLong("ciEntityId").equals(targetId)) { +// removeList.add(i); +// } +// } +// for (int index : removeList) { +// relList.remove(index); +// } + for (int i = relList.size() - 1; i >= 0; i--) { JSONObject relObj = relList.getJSONObject(i); //如果是新增加目标则不会有ciEntityId,所以必须要判断ciEntityId是否为空 if (relObj.containsKey("ciEntityId") && relObj.getLong("ciEntityId").equals(targetId)) { - removeList.add(i); + relList.remove(i); } } - for (int index : removeList) { - relList.remove(index); - } if (CollectionUtils.isEmpty(relList)) { relEntityData.remove("rel" + direction + "_" + relId); }