From a6bb627c3f76b0d857a7b45fad09b35933a69d30 Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Sat, 9 May 2026 08:19:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=86=E5=A4=87=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E8=AF=A6=E6=83=85=E7=9A=84=E5=9B=BE=E7=89=87=E4=BB=8E?= =?UTF-8?q?ID=E6=94=B9=E4=B8=BAURL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...PdiInspectionResultsControllerService.java | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java index 97b45dc0..207e4049 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java @@ -1,5 +1,6 @@ package com.nflg.qms.admin.service; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.exception.NflgException; @@ -516,26 +517,51 @@ public class QmsPdiInspectionResultsControllerService { .collect(Collectors.toMap(QmsPdiDetectionRulesDeliveryItem::getId, di -> di, (a, b) -> a)); } + // 收集所有图片ID + Set allImageIds = results.stream() + .map(QmsPdiInspectionResults::getInspectionItemImage) + .filter(StrUtil::isNotBlank) + .flatMap(imageStr -> Arrays.stream(imageStr.split(","))) + .filter(StrUtil::isNotBlank) + .map(String::trim) + .map(Long::valueOf) + .collect(Collectors.toSet()); + + // 批量查询图片文件信息 + Map imageUrlMap = new HashMap<>(); + if (!allImageIds.isEmpty()) { + List fileRecords = fileUploadRecordService.lambdaQuery() + .in(FileUploadRecord::getId, allImageIds) + .list(); + imageUrlMap = fileRecords.stream() + .collect(Collectors.toMap(FileUploadRecord::getId, FileUploadRecord::getUrl, (a, b) -> a)); + } + // 构建返回列表 - Map finalMap = deliveryItemMap; + Map finalDeliveryItemMap = deliveryItemMap; + Map finalImageUrlMap = imageUrlMap; List detailList = new ArrayList<>(); for (QmsPdiInspectionResults r : results) { QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO vo = new QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO(); vo.setDeliveryItemId(r.getInspectionItemId()); // checklist 从 delivery_item 获取 - QmsPdiDetectionRulesDeliveryItem di = finalMap.get(r.getInspectionItemId()); + QmsPdiDetectionRulesDeliveryItem di = finalDeliveryItemMap.get(r.getInspectionItemId()); if (di != null) { vo.setChecklist(di.getChecklist()); } - // inspectionItemImage 按逗号拆分,直接返回URL列表 + // inspectionItemImage 按逗号拆分,将ID转换为URL String imageStr = r.getInspectionItemImage(); - if (imageStr != null && !imageStr.isEmpty()) { - vo.setInspectionItemImage(Arrays.stream(imageStr.split(",")) + if (StrUtil.isNotBlank(imageStr)) { + List imageUrls = Arrays.stream(imageStr.split(",")) .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.toList())); + .filter(StrUtil::isNotBlank) + .map(Long::valueOf) + .map(finalImageUrlMap::get) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + vo.setInspectionItemImage(imageUrls); } else { vo.setInspectionItemImage(List.of()); }