huangtf 7 ヶ月 前
コミット
c5d1c8bfc7

+ 17 - 7
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -1300,6 +1300,9 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		//获取同一分类archiveAutoGroupId下设置的(设置规则时选中的)节点,排好序
 		List<ArchiveTreeContract> selectList = archiveTreeContractClient.getStorageNodeByGroupId(projectId, archiveAutoGroupId);
 		//分类并卷节点默认采用同类型下第一个存储节点为归属节点
+		if (selectList== null || selectList.size() == 0) {
+			return;
+		}
 		ArchiveTreeContract node = selectList.get(0);
 		//获取案卷文件起止时间
 		String archiveStartDateAndEndDate = getArchiveStartDateAndEndDate(waitArchiveFiles);
@@ -2457,17 +2460,23 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 
 
 	public void test() {
-		String ids = "1654406079229165569";
+		Long projectId = 0L;
+		List<ArchiveTreeContract> archiveTreeContracts = archiveTreeContractClient.getListByProjectId(projectId);
+
+		Integer indexType = 0;
+		ArchiveProjectConfig config = archiveProjectConfigService.getByProjectIdOrNew(projectId);
+		List<ArchiveTreeContractVO2> subTreeList = new ArrayList<>();
+		List<List<ArchiveTreeContract>> subGroupedList = new ArrayList<>();
+		List<ArchiveTreeContractVO2> subTreeList1 = new ArrayList<>();
+		List<List<ArchiveTreeContract>> subGroupedList1 = new ArrayList<>();
+
 
-		List<Long> fids = Func.toLongList(ids);
 
+		ArchiveTreeUtil.getGroupedList(archiveTreeContracts, subTreeList, subGroupedList);
+
+		ArchiveTreeUtil.getGroupedListSub(archiveTreeContracts, subTreeList1, subGroupedList1);
 
-		LambdaQueryWrapper<ArchiveFile> wrapper = Wrappers.lambdaQuery();
-		wrapper.in(ArchiveFile::getId, fids);
 
-		// 调用 listWrappers() 方法来获取符合条件的 ArchiveFile 对象列表
-		List<ArchiveFile> files = archiveFileClient.listbyIds(fids);
-		System.out.println();
 	}
 
 	@Override
@@ -3736,4 +3745,5 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		process.waitFor();
 	}
 
+
 }

+ 15 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/utils/ArchiveTreeUtil.java

@@ -38,7 +38,14 @@ public class ArchiveTreeUtil {
         if (trees == null || trees.size() == 0) {
             return;
         }
-        ArchiveTreeContractVO2 tree = trees.get(0);
+
+        ArchiveTreeContractVO2 tree =trees.get(0);
+        for (ArchiveTreeContractVO2 stree: trees) {
+            if (stree.getChildren()!= null && stree.getChildren().size() > 0) {
+                tree = stree;
+                break;
+            }
+        }
 
         for (ArchiveTreeContractVO2 subTree : tree.getChildren()) {
             if (StringUtils.isEmpty(subTree.getTreeCode())) {
@@ -95,7 +102,13 @@ public class ArchiveTreeUtil {
         if (trees == null || trees.size() == 0) {
             return;
         }
-        ArchiveTreeContractVO2 tree = trees.get(0);
+        ArchiveTreeContractVO2 tree =trees.get(0);
+        for (ArchiveTreeContractVO2 stree: trees) {
+            if (stree.getChildren()!= null  &&  stree.getChildren().size() > 0) {
+                tree = stree;
+                break;
+            }
+        }
 
         for (ArchiveTreeContractVO2 subTree : tree.getChildren()) {
             if (StringUtils.isEmpty(subTree.getTreeCode())) {

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

@@ -875,6 +875,9 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 	 * @param archiveTreeContracts
 	 */
 	public  void  fillDefaultArchiveAutoInfo(List<ArchiveTreeContract> archiveTreeContracts){
+		if (archiveTreeContracts == null || archiveTreeContracts.size() == 0) {
+			return;
+		}
 		Long projectId = archiveTreeContracts.get(0).getProjectId();
 		List<ContractInfo> contractInfos = contractInfoService.selectContractInfoPageByPid(projectId.toString());
 		if (contractInfos == null || contractInfos.size() == 0) {