diff --git a/src/main/java/neatlogic/module/cmdb/service/cientity/CiEntityServiceImpl.java b/src/main/java/neatlogic/module/cmdb/service/cientity/CiEntityServiceImpl.java index f9a4e12d5dd3e128a014877311f26ef31649c594..0eef56ce431121019ba57b6a31619d477e58da77 100644 --- a/src/main/java/neatlogic/module/cmdb/service/cientity/CiEntityServiceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/service/cientity/CiEntityServiceImpl.java @@ -489,7 +489,13 @@ public class CiEntityServiceImpl implements CiEntityService, ICiEntityCrossoverS if (logger.isInfoEnabled()) { time = System.currentTimeMillis(); } - runner.execute(ciEntityVo.getIdList(), 10, (threadIndex, dataIndex, item) -> { + List idList = new ArrayList<>(); + for (Long id : ciEntityVo.getIdList()) { + if (!idList.contains(id)) { + idList.add(id); + } + } + runner.execute(idList, 10, (threadIndex, dataIndex, item) -> { long startTime = System.currentTimeMillis(); ciEntityQueue.add(getCiEntityByIdLite(ciEntityVo.getCiId(), item, false, ciEntityVo.isLimitRelEntity(), ciEntityVo.isLimitAttrEntity(), ciEntityVo.getGlobalAttrIdList(), ciEntityVo.getAttrIdList(), ciEntityVo.getRelIdList(), null, null)); if (logger.isInfoEnabled()) {