From e9a6c48804c46d6a06e891406ccc265ae6d320c9 Mon Sep 17 00:00:00 2001 From: wangguangyuan Date: Mon, 22 Sep 2025 11:16:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=8D=E5=85=B4=E7=AB=99?= =?UTF-8?q?=E6=9C=BA=E5=99=A8=E7=8B=97=E6=97=A0=E4=BA=BA=E6=9C=BA=E4=B8=8B?= =?UTF-8?q?=E5=8F=91=E5=91=A8=E6=9C=9F=EF=BC=8C=E9=97=B4=E9=9A=94=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=B8=8D=E6=89=A7=E8=A1=8C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PatrolTaskResultMainController.java | 72 +++++++++---------- .../task/controller/PatrolTaskController.java | 2 +- 2 files changed, 34 insertions(+), 40 deletions(-) diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java index afbbc8f..b2b8295 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/resultmain/controller/PatrolTaskResultMainController.java @@ -479,55 +479,36 @@ public class PatrolTaskResultMainController extends BaseController { lineIds = lineIds.stream().distinct().collect(Collectors.toList()); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment; filename=\"InspectionReport_" + System.currentTimeMillis() + ".xlsx\""); -// InspectionReport inspectionReport = new InspectionReport(); InspectionReport inspectionReport = patrolResultService.getInspectionReport(lineIds, patrolTaskResultMain); List inspectionReportDataList = inspectionReport.getReportDatalist(); List images = new ArrayList<>(); - Map imgSrcToFileNameMap = new HashMap<>(); for (InspectionReportData reportData : inspectionReportDataList) { -// InspectionReportImg inspectionReportImg = new InspectionReportImg(); -// inspectionReportImg.setReportInfoId(reportData.getLineId()); -// List reportImgList = -// inspectionReportImgService.selectInspectionReportImgList(inspectionReportImg); -// reportData.setReportImgList(reportImgList); List reportImgList = reportData.getReportImgList(); - int imgIndex = 1; // 每个报告数据项下的图片索引 for (InspectionReportImg reportImg : reportImgList) { if (StringUtils.isNotEmpty(reportImg.getImgSrc()) && reportImg.getImgType().equals("0")) { String originalImgSrc = reportImg.getImgSrc(); images.add(originalImgSrc); -// String pointName = reportData.getPointName(); -// pointName = (pointName != null) ? pointName : "unnamed"; -// // 提取文件扩展名 -// String extension = ""; -// int dotIndex = originalImgSrc.lastIndexOf('.'); -// if (dotIndex > 0) { -// extension = originalImgSrc.substring(dotIndex); -// } -// -// // 生成唯一文件名(包含 lineId 防止重复) -// String uniqueFileName = String.format("%s_%s_%d%s", -// originalImgSrc.split("_")[2], -// pointName, -// imgIndex, -// extension); -// -// imgSrcToFileNameMap.put(originalImgSrc, uniqueFileName); -// imgIndex++; } } } Map streamHashMap = new HashMap<>(); -// images.parallelStream().forEach(imagePath -> { -// byte[] shm = streamHashMap.get(imagePath); -// byte[] bytes = downloadAndCompressImage(imagePath); -// if (shm == null) { -// streamHashMap.put(imagePath, bytes); +// for (String algorithmBaseImagePath : images) { +// try { +// sftpClient.downLoad(algorithmBaseImagePath, (inputStream) -> { +// byte[] bytes = streamHashMap.get(algorithmBaseImagePath); +// byte[] byInputStream = getStringByInputStream(inputStream); +// if (bytes == null) { +// streamHashMap.put(algorithmBaseImagePath, byInputStream); +// } +// +// }); +// } catch (Exception e) { +// e.printStackTrace(); // } -// }); - for (String algorithmBaseImagePath : images) { +// } + images.parallelStream().forEach(algorithmBaseImagePath -> { try { sftpClient.downLoad(algorithmBaseImagePath, (inputStream) -> { byte[] bytes = streamHashMap.get(algorithmBaseImagePath); @@ -538,10 +519,10 @@ public class PatrolTaskResultMainController extends BaseController { }); } catch (Exception e) { + logger.info("报告导出下载图片失败: {}", algorithmBaseImagePath, e); e.printStackTrace(); } - } - + }); try (SXSSFWorkbook sxssfWorkbook = getSXSSFWorkbookShaoxing(inspectionReport, streamHashMap); ServletOutputStream outputStream = response.getOutputStream()) { sxssfWorkbook.write(outputStream); @@ -1567,7 +1548,7 @@ public class PatrolTaskResultMainController extends BaseController { } Map streamHashMap = new HashMap<>(); - for (String algorithmBaseImagePath : images) { + images.parallelStream().forEach(algorithmBaseImagePath -> { try { sftpClient.downLoad(algorithmBaseImagePath, (inputStream) -> { byte[] bytes = streamHashMap.get(algorithmBaseImagePath); @@ -1575,12 +1556,26 @@ public class PatrolTaskResultMainController extends BaseController { if (bytes == null) { streamHashMap.put(algorithmBaseImagePath, byInputStream); } - }); } catch (Exception e) { + logger.info("报告归档下载图片失败: {}", algorithmBaseImagePath, e); e.printStackTrace(); } - } + }); +// for (String algorithmBaseImagePath : images) { +// try { +// sftpClient.downLoad(algorithmBaseImagePath, (inputStream) -> { +// byte[] bytes = streamHashMap.get(algorithmBaseImagePath); +// byte[] byInputStream = getStringByInputStream(inputStream); +// if (bytes == null) { +// streamHashMap.put(algorithmBaseImagePath, byInputStream); +// } +// +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } // images.parallelStream().forEach(imagePath -> { // byte[] shm = streamHashMap.get(imagePath); // byte[] bytes = downloadAndCompressImage(imagePath); @@ -3511,7 +3506,6 @@ public class PatrolTaskResultMainController extends BaseController { sheet.addMergedRegion(new CellRangeAddress(7 + total, 7 + total + ((List) imgList).size(), 8, 8)); sheet.addMergedRegion(new CellRangeAddress(7 + total, 7 + total + ((List) imgList).size(), 9, 10)); sheet.addMergedRegion(new CellRangeAddress(7 + total, 7 + total + ((List) imgList).size(), 11, 11)); - new ArrayList(); Iterator var93 = ((List) imgList).iterator(); while (var93.hasNext()) { diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java index 4d66b17..ee130a0 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java @@ -1214,7 +1214,7 @@ public class PatrolTaskController extends BaseController { } private PatrolSendTask handleFixTypeTask(PatrolSendTask patrolSendTask) { - if (null != patrolSendTask.getFixedStartTime()) { + if (StringUtils.isNotEmpty(patrolSendTask.getFixedStartTime())) { patrolSendTask.setCycleEndTime(""); patrolSendTask.setCycleExecuteTime(""); patrolSendTask.setCycleMonth("");