Browse Source

合同段的排序

huangtf 1 year ago
parent
commit
34f84873f5

+ 6 - 2
blade-common/src/main/java/org/springblade/common/utils/ForestNodeMergerEx.java

@@ -215,20 +215,24 @@ public class ForestNodeMergerEx {
         }
     }
 
-    public static <T extends INodeEx<T>> void InitTreeSort(T tree, String treeSort) {
+    public static <T extends INodeEx<T>> void InitTreeSort(T tree, String treeSort,int idx) {
 
         Integer localSort = 100;
         if (tree.getSort() != null ) {
             localSort =  tree.getSort() + 100;
+        }else {
+            localSort+= idx;
         }
 
         String localTreeSort = treeSort + localSort ;
         tree.setTreeSort(localTreeSort);
 
         List<T> childrens = tree.getChildren();
+        int index = 1;
         if (childrens!= null) {
             for (T child :childrens) {
-                InitTreeSort(child,localTreeSort);
+                InitTreeSort(child,localTreeSort,index);
+                index++;
             }
         }
     }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeContractMapper.xml

@@ -224,7 +224,7 @@
         <if test="code!=null and code!=''">
             AND (d.tree_code = #{code} or d.tree_code = #{contractId} or d.parent_id = 0)
         </if>
-        ORDER BY d.sort
+        ORDER BY d.tree_sort, d.sort
     </select>
 
     <select id="tree2" resultMap="ArchiveTreeContractVO2ResultMap">

+ 13 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArTreeContractInitServiceImpl.java

@@ -238,7 +238,7 @@ public class ArTreeContractInitServiceImpl {
 
         InitAncestors(trees.get(0),"0");
 
-        InitTreeSort(trees.get(0), "");
+        InitTreeSort(trees.get(0), "",0);
 
         archiveAutoRuleSync.syncArchiveTreeContractList(vo2Map,proVo2Trees);
 
@@ -268,14 +268,22 @@ public class ArTreeContractInitServiceImpl {
      *
      * @param tree
      */
-    public void InitTreeSort(ArchiveTreeContractVO2 tree, String treeSort) {
-        String localTreeSort = treeSort + tree.sortNum() ;
+    public void InitTreeSort(ArchiveTreeContractVO2 tree, String treeSort,int idx) {
+        Integer localSort = 100;
+        if (tree.getSort() != null ) {
+            localSort =  tree.getSort() + 100;
+        }else {
+            localSort+= idx;
+        }
+        String localTreeSort = treeSort + localSort ;
         tree.setTreeSort(localTreeSort);
 
         List<ArchiveTreeContractVO2> childrens = tree.getChildren();
+        int index = 1;
         if (childrens!= null) {
             for (ArchiveTreeContractVO2 child :childrens) {
-                InitTreeSort(child,localTreeSort);
+                InitTreeSort(child,localTreeSort,index);
+                index++;
             }
         }
     }
@@ -645,6 +653,7 @@ public class ArTreeContractInitServiceImpl {
             treeContractVO2.setArchiveAutoType(archiveTreeContract.getArchiveAutoType());
             treeContractVO2.setArchiveAutoGroupId(archiveTreeContract.getArchiveAutoGroupId());
             treeContractVO2.setArchiveAutoGroupSelect(archiveTreeContract.getArchiveAutoGroupSelect());
+            treeContractVO2.setExtType(archiveTreeContract.getExtType());
             vos.add(treeContractVO2);
             vo2Map.put(treeContractVO2.getId(),treeContractVO2);
         }

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

@@ -721,7 +721,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		}
 		ArchiveTreeContractVO2  tree = trees.get(0);
 
-		ForestNodeMergerEx.InitTreeSort(tree,"");
+		ForestNodeMergerEx.InitTreeSort(tree,"",0);
 
 		List<ArchiveTreeContractVO2> changeList = new ArrayList<>();
 

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java

@@ -114,7 +114,7 @@ public class ArchiveTreeContractSyncImpl {
         //排序
         ForestNodeMergerEx.InitAncestors(tree,"0");
 
-        ForestNodeMergerEx.InitTreeSort(tree, "");
+        ForestNodeMergerEx.InitTreeSort(tree, "",0);
 
         //更新自动组卷节点
         archiveAutoRuleSync.syncArchiveTreeContractList(vo2Map,proVo2Trees);