From 725ce1422bde31fc9db0eff2884d09de66f3932c Mon Sep 17 00:00:00 2001 From: liuyang Date: Thu, 19 Dec 2024 13:59:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:[REQ-3282]=E5=AE=9E=E7=8E=B0=E5=8D=8F?= =?UTF-8?q?=E5=90=8C=E5=85=B3=E7=B3=BB=E6=96=B9=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cooperateship/req/ListOrgCooperateShipReq.java | 14 +++++++------- .../repository/impl/NodeQueryRepositoryImpl.java | 2 +- .../service/impl/CooperateShipServiceImpl.java | 9 ++++++++- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java index badc735..116e759 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/cooperateship/req/ListOrgCooperateShipReq.java @@ -32,41 +32,41 @@ public class ListOrgCooperateShipReq { /** * 工作台类型 */ - @CriteriaField(field = "workspaceType", operator = Operator.IN) +// @CriteriaField(field = "workspaceType", operator = Operator.IN) @Builder.Default private Set workspaceType = Collections.emptySet(); /** * 单位id集合(如果是班组则插入队伍id) */ - @CriteriaField(field = "organizationalUnitId", operator = Operator.IN) +// @CriteriaField(field = "organizationalUnitId", operator = Operator.IN) @Builder.Default private Set ouIds = Collections.emptySet(); /** * 指定的协同关系类型 */ - @CriteriaField(field = "cooperateType", operator = Operator.IN) +// @CriteriaField(field = "cooperateType", operator = Operator.IN) @Builder.Default private Set includeCooperateTypes = Collections.emptySet(); /** * 待排除的协同关系类型 */ - @CriteriaField(field = "cooperateType", operator = Operator.NOT_IN) +// @CriteriaField(field = "cooperateType", operator = Operator.NOT_IN) @Builder.Default private Set excludeCooperateTypes = Collections.emptySet(); /** * 节点id */ - @CriteriaField(field = "organizationalNodeId", operator = Operator.IN) +// @CriteriaField(field = "organizationalNodeId", operator = Operator.IN) @Builder.Default private Set organizationNodeIds = Collections.emptySet(); /** * 合作关系 1.合作 2.直属 */ - @CriteriaField(field = "partnerShip", operator = Operator.IN) +// @CriteriaField(field = "partnerShip", operator = Operator.IN) @Builder.Default private Set partnerShips = Collections.emptySet(); @@ -74,7 +74,7 @@ public class ListOrgCooperateShipReq { /** * 在场状态集合 */ - @CriteriaField(field = "status", operator = Operator.IN) +// @CriteriaField(field = "status", operator = Operator.IN) @Builder.Default private Set statuses = Collections.emptySet(); diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeQueryRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeQueryRepositoryImpl.java index 0cda341..98fcd8a 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeQueryRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/node/repository/impl/NodeQueryRepositoryImpl.java @@ -51,7 +51,7 @@ public class NodeQueryRepositoryImpl implements NodeQueryRepository { } private void assembleParentNode(ListNodeReq req, List records) { - if (!BooleanUtil.isTrue(req.getNeedParent())) { + if (!BooleanUtil.isTrue(req.getIsSelectAncestors())) { return; } Map nodesById = records.stream().collect(Collectors.toMap(NodeResp::getId, Function.identity())); diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java index 8faa697..2614cc9 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java @@ -126,6 +126,7 @@ public class CooperateShipServiceImpl implements CooperateShipService { public List list(ListOrgCooperateShipReq req) { boolean isFilterCurrentNodeByPerson = ObjectUtil.isNotNull(req.getFilterPersonId()) && Objects.equals(req.getFilterPersonType(), 1); + boolean isFilterCurrentAndBelowByPerson = ObjectUtil.isNotNull(req.getFilterPersonId()) && Objects.equals(req.getFilterPersonType(), 2); // 根据入参查询数据 List list = cooperateShipQueryRepository.list(req); @@ -133,7 +134,7 @@ public class CooperateShipServiceImpl implements CooperateShipService { return Collections.emptyList(); } - // 是否根据person过滤当前节点 + // 根据person过滤当前节点 if (isFilterCurrentNodeByPerson) { cooperateShipFoundationService.filterByPerson(req.getFilterPersonId(), list); } @@ -144,6 +145,12 @@ public class CooperateShipServiceImpl implements CooperateShipService { List ancestorShipNodes = cooperateShipQueryRepository.list(ListOrgCooperateShipReq.builder().ids(ancestorIds).build()); list.addAll(ancestorShipNodes); } + + // 根据person过滤当前节点及以下节点 + if (isFilterCurrentAndBelowByPerson) { + cooperateShipFoundationService.filterByPerson(req.getFilterPersonId(), list); + } + return BeanUtil.copyToList(list, OrgCooperateShipDTO.class); } }