Jelajahi Sumber

档案重组并卷标识

lvy 5 hari lalu
induk
melakukan
75f6a0908e

+ 4 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchivesAutoController.java

@@ -692,7 +692,7 @@ public class ArchivesAutoController extends BladeController {
 		}
 		Set<Long> ids = archivesAutoList.stream().map(ArchivesAuto::getId).collect(Collectors.toSet());
 		boolean update = archivesAutoService.update(Wrappers.<ArchivesAuto>lambdaUpdate().set(ArchivesAuto::getActionType, type).in(ArchivesAuto::getId, ids)
-				.and(item -> item.eq(ArchivesAuto::getActionType, 0).or().isNull(ArchivesAuto::getActionType)));
+				.and(item -> item.in(ArchivesAuto::getActionType, 0,3).or().isNull(ArchivesAuto::getActionType)));
 		if (!update) {
 			throw new ServiceException("操作失败,案卷可能正在重组或者并卷,请稍后在进行相关操作");
 		}
@@ -1254,6 +1254,9 @@ public class ArchivesAutoController extends BladeController {
 		int sort = 0;
 		if (vo.getSortFileList() != null && !vo.getSortFileList().isEmpty()) {
 			String[] split1 = vo.getSortFileList().split(",");
+			// sourceArchiveFileList id 可能存在split1中,需要过滤
+			Map<Long, Long> longMap = Arrays.stream(split1).filter(StringUtils::isNumeric).map(Long::parseLong).collect(Collectors.toMap(k -> k, v -> v, (k1, k2) -> k1));
+			sourceArchiveFileList.removeIf(file -> longMap.containsKey(file.getId()));
 			for (String s : split1) {
 				if (StringUtils.isNumeric(s)) {
 					ArchiveFile file = new ArchiveFile();