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 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=86=E5=A4=87?= =?UTF-8?q?=E5=8F=91=E8=B4=A7=E8=AF=A6=E6=83=85=E7=9A=84=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=BB=8EID=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()); } From e3ff8ca9ff2d51ae3c5f55daea9c0d43c9670746 Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Sat, 9 May 2026 08:38:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=86=E5=A4=87?= =?UTF-8?q?=E5=8F=91=E8=B4=A7=E8=AF=A6=E6=83=85=E7=9A=84=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=BB=8EURL=E6=94=B9=E4=B8=BA=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...PdiInspectionResultsControllerService.java | 24 ++++++++++++------- .../pojo/vo/QmsPdiTaskRecordDetailVO.java | 4 ++-- 2 files changed, 18 insertions(+), 10 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 207e4049..175c151a 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 @@ -528,18 +528,18 @@ public class QmsPdiInspectionResultsControllerService { .collect(Collectors.toSet()); // 批量查询图片文件信息 - Map imageUrlMap = new HashMap<>(); + Map fileRecordMap = 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)); + fileRecordMap = fileRecords.stream() + .collect(Collectors.toMap(FileUploadRecord::getId, r -> r, (a, b) -> a)); } // 构建返回列表 Map finalDeliveryItemMap = deliveryItemMap; - Map finalImageUrlMap = imageUrlMap; + Map finalFileRecordMap = fileRecordMap; List detailList = new ArrayList<>(); for (QmsPdiInspectionResults r : results) { QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO vo = new QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO(); @@ -551,17 +551,25 @@ public class QmsPdiInspectionResultsControllerService { vo.setChecklist(di.getChecklist()); } - // inspectionItemImage 按逗号拆分,将ID转换为URL + // inspectionItemImage 按逗号拆分,将ID转换为FileDetailVO列表 String imageStr = r.getInspectionItemImage(); if (StrUtil.isNotBlank(imageStr)) { - List imageUrls = Arrays.stream(imageStr.split(",")) + List imageDetails = Arrays.stream(imageStr.split(",")) .map(String::trim) .filter(StrUtil::isNotBlank) .map(Long::valueOf) - .map(finalImageUrlMap::get) + .map(finalFileRecordMap::get) .filter(Objects::nonNull) + .map(file -> { + QmsPdiTaskRecordDetailVO.FileDetailVO fileVO = new QmsPdiTaskRecordDetailVO.FileDetailVO(); + fileVO.setId(file.getId()); + fileVO.setFileName(file.getFileName()); + fileVO.setFileType(file.getFileType()); + fileVO.setUrl(file.getUrl()); + return fileVO; + }) .collect(Collectors.toList()); - vo.setInspectionItemImage(imageUrls); + vo.setInspectionItemImage(imageDetails); } else { vo.setInspectionItemImage(List.of()); } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java index 0f93a154..317198e1 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java @@ -128,8 +128,8 @@ public class QmsPdiTaskRecordDetailVO { private String checklist; /** - * 现场图片/视频URL列表 + * 现场图片/视频详情列表 */ - private List inspectionItemImage; + private List inspectionItemImage; } }