diff --git a/src/main/java/neatlogic/module/cmdb/api/resourcecenter/appmodule/AppModuleResourceTypeListApi.java b/src/main/java/neatlogic/module/cmdb/api/resourcecenter/appmodule/AppModuleResourceTypeListApi.java index 169c8ed755a1463ca261db5c8ed9e5bc8da383f6..695f3893f47797c0d42f1bf48595ed0d01fc1f0c 100644 --- a/src/main/java/neatlogic/module/cmdb/api/resourcecenter/appmodule/AppModuleResourceTypeListApi.java +++ b/src/main/java/neatlogic/module/cmdb/api/resourcecenter/appmodule/AppModuleResourceTypeListApi.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.cmdb.auth.label.CMDB; import neatlogic.framework.cmdb.dto.ci.CiVo; -import neatlogic.framework.cmdb.dto.resourcecenter.ResourceSearchVo; import neatlogic.framework.cmdb.dto.resourcecenter.ResourceVo; import neatlogic.framework.cmdb.exception.ci.CiNotFoundException; import neatlogic.framework.cmdb.resourcecenter.datasource.core.IResourceCenterDataSource; @@ -83,8 +82,6 @@ public class AppModuleResourceTypeListApi extends PrivateApiComponentBase { for (CiVo ci : allCiVoList) { allCiVoMap.put(ci.getId(), ci); } - ResourceSearchVo searchVo = new ResourceSearchVo(); - searchVo.setAppModuleId(appModuleId); //无配置环境 ResourceVo noSettingEnvResourceVo = new ResourceVo(); noSettingEnvResourceVo.setId(-2L); @@ -92,13 +89,10 @@ public class AppModuleResourceTypeListApi extends PrivateApiComponentBase { envResourceList.add(noSettingEnvResourceVo); for (ResourceVo envResource : envResourceList) { JSONObject returnObj = new JSONObject(); - searchVo.setEnvId(envResource.getId()); Set typeIdSet = new HashSet<>(); IResourceCenterDataSource resourceCenterDataSource = ResourceCenterDataSourceFactory.getResourceCenterDataSource(); Map> viewName2TypeIdListMap = resourceCenterDataSource.getAppResourceTypeIdListByAppSystemIdAndAppModuleIdAndEnvId(null, appModuleId, envResource.getId()); for (Map.Entry> entry : viewName2TypeIdListMap.entrySet()) { - String viewName = entry.getKey(); - searchVo.setViewName(viewName); typeIdSet.addAll(entry.getValue()); } Set returnCiVoSet = new HashSet<>(); diff --git a/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.java b/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.java index 9885f27a3fc037042b2c2aae9f812b70dd79f227..cf1558dd1d466b26cab28839b923a7eefe99ec56 100644 --- a/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.java +++ b/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.java @@ -175,7 +175,13 @@ public interface ResourceMapper extends IResourceCrossoverMapper { List getResourceTypeIdListByAuth(ResourceSearchVo searchVo); - List getAppResourceTypeIdListByViewNameAndAppSystemId(@Param("viewName") String viewName, @Param("appSystemId") Long appSystemId, @Param("appModuleId") Long appModuleId, @Param("envId") Long envId); + List getAppResourceTypeIdListByViewNameAndAppSystemId( + @Param("viewName") String viewName, + @Param("appSystemId") Long appSystemId, + @Param("appModuleId") Long appModuleId, + @Param("envId") Long envId, + @Param("inspectStatusList") List inspectStatusList + ); List getAppSystemIdListById(@Param("viewName") String viewName, @Param("id") Long id); } diff --git a/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.xml b/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.xml index 2e10df831f895c97016824d78263ba8ee1fe2484..aef65ae5a9a6af407daf5fc733576be9bb6f8048 100644 --- a/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.xml +++ b/src/main/java/neatlogic/module/cmdb/dao/mapper/resourcecenter/ResourceMapper.xml @@ -607,6 +607,9 @@ along with this program. If not, see .--> AND a.`env_id` is null + + AND a.`type_id` = #{typeId} + AND a.`inspect_status` IN @@ -632,6 +635,9 @@ along with this program. If not, see .--> AND a.`env_id` is null + + AND a.`type_id` = #{typeId} + AND a.`inspect_status` IN @@ -1770,6 +1776,12 @@ along with this program. If not, see .--> AND a.`env_id` is null + + AND a.`inspect_status` IN + + #{inspectStatus} + + diff --git a/src/main/java/neatlogic/module/cmdb/resourcecenter/datasource/handler/DefaultResourceCenterDataSourceImpl.java b/src/main/java/neatlogic/module/cmdb/resourcecenter/datasource/handler/DefaultResourceCenterDataSourceImpl.java index 798c406048daba553b93499a7c8a07e87d21b48a..e0b73188e720e9dda824b6c914c3f7ee5caa88ed 100644 --- a/src/main/java/neatlogic/module/cmdb/resourcecenter/datasource/handler/DefaultResourceCenterDataSourceImpl.java +++ b/src/main/java/neatlogic/module/cmdb/resourcecenter/datasource/handler/DefaultResourceCenterDataSourceImpl.java @@ -409,10 +409,15 @@ public class DefaultResourceCenterDataSourceImpl implements IResourceCenterDataS @Override public List getAppResourceList(ResourceSearchVo searchVo, boolean needPage) { List resultList = new ArrayList<>(); - int rowNum = resourceMapper.getAppResourceCount(searchVo); + int rowNum = 0; + if (searchVo.getRowNum() == 0) { + rowNum = resourceMapper.getAppResourceCount(searchVo); + } else { + rowNum = searchVo.getRowNum(); + } if (rowNum > 0) { searchVo.setRowNum(rowNum); - if (needPage) { + if (!needPage) { searchVo.setPageSize(100); } Integer pageCount = searchVo.getPageCount(); @@ -1107,24 +1112,21 @@ public class DefaultResourceCenterDataSourceImpl implements IResourceCenterDataS @Override public Map> getAppResourceTypeIdListByAppSystemId(Long appSystemId) { - Map> viewName2TypeIdListMap = new HashMap<>(); - List appViewList = getAppViewList(); - if (CollectionUtils.isNotEmpty(appViewList)) { - for (ResourceEntityVo resourceEntityVo : appViewList) { - List typeIdList = resourceMapper.getAppResourceTypeIdListByViewNameAndAppSystemId(resourceEntityVo.getName(), appSystemId, null, null); - viewName2TypeIdListMap.put(resourceEntityVo.getName(), typeIdList); - } - } - return viewName2TypeIdListMap; + return getAppResourceTypeIdListByAppSystemIdAndAppModuleIdAndEnvIdAndInspectStatusList(appSystemId, null, null, null); } @Override public Map> getAppResourceTypeIdListByAppSystemIdAndAppModuleIdAndEnvId(Long appSystemId, Long appModuleId, Long envId) { + return getAppResourceTypeIdListByAppSystemIdAndAppModuleIdAndEnvIdAndInspectStatusList(appSystemId, appModuleId, envId, null); + } + + @Override + public Map> getAppResourceTypeIdListByAppSystemIdAndAppModuleIdAndEnvIdAndInspectStatusList(Long appSystemId, Long appModuleId, Long envId, List inspectStatusList) { Map> viewName2TypeIdListMap = new HashMap<>(); List appViewList = getAppViewList(); if (CollectionUtils.isNotEmpty(appViewList)) { for (ResourceEntityVo resourceEntityVo : appViewList) { - List typeIdList = resourceMapper.getAppResourceTypeIdListByViewNameAndAppSystemId(resourceEntityVo.getName(), appSystemId, appModuleId, envId); + List typeIdList = resourceMapper.getAppResourceTypeIdListByViewNameAndAppSystemId(resourceEntityVo.getName(), appSystemId, appModuleId, envId, inspectStatusList); viewName2TypeIdListMap.put(resourceEntityVo.getName(), typeIdList); } } @@ -1144,7 +1146,8 @@ public class DefaultResourceCenterDataSourceImpl implements IResourceCenterDataS return appSystemIdList; } - private List getAppViewList() { + @Override + public List getAppViewList() { List resultList = new ArrayList<>(); List resourceEntityList = resourceEntityMapper.getResourceEntityList(); for (ResourceEntityVo resourceEntityVo : resourceEntityList) {