|
@@ -1491,6 +1491,54 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 单独组卷规则组卷
|
|
|
+ *
|
|
|
+ * @param waitArchiveFiles
|
|
|
+ * @param node 规格参数所在节点
|
|
|
+ * @param pageN
|
|
|
+ */
|
|
|
+ private void createArchive3_new(List<ArchiveFile> waitArchiveFiles, ArchiveTreeContract node, int pageN,IArchiveNameService.NodeHierarchy nameInfo) {
|
|
|
+
|
|
|
+ String archiveStartDateAndEndDate = getArchiveStartDateAndEndDate(waitArchiveFiles);
|
|
|
+ String[] split = archiveStartDateAndEndDate.split(",");
|
|
|
+ String startDate = split.length >= 1 ? split[0] : "";
|
|
|
+ String endDate = split.length >= 2 ? split[1] : "";
|
|
|
+ int fileN = waitArchiveFiles.size();
|
|
|
+ if (fileN == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ String archiveName = builtArchiveName_new(waitArchiveFiles, node, false,nameInfo);//获取案卷题名
|
|
|
+ //1.创建新案卷
|
|
|
+ ArchivesAuto archivesAuto = builtArchives(node, pageN, fileN, startDate, endDate, archiveName);
|
|
|
+ //2.设置文件所属案卷,组卷状态
|
|
|
+ Long archivesAutoId = archivesAuto.getId();
|
|
|
+
|
|
|
+ //封面和生成文件页码
|
|
|
+ archiveAutoPdfService.buildArchiveFrontPdfs(archivesAuto.getProjectId(), archivesAuto, waitArchiveFiles, false);
|
|
|
+
|
|
|
+ builtFilePageNo(archivesAuto, waitArchiveFiles);//生成文件页码
|
|
|
+
|
|
|
+
|
|
|
+ for (ArchiveFile file : waitArchiveFiles) {
|
|
|
+ file.setArchiveId(archivesAutoId);//设置文件所属案卷
|
|
|
+ file.setIsArchive(1);
|
|
|
+
|
|
|
+ }
|
|
|
+ archiveFileClient.updateArchiveFileForCreateArchive(waitArchiveFiles);
|
|
|
+ try {
|
|
|
+// for (ArchiveFile saveVo : waitArchiveFiles) {
|
|
|
+// metadataClassificationClient.createMetadataFile(saveVo.getId(), 0);
|
|
|
+// }
|
|
|
+ batchCreateMetadataFiles(waitArchiveFiles);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 分类并卷组卷
|
|
|
*
|
|
@@ -1768,6 +1816,10 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
|
|
|
private void archiveAutoMethod3(List<ArchiveTreeContract> list, Map<String, List<ArchiveFile>> boxMap,
|
|
|
Map<Long, String> boxFileMap, Long traceId) {
|
|
|
+
|
|
|
+ // 4. 构建节点层级关系
|
|
|
+ IArchiveNameService.NodeHierarchy nameInfo =
|
|
|
+ archiveNameService.buildNodeHierarchy(list);
|
|
|
// 步骤1:遍历节点集合
|
|
|
for (ArchiveTreeContract node : list) {
|
|
|
// 步骤2:获取当前节点的案卷规格
|
|
@@ -1803,7 +1855,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
|
|
|
// 如果是最后一个文件且有待组卷文件,则组卷
|
|
|
if (archiveFilesSize == archiveFiles.size() && !waitArchiveFiles.isEmpty()) {
|
|
|
- createArchive3(waitArchiveFiles, node, archivesSize);
|
|
|
+ createArchive3_new(waitArchiveFiles, node, archivesSize,nameInfo);
|
|
|
waitArchiveFiles.clear();
|
|
|
archivesSize = 0;
|
|
|
}
|
|
@@ -1822,7 +1874,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
|
|
|
// 最后一个文件直接组卷
|
|
|
if (archiveFilesSize == archiveFiles.size()) {
|
|
|
- createArchive3(waitArchiveFiles, node, archivesSize);
|
|
|
+ createArchive3_new(waitArchiveFiles, node, archivesSize,nameInfo);
|
|
|
waitArchiveFiles.clear();
|
|
|
archivesSize = 0;
|
|
|
}
|
|
@@ -1831,7 +1883,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
else if (checkStatus == 1) {
|
|
|
waitArchiveFiles.add(file);
|
|
|
archivesSize = tempTotalSize;
|
|
|
- createArchive3(waitArchiveFiles, node, archivesSize);
|
|
|
+ createArchive3_new(waitArchiveFiles, node, archivesSize,nameInfo);
|
|
|
|
|
|
// 重置待组卷集合
|
|
|
waitArchiveFiles.clear();
|
|
@@ -1841,7 +1893,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
else if (checkStatus == -1) {
|
|
|
if (!waitArchiveFiles.isEmpty()) {
|
|
|
// 先将现有集合组卷(不含当前文件)
|
|
|
- createArchive3(waitArchiveFiles, node, archivesSize);
|
|
|
+ createArchive3_new(waitArchiveFiles, node, archivesSize,nameInfo);
|
|
|
|
|
|
// 新建集合存放当前文件
|
|
|
waitArchiveFiles.clear();
|
|
@@ -1850,7 +1902,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
|
|
|
// 最后一个文件直接组卷
|
|
|
if (archiveFilesSize == archiveFiles.size()) {
|
|
|
- createArchive3(waitArchiveFiles, node, archivesSize);
|
|
|
+ createArchive3_new(waitArchiveFiles, node, archivesSize,nameInfo);
|
|
|
waitArchiveFiles.clear();
|
|
|
archivesSize = 0;
|
|
|
}
|
|
@@ -1858,7 +1910,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
// 当前文件单独成卷
|
|
|
waitArchiveFiles.add(file);
|
|
|
archivesSize = filePage;
|
|
|
- createArchive3(waitArchiveFiles, node, archivesSize);
|
|
|
+ createArchive3_new(waitArchiveFiles, node, archivesSize,nameInfo);
|
|
|
|
|
|
// 重置集合
|
|
|
waitArchiveFiles.clear();
|
|
@@ -2171,6 +2223,10 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
private void archiveAutoMethodGroup(List<ArchiveFile> archiveFiles, Long archiveAutoGroupId, Long projectId,IArchiveNameService.NodeHierarchy nameInfo) {
|
|
|
if (archiveFiles.size()==0) {
|
|
|
return;
|