市场认证清单-导出结果文件

This commit is contained in:
wangzhijiang
2023-04-03 10:42:42 +08:00
parent c31a46df14
commit 4de9342a24
@@ -12,6 +12,7 @@ import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oss.CosBootUtil;
import com.jero.modules.authDummy.entity.AuthDummyInventoryBaseEO;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEOEn;
@@ -36,6 +37,7 @@ import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
import com.jero.modules.split.common.FileUnZip;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.enums.SysCategoryValueTypeEnum;
import com.jero.modules.system.mapper.SysCategoryMapper;
import com.jero.modules.system.mapper.SysDictItemMapper;
import com.jero.modules.system.service.ISysDictItemService;
@@ -86,6 +88,8 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl.copyFile;
/**
* @Description: 认证虚拟清单详情表
* @Author: jero-boot
@@ -791,6 +795,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
String cut = authDummyInventoryInfoEO.getCut();
disposeData(dataList,cut);
String deliverableTemplateIds = dataList.stream().map(AuthDummyInventoryInfoEO::getDeliverableTemplate).collect(Collectors.joining(","));
List<OSSFile> fileInfos = this.iOSSFileService.getFileInfos(deliverableTemplateIds);
OutputStream os = null;
try {
response.setContentType("application/force-download");
@@ -808,6 +814,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}else{
excelName = baseList.get(0).getName() + " Market Certification List.xlsx";
}
this.exportFile(dataList,fileInfos,path);
//excel
OutputStream excelOS = new FileOutputStream(path + File.separator + excelName);
ExportParams exportParams = new ExportParams();
@@ -860,6 +868,45 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}
}
private void exportFile(List<AuthDummyInventoryInfoEO> dataList, List<OSSFile> fileInfos,String path) throws IOException{
if(fileInfos.size() != 0){
for(AuthDummyInventoryInfoEO aii : dataList){
String deliverableTemplate = aii.getDeliverableTemplate();
String serialNumber = aii.getSerialNumber();
if(StringUtils.isBlank(serialNumber)){
continue;
}
List<OSSFile> deliverableTemplateFileList = new ArrayList<>();
List<OSSFile> deliveryResultList = new ArrayList<>();
List<OSSFile> oSSFileList = new ArrayList<>();
if(StringUtils.isNotBlank(deliverableTemplate)){
deliverableTemplateFileList = fileInfos.stream().filter(e -> deliverableTemplate.contains(e.getId())).collect(Collectors.toList());
oSSFileList.addAll(deliverableTemplateFileList);
}
if(oSSFileList.size() != 0){
String fileNowPath = path + "/" + serialNumber;
File file = new File(fileNowPath);
if (file.exists()) {
file.delete();
}
file.mkdirs();
for (OSSFile ossFile : oSSFileList) {
String url = ossFile.getUrl();
if(StringUtils.isNotBlank(url)){
//判断文件是否存在
boolean b = CosBootUtil.doesObjectExist(url);
if(b){
InputStream download = CosBootUtil.download(url);
copyFile(download, fileNowPath + File.separator + ossFile.getFileName());
}
}
}
}
}
}
}
/**
* 数据导入
* @param file