认账-参数项收集-填写人导出-bug62129
This commit is contained in:
+87
-3
@@ -41,7 +41,6 @@ import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOSe
|
||||
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
import com.jero.modules.message.websocket.WebSocket;
|
||||
import com.jero.modules.ocr.service.WebSocketServer;
|
||||
import com.jero.modules.ocr.util.LineHumpUtil;
|
||||
@@ -2443,6 +2442,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
@Override
|
||||
public void exportDre(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request) {
|
||||
OutputStream os = null;
|
||||
FileInputStream fis = null;
|
||||
OutputStream excelOS = null;
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
String fileOriName = "参数项清单导出待填写数据";
|
||||
@@ -2452,6 +2452,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getExportName())) {
|
||||
fileOriName = paramsCollectManifestVO.getExportName();
|
||||
}
|
||||
//创建临时文件夹
|
||||
String fileNowPath = uploadpath + "/tempZip/" + UUID.randomUUID().toString().replace("-","") + File.separator + fileOriName;
|
||||
File nowFile = new File(fileNowPath);
|
||||
if (nowFile.exists()) {
|
||||
nowFile.delete();
|
||||
}
|
||||
nowFile.mkdirs();
|
||||
|
||||
try{
|
||||
String fileName = fileOriName + ".xlsx";
|
||||
@@ -2531,11 +2538,24 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度
|
||||
}
|
||||
|
||||
List<OSSFile> allRelevFileList = new ArrayList<>();
|
||||
Map<String, String> fileNowPathMap = new HashMap<>();
|
||||
|
||||
//放文字内容
|
||||
int allRow = 2;
|
||||
for(int rowNum = 0;rowNum < allParamsInfoList.size(); rowNum++){
|
||||
Map<String, Object> exportDto = allParamsInfoList.get(rowNum);
|
||||
|
||||
// 处理文件
|
||||
List<OSSFile> fileList = (List<OSSFile>) exportDto.get("fileList");
|
||||
if (CollectionUtil.isNotEmpty(fileList)) {
|
||||
allRelevFileList.addAll(fileList);
|
||||
fileList.forEach(file -> {
|
||||
fileNowPathMap.put(file.getId(), fileNowPath + File.separator + exportDto.get("nio_number"));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
allRow++;
|
||||
XSSFRow row1 = sheetItems.createRow(allRow);
|
||||
for(int cellNum = 0; cellNum < fieldList.size(); cellNum++){
|
||||
@@ -2548,13 +2568,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
|
||||
}
|
||||
|
||||
//下载关联文件内容
|
||||
if (allRelevFileList != null && !allRelevFileList.isEmpty()) {
|
||||
allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList());
|
||||
downLoadFileList(allRelevFileList,fileNowPathMap);
|
||||
}
|
||||
|
||||
String repFileName = fileName.replaceAll("/","_");
|
||||
excelOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
|
||||
response.setHeader("Content-Disposition",
|
||||
"attachment; filename=\""+ ReadExcel.encodeFileName(repFileName+".xlsx", request) +"\"");
|
||||
"attachment; filename=\""+ ReadExcel.encodeFileName(fileOriName+".zip", request) +"\"");
|
||||
response.setContentType("application/force-download");
|
||||
response.flushBuffer();
|
||||
os = response.getOutputStream();
|
||||
workbook.write(os);
|
||||
workbook.write(excelOS);
|
||||
excelOS.flush();
|
||||
excelOS.close();
|
||||
ZipUtil.zip(fileNowPath,fileNowPath+".zip");
|
||||
fis = new FileInputStream(fileNowPath+".zip");
|
||||
int len = 0;
|
||||
while ((len = fis.read()) != -1) {
|
||||
os.write(len);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
if (e instanceof JeroBootException){
|
||||
throw new JeroBootException(e.getMessage());
|
||||
@@ -2569,6 +2605,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
} finally {
|
||||
IOUtils.closeQuietly(os);
|
||||
IOUtils.closeQuietly(fis);
|
||||
try {
|
||||
if (workbook != null) {
|
||||
workbook.close();
|
||||
@@ -3168,6 +3205,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
|
||||
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询所有配置列
|
||||
|
||||
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
|
||||
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据
|
||||
|
||||
Map<String,String> isMustMap = ParamsIsMustEnum.toMapForExport(cut);
|
||||
Map<String,String> controlVerifyMap = ControlVerifyEnum.toMapForExport(cut);
|
||||
Map<String,String> controlTypeMap = ControlTypeEnum.toMapForExport(cut);
|
||||
@@ -3178,11 +3220,53 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
String controlType = (String) record1.get("control_type");
|
||||
String controlVerify = (String) record1.get("control_verify");
|
||||
String isMust = (String) record1.get("is_must");
|
||||
String paramsCollectManifestId = (String) record1.get("id");
|
||||
String nioNumber = (String) record1.get("nio_number");
|
||||
|
||||
record1.put("is_must", isMustMap.get(isMust));
|
||||
record1.put("control_type", controlTypeMap.get(controlType));
|
||||
record1.put("control_verify", controlVerifyMap.get(controlVerify));
|
||||
|
||||
// 配置列
|
||||
if (CollectionUtil.isNotEmpty(paramsConfigEOList)) {
|
||||
List<OSSFile> fileList = new ArrayList<>();
|
||||
|
||||
paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置
|
||||
|
||||
String paramsConfigId = paramsConfigEO.getId();
|
||||
List<ParamsConfigDataEO> paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e-> paramsConfigId.equals(e.getParamsConfigId()) && paramsCollectManifestId.equals(e.getParamsCollectManifestId())).collect(Collectors.toList()); // 参数配置数据
|
||||
StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据
|
||||
if (CollectionUtil.isNotEmpty(paramsConfigDataEOS)) {
|
||||
ParamsConfigDataEO paramsConfigDataEO = paramsConfigDataEOS.get(0);
|
||||
if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
|
||||
configDataBuilder.append(paramsConfigDataEO.getTextData()).append("#");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) {
|
||||
configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")).append("#");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) {
|
||||
List<OSSFile> ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId());
|
||||
if (CollectionUtil.isNotEmpty(ossFileList)) {
|
||||
configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()).append("#");
|
||||
|
||||
fileList.addAll(ossFileList);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
String configData = configDataBuilder.toString();
|
||||
if (configData.contains("#")) {
|
||||
configData = configData.substring(0, configData.lastIndexOf("#"));
|
||||
}
|
||||
|
||||
record1.put(paramsConfigEO.getId(), configData);
|
||||
});
|
||||
|
||||
record1.put("fileList", fileList);
|
||||
}
|
||||
|
||||
|
||||
result.add(record1);
|
||||
}
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user