Browse Source

元素表同步

liuyc 2 years ago
parent
commit
527a998fb1

+ 0 - 9
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ContractInfoServiceImpl.java

@@ -123,19 +123,12 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
 
     @Override
     public List<WbsTreeContractVO> tree(String wbsId, String projectId, String contractId) {
-
-        //方式1:数据量过大时格式异常
-        //return ForestNodeMerger.merge(baseMapper.tree(wbsId, projectId, contractId, null, null));
-
-        //方式2
         List<WbsTreeContractVO> wbsTreeContractVOS = baseMapper.tree2(wbsId, projectId, contractId, null, null);
         return buildWbsTreeByStream(wbsTreeContractVOS);
     }
 
     public List<WbsTreeContractVO> buildWbsTreeByStream(List<WbsTreeContractVO> wbsTreeVO2s) {
-        //根节点
         List<WbsTreeContractVO> list = wbsTreeVO2s.stream().filter(f -> f.getParentId() == 0L).collect(Collectors.toList());
-        //子节点分组
         Map<Long, List<WbsTreeContractVO>> map = wbsTreeVO2s.stream().collect(Collectors.groupingBy(WbsTreeContractVO::getParentId));
         this.recursionFnTree(list, map);
         return list;
@@ -146,9 +139,7 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
             List<WbsTreeContractVO> childrenList = map.get(wbsTreeContractVO.getId());
             wbsTreeContractVO.setChildren(childrenList);
             if (childrenList != null && childrenList.size() > 0) {
-                //存在子级
                 wbsTreeContractVO.setHasChildren(true);
-                //递归查询
                 recursionFnTree(childrenList, map);
             }
         }

+ 4 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -593,17 +593,16 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
                         .eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
                         .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
                         .eq(WbsTreePrivate::getStatus, 1)
-                        .like(WbsTreePrivate::getAncestors, wbsTreePrivate.getId())
                 );
                 List<WbsTreePrivate> wbsTreePrivatesProjectNodes = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(1)).collect(Collectors.toList());
-                List<WbsTreePrivate> wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2)).collect(Collectors.toList());
+                List<WbsTreePrivate> wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2) && f.getAncestors().contains(String.valueOf(wbsTreePrivate.getId()))).collect(Collectors.toList());
 
                 //获取新增的公有元素表addPublicTable
                 List<WbsTree> addPublicTable = wbsTreesPublicTables.stream().filter(f ->
                         !wbsTreePrivatesProjectTables.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).contains(f.getId()))
                         .collect(Collectors.toList());
 
-                //判断当前新增的表在项目的wbs树是否存在上级节点,存在表示可以新增,不存在表示不新增
+                //判断当前新增的表在项目的wbs树是否存在上级节点,存在表示可以新增,不存在表示不新增
                 List<WbsTree> addPublicTables = addPublicTable.stream().filter(node ->
                         wbsTreePrivatesProjectNodes.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).contains(node.getParentId())
                 ).collect(Collectors.toList());
@@ -689,7 +688,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
                         .eq(WbsTreePrivate::getWbsId, wbsTreePrivateRoot.getWbsId())
                         .eq(WbsTreePrivate::getType, 2)
                         .eq(WbsTreePrivate::getStatus, 1)
-                        .like(WbsTreePrivate::getAncestors, wbsTreePrivateRoot.getId())
+                        .like(WbsTreePrivate::getAncestors, wbsTreePrivate.getId())
                 );
 
                 //获取当前项目选择的节点下的所有元素表 节点
@@ -697,11 +696,10 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
                         .eq(WbsTreePrivate::getProjectId, wbsTreePrivate.getProjectId())
                         .eq(WbsTreePrivate::getWbsId, wbsTreePrivate.getWbsId())
                         .eq(WbsTreePrivate::getStatus, 1)
-                        .like(WbsTreePrivate::getAncestors, wbsTreePrivate.getId())
                 );
 
                 List<WbsTreePrivate> wbsTreePrivatesProjectNodes = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(1)).collect(Collectors.toList());
-                List<WbsTreePrivate> wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2)).collect(Collectors.toList());
+                List<WbsTreePrivate> wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2) && f.getAncestors().contains(String.valueOf(wbsTreePrivate.getId()))).collect(Collectors.toList());
 
                 //获取新增的私有元素表addPrivateTable
                 List<WbsTreePrivate> addPrivateTable = wbsTreePrivateRootTables.stream().filter(f ->