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