认账-参数项收集-填写人导出-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.cert.template.service.IParamsInfoPublishEOService;
|
||||||
import com.jero.modules.feishu.service.IFeishuService;
|
import com.jero.modules.feishu.service.IFeishuService;
|
||||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
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.message.websocket.WebSocket;
|
||||||
import com.jero.modules.ocr.service.WebSocketServer;
|
import com.jero.modules.ocr.service.WebSocketServer;
|
||||||
import com.jero.modules.ocr.util.LineHumpUtil;
|
import com.jero.modules.ocr.util.LineHumpUtil;
|
||||||
@@ -2443,6 +2442,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
@Override
|
@Override
|
||||||
public void exportDre(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request) {
|
public void exportDre(ParamsCollectManifestVO paramsCollectManifestVO, HttpServletResponse response, HttpServletRequest request) {
|
||||||
OutputStream os = null;
|
OutputStream os = null;
|
||||||
|
FileInputStream fis = null;
|
||||||
OutputStream excelOS = null;
|
OutputStream excelOS = null;
|
||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
String fileOriName = "参数项清单导出待填写数据";
|
String fileOriName = "参数项清单导出待填写数据";
|
||||||
@@ -2452,6 +2452,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getExportName())) {
|
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getExportName())) {
|
||||||
fileOriName = 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{
|
try{
|
||||||
String fileName = fileOriName + ".xlsx";
|
String fileName = fileOriName + ".xlsx";
|
||||||
@@ -2531,11 +2538,24 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度
|
sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<OSSFile> allRelevFileList = new ArrayList<>();
|
||||||
|
Map<String, String> fileNowPathMap = new HashMap<>();
|
||||||
|
|
||||||
//放文字内容
|
//放文字内容
|
||||||
int allRow = 2;
|
int allRow = 2;
|
||||||
for(int rowNum = 0;rowNum < allParamsInfoList.size(); rowNum++){
|
for(int rowNum = 0;rowNum < allParamsInfoList.size(); rowNum++){
|
||||||
Map<String, Object> exportDto = allParamsInfoList.get(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++;
|
allRow++;
|
||||||
XSSFRow row1 = sheetItems.createRow(allRow);
|
XSSFRow row1 = sheetItems.createRow(allRow);
|
||||||
for(int cellNum = 0; cellNum < fieldList.size(); cellNum++){
|
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("/","_");
|
String repFileName = fileName.replaceAll("/","_");
|
||||||
|
excelOS = new FileOutputStream(fileNowPath + File.separator + repFileName);
|
||||||
response.setHeader("Content-Disposition",
|
response.setHeader("Content-Disposition",
|
||||||
"attachment; filename=\""+ ReadExcel.encodeFileName(repFileName+".xlsx", request) +"\"");
|
"attachment; filename=\""+ ReadExcel.encodeFileName(fileOriName+".zip", request) +"\"");
|
||||||
response.setContentType("application/force-download");
|
response.setContentType("application/force-download");
|
||||||
response.flushBuffer();
|
response.flushBuffer();
|
||||||
os = response.getOutputStream();
|
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) {
|
} catch (Exception e) {
|
||||||
if (e instanceof JeroBootException){
|
if (e instanceof JeroBootException){
|
||||||
throw new JeroBootException(e.getMessage());
|
throw new JeroBootException(e.getMessage());
|
||||||
@@ -2569,6 +2605,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
IOUtils.closeQuietly(os);
|
IOUtils.closeQuietly(os);
|
||||||
|
IOUtils.closeQuietly(fis);
|
||||||
try {
|
try {
|
||||||
if (workbook != null) {
|
if (workbook != null) {
|
||||||
workbook.close();
|
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> isMustMap = ParamsIsMustEnum.toMapForExport(cut);
|
||||||
Map<String,String> controlVerifyMap = ControlVerifyEnum.toMapForExport(cut);
|
Map<String,String> controlVerifyMap = ControlVerifyEnum.toMapForExport(cut);
|
||||||
Map<String,String> controlTypeMap = ControlTypeEnum.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 controlType = (String) record1.get("control_type");
|
||||||
String controlVerify = (String) record1.get("control_verify");
|
String controlVerify = (String) record1.get("control_verify");
|
||||||
String isMust = (String) record1.get("is_must");
|
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("is_must", isMustMap.get(isMust));
|
||||||
record1.put("control_type", controlTypeMap.get(controlType));
|
record1.put("control_type", controlTypeMap.get(controlType));
|
||||||
record1.put("control_verify", controlVerifyMap.get(controlVerify));
|
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);
|
result.add(record1);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
Reference in New Issue
Block a user