fix: 零部件获取子级问题

This commit is contained in:
2024-08-16 15:44:11 +08:00
parent abaf6bb5d8
commit 5c5c5483a1
@@ -2,16 +2,13 @@ package com.jero.modules.laws.standard.service.impl;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.modules.laws.standard.entity.LawsTreeNode;
import com.jero.modules.laws.standard.entity.PartName; import com.jero.modules.laws.standard.entity.PartName;
import com.jero.modules.laws.standard.entity.TreePage; import com.jero.modules.laws.standard.entity.TreePage;
import com.jero.modules.laws.standard.service.PartNameService;
import com.jero.modules.laws.standard.mapper.PartNameMapper; import com.jero.modules.laws.standard.mapper.PartNameMapper;
import com.jero.modules.laws.standard.service.PartNameService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -299,7 +296,8 @@ public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
Set<String> rootNodeCodes = rootNodes.stream().map(PartName::getCode).collect(Collectors.toSet()); Set<String> rootNodeCodes = rootNodes.stream().map(PartName::getCode).collect(Collectors.toSet());
rootNodes.forEach(node -> { rootNodes.forEach(node -> {
node.setLeafFlag(matchedNodes.stream() 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); return new ArrayList<>(rootNodes);