Kaynağa Gözat

feature(数据资源目录数据来源切换): 数据资源目录数据来源切换

数据资源目录数据来源切换
mazq 4 yıl önce
ebeveyn
işleme
2b557ff1df

+ 2 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataClassifyVo.java

@@ -2,6 +2,7 @@ package com.dragoninfo.dcuc.app.vo;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 /**
  * @Author: qiuyu
@@ -10,6 +11,7 @@ import lombok.Data;
  */
 @Data
 @AllArgsConstructor
+@NoArgsConstructor
 public class DataClassifyVo {
     private String firstLevelCode;
     private String firstLevelName;

+ 2 - 0
dcuc-app-model/src/main/java/com/dragoninfo/dcuc/app/vo/DataFieldClassifyVo.java

@@ -2,6 +2,7 @@ package com.dragoninfo.dcuc.app.vo;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 /**
  * @Author: qiuyu
@@ -10,6 +11,7 @@ import lombok.Data;
  */
 @Data
 @AllArgsConstructor
+@NoArgsConstructor
 public class DataFieldClassifyVo {
     private String firstLevelCode;
     private String firstLevelName;

+ 214 - 162
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/facade/DataResourceFacade.java

@@ -4,6 +4,14 @@ import com.dragoninfo.dcuc.app.dto.dataresource.ChildResourceClassify;
 import com.dragoninfo.dcuc.app.dto.dataresource.ResourceClassify;
 import com.dragoninfo.dcuc.app.enumresources.DataResourceEnum;
 import com.dragoninfo.dcuc.app.service.IDataResourceService;
+import com.dragoninfo.dcuc.app.sub.dto.DataClaAcceptDTO;
+import com.dragoninfo.dcuc.app.sub.dto.FieldClaAcceptDTO;
+import com.dragoninfo.dcuc.app.sub.entity.DataCla;
+import com.dragoninfo.dcuc.app.sub.entity.DataLevel;
+import com.dragoninfo.dcuc.app.sub.entity.DataSec;
+import com.dragoninfo.dcuc.app.sub.entity.FieldCla;
+import com.dragoninfo.dcuc.app.sub.enumresources.DataClaTypeEnum;
+import com.dragoninfo.dcuc.app.sub.enumresources.FieldClaTypeEnum;
 import com.dragoninfo.dcuc.app.sub.service.IDataClaService;
 import com.dragoninfo.dcuc.app.sub.service.IDataLevelService;
 import com.dragoninfo.dcuc.app.sub.service.IDataSecService;
@@ -19,9 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
@@ -87,51 +93,11 @@ public class DataResourceFacade implements IDataResourceFacade {
                 default:
                     break;
         }
-
         return result;
     }
 
-    @Override
-    public ResponseStatus dataLevelSync() {
-        CompletableFuture.supplyAsync(this::getDataLevelList).thenAccept((list)->dataLevelService.sync(list));
-        return ResponseStatus.success();
-    }
-
-    @Override
-    public ResponseStatus dataSecSync() {
-        CompletableFuture.supplyAsync(this::getSecurityLevelList).thenAccept((list)->dataSecService.sync(list));
-        return ResponseStatus.success();
-    }
-
-    @Override
-    public ResponseStatus dataClaSync() {
-        CompletableFuture.supplyAsync(()->{
-            DataResourceClassifyVo tree = this.getDataClassifyTree();
-            List<DataResourceTreeVo> nodes = tree.getNodes();
-            return nodes;
-        }).thenAccept((nodes)-> dataClaService.sync(nodes, null));
-        return ResponseStatus.success();
-    }
-
-    @Override
-    public ResponseStatus fieldClaSync() {
-        CompletableFuture.supplyAsync(()->{
-            DataResourceClassifyVo tree = this.getFieldClassifyTree();
-            List<DataResourceTreeVo> nodes = tree.getNodes();
-            return nodes;
-        }).thenAccept((nodes)-> fieldClaService.sync(nodes, null));
-        return ResponseStatus.success();
-    }
-
-
-    /**
-     * 数据分级树
-     *
-     * @return
-     */
     private DataResourceClassifyVo getDataLevelTree() {
         DataResourceEnum dataResourceEnum = DataResourceEnum.DATA_CLASSIFY;
-
         DataResourceClassifyVo dataResourceClassifyVo = DataResourceClassifyVo.builder()
                 .id(dataResourceEnum.getCode())
                 .attrType(dataResourceEnum.getAttrType().getValue())
@@ -144,31 +110,23 @@ public class DataResourceFacade implements IDataResourceFacade {
                 .code(dataResourceEnum.getCode())
                 .treeNode(true)
                 .build();
-
-        dataLevelTreeVo.setChild(getFirstChildResourceClassifies(dataResourceService.getDataLevelList())
-                .stream()
-                .map(childResourceClassify -> DataResourceTreeVo.builder()
-                        .id(Joiner.on(ID_SEPARATOR).join(dataLevelTreeVo.getId(), childResourceClassify.getCodeValue()))
-                        .code(childResourceClassify.getCodeValue())
-                        .label(childResourceClassify.getCodeName())
-                        .dataType(childResourceClassify.getTypeCode())
-                        .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + childResourceClassify.getCodeValue() + ID_SEPARATOR + childResourceClassify.getTypeCode())
-                        .treeNode(false)
-                        .pId(dataLevelTreeVo.getId()).build()
-                ).collect(Collectors.toList())
-        );
+        List<DataLevelVo> dataLevelList = getDataLevelList();
+        List<DataResourceTreeVo> child = dataLevelList.stream().map(item -> DataResourceTreeVo.builder()
+              .id(Joiner.on(ID_SEPARATOR).join(dataLevelTreeVo.getId(), item.getLevelCode()))
+              .code(item.getLevelCode())
+              .label(item.getLevelName())
+              .dataType(item.getTypeCode())
+              .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + item.getLevelCode() + ID_SEPARATOR + item.getTypeCode())
+              .treeNode(false)
+              .pId(dataLevelTreeVo.getId()).build()).collect(Collectors.toList());
+        dataLevelTreeVo.setChild(child);
 
         dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(dataLevelTreeVo);}});
         //设置总数量
-        dataResourceClassifyVo.setTotal(dataLevelTreeVo.getChild().size());
+        dataResourceClassifyVo.setTotal(child.size());
         return dataResourceClassifyVo;
     }
 
-    /**
-     * 数据安全级别树
-     *
-     * @return
-     */
     private DataResourceClassifyVo getSecurityLevelTree() {
         DataResourceEnum dataResourceEnum = DataResourceEnum.DATA_SECURITY_LEVEL;
 
@@ -184,48 +142,197 @@ public class DataResourceFacade implements IDataResourceFacade {
                 .code(dataResourceEnum.getCode())
                 .treeNode(true)
                 .build();
-
-        securityLevelTree.setChild(getFirstChildResourceClassifies(dataResourceService.getSecurityLevelList())
-                .stream()
-                .map(childResourceClassify -> DataResourceTreeVo.builder()
-                        .id(Joiner.on(ID_SEPARATOR).join(securityLevelTree.getId(), childResourceClassify.getCodeValue()))
-                        .code(childResourceClassify.getCodeValue())
-                        .label(childResourceClassify.getCodeName())
-                        .dataType(childResourceClassify.getTypeCode())
-                        .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + childResourceClassify.getCodeValue() + ID_SEPARATOR + childResourceClassify.getTypeCode())
-                        .treeNode(false)
-                        .pId(securityLevelTree.getId()).build()
-                ).collect(Collectors.toList())
-        );
+        List<DataLevelVo> securityLevelList = getSecurityLevelList();
+
+        List<DataResourceTreeVo> child = securityLevelList.stream().map(item -> DataResourceTreeVo.builder()
+                .id(Joiner.on(ID_SEPARATOR).join(securityLevelTree.getId(), item.getLevelCode()))
+                .code(item.getLevelCode())
+                .label(item.getLevelName())
+                .dataType(item.getTypeCode())
+                .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + item.getLevelCode() + ID_SEPARATOR + item.getTypeCode())
+                .treeNode(false)
+                .pId(securityLevelTree.getId()).build())
+                .collect(Collectors.toList());
+        securityLevelTree.setChild(child);
         dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(securityLevelTree);}} );
         //设置总数量
-        dataResourceClassifyVo.setTotal(securityLevelTree.getChild().size());
+        dataResourceClassifyVo.setTotal(child.size());
         return dataResourceClassifyVo;
     }
 
-    /**
-     * 数据资源分类
-     *
-     * @return
-     */
     private DataResourceClassifyVo getDataClassifyTree() {
         DataResourceEnum dataResourceEnum = DataResourceEnum.DATA_RESOURCE_CLASSIFY;
 
-        DataResourceClassifyVo dataResourceClassifyVo = DataResourceClassifyVo.builder().id(dataResourceEnum.getCode())
+        DataResourceClassifyVo resourceVo = DataResourceClassifyVo.builder().id(dataResourceEnum.getCode())
+                .attrType(dataResourceEnum.getAttrType().getValue()).label(dataResourceEnum.getLabel()).build();
+
+        DataResourceTreeVo topTreeVo = DataResourceTreeVo.builder().id(dataResourceEnum.getCode()).label("全部")
+                .code(dataResourceEnum.getCode()).treeNode(true).build();
+        List<DataCla> dataClaList = dataClaService.getAllDataCla();
+        Map<String, List<DataCla>> levelMap = dataClaList.stream().collect(Collectors.groupingBy(DataCla::getLevel));
+        //一级节点
+        List<DataResourceTreeVo> firNodes = Optional.ofNullable(levelMap.get(DataClaTypeEnum.FIR.getLevel())).orElse(new ArrayList<>())
+                .stream().map(item -> convertDataClaToNode(item, null)).collect(Collectors.toList());
+        //二级节点
+        List<DataResourceTreeVo> secNodes = Optional.ofNullable(levelMap.get(DataClaTypeEnum.SEC.getLevel())).orElse(new ArrayList<>())
+                .stream().map(item -> convertDataClaToNode(item, item.getFirId())).collect(Collectors.toList());
+        //三级节点
+        List<DataResourceTreeVo> thirdNodes = Optional.ofNullable(levelMap.get(DataClaTypeEnum.LAB_CLA.getLevel())).orElse(new ArrayList<>())
+                .stream().map(item -> convertDataClaToNode(item, item.getSecId())).collect(Collectors.toList());
+        //四级节点
+        List<DataResourceTreeVo> fourNodes = Optional.ofNullable(levelMap.get(DataClaTypeEnum.LAB.getLevel())).orElse(new ArrayList<>())
+                .stream().map(item -> convertDataClaToNode(item, item.getLabClaId())).collect(Collectors.toList());
+        //拼接成树节点
+        combineTreeNode(firNodes, secNodes);
+        combineTreeNode(secNodes, thirdNodes);
+        combineTreeNode(thirdNodes, fourNodes);
+        topTreeVo.setChild(firNodes);
+        getTotalCount(topTreeVo);
+        resourceVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(topTreeVo);}});
+        return resourceVo;
+    }
+
+    private DataResourceTreeVo convertDataClaToNode(DataCla item, String pid) {
+        return DataResourceTreeVo.builder()
+                .id(item.getId())
+                .pId(pid)
+                .dataType(item.getDataType())
+                .label(item.getName())
+                .code(item.getCode())
+                .build();
+    }
+
+
+    private DataResourceClassifyVo getFieldClassifyTree() {
+        DataResourceEnum dataResourceEnum = DataResourceEnum.COLUMN_CLASSIFY;
+
+        DataResourceClassifyVo resourceVo = DataResourceClassifyVo.builder().id(dataResourceEnum.getCode())
                 .attrType(dataResourceEnum.getAttrType().getValue()).label(dataResourceEnum.getLabel()).build();
 
-        DataResourceTreeVo dataClassifyTree = DataResourceTreeVo.builder().id(dataResourceEnum.getCode()).label("全部")
+        DataResourceTreeVo topTreeVo = DataResourceTreeVo.builder().id(dataResourceEnum.getCode()).label("全部")
                 .code(dataResourceEnum.getCode()).treeNode(true).build();
+        List<FieldCla> fieldClaList = fieldClaService.getAllFieldCla();
+        Map<String, List<FieldCla>> levelMap = fieldClaList.stream().collect(Collectors.groupingBy(FieldCla::getLevel));
+        List<DataResourceTreeVo> firNodes = Optional.ofNullable(levelMap.get(FieldClaTypeEnum.FIR.getLevel())).orElse(new ArrayList<>())
+                .stream().map(item -> convertFieldClaToNode(item, null)).collect(Collectors.toList());
+        List<DataResourceTreeVo> secNodes = Optional.ofNullable(levelMap.get(FieldClaTypeEnum.FIR.getLevel())).orElse(new ArrayList<>())
+                .stream().map(item -> convertFieldClaToNode(item, item.getFirId())).collect(Collectors.toList());
+        combineTreeNode(firNodes, secNodes);
+        topTreeVo.setChild(firNodes);
+        getTotalCount(topTreeVo);
+        resourceVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(topTreeVo);}});
+        return resourceVo;
+    }
 
-        dataClassifyTree.setChild(getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
+    private DataResourceTreeVo convertFieldClaToNode(FieldCla item, String pid) {
+        return DataResourceTreeVo.builder()
+                .id(item.getId())
+                .pId(pid)
+                .dataType(item.getDataType())
+                .label(item.getName())
+                .code(item.getCode())
+                .build();
+    }
+
+    private void combineTreeNode(List<DataResourceTreeVo> firNodes, List<DataResourceTreeVo> secNodes) {
+        Map<String, List<DataResourceTreeVo>> secMap = secNodes.stream().collect(Collectors.groupingBy(DataResourceTreeVo::getPId));
+        firNodes.forEach(item->{
+            List<DataResourceTreeVo> childes = secMap.get(item.getId());
+            item.setChild(childes);
+            item.setId(item.getCode());
+        });
+    }
+
+
+    @Override
+    public List<DataLevelVo> getDataLevelList() {
+        List<DataLevel> all = dataLevelService.getAll();
+        return all.stream()
+                .map(item -> new DataLevelVo(item.getLevelCode(), item.getLevelName(), item.getDataType()))
+                .collect(Collectors.toList());
+    }
+
+    @Override
+    public List<DataLevelVo> getSecurityLevelList() {
+        List<DataSec> all = dataSecService.getAll();
+        return all.stream()
+                .map(item -> new DataLevelVo(item.getSecCode(), item.getSecName(), item.getDataType()))
+                .collect(Collectors.toList());
+    }
+
+    @Override
+    public List<DataClassifyVo> getDataClassifyList() {
+        List<DataClaAcceptDTO> list = dataClaService.getAll();
+        return list.stream().map(item -> {
+            DataClassifyVo vo = new DataClassifyVo();
+            vo.setFirstLevelCode(item.getFirCode());
+            vo.setFirstLevelName(item.getFirName());
+            vo.setSecondLevelCode(item.getSecCode());
+            vo.setSecondLevelName(item.getSecName());
+            vo.setLabelClassifyCode(item.getLabClaCode());
+            vo.setLabelClassifyName(item.getLabClaName());
+            vo.setLabelCode(item.getLabCode());
+            vo.setLabelName(item.getLabName());
+            return vo;
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<DataFieldClassifyVo> getFieldClassifyList() {
+        List<FieldClaAcceptDTO> list = fieldClaService.getAll();
+        return list.stream().map(item-> {
+            DataFieldClassifyVo vo = new DataFieldClassifyVo();
+            vo.setFirstLevelCode(item.getFirCode());
+            vo.setFirstLevelName(item.getFirName());
+            vo.setSecondLevelCode(item.getSecCode());
+            vo.setSecondLevelName(item.getSecName());
+            return vo;
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public ResponseStatus dataLevelSync() {
+        CompletableFuture.supplyAsync(this::getDataLevelListFromRemote).thenAccept((list)->dataLevelService.sync(list));
+        return ResponseStatus.success();
+    }
+
+    @Override
+    public ResponseStatus dataSecSync() {
+        CompletableFuture.supplyAsync(this::getSecurityLevelListFromRemote).thenAccept((list)->dataSecService.sync(list));
+        return ResponseStatus.success();
+    }
+
+    @Override
+    public ResponseStatus dataClaSync() {
+        CompletableFuture.supplyAsync(this::getDataClassifyTreeFromRemote)
+                .thenAccept((nodes)-> dataClaService.sync(nodes, null));
+        return ResponseStatus.success();
+    }
+
+    @Override
+    public ResponseStatus fieldClaSync() {
+        CompletableFuture.supplyAsync(this::getFieldClassifyTreeFromRemote)
+                .thenAccept((nodes)-> fieldClaService.sync(nodes, null));
+        return ResponseStatus.success();
+    }
+
+
+    /**
+     * 数据资源分类
+     *
+     * @return
+     */
+    private List<DataResourceTreeVo> getDataClassifyTreeFromRemote() {
+        String id = DataResourceEnum.DATA_RESOURCE_CLASSIFY.getCode();
+        List<DataResourceTreeVo> collect = getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
                 .stream()
                 .map(firstClassify -> {
                     DataResourceTreeVo firstTreeVo = DataResourceTreeVo.builder()
-                            .id(Joiner.on(ID_SEPARATOR).join(dataClassifyTree.getId(), firstClassify.getCodeValue()))
+                            .id(Joiner.on(ID_SEPARATOR).join(id, firstClassify.getCodeValue()))
                             .code(firstClassify.getCodeValue())
                             .label(firstClassify.getCodeName())
                             .treeNode(true)
-                            .pId(dataClassifyTree.getId())
+                            .pId(id)
                             .dataType(firstClassify.getTypeCode())
                             .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + firstClassify.getCodeValue() + ID_SEPARATOR + firstClassify.getTypeCode())
                             .build();
@@ -272,11 +379,8 @@ public class DataResourceFacade implements IDataResourceFacade {
                                 return secondTreeVo;
                             }).collect(Collectors.toList()));
                     return firstTreeVo;
-                }).collect(Collectors.toList()));
-
-        dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(dataClassifyTree);}} );
-        dataResourceClassifyVo.setTotal(getTotalCount(dataClassifyTree));
-        return dataResourceClassifyVo;
+                }).collect(Collectors.toList());
+        return collect;
     }
 
     /**
@@ -284,32 +388,18 @@ public class DataResourceFacade implements IDataResourceFacade {
      *
      * @return
      */
-    private DataResourceClassifyVo getFieldClassifyTree() {
-        DataResourceEnum dataResourceEnum = DataResourceEnum.COLUMN_CLASSIFY;
-
-        DataResourceClassifyVo dataResourceClassifyVo = DataResourceClassifyVo.builder()
-                .id(dataResourceEnum.getCode())
-                .attrType(dataResourceEnum.getAttrType().getValue())
-                .label(dataResourceEnum.getLabel())
-                .build();
-
-        DataResourceTreeVo fieldClassifyTree = DataResourceTreeVo.builder()
-                .id(dataResourceEnum.getCode())
-                .label("全部")
-                .code(dataResourceEnum.getCode())
-                .treeNode(true)
-                .build();
-
-        fieldClassifyTree.setChild(getFirstChildResourceClassifies(dataResourceService.getFieldClassifyList())
+    private List<DataResourceTreeVo> getFieldClassifyTreeFromRemote() {
+        String id = DataResourceEnum.COLUMN_CLASSIFY.getCode();
+        List<DataResourceTreeVo> collect = getFirstChildResourceClassifies(dataResourceService.getFieldClassifyList())
                 .stream()
                 .map(firstClassify -> {
                     DataResourceTreeVo firstTreeVo = DataResourceTreeVo.builder()
-                            .id(Joiner.on(ID_SEPARATOR).join(fieldClassifyTree.getId(), firstClassify.getCodeValue()))
+                            .id(Joiner.on(ID_SEPARATOR).join(id, firstClassify.getCodeValue()))
                             .code(firstClassify.getCodeValue())
                             .label(firstClassify.getCodeName())
                             .dataType(firstClassify.getTypeCode())
                             .treeNode(true)
-                            .pId(fieldClassifyTree.getId())
+                            .pId(id)
                             .codeDataTypeStr(UUIDUtils.getUUID() + ID_SEPARATOR + firstClassify.getCodeValue() + ID_SEPARATOR + firstClassify.getTypeCode())
                             .build();
 
@@ -329,13 +419,8 @@ public class DataResourceFacade implements IDataResourceFacade {
                                     }
                             ).collect(Collectors.toList()));
                     return firstTreeVo;
-                }).collect(Collectors.toList())
-        );
-
-        dataResourceClassifyVo.setNodes(new ArrayList<DataResourceTreeVo>(){{add(fieldClassifyTree);}} );
-        //设置总数
-        dataResourceClassifyVo.setTotal(getTotalCount(fieldClassifyTree));
-        return dataResourceClassifyVo;
+                }).collect(Collectors.toList());
+        return collect;
     }
 
     /**
@@ -347,6 +432,8 @@ public class DataResourceFacade implements IDataResourceFacade {
         int count = 0;
         List<DataResourceTreeVo> child = treeVo.getChild();
         for (DataResourceTreeVo childVo : child) {
+            childVo.setPId(treeVo.getId());
+            childVo.setId(Joiner.on(ID_SEPARATOR).join(treeVo.getId(), childVo.getCode()));
             List<DataResourceTreeVo> cc = childVo.getChild();
             if(CollectionUtils.isNotEmpty(cc)){
                 count += getTotalCount(childVo);
@@ -358,63 +445,28 @@ public class DataResourceFacade implements IDataResourceFacade {
         return count;
     }
 
-    @Override
-    public List<DataLevelVo> getDataLevelList() {
+    /**
+     * 从数据资源目录获取数据-数据分级
+     * @return
+     */
+    private List<DataLevelVo> getDataLevelListFromRemote() {
         return getFirstChildResourceClassifies(dataResourceService.getDataLevelList())
                 .stream()
                 .map(childResourceClassify -> new DataLevelVo(childResourceClassify.getCodeValue(), childResourceClassify.getCodeName(),childResourceClassify.getTypeCode()))
                 .collect(Collectors.toList());
     }
 
-    @Override
-    public List<DataLevelVo> getSecurityLevelList() {
+    /**
+     * 从数据资源目录获取数据-安全级别数据
+     * @return
+     */
+    private List<DataLevelVo> getSecurityLevelListFromRemote() {
         return getFirstChildResourceClassifies(dataResourceService.getSecurityLevelList())
                 .stream()
                 .map(childResourceClassify -> new DataLevelVo(childResourceClassify.getCodeValue(), childResourceClassify.getCodeName(), childResourceClassify.getTypeCode()))
                 .collect(Collectors.toList());
     }
 
-    @Override
-    public List<DataClassifyVo> getDataClassifyList() {
-        return getFirstChildResourceClassifies(dataResourceService.getDataClassifyList())
-                .stream()
-                .flatMap(
-                        firstClassify -> getFirstChildResourceClassifies(firstClassify.getChildrenType()).stream()
-                                .flatMap(
-                                        secondClassify -> getChildrenTypeList(secondClassify.getChildrenType()).stream()
-                                                .flatMap(
-                                                        thirdClassify -> thirdClassify.getDataList().stream()
-                                                                .map(fourClassify -> new DataClassifyVo(firstClassify.getCodeValue(),
-                                                                        firstClassify.getCodeName(),
-                                                                        secondClassify.getCodeValue(),
-                                                                        secondClassify.getCodeName(),
-                                                                        thirdClassify.getTypeCode(),
-                                                                        thirdClassify.getTypeName(),
-                                                                        fourClassify.getCodeValue(),
-                                                                        fourClassify.getCodeName())
-                                                                ).collect(Collectors.toList()).stream()
-
-                                                )
-                                )
-                ).collect(Collectors.toList());
-    }
-
-    @Override
-    public List<DataFieldClassifyVo> getFieldClassifyList() {
-        return getFirstChildResourceClassifies(dataResourceService.getFieldClassifyList())
-                .stream()
-                .flatMap(firstClassify ->
-                        getFirstChildResourceClassifies(firstClassify.getChildrenType())
-                                .stream()
-                                .map(secondClassify ->
-                                        new DataFieldClassifyVo(firstClassify.getCodeValue(),
-                                                firstClassify.getCodeName(),
-                                                secondClassify.getCodeValue(),
-                                                secondClassify.getCodeName())
-                                ).collect(Collectors.toList()).stream()
-                ).collect(Collectors.toList());
-    }
-
     private List<ChildResourceClassify> getFirstChildResourceClassifies(List<ResourceClassify> fieldClassifyList) {
         return Optional.ofNullable(fieldClassifyList)
                 .map(resourceClassifies -> resourceClassifies.get(0))

+ 14 - 1
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IDataClaService.java

@@ -74,7 +74,7 @@ public interface IDataClaService {
     Boolean dataClassifyUpdate(DataClaAcceptDTO dto);
 
     /**
-     * 分页列表查询,只查询第四级
+     * 分页列表查询,只查询第四级,拼接前三级内容
      * @param searchDTO
      * @return
      */
@@ -103,4 +103,17 @@ public interface IDataClaService {
      * @param path
      */
     void sync(List<DataResourceTreeVo> nodes, String path);
+
+    /**
+     * 查询所有列表,只查询第四级,拼接前三级内容
+     * @return
+     */
+    List<DataClaAcceptDTO> getAll();
+
+    /**
+     * 获取所有数据
+     * @return
+     */
+    List<DataCla> getAllDataCla();
+
 }

+ 12 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IDataLevelService.java

@@ -78,5 +78,17 @@ public interface IDataLevelService {
      */
     ResponseStatus impExcel(String fileId);
 
+    /**
+     * 根据code获取集合
+     * @param codes
+     * @return
+     */
     List<DataLevel> getByCodes(List<String> codes);
+
+    /**
+     * 获取所有数据
+     * @return
+     */
+    List<DataLevel> getAll();
+
 }

+ 12 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IDataSecService.java

@@ -78,5 +78,17 @@ public interface IDataSecService {
      */
     ResponseStatus impExcel(String fileId);
 
+    /**
+     * 根据codes查询集合
+     * @param codes
+     * @return
+     */
     List<DataSec> getByCodes(List<String> codes);
+
+    /**
+     * 获取所有数据
+     * @return
+     */
+    List<DataSec> getAll();
+
 }

+ 12 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/IFieldClaService.java

@@ -95,4 +95,16 @@ public interface IFieldClaService {
      * @param path
      */
     void sync(List<DataResourceTreeVo> nodes, String path);
+
+    /**
+     * 两级字段分级所有列表查询
+     * @return
+     */
+    List<FieldClaAcceptDTO> getAll();
+
+    /**
+     * 获取所有字段分类
+     * @return
+     */
+    List<FieldCla> getAllFieldCla();
 }

+ 25 - 5
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataClaServiceImpl.java

@@ -267,11 +267,7 @@ public class DataClaServiceImpl implements IDataClaService {
         }
         Page<DataCla> page = dataClaMapper.pagingBySearchable(searchable);
         List<DataCla> content = page.getContent();
-        List<String> firIds = content.stream().map(DataCla::getFirId).distinct().collect(Collectors.toList());
-        List<String> secIds = content.stream().map(DataCla::getSecId).distinct().collect(Collectors.toList());
-        List<String> labClaIds = content.stream().map(DataCla::getLabClaId).distinct().collect(Collectors.toList());
-        List<String> ids = Stream.of(firIds, secIds, labClaIds).flatMap(List::stream).collect(Collectors.toList());
-        List<DataCla> upList = getByIds(ids);
+        List<DataCla> upList = getUpList(content);
         upList.addAll(content);
         List<DataClaAcceptDTO> tableList = convertToTableList(content, upList);
         return new PageImpl<>(tableList, page.getPageable(), page.getTotalElements());
@@ -326,6 +322,30 @@ public class DataClaServiceImpl implements IDataClaService {
         }
     }
 
+    @Override
+    public List<DataClaAcceptDTO> getAll() {
+        LambdaQueryWrapper<DataCla> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select().eq(DataCla::getLevel, DataClaTypeEnum.LAB.getLevel());
+        List<DataCla> list = dataClaMapper.selectList(queryWrapper);
+        List<DataCla> upList = getUpList(list);
+        upList.addAll(list);
+        List<DataClaAcceptDTO> tableList = convertToTableList(list, upList);
+        return tableList;
+    }
+
+    @Override
+    public List<DataCla> getAllDataCla() {
+        return dataClaMapper.selectList(null);
+    }
+
+    private List<DataCla> getUpList(List<DataCla> list) {
+        List<String> firIds = list.stream().map(DataCla::getFirId).distinct().collect(Collectors.toList());
+        List<String> secIds = list.stream().map(DataCla::getSecId).distinct().collect(Collectors.toList());
+        List<String> labClaIds = list.stream().map(DataCla::getLabClaId).distinct().collect(Collectors.toList());
+        List<String> ids = Stream.of(firIds, secIds, labClaIds).flatMap(List::stream).collect(Collectors.toList());
+        return getByIds(ids);
+    }
+
     /**
      * 更新本级树节点
      * @param node

+ 5 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataLevelServiceImpl.java

@@ -227,6 +227,11 @@ public class DataLevelServiceImpl implements IDataLevelService {
         return dataLevelMapper.selectList(queryWrapper);
     }
 
+    @Override
+    public List<DataLevel> getAll() {
+        return dataLevelMapper.selectList(null);
+    }
+
     private List<ExcelDataLevel> loadDataLevelFromExcel(InputStream inputStream) throws IOException {
         List<ExcelDataLevel> list = new ArrayList<>();
         Workbook wb0 = new HSSFWorkbook(inputStream);

+ 5 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/DataSecServiceImpl.java

@@ -223,6 +223,11 @@ public class DataSecServiceImpl implements IDataSecService {
         return dataSecMapper.selectList(queryWrapper);
     }
 
+    @Override
+    public List<DataSec> getAll() {
+        return dataSecMapper.selectList(null);
+    }
+
     private List<ExcelDataSec> loadDataSecFromExcel(InputStream inputStream) throws IOException {
         List<ExcelDataSec> list = new ArrayList<>();
         Workbook wb0 = new HSSFWorkbook(inputStream);

+ 16 - 0
dcuc-app-service/src/main/java/com/dragoninfo/dcuc/app/sub/service/impl/FieldClaServiceImpl.java

@@ -258,6 +258,22 @@ public class FieldClaServiceImpl implements IFieldClaService {
         }
     }
 
+    @Override
+    public List<FieldClaAcceptDTO> getAll() {
+        LambdaQueryWrapper<FieldCla> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select().eq(FieldCla::getLevel, FieldClaTypeEnum.SEC.getLevel());
+        List<FieldCla> list = fieldClaMapper.selectList(queryWrapper);
+        List<String> firIds = list.stream().map(FieldCla::getFirId).distinct().collect(Collectors.toList());
+        List<FieldCla> firs = getByIds(firIds);
+        firs.addAll(list);
+        return convertToTableList(firs);
+    }
+
+    @Override
+    public List<FieldCla> getAllFieldCla() {
+        return fieldClaMapper.selectList(null);
+    }
+
     private void updateNode(DataResourceTreeVo node, FieldCla fieldCla) {
         LambdaUpdateWrapper<FieldCla> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(FieldCla::getName, node.getLabel())