From 5fe1243b526deffe146761a19dece3ede4fa603d Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期三, 23 十一月 2022 15:09:19 +0800
Subject: [PATCH] 修改回显Bug

---
 flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java
index 02b9f5e..fecfdad 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java
@@ -6,6 +6,7 @@
 import com.dg.core.db.gen.entity.OrganizationChartEntity;
 import com.dg.core.db.gen.mapper.OrganizationChartMapper;
 import com.dg.core.service.IOrganizationChartService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -19,17 +20,30 @@
     @Override
     public List<OrganizationChartEntity> selectConfigList(String parentId,String grade,List<String> ids)
     {
-        List<OrganizationChartEntity> ocList=baseMapper.selectConfigList("","1",ids);
+        List<OrganizationChartEntity> ocList=baseMapper.selectConfigList(parentId,"1",ids);
+
+        if(ocList==null || ocList.size()<1)
+        {
+            List<String> id=new ArrayList<>();
+            id.add(parentId);
+            ocList=baseMapper.selectConfigList(null,null,id);
+        }
 
         for (OrganizationChartEntity entity:ocList)
         {
-            entity.setChild(baseMapper.selectConfigList(entity.getId()+"","",ids));
+            entity.setChild(baseMapper.selectConfigList(entity.getId()+"","",null));
 
             if (entity.getChild()!=null)
             {
                 entity.setChild(this.selectConfigList(entity.getId().toString()));
             }
         }
+        return ocList;
+    }
+
+    @Override
+    public List<OrganizationChartEntity> selectConfigList(List<String> ids) {
+        List<OrganizationChartEntity> ocList=baseMapper.selectConfigList(null,null,ids);
         return ocList;
     }
 
@@ -120,6 +134,43 @@
         return ids;
     }
 
+    @Override
+    public List<String> getDepartmentId(String id){
+        String parentId = parentId(id);
+        List<String> departmentIds=new ArrayList<>();
+        departmentIds.add(parentId);
+        List<OrganizationChartEntity> organizationChartEntities = baseMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getParentId, parentId));
+        for (OrganizationChartEntity organizationChart :organizationChartEntities){
+            departmentIds.add(organizationChart.getId().toString());
+            departmentIds=getDepartmentIds(organizationChart.getId().toString(),departmentIds);
+        }
+        return  departmentIds;
+    }
+
+
+    public  String parentId(String id){
+        String parentId=id;
+        OrganizationChartEntity organizationChart = baseMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getId, id));
+        if (organizationChart.getParentId().length()>0){
+            parentId=parentId(organizationChart.getParentId());
+        }
+        return parentId;
+    }
+
+    public  List<String>  getDepartmentIds(String id,List<String> departmentIds){
+        List<OrganizationChartEntity> organizationChartEntities = baseMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getParentId, id));
+        if (organizationChartEntities.size()==0){
+            return  departmentIds;
+        }
+        else {
+            for (OrganizationChartEntity organizationChart :organizationChartEntities){
+                departmentIds.add(organizationChart.getId().toString());
+                departmentIds=getDepartmentIds(organizationChart.getId().toString(),departmentIds);
+            }
+        }
+        return departmentIds;
+    }
+
 
 
     //递归取id

--
Gitblit v1.7.1