部门树状结构增加企业名称

main
zhaokai 2025-11-21 09:58:14 +08:00
parent 5bbce9f03d
commit ee652ca889
4 changed files with 37 additions and 1 deletions

View File

@ -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<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
//补充企业信息
//补充企业名称
Map<Long, String> 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<DepartmentTreeInfoCO> examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse);
Map<Long, String> 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<List<DepartmentTreeInfoCO>> result1= new ArrayList<>();
Map<Long, List<DepartmentTreeInfoCO>> corpMap = examCenterCOS.stream().collect(Collectors.groupingBy(DepartmentTreeInfoCO::getCorpinfoId));
corpMap.forEach((corpId, list) -> {
List<DepartmentTreeInfoCO> departmentTreeInfoCOS = Tools.buildEntityTree(list, "id", "parentId", "childrenList", 0L);
result1.add(departmentTreeInfoCOS);
if(CollUtil.isNotEmpty(departmentTreeInfoCOS)){
result1.add(departmentTreeInfoCOS);
}
});

View File

@ -32,6 +32,9 @@ public class DepartmentTreeInfoCO extends ClientObject {
@ApiModelProperty(value = "父部门id")
private Long parentId;
@ApiModelProperty(value = "所属企业名称")
private String corpinfoName;
private List<DepartmentTreeInfoCO> childrenList;
}

View File

@ -21,5 +21,7 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
void saveCorp(CorpInfoDO corpInfoDO);
void updateCorpName(CorpInfoDO corpInfo);
Map<Long, String> getCorpinfoNameByCorpinfoId(List<Long> collect);
}

View File

@ -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<CorpInfoMapper, C
ouac.setTenantTypeId(1989262038388776960L);
unitFacade.update(ouac);
}
@Override
public Map<Long, String> getCorpinfoNameByCorpinfoId(List<Long> collect) {
QueryWrapper<CorpInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", collect);
List<CorpInfoDO> corpInfoDOList = corpInfoMapper.selectList(queryWrapper);
Map<Long, String> map = corpInfoDOList.stream().collect(
Collectors.toMap(CorpInfoDO::getId, CorpInfoDO::getCorpName)
);
return map;
}
}