diff --git a/src/main/java/neatlogic/module/cmdb/matrix/handler/CiDataSourceHandler.java b/src/main/java/neatlogic/module/cmdb/matrix/handler/CiDataSourceHandler.java index 043bb4b441188fa326531fa02a97fd2123824cfc..41362e09b09a2b3b00fccbb968b57cb3fc1d27f7 100644 --- a/src/main/java/neatlogic/module/cmdb/matrix/handler/CiDataSourceHandler.java +++ b/src/main/java/neatlogic/module/cmdb/matrix/handler/CiDataSourceHandler.java @@ -387,6 +387,7 @@ public class CiDataSourceHandler extends MatrixDataSourceHandlerBase { protected List myGetAttributeList(MatrixVo matrixVo) { Long ciId = null; Map showAttributeUuidMap = new HashMap<>(); + Map showAttributeUniqueIdentifierMap = new HashMap<>(); String matrixUuid = matrixVo.getUuid(); if (StringUtils.isNotBlank(matrixUuid)) { MatrixCiVo matrixCiVo = matrixMapper.getMatrixCiByMatrixUuid(matrixUuid); @@ -399,6 +400,7 @@ public class CiDataSourceHandler extends MatrixDataSourceHandlerBase { for (int i = 0; i < showAttributeArray.size(); i++) { JSONObject showAttributeObj = showAttributeArray.getJSONObject(i); showAttributeUuidMap.put(showAttributeObj.getString("label"), showAttributeObj.getString("uuid")); + showAttributeUniqueIdentifierMap.put(showAttributeObj.getString("label"), showAttributeObj.getString("uniqueIdentifier")); } } else { ciId = matrixVo.getCiId(); @@ -473,6 +475,12 @@ public class CiDataSourceHandler extends MatrixDataSourceHandlerBase { continue; } if (MapUtils.isNotEmpty(showAttributeUuidMap)) { + String uniqueIdentifier = showAttributeUniqueIdentifierMap.get(matrixAttributeVo.getLabel()); + if (StringUtils.isNotBlank(uniqueIdentifier)) { + matrixAttributeVo.setUniqueIdentifier(uniqueIdentifier); + } else { + matrixAttributeVo.setUniqueIdentifier(StringUtils.EMPTY); + } String uuid = showAttributeUuidMap.get(matrixAttributeVo.getLabel()); if (uuid == null && Objects.equals(matrixAttributeVo.getPrimaryKey(), 0)) { continue; diff --git a/src/main/java/neatlogic/module/cmdb/matrix/handler/CmdbCustomViewDataSourceHandler.java b/src/main/java/neatlogic/module/cmdb/matrix/handler/CmdbCustomViewDataSourceHandler.java index e35c67d0bb83fa5890af1e472b5268357cad293c..2ef0e8c516b82053992c85770b4662202c68e041 100644 --- a/src/main/java/neatlogic/module/cmdb/matrix/handler/CmdbCustomViewDataSourceHandler.java +++ b/src/main/java/neatlogic/module/cmdb/matrix/handler/CmdbCustomViewDataSourceHandler.java @@ -321,6 +321,7 @@ public class CmdbCustomViewDataSourceHandler extends MatrixDataSourceHandlerBase protected List myGetAttributeList(MatrixVo matrixVo) { Long customViewId = null; Map showAttributeUuidMap = new HashMap<>(); + Map showAttributeUniqueIdentifierMap = new HashMap<>(); String matrixUuid = matrixVo.getUuid(); if (StringUtils.isNotBlank(matrixUuid)) { MatrixCmdbCustomViewVo matrixCmdbCustomViewVo = matrixMapper.getMatrixCmdbCustomViewByMatrixUuid(matrixUuid); @@ -333,6 +334,7 @@ public class CmdbCustomViewDataSourceHandler extends MatrixDataSourceHandlerBase for (int i = 0; i < showAttributeArray.size(); i++) { JSONObject showAttributeObj = showAttributeArray.getJSONObject(i); showAttributeUuidMap.put(showAttributeObj.getString("label"), showAttributeObj.getString("uuid")); + showAttributeUniqueIdentifierMap.put(showAttributeObj.getString("label"), showAttributeObj.getString("uniqueIdentifier")); } } else { customViewId = matrixVo.getCustomViewId(); @@ -349,6 +351,12 @@ public class CmdbCustomViewDataSourceHandler extends MatrixDataSourceHandlerBase for (CustomViewConstAttrVo constAttrVo : constAttrList) { MatrixAttributeVo matrixAttributeVo = new MatrixAttributeVo(); if (MapUtils.isNotEmpty(showAttributeUuidMap)) { + String uniqueIdentifier = showAttributeUniqueIdentifierMap.get(matrixAttributeVo.getLabel()); + if (StringUtils.isNotBlank(uniqueIdentifier)) { + matrixAttributeVo.setUniqueIdentifier(uniqueIdentifier); + } else { + matrixAttributeVo.setUniqueIdentifier(StringUtils.EMPTY); + } String uuid = showAttributeUuidMap.get(constAttrVo.getUuid()); if (uuid == null && Objects.equals(constAttrVo.getIsPrimary(), 0)) { continue; @@ -369,6 +377,12 @@ public class CmdbCustomViewDataSourceHandler extends MatrixDataSourceHandlerBase for (CustomViewAttrVo attrVo : attrList) { MatrixAttributeVo matrixAttributeVo = new MatrixAttributeVo(); if (MapUtils.isNotEmpty(showAttributeUuidMap)) { + String uniqueIdentifier = showAttributeUniqueIdentifierMap.get(matrixAttributeVo.getLabel()); + if (StringUtils.isNotBlank(uniqueIdentifier)) { + matrixAttributeVo.setUniqueIdentifier(uniqueIdentifier); + } else { + matrixAttributeVo.setUniqueIdentifier(StringUtils.EMPTY); + } String uuid = showAttributeUuidMap.get(attrVo.getUuid()); if (uuid == null && Objects.equals(attrVo.getIsPrimary(), 0)) { continue;