diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/DictTreeService.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/DictTreeService.java index 7d99e613..5a9faf76 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/DictTreeService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/DictTreeService.java @@ -123,7 +123,8 @@ public class DictTreeService { Set rootNodeIds = rootNodes.stream().map(SysDictItem::getId).collect(Collectors.toSet()); rootNodes.forEach(node -> { node.setLeafFlag(matchedNodes.stream() - .noneMatch(n -> rootNodeIds.contains(n.getParentId()))); + .noneMatch(n -> (rootNodeIds.contains(n.getParentId()) && + n.getParentId().equals(node.getId())))); }); return new ArrayList<>(rootNodes); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/PartNameServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/PartNameServiceImpl.java index d12c4c97..3cc2fd67 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/PartNameServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standard/service/impl/PartNameServiceImpl.java @@ -288,7 +288,8 @@ public class PartNameServiceImpl extends ServiceImpl Set rootNodeCodes = rootNodes.stream().map(PartName::getCode).collect(Collectors.toSet()); rootNodes.forEach(node -> { node.setLeafFlag(matchedNodes.stream() - .noneMatch(n -> rootNodeCodes.contains(n.getParentCode()))); + .noneMatch(n -> (rootNodeCodes.contains(n.getParentCode()) && + n.getParentCode().equals(node.getCode())))); }); return new ArrayList<>(rootNodes);