chenyu 2 年之前
父节点
当前提交
8f957900d2

+ 1 - 1
PAS/src/main/java/cn/cslg/pas/service/IStructureService.java

@@ -37,7 +37,7 @@ public interface IStructureService {
     void update(StructureUpdateDTO structureUpdateDTO, List<MultipartFile> files);
 
     /**
-     * 分页查询架构
+     * 分页查询架构
      *
      * @param structureQueryPageDTO 分页信息
      * @return 返回查询到的数据

+ 18 - 23
PAS/src/main/java/cn/cslg/pas/service/impl/StructureServiceImpl.java

@@ -125,10 +125,21 @@ public class StructureServiceImpl implements IStructureService {
     public void update(StructureUpdateDTO structureUpdateDTO, List<MultipartFile> files) {
     }
 
+    /**
+     * 分页查询架构树
+     *
+     * @param structureQueryPageDTO 分页信息
+     * @return 返回查询到的数据
+     */
     @Override
     public StructureVO query(StructureQueryPageDTO structureQueryPageDTO) {
         log.info("开始处理【分页查询架构】的业务,参数为:{}", structureQueryPageDTO);
 
+        //取出DTO中structureId,若structureId为null则表示查询的是整个架构树,手动给structureId设为0
+        if (structureQueryPageDTO.getStructureId() == null) {
+            structureQueryPageDTO.setStructureId(0);
+        }
+
         //从DTO中取出产品id、架构id、架构名称
         Integer productId = structureQueryPageDTO.getProductId();
         Integer structureId = structureQueryPageDTO.getStructureId();
@@ -137,36 +148,20 @@ public class StructureServiceImpl implements IStructureService {
                 .setProductId(productId)
                 .setId(structureId)
                 .setStructureName(structureName);
-        List<StructureVO> structureVOs = structureMapper.selectByParentId(structureId);
-        if (structureVOs != null) {
-            structureVO.setChildren(structureVOs);
-            for (StructureVO n : structureVOs) {
-                Integer nId = n.getId();
-                List<StructureVO> ns = structureMapper.selectByParentId(nId);
-                if (ns != null) {
-                    n.setChildren(ns);
-                    for (StructureVO b : ns) {
-                        Integer id = b.getId();
-                        List<StructureVO> nns = structureMapper.selectByParentId(nId);
-                    }
-                }
-            }
-        }
-
+        diGui(structureVO, structureId);
         return structureVO;
     }
 
-    //递归组装集合树
-    private void diGui(Integer structureId) {
-        ArrayList<StructureVO> structureVOS = new ArrayList<>();
+    //递归组装架构集合树
+    private void diGui(StructureVO structureVO, Integer structureId) {
         List<StructureVO> structureVOs = structureMapper.selectByParentId(structureId);
         if (structureVOs != null) {
-            for (StructureVO structureVO : structureVOs) {
-                structureId = structureVO.getId();
-                diGui(structureId);
+            structureVO.setChildren(structureVOs);
+            for (StructureVO n : structureVOs) {
+                structureId = n.getId();
+                diGui(n, structureId);
             }
         }
-
     }