diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java index 93d06e3..c17a5e9 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/insreport/controller/InspectionReportController.java @@ -39,6 +39,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import java.util.zip.Adler32; import java.util.zip.CheckedOutputStream; import java.util.zip.ZipEntry; @@ -98,15 +99,17 @@ public class InspectionReportController extends BaseController { Map imgMap = getImgMap(); List inspectionReportList = inspectionReportService.selectByAllList(inspectionReport); logger.info("[REPORT] inspectionReportList size: {}", inspectionReportList.size()); - for (InspectionReport report : inspectionReportList) { - InspectionReportData inspectionReportData = new InspectionReportData(); - inspectionReportData.setReportId(String.valueOf(report.getLineId())); - List inspectionReportDataList = - inspectionReportDataService.selectInspectionReportDataList(inspectionReportData); - if (!inspectionReportDataList.isEmpty()) { - report.setInfo(inspectionReportDataList); + InspectionReportData reportParam = new InspectionReportData(); + Map map = new HashMap<>(); + String[] reportIds = inspectionReportList.stream().map((item) -> item.getLineId().toString()).toArray(String[]::new); + map.put("reportIds", reportIds); + reportParam.setParams(map); + List inspectionReportDataList = inspectionReportDataService.selectInspectionReportDataList(reportParam); + for(InspectionReport report : inspectionReportList) { + List infoList = inspectionReportDataList.stream().filter(item -> item.getReportId().equals(report.getLineId())).collect(Collectors.toList()); + if(infoList != null && !infoList.isEmpty()) { + report.setInfo(infoList); } - for (InspectionReportData reportData : inspectionReportDataList) { if (imgMap != null && imgMap.get((reportData.getLineId()).trim()) != null) { reportData.setInspectionImg(imgMap.get((reportData.getLineId()).trim())); diff --git a/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml b/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml index 0dedcfc..96a08bb 100644 --- a/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml +++ b/inspect-main/inspect-main-task/src/main/resources/mapper/task/InspectionReportDataMapper.xml @@ -57,6 +57,11 @@ and point_status = #{pointStatus} and inspection_img = #{inspectionImg} and report_id = #{reportId} + and report_id in + + #{reportId} + +