Переглянути джерело

解决档案系统节点排序导致案卷排序错误的问题

lvy 1 тиждень тому
батько
коміт
c718f79d49

+ 11 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractServiceImpl.java

@@ -856,14 +856,22 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		}
 		ArchiveTreeContractVO2  tree = trees.get(0);
 
-		ForestNodeMergerEx.InitTreeSort(tree,"",0);
+//		ForestNodeMergerEx.InitTreeSort(tree,"",0);
 
 		List<ArchiveTreeContractVO2> changeList = new ArrayList<>();
 
 		for (ArchiveTreeContract ar:  archiveTreeContracts) {
-			ArchiveTreeContractVO2 subTree = ForestNodeMergerEx.getSubTree(tree,ar.getId());
+			ArchiveTreeContractVO2 subTree = ForestNodeMergerEx.getSubTree(tree,ar.getParentId());
 			List<ArchiveTreeContractVO2> tmpList = new ArrayList<>();
-			ForestNodeMergerEx.getTreeList(subTree,tmpList);
+			if (subTree != null) {
+				List<ArchiveTreeContractVO2> children = subTree.getChildren();
+				for (ArchiveTreeContractVO2 child : children) {
+					if (child.getId().equals(ar.getId())) {
+						ForestNodeMergerEx.InitTreeSort(child,subTree.getTreeSort(),ar.getSort());
+						ForestNodeMergerEx.getTreeList(child,tmpList);
+					}
+				}
+			}
 			changeList.addAll(tmpList);
 		}