Merge remote-tracking branch 'origin/feature/REQ-3488' into feature/REQ-3488
This commit is contained in:
commit
fe1d733c66
@ -49,6 +49,11 @@ public class OrgUnitRegisterDTO implements Serializable {
|
||||
*/
|
||||
private String approvalMsg;
|
||||
|
||||
/**
|
||||
* 审批人
|
||||
*/
|
||||
private Long approver;
|
||||
|
||||
/**
|
||||
* 联系人&提交人姓名
|
||||
*/
|
||||
|
||||
@ -7,6 +7,7 @@ import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||
import cn.axzo.orgmanax.dto.project.team.req.PageOrgTeamCategoryReq;
|
||||
import cn.axzo.orgmanax.dto.project.team.req.TreeOrgTeamCategoryReq;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.google.common.collect.Sets;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
@ -15,6 +16,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
@ -70,10 +72,14 @@ public class ListTeamCategoryReq extends PageReqV2 {
|
||||
*/
|
||||
private Set<Long> projectTeamIds;
|
||||
|
||||
/**
|
||||
* 平台班组id
|
||||
*/
|
||||
private Set<Long> platTeamIds;
|
||||
public boolean isInvalid() {
|
||||
return CollUtil.isEmpty(orgNodeIds)
|
||||
&& Objects.isNull(workspaceId)
|
||||
&& Objects.isNull(scene)
|
||||
&& StringUtils.isBlank(parentCode)
|
||||
&& CollUtil.isEmpty(categoryTypes)
|
||||
&& CollUtil.isEmpty(categoryCodes);
|
||||
}
|
||||
|
||||
public static ListTeamCategoryReq convertListReq(PageOrgTeamCategoryReq req){
|
||||
ListTeamCategoryReq param = BeanUtil.copyProperties(req, ListTeamCategoryReq.class);
|
||||
|
||||
@ -22,7 +22,6 @@ import cn.hutool.json.JSONUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -63,6 +62,10 @@ public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryServic
|
||||
@Override
|
||||
public List<TeamCategoryAggregateDTO> treeList(ListTeamCategoryReq param) {
|
||||
Map<Long, Long> nodeTeamMap = resolveNodeIds(param);
|
||||
if (param.isInvalid()) {
|
||||
log.info("treeList TeamCategory param is empty");
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
List<TeamCategoryDTO> categoryList = teamCategoryFoundationService.pageAll(param);
|
||||
if (CollUtil.isEmpty(categoryList)) {
|
||||
return Lists.newArrayList();
|
||||
@ -113,40 +116,38 @@ public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryServic
|
||||
|
||||
private Map<Long, Long> resolveNodeIds(ListTeamCategoryReq param) {
|
||||
boolean hasProjectTeam = CollUtil.isNotEmpty(param.getProjectTeamIds());
|
||||
boolean hasPlatTeam = CollUtil.isNotEmpty(param.getPlatTeamIds());
|
||||
if (!hasProjectTeam && !hasPlatTeam) {
|
||||
// 由于profile没有属性,只能通过orggateway查询 teamOuRelation 实现。 后续等待废弃 teamOuRelation 再优化
|
||||
//boolean hasPlatTeam = CollUtil.isNotEmpty(param.getPlatTeamIds());
|
||||
if (!hasProjectTeam) {
|
||||
return Maps.newHashMap();
|
||||
}
|
||||
|
||||
Set<Long> projectTeamNodeIds = new HashSet<>();
|
||||
Set<Long> platTeamNodeIds = new HashSet<>();
|
||||
List<OrgProjectTeamDTO> projectTeams = new ArrayList<>();
|
||||
if (hasProjectTeam) {
|
||||
// todo 通过项目班组id获取组织节点id
|
||||
projectTeams = queryTeams(param.getProjectTeamIds(), NodeTypeEnum.PROJECT_TEAM);
|
||||
projectTeamNodeIds = projectTeams.stream()
|
||||
.map(OrgProjectTeamDTO::getOrganizationalNodeId)
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
if (hasPlatTeam) {
|
||||
// todo 通过平台班组id获取组织节点id
|
||||
List<OrgProjectTeamDTO> platTeams = queryTeams(param.getPlatTeamIds(), NodeTypeEnum.TEAM);
|
||||
projectTeams.addAll(platTeams);
|
||||
platTeamNodeIds = platTeams.stream()
|
||||
.map(OrgProjectTeamDTO::getOrganizationalNodeId)
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
//Set<Long> platTeamNodeIds = new HashSet<>();
|
||||
// todo 通过项目班组id获取组织节点id
|
||||
List<OrgProjectTeamDTO> projectTeams = queryTeams(param.getProjectTeamIds(), NodeTypeEnum.PROJECT_TEAM);
|
||||
projectTeamNodeIds = projectTeams.stream()
|
||||
.map(OrgProjectTeamDTO::getOrganizationalNodeId)
|
||||
.collect(Collectors.toSet());
|
||||
// if (hasPlatTeam) {
|
||||
// // 通过平台班组id获取组织节点id 后续实现
|
||||
// List<OrgProjectTeamDTO> platTeams = queryTeams(param.getPlatTeamIds(), NodeTypeEnum.TEAM);
|
||||
// projectTeams.addAll(platTeams);
|
||||
// platTeamNodeIds = platTeams.stream()
|
||||
// .map(OrgProjectTeamDTO::getOrganizationalNodeId)
|
||||
// .collect(Collectors.toSet());
|
||||
// }
|
||||
|
||||
Set<Long> teamNodeIds;
|
||||
Set<Long> teamNodeIds = intersectionNodeId(projectTeamNodeIds, param.getOrgNodeIds());
|
||||
// 拼接
|
||||
if (!hasProjectTeam) {
|
||||
teamNodeIds = intersectionNodeId(platTeamNodeIds, param.getOrgNodeIds());
|
||||
} else if (!hasPlatTeam) {
|
||||
teamNodeIds = intersectionNodeId(projectTeamNodeIds, param.getOrgNodeIds());
|
||||
} else {
|
||||
teamNodeIds = intersectionNodeId(Sets.intersection(projectTeamNodeIds, platTeamNodeIds)
|
||||
, param.getOrgNodeIds());
|
||||
}
|
||||
// if (!hasProjectTeam) {
|
||||
// teamNodeIds = intersectionNodeId(platTeamNodeIds, param.getOrgNodeIds());
|
||||
// } else if (!hasPlatTeam) {
|
||||
// teamNodeIds = intersectionNodeId(projectTeamNodeIds, param.getOrgNodeIds());
|
||||
// } else {
|
||||
// teamNodeIds = intersectionNodeId(Sets.intersection(projectTeamNodeIds, platTeamNodeIds)
|
||||
// , param.getOrgNodeIds());
|
||||
// }
|
||||
|
||||
log.info("resolveNodeIds teamNodeIds = [{}]", JSONUtil.toJsonStr(teamNodeIds));
|
||||
param.setOrgNodeIds(teamNodeIds);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user