Browse Source

Merge branch 'demo_' of http://123.60.19.203:8088/hitch/hitch-sb into demo_

guarantee-lsq 2 years ago
parent
commit
a16122e785

+ 4 - 1
platform-dao/src/main/java/com/platform/dao/pojo/CommonTree.java

@@ -24,7 +24,10 @@ public class CommonTree extends TreeNode {
      * 名称
      */
     private String title;
-
+    /**
+     * 图片地址
+     */
+    private String img;
     /**
      * 图标
      */

+ 60 - 1
platform-dao/src/main/java/com/platform/dao/util/TreeUtil.java

@@ -21,6 +21,7 @@ import com.platform.dao.vo.query.qykh.InformationVO;
 import com.platform.dao.vo.query.qykh.PlanVO;
 import com.platform.dao.vo.query.qykh.ProductVO;
 import com.platform.dao.vo.query.store.StoreVO;
+import com.platform.dao.vo.sb.SbPositionVO;
 import com.platform.dao.vo.sb.SbTypeVO;
 import lombok.experimental.UtilityClass;
 
@@ -91,6 +92,41 @@ public class TreeUtil {
         return trees;
     }
 
+    /**
+     * 多层两次循环实现建树
+     * 当没有父节点的时候,当前节点也要显示
+     * @param treeNodes 传入的树节点列表
+     * @return
+     */
+    public <T extends TreeNode> List<T> buildByLoopWithNoParent(List<T> treeNodes, Object root) {
+
+        List<T> trees = new ArrayList<>();
+        Map<String, T> treeNodeMap = MapUtils.newHashMap(treeNodes.size());
+        treeNodes.forEach(treeNode -> {
+            treeNodeMap.put(treeNode.getId(), treeNode);
+        });
+
+        treeNodes.forEach(treeNode -> {
+            if (StringUtils.isBlank(treeNode.getParentId()) || "0".equals(treeNode.getParentId())) {
+                trees.add(treeNode);
+            } else if (treeNode.getParentId().equals(root)) {
+                trees.add(treeNode);
+            } else {
+                T t = treeNodeMap.get(treeNode.getParentId());
+                if (t != null) {
+                    t.setGroup(true);
+                    if (t.getChildren() == null) {
+                        t.setChildren(new ArrayList<>());
+                    }
+                    t.getChildren().add(treeNode);
+                }else{
+                    trees.add(treeNode);
+                }
+            }
+        });
+        return trees;
+    }
+
     /**
      * 多层两次循环实现建树
      * 不包括root节点
@@ -337,7 +373,7 @@ public class TreeUtil {
      * @param root
      * @return
      */
-    public List<CommonTree> buildSbPositionTree(List<SbPosition> types, String root) {
+    public List<CommonTree> buildSbPositionTree(List<SbPositionVO> types, String root) {
         List<CommonTree> trees = new LinkedList<>();
         types.forEach(type -> {
             CommonTree node = new CommonTree();
@@ -345,12 +381,35 @@ public class TreeUtil {
             node.setKey(type.getId());
             node.setParentId(type.getParentId());
             node.setTitle(type.getName());
+            node.setImg(type.getOpcImg());
             node.setValue(type.getId());
             trees.add(node);
         });
         return TreeUtil.buildByLoop(trees, root);
     }
 
+    /**
+     * 创建设备位置树
+     *
+     * @param types
+     * @param root
+     * @return
+     */
+    public List<CommonTree> buildSbPositionTreeWithNoParent(List<SbPositionVO> types, String root) {
+        List<CommonTree> trees = new LinkedList<>();
+        types.forEach(type -> {
+            CommonTree node = new CommonTree();
+            node.setId(type.getId());
+            node.setKey(type.getId());
+            node.setParentId(type.getParentId());
+            node.setTitle(type.getName());
+            node.setImg(type.getOpcImg());
+            node.setValue(type.getId());
+            trees.add(node);
+        });
+        return TreeUtil.buildByLoopWithNoParent(trees, root);
+    }
+
     /**
      * 创建设备基本信息类型树
      *

+ 1 - 1
platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml

@@ -31,7 +31,7 @@
         <if test="parentCode != null and parentCode != ''">
             and position.code like concat(#{parentCode},'%')
         </if>
-        <if test="opcFlag != null and opcFlag != ''">
+        <if test="opcFlag != null">
             and position.opc_flag = #{opcFlag}
         </if>
         <if test="userName != null and userName != ''">

+ 1 - 1
platform-rest/src/main/java/com/platform/rest/controller/sb/SbPositionController.java

@@ -158,7 +158,7 @@ public class SbPositionController {
      */
     @GetMapping("tree")
     public R queryTree(SbPositionDTO sbPositionDTO) {
-        return new R<>(TreeUtil.buildSbPositionTree(sbPositionService.getModelListByDTO(sbPositionDTO), ""));
+        return new R<>(TreeUtil.buildSbPositionTreeWithNoParent(sbPositionService.selectVOList(sbPositionDTO), ""));
     }
 
     /**