From b6388357fbdd431060b02f14e9ce41e844931c23 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期四, 17 十一月 2022 13:56:38 +0800
Subject: [PATCH] 1.办事指南部门获取筛选 2.修改Bug

---
 flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 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 a4b8ad2..a2a27e6 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
@@ -128,6 +128,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