|
@@ -50,6 +50,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
import org.springblade.manager.wrapper.ArchiveTreeContractWrapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import org.wildfly.common.archive.Archive;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -492,6 +493,9 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ ArchiveTreeVO2 subTree = ForestNodeMergerEx.getSubTree(srcTree,srcNode.getId());
|
|
|
+ UpdateByArchiveTree(dstNode.getProjectId(),subTree);
|
|
|
+
|
|
|
//更新排序
|
|
|
archiveTreeContractSync.InitTreeSort(dstTree,saveList);
|
|
|
|
|
@@ -507,9 +511,8 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean deleteTreeChildren(ArchiveTreeContractVO2 tree) {
|
|
|
- List<Long> ids = new ArrayList<>();
|
|
|
|
|
|
- ForestNodeMergerEx.getChildrenIds(tree,ids);
|
|
|
+ List<Long> ids = ForestNodeMergerEx.getChildrenIds(tree);
|
|
|
|
|
|
return this.deleteLogic(ids);
|
|
|
}
|
|
@@ -542,8 +545,6 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean deleteTree(Long id) {
|
|
|
- List<Long> ids = new ArrayList<>();
|
|
|
-
|
|
|
ArchiveTreeContract dstNode = this.getById(id);
|
|
|
if (dstNode == null ) {
|
|
|
return false;
|
|
@@ -556,7 +557,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
|
|
|
ArchiveTreeContractVO2 subTree = ForestNodeMergerEx.getSubTree(dstTrees.get(0),id);
|
|
|
|
|
|
- ForestNodeMergerEx.getChildrenIds(subTree,ids);
|
|
|
+ List<Long> ids = ForestNodeMergerEx.getChildrenIds(subTree);
|
|
|
|
|
|
ids.add(id);
|
|
|
|
|
@@ -564,6 +565,45 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 批量更新
|
|
|
+ * @param projectId
|
|
|
+ * @param srcTree
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean UpdateByArchiveTree(Long projectId, ArchiveTreeVO2 srcTree){
|
|
|
+
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ List<ArchiveTreeVO2> archiveTreeVO2List = new ArrayList<>();
|
|
|
+
|
|
|
+ ForestNodeMergerEx.getTreeList(srcTree,archiveTreeVO2List);
|
|
|
+ ids = ForestNodeMergerEx.getChildrenIds(srcTree);
|
|
|
+
|
|
|
+ Map<Long, ArchiveTreeVO2> map = new LinkedHashMap<>();
|
|
|
+ for (ArchiveTreeVO2 ar : archiveTreeVO2List) {
|
|
|
+ map.put(ar.getId(),ar);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ArchiveTreeContract> archiveTreeContracts = baseMapper.selectList(Wrappers.<ArchiveTreeContract>query().lambda()
|
|
|
+ .in(ArchiveTreeContract::getFromId, ids)
|
|
|
+ .eq(ArchiveTreeContract::getProjectId, projectId)
|
|
|
+ .eq(ArchiveTreeContract::getIsDeleted, 0)
|
|
|
+ );
|
|
|
+
|
|
|
+ List<ArchiveTreeContract> upList = new ArrayList<>();
|
|
|
+ for (ArchiveTreeContract archiveTreeContract : archiveTreeContracts) {
|
|
|
+ ArchiveTreeVO2 archiveTreeVO2 = map.get(archiveTreeContract.getFromId());
|
|
|
+ if (archiveTreeVO2!= null) {
|
|
|
+ archiveTreeContract.sync(archiveTreeVO2);
|
|
|
+ upList.add(archiveTreeContract);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ this.saveOrUpdateBatch(archiveTreeContracts);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|