From 9ca1188c5a951ea2f4b94876098798c8cd64784c Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 03 一月 2025 18:02:16 +0800 Subject: [PATCH] 1.bug修改 --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java index bd1c738..860f7d8 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java @@ -90,8 +90,39 @@ childrenMap = getChildrenDepartmentByOrgType(myDepartment, null); } SysDepartmentVO sysDepartmentVO = fillChildrenTreeModel(myDepartment, childrenMap); + switch (type) { + case 2: + case 3: + case 4: + filterEmptyChildren(sysDepartmentVO.getChildren()); + break; + } root.add(sysDepartmentVO); return root; + } + + /** + * 移除子节点为空的区域 + * + * @param departments + */ + private void filterEmptyChildren(List<SysDepartmentVO> departments) { + if (departments == null) { + return; + } + + Iterator<SysDepartmentVO> iterator = departments.iterator(); + while (iterator.hasNext()) { + SysDepartmentVO department = iterator.next(); + + // 递归过滤子节点 + filterEmptyChildren(department.getChildren()); + + // 如果 orgType == 1 且 children 为空,则移除当前节点 + if (department.getOrgType() == 1 && department.getChildren().isEmpty()) { + iterator.remove(); + } + } } /** @@ -668,6 +699,7 @@ .like(StringUtils.isNotEmpty(query.getDepartmentName()), SysDepartment::getDepartmentName, query.getDepartmentName()) .like(StringUtils.isNotBlank(query.getContactPerson()), SysDepartment::getContactPerson, query.getContactPerson()) .like(StringUtils.isNotBlank(query.getContactPhone()), SysDepartment::getContactPhone, query.getContactPhone()) + .eq(SysDepartment::getOrgType, DepartmentEnum.REGULATORY_UNIT.getCode()) .page(new Page<>(query.getPageCurr(), query.getPageSize())); return PageDTO.of(page, RegulatoryUnitVO.class); } -- Gitblit v1.7.1