|
@@ -36,7 +36,6 @@ import org.springframework.scheduling.annotation.Async;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
-import java.lang.reflect.Field;
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -282,7 +281,9 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
private List<WbsTreePrivateVO> buildWbsTreeByStreamChildNodeTreeProject(List<WbsTreePrivateVO> nodes, WbsTreePrivate parentNodeRoot) {
|
|
private List<WbsTreePrivateVO> buildWbsTreeByStreamChildNodeTreeProject(List<WbsTreePrivateVO> nodes, WbsTreePrivate parentNodeRoot) {
|
|
- List<WbsTreePrivateVO> list = nodes.stream().filter(f -> f.getId().equals(parentNodeRoot.getId())).collect(Collectors.toList());
|
|
|
|
|
|
+ List<WbsTreePrivateVO> list = nodes.stream().filter(f -> f.getId().equals(parentNodeRoot.getId()))
|
|
|
|
+ .sorted(Comparator.comparing(WbsTreePrivateVO::getSort, Comparator.nullsLast(Integer::compare)))
|
|
|
|
+ .collect(Collectors.toList());
|
|
Map<Long, List<WbsTreePrivateVO>> map = nodes.stream().collect(Collectors.groupingBy(WbsTreePrivateVO::getParentId));
|
|
Map<Long, List<WbsTreePrivateVO>> map = nodes.stream().collect(Collectors.groupingBy(WbsTreePrivateVO::getParentId));
|
|
this.recursionFnTreeChildNodeProject(list, map);
|
|
this.recursionFnTreeChildNodeProject(list, map);
|
|
return list;
|
|
return list;
|
|
@@ -291,21 +292,12 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
|
|
private void recursionFnTreeChildNodeProject(List<WbsTreePrivateVO> list, Map<Long, List<WbsTreePrivateVO>> map) {
|
|
private void recursionFnTreeChildNodeProject(List<WbsTreePrivateVO> list, Map<Long, List<WbsTreePrivateVO>> map) {
|
|
for (WbsTreePrivateVO wbsTreePrivateVO : list) {
|
|
for (WbsTreePrivateVO wbsTreePrivateVO : list) {
|
|
List<WbsTreePrivateVO> childrenList = map.get(wbsTreePrivateVO.getId());
|
|
List<WbsTreePrivateVO> childrenList = map.get(wbsTreePrivateVO.getId());
|
|
- wbsTreePrivateVO.setChildren(childrenList);
|
|
|
|
if (childrenList != null && childrenList.size() > 0) {
|
|
if (childrenList != null && childrenList.size() > 0) {
|
|
|
|
+ List<WbsTreePrivateVO> sortChildrenList = childrenList.stream()
|
|
|
|
+ .sorted(Comparator.comparing(WbsTreePrivateVO::getSort, Comparator.nullsLast(Integer::compare))).collect(Collectors.toList());
|
|
wbsTreePrivateVO.setHasChildren(true);
|
|
wbsTreePrivateVO.setHasChildren(true);
|
|
- recursionFnTreeProject(childrenList, map);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private void recursionFnTreeProject(List<WbsTreePrivateVO> list, Map<Long, List<WbsTreePrivateVO>> map) {
|
|
|
|
- for (WbsTreePrivateVO wbsTreePrivateVO : list) {
|
|
|
|
- List<WbsTreePrivateVO> childrenList = map.get(wbsTreePrivateVO.getId());
|
|
|
|
- wbsTreePrivateVO.setChildren(childrenList);
|
|
|
|
- if (childrenList != null && childrenList.size() > 0) {
|
|
|
|
- wbsTreePrivateVO.setHasChildren(true);
|
|
|
|
- recursionFnTreeProject(childrenList, map);
|
|
|
|
|
|
+ wbsTreePrivateVO.setChildren(sortChildrenList);
|
|
|
|
+ recursionFnTreeChildNodeProject(sortChildrenList, map);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|