feat(REQ-3488): 班组类别树形结构实现
This commit is contained in:
parent
07eaccf53d
commit
58d057b62d
@ -2,6 +2,7 @@ package cn.axzo.orgmanax.api.project.team.feign;
|
|||||||
|
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.foundation.result.ApiResult;
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
||||||
@ -11,6 +12,7 @@ import cn.axzo.orgmanax.dto.project.team.req.PreCheckRemoveTeamCategoryReq;
|
|||||||
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.TreeOrgTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryGroupResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryGroupResp;
|
||||||
@ -101,9 +103,16 @@ public interface OrgProjectTeamCategoryApi {
|
|||||||
@PostMapping(value = "/api/project/team-category/list-by-node")
|
@PostMapping(value = "/api/project/team-category/list-by-node")
|
||||||
ApiResult<SingletonOrgTeamCategoryResp> listByNode(@RequestBody @Valid SingletonOrgTeamCategoryReq req);
|
ApiResult<SingletonOrgTeamCategoryResp> listByNode(@RequestBody @Valid SingletonOrgTeamCategoryReq req);
|
||||||
|
|
||||||
|
// ---------------- 新版接口 ----------------
|
||||||
/**
|
/**
|
||||||
* 列表分页查询
|
* 列表分页查询
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/api/project/team-category/list")
|
@PostMapping(value = "/api/project/team-category/list")
|
||||||
ApiResult<PageResp<TeamCategoryDTO>> list(@RequestBody PageOrgTeamCategoryReq req);
|
ApiResult<PageResp<TeamCategoryDTO>> list(@RequestBody PageOrgTeamCategoryReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询班组-树形结构
|
||||||
|
*/
|
||||||
|
@PostMapping(value = "/api/project/team-category/tree-list")
|
||||||
|
ApiResult<List<TeamCategoryAggregateDTO>> treeList(@RequestBody TreeOrgTeamCategoryReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,3 +7,12 @@ Accept: application/json
|
|||||||
{
|
{
|
||||||
"orgNodeIds": [14606,14585]
|
"orgNodeIds": [14606,14585]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
### 班组类别-树形结构
|
||||||
|
POST {{host}}/api/project/team-category/tree-list
|
||||||
|
Content-Type: application/json
|
||||||
|
Accept: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"orgNodeIds": [14606,14585]
|
||||||
|
}
|
||||||
@ -147,6 +147,13 @@ public class ListNodeReq extends PageReqV2 {
|
|||||||
@Builder.Default
|
@Builder.Default
|
||||||
private Set<Long> platTeamIds = Collections.emptySet();
|
private Set<Long> platTeamIds = Collections.emptySet();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组id列表
|
||||||
|
* todo 未实现
|
||||||
|
*/
|
||||||
|
@Builder.Default
|
||||||
|
private Set<Long> projectTeamIds = Collections.emptySet();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo 未实现
|
* todo 未实现
|
||||||
* 小组类型
|
* 小组类型
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.dto;
|
package cn.axzo.orgmanax.dto.project.team.dto;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -14,22 +16,32 @@ import lombok.experimental.SuperBuilder;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class TeamCategoryAggregateDTO {
|
public class TeamCategoryAggregateDTO {
|
||||||
/**
|
|
||||||
* 邀请id/申请id
|
|
||||||
*/
|
|
||||||
private Long inviteId;
|
|
||||||
/**
|
/**
|
||||||
* 班组id
|
* 班组id
|
||||||
|
* 须知:返回的班组id可能没有,业务方如果只需要项目班组的班组类别,需要过滤掉为空的数据
|
||||||
*/
|
*/
|
||||||
private Long projectTeamId;
|
private Long projectTeamId;
|
||||||
/**
|
/**
|
||||||
* 经营范围code
|
* 经营范围code
|
||||||
*/
|
*/
|
||||||
private String categoryCode;
|
private String code;
|
||||||
/**
|
/**
|
||||||
* 经营范围名称
|
* 经营范围名称
|
||||||
*/
|
*/
|
||||||
private String categoryName;
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别 - 分类
|
||||||
|
* @see TeamCategoryTypeEnum
|
||||||
|
*/
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据有效性标记
|
||||||
|
* @see ValidationEnum
|
||||||
|
*/
|
||||||
|
private Integer valid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 父级经营范围code
|
* 父级经营范围code
|
||||||
@ -41,23 +53,9 @@ public class TeamCategoryAggregateDTO {
|
|||||||
*/
|
*/
|
||||||
private String parentCategoryName;
|
private String parentCategoryName;
|
||||||
|
|
||||||
private Integer type;
|
|
||||||
|
|
||||||
private Integer valid;
|
|
||||||
/**
|
/**
|
||||||
* 经营范围子级
|
* 经营范围子级
|
||||||
*/
|
*/
|
||||||
private List<TeamCategoryAggregateDTO> workScopes;
|
private List<TeamCategoryAggregateDTO> workScopes;
|
||||||
|
|
||||||
public TeamCategoryAggregateDTO(String categoryCode, String categoryName) {
|
|
||||||
this.categoryCode = categoryCode;
|
|
||||||
this.categoryName = categoryName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TeamCategoryAggregateDTO(Long inviteId, Long projectTeamId, String categoryCode, String categoryName) {
|
|
||||||
this.inviteId = inviteId;
|
|
||||||
this.projectTeamId = projectTeamId;
|
|
||||||
this.categoryCode = categoryCode;
|
|
||||||
this.categoryName = categoryName;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,9 @@ import lombok.Getter;
|
|||||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||||
public enum TeamCategoryTypeEnum{
|
public enum TeamCategoryTypeEnum{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别分类
|
||||||
|
*/
|
||||||
OTHERS(0, "其他"),
|
OTHERS(0, "其他"),
|
||||||
WORKER_GROUP_CATEGORY(1, "经营范围"),
|
WORKER_GROUP_CATEGORY(1, "经营范围"),
|
||||||
WORKER_GROUP_PROFESSION(2, "经营范围子级"),
|
WORKER_GROUP_PROFESSION(2, "经营范围子级"),
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.enums;
|
package cn.axzo.orgmanax.dto.project.team.enums;
|
||||||
|
|
||||||
import lombok.AccessLevel;
|
import com.google.common.collect.Lists;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description
|
* @description
|
||||||
@ -40,4 +42,11 @@ public enum ValidationEnum {
|
|||||||
.filter(e -> Objects.equals(e.code, code))
|
.filter(e -> Objects.equals(e.code, code))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Set<Integer> getAllCode() {
|
||||||
|
return Lists.newArrayList(EFFECTIVE, INVALID)
|
||||||
|
.stream()
|
||||||
|
.map(ValidationEnum::getCode)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,12 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.req;
|
package cn.axzo.orgmanax.dto.project.team.req;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author : zhanghonghao@axzo.cn
|
* @author : zhanghonghao@axzo.cn
|
||||||
* @since : 2024/12/30
|
* @since : 2024/12/30
|
||||||
@ -53,6 +52,11 @@ public class ListProjectTeamReq {
|
|||||||
*/
|
*/
|
||||||
private Set<Long> platTeamIds;
|
private Set<Long> platTeamIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组id列表
|
||||||
|
*/
|
||||||
|
private Set<Long> projectTeamIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目IDs workspaceId 和 workspaceIds只传一个
|
* 项目IDs workspaceId 和 workspaceIds只传一个
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
package cn.axzo.orgmanax.dto.project.team.req;
|
package cn.axzo.orgmanax.dto.project.team.req;
|
||||||
|
|
||||||
import cn.axzo.foundation.page.PageReqV2;
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
import java.util.List;
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
|
import java.util.Set;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -22,5 +24,28 @@ public class PageOrgTeamCategoryReq extends PageReqV2 {
|
|||||||
/**
|
/**
|
||||||
* nodeId 列表
|
* nodeId 列表
|
||||||
*/
|
*/
|
||||||
private List<Long> orgNodeIds;
|
private Set<Long> orgNodeIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别列表 categoryTypes
|
||||||
|
* @see TeamCategoryTypeEnum
|
||||||
|
*/
|
||||||
|
private Set<String> categoryTypes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经营范围/经营范围子级categoryCodes
|
||||||
|
*/
|
||||||
|
private Set<String> categoryCodes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据有效性标记
|
||||||
|
* @see ValidationEnum
|
||||||
|
*/
|
||||||
|
private Integer valid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组id列表
|
||||||
|
*/
|
||||||
|
private Set<Long> projectTeamIds;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,48 @@
|
|||||||
|
package cn.axzo.orgmanax.dto.project.team.req;
|
||||||
|
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
|
import java.util.Set;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author syl
|
||||||
|
* @date 2024/12/18
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class TreeOrgTeamCategoryReq {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nodeId 列表
|
||||||
|
*/
|
||||||
|
private Set<Long> orgNodeIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别列表 categoryTypes
|
||||||
|
* @see TeamCategoryTypeEnum
|
||||||
|
*/
|
||||||
|
private Set<String> categoryTypes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经营范围/经营范围子级categoryCodes
|
||||||
|
*/
|
||||||
|
private Set<String> categoryCodes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据有效性标记
|
||||||
|
* @see ValidationEnum
|
||||||
|
*/
|
||||||
|
private Integer valid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组id列表
|
||||||
|
*/
|
||||||
|
private Set<Long> projectTeamIds;
|
||||||
|
|
||||||
|
}
|
||||||
@ -4,11 +4,10 @@ import cn.axzo.foundation.dao.support.wrapper.CriteriaField;
|
|||||||
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||||
import cn.axzo.foundation.page.PageReqV2;
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
|
||||||
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||||
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
import cn.axzo.orgmanax.dto.project.team.enums.ValidationEnum;
|
||||||
import cn.axzo.orgmanax.infra.dao.project.team.entity.TeamCategory;
|
import cn.axzo.orgmanax.infra.dao.project.team.entity.TeamCategory;
|
||||||
import java.util.List;
|
import java.util.Set;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -46,7 +45,7 @@ public interface TeamCategoryRepository {
|
|||||||
* 组织节点idList
|
* 组织节点idList
|
||||||
*/
|
*/
|
||||||
@CriteriaField(field = "orgNodeId", operator = Operator.IN)
|
@CriteriaField(field = "orgNodeId", operator = Operator.IN)
|
||||||
private List<Long> orgNodeIds;
|
private Set<Long> orgNodeIds;
|
||||||
/**
|
/**
|
||||||
* 班组类别code
|
* 班组类别code
|
||||||
*/
|
*/
|
||||||
@ -56,7 +55,7 @@ public interface TeamCategoryRepository {
|
|||||||
* 班组类别codes
|
* 班组类别codes
|
||||||
*/
|
*/
|
||||||
@CriteriaField(field = "code", operator = Operator.IN)
|
@CriteriaField(field = "code", operator = Operator.IN)
|
||||||
private List<String> codes;
|
private Set<String> codes;
|
||||||
/**
|
/**
|
||||||
* 班组类别名称
|
* 班组类别名称
|
||||||
*/
|
*/
|
||||||
@ -67,16 +66,11 @@ public interface TeamCategoryRepository {
|
|||||||
*/
|
*/
|
||||||
@CriteriaField
|
@CriteriaField
|
||||||
private String parentCode;
|
private String parentCode;
|
||||||
/**
|
|
||||||
* 班组类别 - 分类
|
|
||||||
*/
|
|
||||||
@CriteriaField
|
|
||||||
private TeamCategoryTypeEnum type;
|
|
||||||
/**
|
/**
|
||||||
* 班组类别 - 分类 List
|
* 班组类别 - 分类 List
|
||||||
*/
|
*/
|
||||||
@CriteriaField(field = "type", operator = Operator.IN)
|
@CriteriaField(field = "type", operator = Operator.IN)
|
||||||
private List<TeamCategoryTypeEnum> types;
|
private Set<Integer> types;
|
||||||
/**
|
/**
|
||||||
* 班组类别使用场景
|
* 班组类别使用场景
|
||||||
*/
|
*/
|
||||||
@ -84,9 +78,10 @@ public interface TeamCategoryRepository {
|
|||||||
private TeamSceneEnum scene;
|
private TeamSceneEnum scene;
|
||||||
/**
|
/**
|
||||||
* 数据有效性标记
|
* 数据有效性标记
|
||||||
|
* @see ValidationEnum
|
||||||
*/
|
*/
|
||||||
@CriteriaField(field = "valid", operator = Operator.IN)
|
@CriteriaField(field = "valid", operator = Operator.IN)
|
||||||
private List<ValidationEnum> valids;
|
private Set<Integer> validList;
|
||||||
/**
|
/**
|
||||||
* 创建人的自然人id
|
* 创建人的自然人id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package cn.axzo.orgmanax.server.project.team.controller;
|
|||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
import cn.axzo.foundation.result.ApiResult;
|
import cn.axzo.foundation.result.ApiResult;
|
||||||
import cn.axzo.orgmanax.api.project.team.feign.OrgProjectTeamCategoryApi;
|
import cn.axzo.orgmanax.api.project.team.feign.OrgProjectTeamCategoryApi;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.GroupTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.OperateOrgTeamCategoryReq;
|
||||||
@ -12,14 +13,16 @@ import cn.axzo.orgmanax.dto.project.team.req.PreCheckRemoveTeamCategoryReq;
|
|||||||
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.RemoveProjectTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.SaveProjectTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
import cn.axzo.orgmanax.dto.project.team.req.SingletonOrgTeamCategoryReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.TreeOrgTeamCategoryReq;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.RemoveTeamCategoryCheckResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.SingletonOrgTeamCategoryResp;
|
||||||
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryGroupResp;
|
import cn.axzo.orgmanax.dto.project.team.resp.TeamCategoryGroupResp;
|
||||||
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
|
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
|
||||||
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@ -27,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
* @author syl
|
* @author syl
|
||||||
* @date 2025/1/3
|
* @date 2025/1/3
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping
|
@RequestMapping
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@ -71,7 +75,15 @@ public class OrgProjectTeamCategoryController implements OrgProjectTeamCategoryA
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<PageResp<TeamCategoryDTO>> list(PageOrgTeamCategoryReq req) {
|
public ApiResult<PageResp<TeamCategoryDTO>> list(PageOrgTeamCategoryReq req) {
|
||||||
|
log.info("team_category page request param: [{}]", JSONUtil.toJsonStr(req));
|
||||||
return ApiResult.success(projectTeamCategoryService
|
return ApiResult.success(projectTeamCategoryService
|
||||||
.page(BeanUtil.copyProperties(req, ListTeamCategoryReq.class)));
|
.page(ListTeamCategoryReq.convertListReq(req)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<List<TeamCategoryAggregateDTO>> treeList(TreeOrgTeamCategoryReq req) {
|
||||||
|
log.info("team_category tree request param: [{}]", JSONUtil.toJsonStr(req));
|
||||||
|
return ApiResult.success(projectTeamCategoryService
|
||||||
|
.treeList(ListTeamCategoryReq.convertTreeReq(req)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,8 +28,7 @@ public class ProjectTeamCategoryFoundationServiceImpl implements ProjectTeamCate
|
|||||||
private final TeamCategoryRepository teamCategoryRepository;
|
private final TeamCategoryRepository teamCategoryRepository;
|
||||||
@Override
|
@Override
|
||||||
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq param) {
|
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq param) {
|
||||||
PageResp<TeamCategoryResp> page = teamCategoryRepository.page(
|
PageResp<TeamCategoryResp> page = teamCategoryRepository.page(convertFromList(param));
|
||||||
BeanUtil.copyProperties(param, TeamCategoryRepository.PageReq.class));
|
|
||||||
return PageResp.<TeamCategoryDTO>builder()
|
return PageResp.<TeamCategoryDTO>builder()
|
||||||
.size(page.getSize())
|
.size(page.getSize())
|
||||||
.current(page.getCurrent())
|
.current(page.getCurrent())
|
||||||
@ -53,4 +52,13 @@ public class ProjectTeamCategoryFoundationServiceImpl implements ProjectTeamCate
|
|||||||
} while (pageResp.hasNext());
|
} while (pageResp.hasNext());
|
||||||
return categoryList;
|
return categoryList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public TeamCategoryRepository.PageReq convertFromList(ListTeamCategoryReq param) {
|
||||||
|
TeamCategoryRepository.PageReq pageReq = BeanUtil.copyProperties(param, TeamCategoryRepository.PageReq.class);
|
||||||
|
pageReq.setTypes(param.getCategoryTypes());
|
||||||
|
pageReq.setCodes(param.getCategoryCodes());
|
||||||
|
pageReq.setParentCode(param.getParentCategoryCode());
|
||||||
|
return pageReq;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
package cn.axzo.orgmanax.server.project.team.service;
|
package cn.axzo.orgmanax.server.project.team.service;
|
||||||
|
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||||
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author syl
|
* @author syl
|
||||||
@ -10,5 +12,13 @@ import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
|||||||
*/
|
*/
|
||||||
public interface ProjectTeamCategoryService {
|
public interface ProjectTeamCategoryService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询班组类别
|
||||||
|
*/
|
||||||
PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req);
|
PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别聚合查询
|
||||||
|
*/
|
||||||
|
List<TeamCategoryAggregateDTO> treeList(ListTeamCategoryReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,15 @@
|
|||||||
package cn.axzo.orgmanax.server.project.team.service.dto;
|
package cn.axzo.orgmanax.server.project.team.service.dto;
|
||||||
|
|
||||||
import cn.axzo.foundation.page.PageReqV2;
|
import cn.axzo.foundation.page.PageReqV2;
|
||||||
import java.util.List;
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamSceneEnum;
|
||||||
|
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 com.google.common.collect.Sets;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -22,5 +30,73 @@ public class ListTeamCategoryReq extends PageReqV2 {
|
|||||||
/**
|
/**
|
||||||
* nodeId 列表
|
* nodeId 列表
|
||||||
*/
|
*/
|
||||||
private List<Long> orgNodeIds;
|
private Set<Long> orgNodeIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
private Long workspaceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别使用场景
|
||||||
|
* @see TeamSceneEnum
|
||||||
|
*/
|
||||||
|
private String scene;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上级节点code
|
||||||
|
*/
|
||||||
|
private String parentCategoryCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组类别列表 categoryTypes
|
||||||
|
* @see TeamCategoryTypeEnum
|
||||||
|
*/
|
||||||
|
private Set<Integer> categoryTypes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经营范围/经营范围子级categoryCodes
|
||||||
|
*/
|
||||||
|
private Set<String> categoryCodes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据有效性标记
|
||||||
|
* @see ValidationEnum
|
||||||
|
*/
|
||||||
|
private Set<Integer> validList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目内班组idList
|
||||||
|
*/
|
||||||
|
private Set<Long> projectTeamIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台班组id
|
||||||
|
*/
|
||||||
|
private Set<Long> platTeamIds;
|
||||||
|
|
||||||
|
public static ListTeamCategoryReq convertListReq(PageOrgTeamCategoryReq req){
|
||||||
|
ListTeamCategoryReq param = BeanUtil.copyProperties(req, ListTeamCategoryReq.class);
|
||||||
|
if (Objects.isNull(req.getValid())) {
|
||||||
|
param.setValidList(Sets.newHashSet(ValidationEnum.EFFECTIVE.getCode()));
|
||||||
|
} else if (Objects.equals(ValidationEnum.ALL.getCode(), req.getValid())) {
|
||||||
|
param.setValidList(ValidationEnum.getAllCode());
|
||||||
|
} else {
|
||||||
|
param.setValidList(Sets.newHashSet(req.getValid()));
|
||||||
|
}
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ListTeamCategoryReq convertTreeReq(TreeOrgTeamCategoryReq req){
|
||||||
|
ListTeamCategoryReq param = BeanUtil.copyProperties(req, ListTeamCategoryReq.class);
|
||||||
|
if (Objects.isNull(req.getValid())) {
|
||||||
|
param.setValidList(Sets.newHashSet(ValidationEnum.EFFECTIVE.getCode()));
|
||||||
|
} else if (Objects.equals(ValidationEnum.ALL.getCode(), req.getValid())) {
|
||||||
|
param.setValidList(ValidationEnum.getAllCode());
|
||||||
|
} else {
|
||||||
|
param.setValidList(Sets.newHashSet(req.getValid()));
|
||||||
|
}
|
||||||
|
return param;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,36 @@
|
|||||||
package cn.axzo.orgmanax.server.project.team.service.impl;
|
package cn.axzo.orgmanax.server.project.team.service.impl;
|
||||||
|
|
||||||
import cn.axzo.foundation.page.PageResp;
|
import cn.axzo.foundation.page.PageResp;
|
||||||
|
import cn.axzo.orgmanax.dto.node.dto.NodeProfile;
|
||||||
|
import cn.axzo.orgmanax.dto.node.dto.OrgNodeDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.node.enums.NodeTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.node.req.ListNodeReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.OrgProjectTeamDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryAggregateDTO;
|
||||||
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
import cn.axzo.orgmanax.dto.project.team.dto.TeamCategoryDTO;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.enums.TeamCategoryTypeEnum;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq;
|
||||||
|
import cn.axzo.orgmanax.dto.project.team.req.ListProjectTeamReq.ListProjectTeamReqBuilder;
|
||||||
|
import cn.axzo.orgmanax.server.node.service.NodeService;
|
||||||
import cn.axzo.orgmanax.server.project.team.foundation.ProjectTeamCategoryFoundationService;
|
import cn.axzo.orgmanax.server.project.team.foundation.ProjectTeamCategoryFoundationService;
|
||||||
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
|
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamCategoryService;
|
||||||
|
import cn.axzo.orgmanax.server.project.team.service.ProjectTeamService;
|
||||||
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
import cn.axzo.orgmanax.server.project.team.service.dto.ListTeamCategoryReq;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
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;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@ -17,11 +42,150 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryService {
|
public class ProjectTeamCategoryServiceImpl implements ProjectTeamCategoryService {
|
||||||
|
|
||||||
|
private final static Long NO_PROJECT_TEAM_ID = 0L;
|
||||||
|
private final static String TOP_CATEGORY_PARENT_CODE = "0";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectTeamCategoryFoundationService teamCategoryFoundationService;
|
private ProjectTeamCategoryFoundationService teamCategoryFoundationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ProjectTeamService projectTeamService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private NodeService nodeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq req) {
|
public PageResp<TeamCategoryDTO> page(ListTeamCategoryReq param) {
|
||||||
// todo 扩展
|
// todo 扩展
|
||||||
return teamCategoryFoundationService.page(req);
|
resolveNodeIds(param);
|
||||||
|
return teamCategoryFoundationService.page(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TeamCategoryAggregateDTO> treeList(ListTeamCategoryReq param) {
|
||||||
|
Map<Long, Long> nodeTeamMap = resolveNodeIds(param);
|
||||||
|
List<TeamCategoryDTO> categoryList = teamCategoryFoundationService.pageAll(param);
|
||||||
|
if (CollUtil.isEmpty(categoryList)) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
|
return getCategoryTreeList(categoryList, nodeTeamMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<TeamCategoryAggregateDTO> getCategoryTreeList(List<TeamCategoryDTO> teamCategories,
|
||||||
|
Map<Long, Long> paramNodeTeamMap) {
|
||||||
|
if (CollUtil.isEmpty(paramNodeTeamMap)) {
|
||||||
|
log.info("getCategoryTreeList re-query project team");
|
||||||
|
ListNodeReq nodeReq = ListNodeReq.builder()
|
||||||
|
.ids(teamCategories.stream().map(TeamCategoryDTO::getOrgNodeId).collect(Collectors.toSet()))
|
||||||
|
.includeOrgNodeTypes(Sets.newHashSet(NodeTypeEnum.PROJECT_TEAM.getCode()))
|
||||||
|
.build();
|
||||||
|
List<OrgNodeDTO> orgNodeList = nodeService.list(nodeReq);
|
||||||
|
paramNodeTeamMap = orgNodeList.stream().collect(
|
||||||
|
Collectors.toMap(OrgNodeDTO::getId, this::getProjectTeamId, (v1, v2) -> v1));
|
||||||
|
}
|
||||||
|
|
||||||
|
final Map<Long, Long> nodeTeamMap = paramNodeTeamMap;
|
||||||
|
// 构建tree
|
||||||
|
Map<String, List<TeamCategoryDTO>> categoryMap = teamCategories.stream()
|
||||||
|
.collect(Collectors.groupingBy(TeamCategoryDTO::getParentCode));
|
||||||
|
return teamCategories.stream()
|
||||||
|
.filter(category ->
|
||||||
|
Objects.equals(category.getType(), TeamCategoryTypeEnum.WORKER_GROUP_CATEGORY.getCode()))
|
||||||
|
.map(c -> {
|
||||||
|
TeamCategoryAggregateDTO dto = convert(c, nodeTeamMap, c);
|
||||||
|
List<TeamCategoryDTO> childrens = categoryMap.get(c.getCode());
|
||||||
|
if (ObjectUtils.isNotEmpty(childrens)) {
|
||||||
|
List<TeamCategoryAggregateDTO> categoryRes = childrens.stream()
|
||||||
|
.map(s -> convert(s, nodeTeamMap, c))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
dto.setWorkScopes(categoryRes);
|
||||||
|
}
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
private Long getProjectTeamId(OrgNodeDTO node) {
|
||||||
|
NodeProfile.ProjectTeamProfile projectTeamProfile = node.resolveProfile();
|
||||||
|
if (Objects.isNull(projectTeamProfile)) {
|
||||||
|
return NO_PROJECT_TEAM_ID;
|
||||||
|
}
|
||||||
|
return projectTeamProfile.getProjectTeamId();
|
||||||
|
}
|
||||||
|
|
||||||
|
public TeamCategoryAggregateDTO convert(TeamCategoryDTO category, Map<Long, Long> nodeTeamMap,
|
||||||
|
TeamCategoryDTO parentCategory) {
|
||||||
|
TeamCategoryAggregateDTO dto = BeanUtil.copyProperties(category, TeamCategoryAggregateDTO.class);
|
||||||
|
Long projectTeamId = nodeTeamMap.get(category.getOrgNodeId());
|
||||||
|
if (Objects.nonNull(projectTeamId) && !Objects.equals(projectTeamId, NO_PROJECT_TEAM_ID)) {
|
||||||
|
dto.setProjectTeamId(projectTeamId);
|
||||||
|
}
|
||||||
|
dto.setParentCategoryCode(category.getParentCode());
|
||||||
|
if (!Objects.equals(category.getParentCode(), TOP_CATEGORY_PARENT_CODE)) {
|
||||||
|
dto.setParentCategoryName(parentCategory.getName());
|
||||||
|
}
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<Long, Long> resolveNodeIds(ListTeamCategoryReq param) {
|
||||||
|
boolean hasProjectTeam = CollUtil.isNotEmpty(param.getProjectTeamIds());
|
||||||
|
boolean hasPlatTeam = CollUtil.isNotEmpty(param.getPlatTeamIds());
|
||||||
|
if (!hasProjectTeam && !hasPlatTeam) {
|
||||||
|
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> teamNodeIds;
|
||||||
|
// 拼接
|
||||||
|
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);
|
||||||
|
|
||||||
|
return projectTeams.stream()
|
||||||
|
.filter(t -> Objects.nonNull(t.getOrganizationalNodeId()))
|
||||||
|
.collect(Collectors.toMap(OrgProjectTeamDTO::getOrganizationalNodeId, OrgProjectTeamDTO::getProjectTeamId
|
||||||
|
, (p, n) -> p));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Set<Long> intersectionNodeId(Set<Long> teamNodeIds, Set<Long> orgNodeIds) {
|
||||||
|
if (CollUtil.isEmpty(orgNodeIds)) {
|
||||||
|
return teamNodeIds;
|
||||||
|
}
|
||||||
|
return Sets.intersection(teamNodeIds, orgNodeIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<OrgProjectTeamDTO> queryTeams(Set<Long> teamIds, NodeTypeEnum nodeType) {
|
||||||
|
ListProjectTeamReqBuilder<?, ?> teamBuilder = ListProjectTeamReq.builder();
|
||||||
|
return CollUtil.defaultIfEmpty(projectTeamService
|
||||||
|
.list(teamBuilder.projectTeamIds(teamIds)
|
||||||
|
.nodeTypes(Sets.newHashSet(nodeType.getCode()))
|
||||||
|
.build()), CollUtil.newArrayList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,6 +43,7 @@ public class ProjectTeamServiceImpl implements ProjectTeamService {
|
|||||||
.ouIds(req.getOuIds())
|
.ouIds(req.getOuIds())
|
||||||
.platTeamIds(platTeamIds)
|
.platTeamIds(platTeamIds)
|
||||||
.workspaceIds(req.getWorkspaceIds())
|
.workspaceIds(req.getWorkspaceIds())
|
||||||
|
.projectTeamIds(req.getProjectTeamIds())
|
||||||
.build();
|
.build();
|
||||||
List<OrgNodeDTO> orgNodeDTOS = nodeService.list(nodeReq);
|
List<OrgNodeDTO> orgNodeDTOS = nodeService.list(nodeReq);
|
||||||
List<OrgProjectTeamDTO> orgProjectTeamDTOS = CollUtil.newArrayList();
|
List<OrgProjectTeamDTO> orgProjectTeamDTOS = CollUtil.newArrayList();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user