|
@@ -519,6 +519,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
Set<WbsTreePrivate> resultNodes = new HashSet<>();
|
|
|
List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getType, 1).eq(WbsTreePrivate::getWbsId, wbsId).eq(WbsTreePrivate::getProjectId, projectId).and(wrapper -> wrapper.like(WbsTreePrivate::getNodeName, queryValue).or().like(WbsTreePrivate::getImportMatchingInfo, queryValue)).and(wrapper -> wrapper.ne(WbsTreePrivate::getIsAddConceal, 1).or().isNull(WbsTreePrivate::getIsAddConceal)));
|
|
|
this.getParentNodesPrivateWbs(wbsTreePrivates, resultNodes, projectId, wbsId);
|
|
|
+ this.getChildNodesPrivateWbs(wbsTreePrivates, resultNodes, projectId, wbsId);
|
|
|
resultNodes.addAll(wbsTreePrivates);
|
|
|
List<WbsTreePrivateQueryValueVO> wbsTreePrivateQueryValueVOS = BeanUtil.copyProperties(resultNodes, WbsTreePrivateQueryValueVO.class);
|
|
|
if (wbsTreePrivateQueryValueVOS.size() > 0) {
|
|
@@ -798,6 +799,17 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void getChildNodesPrivateWbs(List<WbsTreePrivate> wbsTreePrivates, Set<WbsTreePrivate> resultNodes, String projectId, String wbsId) {
|
|
|
+ Set<Long> Ids = wbsTreePrivates.stream().map(WbsTreePrivate::getId).collect(Collectors.toSet());
|
|
|
+ if (Ids.size() > 0) {
|
|
|
+ List<WbsTreePrivate> childNodes = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>lambdaQuery().in(WbsTreePrivate::getParentId, Ids).eq(WbsTreePrivate::getType, 1).eq(WbsTreePrivate::getWbsId, wbsId).eq(WbsTreePrivate::getProjectId, projectId));
|
|
|
+ if (childNodes.size() > 0) {
|
|
|
+ resultNodes.addAll(childNodes);
|
|
|
+ this.getChildNodesPrivateWbs(childNodes, resultNodes, projectId, wbsId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void buildWbsTreePrivateByGetQueryValueByType(List<WbsTreePrivateQueryValueVO> listRoot, Map<Long, List<WbsTreePrivateQueryValueVO>> mapAll) {
|
|
|
for (WbsTreePrivateQueryValueVO wbsTree : listRoot) {
|
|
|
List<WbsTreePrivateQueryValueVO> childrenList = mapAll.get(wbsTree.getId());
|