Bladeren bron

用地类型修改

gushoubang 9 maanden geleden
bovenliggende
commit
e51a578aea

+ 3 - 40
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/config/fzss/FzxzDldmTreeDTO.java

@@ -1,52 +1,15 @@
 package com.onemap.apply.domain.config.fzss;
 
+import lombok.Data;
+
 import java.util.ArrayList;
 import java.util.List;
 
+@Data
 public class FzxzDldmTreeDTO {
     private String value;
     private String label;
     private String parent;
     private Boolean isparent;
     private List<FzxzDldmTreeDTO> children = new ArrayList<FzxzDldmTreeDTO>();
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
-
-    public String getLabel() {
-        return label;
-    }
-
-    public void setLabel(String label) {
-        this.label = label;
-    }
-
-    public String getParent() {
-        return parent;
-    }
-
-    public void setParent(String parent) {
-        this.parent = parent;
-    }
-
-    public Boolean getIsparent() {
-        return isparent;
-    }
-
-    public void setIsparent(Boolean isparent) {
-        this.isparent = isparent;
-    }
-
-    public List<FzxzDldmTreeDTO> getChildren() {
-        return children;
-    }
-
-    public void setChildren(List<FzxzDldmTreeDTO> children) {
-        this.children = children;
-    }
 }

+ 41 - 12
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/fzss/FzxzServiceImpl.java

@@ -12,7 +12,9 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class FzxzServiceImpl implements IFzxzService {
@@ -48,26 +50,53 @@ public class FzxzServiceImpl implements IFzxzService {
         if (StringUtils.isEmpty(fzbs)) {
             return RequestResult.error("参数未传递!", null);
         }
-        List<FzxzDldmTreeDTO> treeNode = new ArrayList<FzxzDldmTreeDTO>();
+
         List<FzxzDldmTreeDTO> trees = fzxzMapper.GetDldmTree(fzbs);
         if (trees == null || trees.size() == 0) {
             return RequestResult.success("查询成功!", new ArrayList<>());
         }
-        for (FzxzDldmTreeDTO dltbTree : trees) {
-            dltbTree.setChildren(new ArrayList<>());
-            if (StringUtils.isEmpty(dltbTree.getParent())) {
-                dltbTree.setIsparent(true);
-                treeNode.add(dltbTree);
+        // 生成树结构
+        Map<String, FzxzDldmTreeDTO> nodeMap = new HashMap<>();
+        List<FzxzDldmTreeDTO> treeNode = new ArrayList<>();
+
+        // 将所有节点放入map中
+        for (FzxzDldmTreeDTO node : trees) {
+            nodeMap.put(node.getValue(), node);
+        }
+
+        // 构建树结构
+        for (FzxzDldmTreeDTO node : trees) {
+            if (StringUtils.isEmpty(node.getParent())) {
+                // 如果是根节点
+                node.setIsparent(true);
+                treeNode.add(node);
             } else {
-                for (FzxzDldmTreeDTO cur : treeNode) {
-                    if (cur.getValue().equals(dltbTree.getParent())) {
-                        dltbTree.setIsparent(false);
-                        cur.getChildren().add(dltbTree);
-                        break;
-                    }
+                // 否则找到其父节点,并将其添加到父节点的children列表中
+                node.setIsparent(false);
+                FzxzDldmTreeDTO parent = nodeMap.get(node.getParent());
+                if (parent != null) {
+                    parent.getChildren().add(node);
                 }
             }
         }
+
+
+        // List<FzxzDldmTreeDTO> rootNodes = new ArrayList<>();
+        // for (FzxzDldmTreeDTO dltbTree : trees) {
+        //     dltbTree.setChildren(new ArrayList<>());
+        //     if (StringUtils.isEmpty(dltbTree.getParent())) {
+        //         dltbTree.setIsparent(true);
+        //         treeNode.add(dltbTree);
+        //     } else {
+        //         for (FzxzDldmTreeDTO cur : treeNode) {
+        //             if (cur.getValue().equals(dltbTree.getParent())) {
+        //                 dltbTree.setIsparent(false);
+        //                 cur.getChildren().add(dltbTree);
+        //                 break;
+        //             }
+        //         }
+        //     }
+        // }
         return RequestResult.success("查询成功!", treeNode);
     }
 

+ 6 - 3
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/fzss/FzxzMapper.xml

@@ -6,9 +6,12 @@
 
 
     <select id="GetDldmTree" parameterType="java.lang.String" resultType="com.onemap.apply.domain.config.fzss.FzxzDldmTreeDTO">
-        select t.dm as "value",
-       t.mc as "label",
-       t.fdm as "parent" from T_FZSS_FZXZ_DICT t where t.fzbs = #{fzbs} order by t.dm , t.fdm, t.xssx
+        select t.dm  as "value",
+               t.mc  as "label",
+               t.fdm as "parent"
+        from T_FZSS_FZXZ_DICT t
+        where t.fzbs = #{fzbs}
+        order by t.dm, t.fdm, t.xssx
     </select>
 
     <select id="GetFzxzList" parameterType="java.lang.String" resultType="com.onemap.apply.domain.config.fzss.FzxzEntityDTO">