From 56e2dc02ca5f4cf38308f8a1389322639f89e99e Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期四, 17 十一月 2022 16:01:07 +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 | 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