From 774588f06d5a3e5451f5d008f8b2d80282459559 Mon Sep 17 00:00:00 2001 From: yzj <2239426921@qq.com> Date: Fri, 20 May 2022 01:07:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=8A=E4=BC=A0=E5=8D=B7?= =?UTF-8?q?=E5=86=85=E6=96=87=E4=BB=B6=E7=9A=84=E5=9B=BE=E7=89=87=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ArchiveImportServiceImpl.java | 88 +++++++++++++------ 1 file changed, 62 insertions(+), 26 deletions(-) diff --git a/ruoyi-archives/src/main/java/com/ruoyi/archives/service/impl/ArchiveImportServiceImpl.java b/ruoyi-archives/src/main/java/com/ruoyi/archives/service/impl/ArchiveImportServiceImpl.java index a4ebea45..bbee584f 100644 --- a/ruoyi-archives/src/main/java/com/ruoyi/archives/service/impl/ArchiveImportServiceImpl.java +++ b/ruoyi-archives/src/main/java/com/ruoyi/archives/service/impl/ArchiveImportServiceImpl.java @@ -45,6 +45,7 @@ import java.util.*; import java.util.concurrent.LinkedTransferQueue; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @@ -262,7 +263,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getHTAction()); + List upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getHTAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, ContractFileModel.class, 2, 2); //去重 @@ -293,7 +294,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,upladDown); } List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { @@ -376,7 +377,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getSXAction()); + List upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getSXAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, MediaFileModel.class, 2, 2); @@ -414,7 +415,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,upladDown); } List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { @@ -490,7 +491,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传所有相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getJJAction()); + List upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getJJAction()); List writFileModels = ExcelUtil.readExcel(file, CapitalFileModel.class, 2, 2); //去重 @@ -540,7 +541,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,upladDown); } List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { @@ -624,7 +625,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getZXXMAction()); + List upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getZXXMAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, WSFileModel.class, 2, 2); //去重 @@ -659,7 +660,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,upladDown); } List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { @@ -734,12 +735,12 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getNJAction()); + List uploadDown=uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getNJAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, CommonFileModel.class, 2, 2); writFileModels=writFileModels.stream().distinct().collect(Collectors.toList()); ArrayList archiveFileInfos = new ArrayList<>(writFileModels.size()); - this.importFiles(writFileModels,file,stringArchiveRecordInfoMap,archiveFileInfos); + this.importFiles(writFileModels,file,stringArchiveRecordInfoMap,archiveFileInfos,uploadDown); List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { //再次查询 @@ -820,7 +821,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getZXAction()); + List upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getZXAction()); //读取文件 //读取文件 List writFileModels = ExcelUtil.readExcel(file, WSFileModel.class, 2, 2); @@ -856,7 +857,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,upladDown); } List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { @@ -933,12 +934,12 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getSTAction()); + List uploadDown=uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getSTAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, CommonFileModel.class, 2, 2); writFileModels=writFileModels.stream().distinct().collect(Collectors.toList()); ArrayList archiveFileInfos = new ArrayList<>(writFileModels.size()); - this.importFiles(writFileModels,file,stringArchiveRecordInfoMap,archiveFileInfos); + this.importFiles(writFileModels,file,stringArchiveRecordInfoMap,archiveFileInfos,uploadDown); List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { //再次查询 @@ -1013,11 +1014,11 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getJYAction()); + List uploadDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getJYAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, CommonFileModel.class, 2, 2); ArrayList archiveFileInfos = new ArrayList<>(writFileModels.size()); - this.importFiles(writFileModels,file,stringArchiveRecordInfoMap,archiveFileInfos); + this.importFiles(writFileModels,file,stringArchiveRecordInfoMap,archiveFileInfos,uploadDown); List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { //再次查询 @@ -1102,7 +1103,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { } Map stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); //上传相关的文件 - uploadAllFiles(stringArchiveRecordInfoMap,ArchiveUploadConfig.getWSAction()); + List upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getWSAction()); //读取文件 List writFileModels = ExcelUtil.readExcel(file, WSFileModel.class, 2, 2); //去重 @@ -1137,7 +1138,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,upladDown); } List keyValues=new ArrayList<>(); for (ArchiveRecordInfo archiveRecordInfo : list) { @@ -1241,7 +1242,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { /* 读取导入卷内文件 */ - private void importFiles (List fileModels,MultipartFile file, Map stringArchiveRecordInfoMap, ArrayList archiveFileInfos) throws Exception { + private void importFiles (List fileModels,MultipartFile file, Map stringArchiveRecordInfoMap, ArrayList archiveFileInfos,List list) throws Exception { if (fileModels!=null&&fileModels.size()>0){ for (int i = 0; i < fileModels.size(); i++) { CommonFileModel tmp = fileModels.get(i); @@ -1267,10 +1268,37 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { archiveFileInfo.setStatus("0"); archiveFileInfos.add(archiveFileInfo); } - batchSaveFileInfoList(archiveFileInfos); + batchSaveFileInfoList(archiveFileInfos,list); + } } + /** + * @Description: //修改已上传的FileUploadList的类型为file + * @param archiveFileInfos 已上传的卷内文件 + * @param list 已上传的FileUploadList + * @Date: 2022/5/19 23:33 + */ + private void changeRecordToFile(List archiveFileInfos,List list){ + + Map >map=list.stream().collect(Collectors.groupingBy(FileUploadList::getFileId)); + archiveFileInfos.forEach(info->{ + Long arId=Long.valueOf(info.getArId()); + if (map.containsKey(arId)){ + map.get(arId).stream().filter(fileUploadList -> { + return fileUploadList.getFileName().substring(0, 3).equals(info.getArSort()); + }).map(fileUploadList -> { + fileUploadList.setFileId(info.getId()); + fileUploadList.setFileType("file"); + return fileUploadList; + }).collect(Collectors.toList()).forEach( fileUploadList -> { + fileUploadListService.updateFileUploadList(fileUploadList); + }); + + } + }); + } + /** * 判断对象是否有空值 * @param obj @@ -1330,8 +1358,14 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { * 批量保存卷内目录信息 * @param archiveFileInfoList */ - private void batchSaveFileInfoList(List archiveFileInfoList){ + private void batchSaveFileInfoList(List archiveFileInfoList,List list){ + + archiveFileInfoService.batchSaveFileInfoList(archiveFileInfoList); + if (list!=null&&list.size()>0){ + changeRecordToFile(archiveFileInfoList,list); + } + } /* 校验起始日期 @@ -1475,7 +1509,8 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { * @param byAction 根据ArchiveRecordInfo1的那个字段读取文件 * @Date: 2022/5/18 22:32 */ - public void uploadAllFiles(Map stringArchiveRecordInfoMap,String byAction){ + public List uploadAllFiles(Map stringArchiveRecordInfoMap,String byAction){ + List list=new ArrayList<>(); //读取文件 log.info("准备读取文件*********************************"); final Map> fils = getFils(); @@ -1486,13 +1521,13 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { if (fils.containsKey(key)){ fils.get(key).forEach( f->{ log.info("开始上传相关文件============="); - FileUploadList instance = FileUpladFactory.getInstance(info.getArchiveScope().toString(), info.getArchiveCategory(), info.getId(), info.getStorageTime()); - uploadFile(instance,new File(f)); + FileUploadList instance = FileUpladFactory.getInstance(info.getArchiveScope()==null?null:info.getArchiveScope().toString(), info.getArchiveCategory(), info.getId(), info.getStorageTime()); + list.add(uploadFile(instance,new File(f))); }); } }); } - + return list; } /* * @Description:单个上传 @@ -1500,7 +1535,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { * @param file 需要上传的文件 * @Date: 2022/5/18 22:33 */ - public void uploadFile(FileUploadList fileUploadList,File file){ + public FileUploadList uploadFile(FileUploadList fileUploadList,File file){ String dateUrl=fileUploadList.getPath(); String finallyPath=ArchiveUploadConfig.getPath(); String path; @@ -1519,6 +1554,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { }catch (Exception e){ e.printStackTrace(); } + return fileUploadList; } /* * @Description:获取从本地读取的文件信息 key:为字段名 value:为所对应的文件的路径