From 2d20926b12a4fe446d4ede3e9039dc676332573e Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期六, 11 十一月 2023 18:41:12 +0800
Subject: [PATCH] 中心 工区 修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java |  141 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 138 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java
index 027190d..0e06fa8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/AreaServiceImpl.java
@@ -1,11 +1,13 @@
 package org.jeecg.modules.eam.service.impl;
 
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.api.vo.CommonGenericTree;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.modules.eam.entity.Area;
+import org.jeecg.modules.eam.entity.FaultCause;
 import org.jeecg.modules.eam.mapper.AreaMapper;
 import org.jeecg.modules.eam.service.IAreaService;
 import org.jeecg.modules.eam.service.IProductionLineService;
@@ -71,5 +73,138 @@
         updateWrapper.set(Area::getStatus, status).eq(Area::getSiteId, siteId);
         return super.update(updateWrapper);
     }
-    
+
+    @Override
+    public List<CommonGenericTree> loadTree() {
+        List<Area> areaList = this.lambdaQuery().eq(Area::getDelFlag, "0").list();
+        List<CommonGenericTree> commonGenericTrees = loadTree(areaList);
+        return commonGenericTrees;
+    }
+
+    @SuppressWarnings("unchecked")
+    public List<CommonGenericTree> loadTree(List<Area> areaList) {
+        @SuppressWarnings("unused")
+        Area area = new Area();
+        List<CommonGenericTree> list = new ArrayList<>();
+        Map<String, CommonGenericTree> map = new HashMap<>();
+        Map<String, CommonGenericTree> map2 = new HashMap<>();
+        Map<String, CommonGenericTree> map3 = new HashMap<>();
+//        Map<String, CommonGenericTree> map4 = new HashMap<>();
+//        Map<String, CommonGenericTree> map5 = new HashMap<>();
+//        Map<String, CommonGenericTree> map6 = new HashMap<>();
+//        Map<String, CommonGenericTree> map7 = new HashMap<>();
+        CommonGenericTree<Area> node = new CommonGenericTree<>();
+        node.setKey("-1");
+        node.setValue("-1");
+        node.setTitle("涓浗鑸彂");
+        node.setRField1("-1");
+        node.setRField2("涓浗鑸彂");
+        node.setDisabled(false);
+        node.setEntity(new Area());
+        list.add(node);
+        if (CollectionUtils.isNotEmpty(list)) {
+            CommonGenericTree<Area> pcNode;
+            for (Area ar : areaList) {
+                if (ar.getParentId().equals("-1")) {
+                    pcNode = new CommonGenericTree<>();
+                    pcNode.setKey(ar.getId());
+//                    pcNode.setTitle(ar.getNum() + "/" + ar.getName());
+                    pcNode.setTitle(ar.getName());
+                    pcNode.setParentId(node.getKey());
+                    pcNode.setIcon("");
+                    pcNode.setType(0);
+                    pcNode.setValue(ar.getId());
+                    pcNode.setDisabled(false);
+                    pcNode.setRField1(ar.getNum());
+                    pcNode.setRField2(ar.getName());
+                    pcNode.setEntity(ar);
+                    node.addChildren(pcNode);
+                    map.put(ar.getId(), pcNode);
+                }
+            }
+            CommonGenericTree<Area> childNode;
+            for (Area ar : areaList) {
+                if (map.containsKey(ar.getParentId())) {
+                    pcNode = map.get(ar.getParentId());
+                    childNode = new CommonGenericTree<>();
+                    childNode.setKey(ar.getId());
+                    childNode.setTitle(ar.getName());
+                    childNode.setParentId(ar.getParentId());
+                    childNode.setIcon("");
+                    childNode.setType(0);
+                    childNode.setValue(ar.getId());
+                    childNode.setDisabled(false);
+                    childNode.setRField1(ar.getNum());
+                    childNode.setRField2(ar.getName());
+                    childNode.setEntity(ar);
+                    pcNode.addChildren(childNode);
+                    map2.put(ar.getId(), childNode);
+                }
+            }
+            if(map2.size()>0){
+                CommonGenericTree<Area> child2Node;
+                for (Area ar : areaList) {
+                    if (map2.containsKey(ar.getParentId())) {
+                        pcNode = map2.get(ar.getParentId());
+                        child2Node = new CommonGenericTree<>();
+                        child2Node.setKey(ar.getId());
+                        child2Node.setTitle(ar.getName());
+                        child2Node.setParentId(ar.getParentId());
+                        child2Node.setIcon("");
+                        child2Node.setType(0);
+                        child2Node.setValue(ar.getId());
+                        child2Node.setDisabled(false);
+                        child2Node.setRField1(ar.getNum());
+                        child2Node.setRField2(ar.getName());
+                        child2Node.setEntity(ar);
+                        pcNode.addChildren(child2Node);
+                        map3.put(ar.getId(), child2Node);
+                    }
+                }
+                if(map3.size()>0){
+                    CommonGenericTree<Area> child3Node;
+                    for (Area ar : areaList) {
+                        if (map3.containsKey(ar.getParentId())) {
+                            pcNode = map3.get(ar.getParentId());
+                            child3Node = new CommonGenericTree<>();
+                            child3Node.setKey(ar.getId());
+                            child3Node.setTitle(ar.getName());
+                            child3Node.setParentId(ar.getParentId());
+                            child3Node.setIcon("");
+                            child3Node.setType(0);
+                            child3Node.setValue(ar.getId());
+                            child3Node.setDisabled(false);
+                            child3Node.setRField1(ar.getNum());
+                            child3Node.setRField2(ar.getName());
+                            child3Node.setEntity(ar);
+//                            pcNode.addChildren(child3Node);
+//                            map4.put(cause.getId(), child3Node);
+                        }
+                    }
+//                    if(map4.size()>0){
+//                        CommonGenericTree<FaultCause> child4Node;
+//                        for (FaultCause cause : faultCauseList) {
+//                            if (map4.containsKey(cause.getParentId())) {
+//                                pcNode = map4.get(cause.getParentId());
+//                                child4Node = new CommonGenericTree<>();
+//                                child4Node.setKey(cause.getId());
+//                                child4Node.setTitle(cause.getNum() + "/" + cause.getName());
+//                                child4Node.setParentId(cause.getParentId());
+//                                child4Node.setIcon("");
+//                                child4Node.setType(0);
+//                                child4Node.setValue(cause.getId());
+//                                child4Node.setDisabled(false);
+//                                child4Node.setRField1(cause.getNum());
+//                                child4Node.setRField2(cause.getName());
+//                                child4Node.setEntity(cause);
+//                                pcNode.addChildren(child4Node);
+//                                map5.put(cause.getId(), child4Node);
+//                            }
+//                        }
+//                    }
+                }
+            }
+        }
+        return list;
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3