From 7c52db14463d35f92e9339735feaf872ca00c48d Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期四, 29 九月 2022 15:24:41 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test

---
 flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java
index 68ec4a3..9afa544 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/SysUserServiceImpl.java
@@ -4,7 +4,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dg.core.ResultData;
+import com.dg.core.db.gen.entity.OrganizationChartEntity;
 import com.dg.core.db.gen.entity.SysUser;
+import com.dg.core.db.gen.mapper.OrganizationChartMapper;
 import com.dg.core.db.gen.mapper.SysUserMapper;
 import com.dg.core.manager.TokenManager;
 import com.dg.core.service.ISysUserService;
@@ -18,6 +20,7 @@
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -34,6 +37,9 @@
 
     @Autowired
     TokenManager tokenManager;
+
+    @Resource
+    private OrganizationChartMapper organizationChartMapper;
 
     @Override
     public SysUser getUserById(Long id) {
@@ -104,7 +110,32 @@
 
     @Override
     public List<SysUser> selectListByDepartmentId(String departmentId, String classifyId) {
-        return baseMapper.selectListByDepartmentId(departmentId,classifyId);
+        List<String> departmentIds=new ArrayList<>();
+        departmentIds.add(departmentId);
+        List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda()
+                .eq(OrganizationChartEntity::getParentId, departmentId));
+        if (organizationChartEntities!=null){
+            for (OrganizationChartEntity organizationChart:organizationChartEntities) {
+                departmentIds.add(organizationChart.getId().toString());
+                List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda()
+                        .eq(OrganizationChartEntity::getParentId, organizationChart.getId().toString()));
+                if (organizationChartEntitiesUser!=null)
+                    departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds);
+            }
+        }
+        return baseMapper.selectListByDepartmentId(departmentIds,","+classifyId,classifyId+",");
+    }
+
+    public  List<String> getDepartmentIds(  List<OrganizationChartEntity> organizationChartEntities,List<String> departmentIds){
+        for (OrganizationChartEntity organizationChart:organizationChartEntities) {
+            departmentIds.add(organizationChart.getId().toString());
+            List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda()
+                    .eq(OrganizationChartEntity::getParentId, organizationChart.getId().toString()));
+            if (organizationChartEntitiesUser!=null)
+                departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds);
+
+        }
+        return  departmentIds;
     }
 
     @Override

--
Gitblit v1.7.1