lidongdong
2022-11-23 8f9845717f6989792e2a6003adf5fe12ff0a9540
flower_city/src/main/java/com/dg/core/service/impl/OrganizationChartImpl.java
@@ -42,6 +42,12 @@
    }
    @Override
    public List<OrganizationChartEntity> selectConfigList(List<String> ids) {
        List<OrganizationChartEntity> ocList=baseMapper.selectConfigList(null,null,ids);
        return ocList;
    }
    @Override
    public int insertConfig(OrganizationChartEntity entity) {
        return baseMapper.insertConfig(entity);
    }
@@ -128,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