|
@@ -236,6 +236,8 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
@Override
|
|
@Override
|
|
public void splitArchvies(Long projectId){
|
|
public void splitArchvies(Long projectId){
|
|
baseMapper.splitArchvies(projectId);
|
|
baseMapper.splitArchvies(projectId);
|
|
|
|
+ //TODO 清除案卷封面等pdf
|
|
|
|
+ //TODO 清除文件页面pdf
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -397,7 +399,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
if(StringUtils.isEmpty(treeCode)){
|
|
if(StringUtils.isEmpty(treeCode)){
|
|
treeCode="owner";
|
|
treeCode="owner";
|
|
}
|
|
}
|
|
- String fileNumberPrefix=node.getFileNumberPrefix(); //档号前缀在节点设置
|
|
|
|
|
|
+ //String fileNumberPrefix=node.getFileNumberPrefix(); //档号前缀在节点设置
|
|
Integer fileNumberSuffix = null;//档号后缀按立卷单位生成流水号
|
|
Integer fileNumberSuffix = null;//档号后缀按立卷单位生成流水号
|
|
if(indexMap.containsKey(treeCode)){
|
|
if(indexMap.containsKey(treeCode)){
|
|
fileNumberSuffix = indexMap.get(treeCode);
|
|
fileNumberSuffix = indexMap.get(treeCode);
|
|
@@ -407,7 +409,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
indexMap.put(treeCode,fileNumberSuffix+1);
|
|
indexMap.put(treeCode,fileNumberSuffix+1);
|
|
}
|
|
}
|
|
|
|
|
|
- archivesAuto.setFileNumber(fileNumberPrefix+fileNumberSuffix);//档号
|
|
|
|
|
|
+ archivesAuto.setFileNumber(fileNumberSuffix.toString());//档号
|
|
//archivesAuto.setMicron();//微缩号
|
|
//archivesAuto.setMicron();//微缩号
|
|
archivesAuto.setUnit(unit);//立卷单位
|
|
archivesAuto.setUnit(unit);//立卷单位
|
|
//archivesAuto.setQuantity();//数量/单位
|
|
//archivesAuto.setQuantity();//数量/单位
|
|
@@ -487,7 +489,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
//TODO wbs节点
|
|
//TODO wbs节点
|
|
//不存在跨节点 项目名称+案卷题名规则(在后台归档目录树设置的)+后缀
|
|
//不存在跨节点 项目名称+案卷题名规则(在后台归档目录树设置的)+后缀
|
|
//存在跨节点 获取当前所有节点的父级节点题名规则+所有同层级跨节点并卷的节点名称拼接+后缀
|
|
//存在跨节点 获取当前所有节点的父级节点题名规则+所有同层级跨节点并卷的节点名称拼接+后缀
|
|
- return archiveName;
|
|
|
|
|
|
+ return archiveName+node.getArchiveNameSuffix();
|
|
}
|
|
}
|
|
private String builtFilePageNo(ArchivesAuto archivesAuto,List<ArchiveFile> waitArchiveFiles){
|
|
private String builtFilePageNo(ArchivesAuto archivesAuto,List<ArchiveFile> waitArchiveFiles){
|
|
//生成文件对应的页码,返回url
|
|
//生成文件对应的页码,返回url
|
|
@@ -1192,29 +1194,53 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 从案卷删除文件
|
|
|
|
|
|
+ * 从案卷删除文件,兵重新生成封面和打码文件
|
|
* @param ids
|
|
* @param ids
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public boolean removeFiles(String ids) {
|
|
|
|
|
|
+ public boolean removeFiles(String ids,Long archiveId) {
|
|
List<Long> fids = Func.toLongList(ids);
|
|
List<Long> fids = Func.toLongList(ids);
|
|
- baseMapper.splitFiles(fids);
|
|
|
|
|
|
|
|
- LambdaQueryWrapper<ArchiveFile> wrapper = Wrappers.lambdaQuery();
|
|
|
|
- wrapper.in(ArchiveFile::getId, fids);
|
|
|
|
|
|
|
|
- // 调用 listWrappers() 方法来获取符合条件的 ArchiveFile 对象列表
|
|
|
|
- List<ArchiveFile> files = archiveFileClient.listWrappers(wrapper);
|
|
|
|
|
|
+ ArchivesAuto archivesAuto = this.getById(archiveId);
|
|
|
|
+
|
|
|
|
+ List<String> strIds = new ArrayList<>();
|
|
|
|
+ strIds.add(archiveId.toString());
|
|
|
|
+ List<ArchiveFile> files = archiveFileClient.getAllArchiveFileByArchiveIds(strIds);
|
|
|
|
+ List<ArchiveFile> waitArchiveFiles = new ArrayList<>();
|
|
if (files != null && files.size() > 0) {
|
|
if (files != null && files.size() > 0) {
|
|
List<String> removeFiles = new ArrayList<>();
|
|
List<String> removeFiles = new ArrayList<>();
|
|
- //删除打码文件
|
|
|
|
for (ArchiveFile file : files) {
|
|
for (ArchiveFile file : files) {
|
|
- //打码的也要删除
|
|
|
|
|
|
+
|
|
if (StringUtils.isNotBlank(file.getPdfPageUrl())){
|
|
if (StringUtils.isNotBlank(file.getPdfPageUrl())){
|
|
removeFiles.add(FileUtils.getAliYunSubUrl(file.getPdfPageUrl()));
|
|
removeFiles.add(FileUtils.getAliYunSubUrl(file.getPdfPageUrl()));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (!fids.contains(file.getId())) {
|
|
|
|
+ waitArchiveFiles.add(file);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ //删除文件
|
|
iossClient.removeFiles(removeFiles);
|
|
iossClient.removeFiles(removeFiles);
|
|
|
|
+
|
|
|
|
+ //删除不用的案卷
|
|
|
|
+ if (fids.size() > 0) {
|
|
|
|
+ baseMapper.splitFiles(fids);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Long archivesAutoId = archivesAuto.getId();
|
|
|
|
+
|
|
|
|
+ //封面和生成文件页码
|
|
|
|
+ archiveAutoPdfService.buildArchiveFrontPdfs(archivesAuto.getProjectId(),archivesAuto,waitArchiveFiles);
|
|
|
|
+
|
|
|
|
+ builtFilePageNo(archivesAuto,waitArchiveFiles);//生成文件页码
|
|
|
|
+
|
|
|
|
+ for(ArchiveFile file:waitArchiveFiles){
|
|
|
|
+ file.setArchiveId(archivesAutoId);//设置文件所属案卷
|
|
|
|
+ file.setIsArchive(1);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ archiveFileClient.updateArchiveFileForCreateArchive(waitArchiveFiles);
|
|
}
|
|
}
|
|
|
|
|
|
return true;
|
|
return true;
|
|
@@ -1303,6 +1329,21 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void test(){
|
|
|
|
+ String ids = "1654406079229165569";
|
|
|
|
+
|
|
|
|
+ List<Long> fids = Func.toLongList(ids);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ LambdaQueryWrapper<ArchiveFile> wrapper = Wrappers.lambdaQuery();
|
|
|
|
+ wrapper.in(ArchiveFile::getId, fids);
|
|
|
|
+
|
|
|
|
+ // 调用 listWrappers() 方法来获取符合条件的 ArchiveFile 对象列表
|
|
|
|
+ List<ArchiveFile> files = archiveFileClient.listbyIds(fids);
|
|
|
|
+ System.out.println();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|