From 4b92c6f30a86ad0f804614b2659c1dda368b8fdd Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期一, 05 十二月 2022 16:57:02 +0800
Subject: [PATCH] 更换短信平台

---
 flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 105 insertions(+), 11 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 0751fdc..04f1d01 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;
@@ -17,19 +18,32 @@
 {
 
     @Override
-    public List<OrganizationChartEntity> selectConfigList(String parentId,String grade)
+    public List<OrganizationChartEntity> selectConfigList(String parentId,String grade,List<String> ids)
     {
-        List<OrganizationChartEntity> ocList=baseMapper.selectConfigList("","1");
+        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()+"",""));
+            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;
     }
 
@@ -57,9 +71,9 @@
 
 
     public List<OrganizationChartEntity> selectConfigList(String parentsId) {
-        List<OrganizationChartEntity> list =baseMapper.selectConfigList(parentsId,"");
+        List<OrganizationChartEntity> list =baseMapper.selectConfigList(parentsId,"",null);
         for (OrganizationChartEntity sysStreet:list) {
-            sysStreet.setChild(baseMapper.selectConfigList(sysStreet.getId().toString(),""));
+            sysStreet.setChild(baseMapper.selectConfigList(sysStreet.getId().toString(),"",null));
             if (sysStreet.getChild()!=null)
             {
                 sysStreet.setChild(this.selectConfigList(sysStreet.getId().toString()));
@@ -80,19 +94,20 @@
     }
 
     @Override
-    public List<OrganizationChartEntity> queryList(IPage<OrganizationChartEntity> page, Integer state, String organizationName) {
-        return baseMapper.queryList(page,state,organizationName);
+    public List<OrganizationChartEntity> queryList(IPage<OrganizationChartEntity> page, Integer state,
+                                                   String organizationName,List<String> ids) {
+        return baseMapper.queryList(page,state,organizationName,ids);
     }
 
     @Override
-    public int countList(String organizationName) {
-        return baseMapper.countList(organizationName);
+    public int countList(String organizationName,List<String> ids) {
+        return baseMapper.countList(organizationName,ids);
     }
 
 
     @Override
     public List<OrganizationChartEntity> selectParentList(String parentId, String grade) {
-        return baseMapper.selectConfigList(parentId,grade);
+        return baseMapper.selectConfigList(parentId,grade,null);
     }
 
     /**
@@ -105,7 +120,7 @@
     public List<String> getIds(String id)
     {
         List<String> ids=new ArrayList<>();
-        List<OrganizationChartEntity> lists = baseMapper.selectConfigList(id,"");
+        List<OrganizationChartEntity> lists = baseMapper.selectConfigList(id,"",null);
         if(lists.size()<1)
         {
             lists.add(baseMapper.selectConfigById(id));
@@ -119,6 +134,85 @@
         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;
+    }
+
+    @Override
+    public String getStairId(String id)
+    {
+        OrganizationChartEntity entity= baseMapper.selectConfigById(id);
+        if(entity!=null && StringUtils.isEmpty(entity.getParentId()))
+        {
+            return entity.getId()+"";
+        }
+        else
+        {
+            return getParentId(entity.getParentId());
+        }
+    }
+
+
+    /**
+     * 根据id  获取一级部门id   递归
+     * @param id
+     * @return
+     */
+    public String getParentId(String id)
+    {
+        String ultimatelyId;
+        OrganizationChartEntity entity= baseMapper.selectConfigById(id);
+        if(entity==null)
+        {
+            return id;
+        }
+
+        if(!StringUtils.isEmpty(entity.getParentId()))
+        {
+            ultimatelyId= getParentId(entity.getParentId());
+            return ultimatelyId;
+        }
+        else
+        {
+            ultimatelyId=entity.getId()+"";
+            return ultimatelyId;
+        }
+    }
+
+
+
+    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