From 4dac285838431fcc324c42ef276f53a44a58ba69 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 25 Sep 2025 12:05:22 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E8=A7=86=E5=9B=BE=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=94=9F=E6=88=90=E8=A7=86=E5=9B=BE=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1518044709355520]配置管理-视图设置生成视图异常 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1518044709355520 --- .../resource/ResourceBuildSqlServiceImpl.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceBuildSqlServiceImpl.java b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceBuildSqlServiceImpl.java index b7669782..436665bb 100644 --- a/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceBuildSqlServiceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/service/resourcecenter/resource/ResourceBuildSqlServiceImpl.java @@ -93,6 +93,7 @@ public class ResourceBuildSqlServiceImpl implements ResourceBuildSqlService, IRe @Override public String buildResourceView(ResourceEntityVo resourceEntityVo) { String viewName = resourceEntityVo.getName(); + ResourceEntityConfigVo originalConfig = resourceEntityVo.getConfig(); String select = null; String error = StringUtils.EMPTY; try { @@ -145,6 +146,12 @@ public class ResourceBuildSqlServiceImpl implements ResourceBuildSqlService, IRe EscapeTransactionJob.State s = new EscapeTransactionJob(() -> { schemaMapper.deleteView(TenantContext.get().getDataDbName() + "." + viewName); List fieldNameList = ResourceEntityFactory.getFieldNameListByViewName(viewName); + if (CollectionUtils.isEmpty(fieldNameList)) { + String sceneTemplateName = originalConfig.getSceneTemplateName(); + if (StringUtils.isNotBlank(sceneTemplateName)) { + fieldNameList = ResourceEntityFactory.getFieldNameListByViewName(sceneTemplateName); + } + } Table table = new Table(); table.setName(viewName); table.setSchemaName(TenantContext.get().getDataDbName()); @@ -2087,6 +2094,22 @@ public class ResourceBuildSqlServiceImpl implements ResourceBuildSqlService, IRe if (StringUtils.isNotBlank(toCi)) { ciNameSet.add(toCi); } + String ciName = fieldMappingVo.getCiName(); + if (StringUtils.isNotBlank(ciName)) { + ciNameSet.add(ciName); + } + } + if (CollectionUtils.isNotEmpty(config.getRelLinkList())) { + for (ResourceEntityRelLinkVo relLinkVo : config.getRelLinkList()) { + String leftCi = relLinkVo.getLeftCi(); + if (StringUtils.isNotBlank(leftCi)) { + ciNameSet.add(leftCi); + } + String rightCi = relLinkVo.getRightCi(); + if (StringUtils.isNotBlank(rightCi)) { + ciNameSet.add(rightCi); + } + } } Map> ciId2AttrListMap = new HashMap<>(); Map name2CiMap = new HashMap<>(); -- Gitee