diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java index 55feb99..a5007e3 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/DepartmentQueryExe.java @@ -13,6 +13,7 @@ import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; import com.zcloud.basic.info.persistence.dataobject.DepartmentSuperviseDO; import com.zcloud.basic.info.persistence.dataobject.PostDO; import com.zcloud.basic.info.persistence.dataobject.PostDepartmentDO; +import com.zcloud.basic.info.persistence.repository.CorpInfoRepository; import com.zcloud.basic.info.persistence.repository.DepartmentRepository; import com.zcloud.basic.info.persistence.repository.DepartmentSuperviseRepository; import com.zcloud.basic.info.persistence.repository.UserRepository; @@ -40,6 +41,7 @@ public class DepartmentQueryExe { private final DepartmentCoConvertor departmentCoConvertor; private final DepartmentSuperviseRepository departmentSuperviseRepository; private final UserRepository userRepository; + private final CorpInfoRepository corpInfoRepository; /** * 分页 @@ -80,6 +82,14 @@ public class DepartmentQueryExe { return Collections.emptyList(); } List examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse); + //补充企业信息 + //补充企业名称 + Map corpinfoMap = corpInfoRepository.getCorpinfoNameByCorpinfoId(examCenterCOS.stream().map(DepartmentTreeInfoCO::getCorpinfoId).collect(Collectors.toList())); + if (CollUtil.isNotEmpty(corpinfoMap)) { + examCenterCOS.forEach(examCenterCO -> { + examCenterCO.setCorpinfoName(corpinfoMap.getOrDefault(examCenterCO.getCorpinfoId(), StringUtils.EMPTY)); + }); + } //GBS部门根节点父部门是tenantId if(departmentQry.getEqParentId()!=null){ return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList",departmentQry.getEqParentId()); @@ -141,13 +151,21 @@ public class DepartmentQueryExe { return Collections.emptyList(); } List examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse); + Map corpinfoMap = corpInfoRepository.getCorpinfoNameByCorpinfoId(examCenterCOS.stream().map(DepartmentTreeInfoCO::getCorpinfoId).collect(Collectors.toList())); + if (CollUtil.isNotEmpty(corpinfoMap)) { + examCenterCOS.forEach(examCenterCO -> { + examCenterCO.setCorpinfoName(corpinfoMap.getOrDefault(examCenterCO.getCorpinfoId(), StringUtils.EMPTY)); + }); + } //GBS部门根节点父部门是tenantId //按照企业分组 List> result1= new ArrayList<>(); Map> corpMap = examCenterCOS.stream().collect(Collectors.groupingBy(DepartmentTreeInfoCO::getCorpinfoId)); corpMap.forEach((corpId, list) -> { List departmentTreeInfoCOS = Tools.buildEntityTree(list, "id", "parentId", "childrenList", 0L); - result1.add(departmentTreeInfoCOS); + if(CollUtil.isNotEmpty(departmentTreeInfoCOS)){ + result1.add(departmentTreeInfoCOS); + } }); diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentTreeInfoCO.java b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentTreeInfoCO.java index 1b7795c..d0db99f 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentTreeInfoCO.java +++ b/web-client/src/main/java/com/zcloud/basic/info/dto/clientobject/DepartmentTreeInfoCO.java @@ -32,6 +32,9 @@ public class DepartmentTreeInfoCO extends ClientObject { @ApiModelProperty(value = "父部门id") private Long parentId; + @ApiModelProperty(value = "所属企业名称") + private String corpinfoName; + private List childrenList; } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java index f6f3e72..ce19a96 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java @@ -21,5 +21,7 @@ public interface CorpInfoRepository extends BaseRepository { void saveCorp(CorpInfoDO corpInfoDO); void updateCorpName(CorpInfoDO corpInfo); + + Map getCorpinfoNameByCorpinfoId(List collect); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java index 10ad24c..a6ae149 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java @@ -32,6 +32,7 @@ import java.time.LocalDate; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * web-infrastructure @@ -112,5 +113,17 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl getCorpinfoNameByCorpinfoId(List collect) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id", collect); + List corpInfoDOList = corpInfoMapper.selectList(queryWrapper); + Map map = corpInfoDOList.stream().collect( + Collectors.toMap(CorpInfoDO::getId, CorpInfoDO::getCorpName) + ); + + return map; + } }