From 1de0a85c067ceb62413d0f458899dca41b8322d0 Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期四, 17 十一月 2022 17:07:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test --- flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 47 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..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 @@ -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,11 +20,18 @@ @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) { @@ -120,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