From a6131058b29193e70eaa9dbdd03900fa35141f99 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 19 Nov 2025 17:14:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=A2=9E=E5=8A=A0=E6=89=80?= =?UTF-8?q?=E6=9C=89=E4=BC=81=E4=B8=9A=E7=9A=84=E6=A0=91=E7=8A=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/info/web/DepartmentController.java | 7 +++- .../command/query/DepartmentQueryExe.java | 32 +++++++++++++++---- .../info/service/DepartmentServiceImpl.java | 4 +++ .../basic/info/api/DepartmentServiceI.java | 2 ++ .../clientobject/DepartmentTreeInfoCO.java | 2 ++ .../persistence/mapper/DepartmentMapper.java | 5 +-- .../repository/DepartmentRepository.java | 1 + .../impl/DepartmentRepositoryImpl.java | 4 +++ .../resources/mapper/DepartmentMapper.xml | 4 +++ 9 files changed, 52 insertions(+), 9 deletions(-) diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/DepartmentController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/DepartmentController.java index c276067..91ceff6 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/web/DepartmentController.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/DepartmentController.java @@ -85,11 +85,16 @@ public class DepartmentController { departmentService.edit(departmentUpdateCmd); return SingleResponse.buildSuccess(); } - @ApiOperation("部门树状所有数据") + @ApiOperation("企业下部门树状所有数据") @PostMapping("/listTree") public MultiResponse listTree(@Validated @RequestBody DepartmentTreeQry qry) { return MultiResponse.of(departmentService.listTree(qry)); } + @ApiOperation("所有企业下部门树状所有数据") + @PostMapping("/listAllTree") + public MultiResponse> listAllTree() { + return MultiResponse.of(departmentService.listAllTree()); + } } 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 8d6794b..fc5763e 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 @@ -48,20 +48,20 @@ public class DepartmentQueryExe { * @return */ public PageResponse execute(DepartmentPageQry departmentPageQry) { - if(departmentPageQry.getEqCorpinfoId() == null){ + if (departmentPageQry.getEqCorpinfoId() == null) { departmentPageQry.setEqCorpinfoId(AuthContext.getTenantId()); } Map parmas = PageQueryHelper.toHashMap(departmentPageQry); PageResponse pageResponse = departmentRepository.listPage(parmas); List examCenterCOS = departmentCoConvertor.converDOsToCOs(pageResponse.getData()); - if(CollUtil.isEmpty(examCenterCOS)){ + if (CollUtil.isEmpty(examCenterCOS)) { return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex()); } //获取所有的部门id List departmentIds = examCenterCOS.stream().map(DepartmentCO::getId).collect(Collectors.toList()); //获取所有部门的负责人 Map departmentLeaderMap = userRepository.getDepartmentLeaderByDepartmentId(departmentIds); - if(CollUtil.isNotEmpty(departmentLeaderMap)){ + if (CollUtil.isNotEmpty(departmentLeaderMap)) { examCenterCOS.forEach(examCenterCO -> { examCenterCO.setDepartmentUserLeaderList(departmentLeaderMap.getOrDefault(examCenterCO.getId(), StringUtils.EMPTY)); }); @@ -81,7 +81,7 @@ public class DepartmentQueryExe { } List examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse); //GBS部门根节点父部门是tenantId - return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList",departmentQry.getEqCorpinfoId()); + return Tools.buildEntityTree(examCenterCOS, "id", "parentId", "childrenList", departmentQry.getEqCorpinfoId()); } @@ -101,13 +101,13 @@ public class DepartmentQueryExe { departmentCO.setParentName(departmentDO.getName()); } } - if(CommonFlagEnum.YES.getCode().equals(departmentCO.getSuperviseFlag())){ + if (CommonFlagEnum.YES.getCode().equals(departmentCO.getSuperviseFlag())) { // departmentSuperviseRepository DepartmentSupervisePageQry qry = new DepartmentSupervisePageQry(); qry.setEqSuperviseDepartmentId(id); Map params = PageQueryHelper.toHashMap(qry); List postDepartmentDOS = departmentSuperviseRepository.listBySuperviseDepartmentId(params); - if(CollUtil.isNotEmpty(postDepartmentDOS)){ + if (CollUtil.isNotEmpty(postDepartmentDOS)) { departmentCO.setDepartmentIdsList(postDepartmentDOS); } } @@ -127,5 +127,25 @@ public class DepartmentQueryExe { List list = departmentRepository.list(); return departmentCoConvertor.converDOsToCOs(list); } + + public Collection> listAllTree() { + + List pageResponse = departmentRepository.listAllTree(); + if (CollUtil.isEmpty(pageResponse)) { + return Collections.emptyList(); + } + List examCenterCOS = departmentCoConvertor.converDOsToInfoCOs(pageResponse); + //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", corpId); + result1.add(departmentTreeInfoCOS); + }); + + + return result1; + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java index 306c63a..8b8b391 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/DepartmentServiceImpl.java @@ -82,5 +82,9 @@ public class DepartmentServiceImpl implements DepartmentServiceI { return departmentQueryExe.getDeptList(); } + @Override + public Collection> listAllTree() { + return departmentQueryExe.listAllTree(); + } } diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java index 31ce5c5..0d4b701 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/DepartmentServiceI.java @@ -35,5 +35,7 @@ public interface DepartmentServiceI { List listByDepartIds(Collection collection); List getDeptList(); + + Collection> listAllTree(); } 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 4444185..1b7795c 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 @@ -20,6 +20,8 @@ public class DepartmentTreeInfoCO extends ClientObject { //主键 @ApiModelProperty(value = "主键") private Long id; + @ApiModelProperty(value = "所属企业") + private Long corpinfoId; //部门id @ApiModelProperty(value = "部门id") private String departmentId; diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/DepartmentMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/DepartmentMapper.java index a9111d8..76dde66 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/DepartmentMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/DepartmentMapper.java @@ -1,11 +1,11 @@ package com.zcloud.basic.info.persistence.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.jjb.saas.framework.datascope.annotation.DataScope; -import com.jjb.saas.framework.datascope.annotation.DataScopes; import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * web-infrastructure * @@ -15,5 +15,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface DepartmentMapper extends BaseMapper { + List listAllTree(); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java index a0c79a8..1ce0541 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/DepartmentRepository.java @@ -32,5 +32,6 @@ public interface DepartmentRepository extends BaseRepository { void updateInfoById(DepartmentDO departmentDO); + List listAllTree(); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java index c8d0c9e..cf4a516 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/DepartmentRepositoryImpl.java @@ -119,5 +119,9 @@ public class DepartmentRepositoryImpl extends BaseRepositoryImpl listAllTree() { + return departmentMapper.listAllTree(); + } } diff --git a/web-infrastructure/src/main/resources/mapper/DepartmentMapper.xml b/web-infrastructure/src/main/resources/mapper/DepartmentMapper.xml index 0d90bee..391b04c 100644 --- a/web-infrastructure/src/main/resources/mapper/DepartmentMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/DepartmentMapper.xml @@ -4,5 +4,9 @@ + +