修改准备发货详情的图片从ID改为URL

This commit is contained in:
funny 2026-05-09 08:19:57 +08:00
parent e8d466b071
commit a6bb627c3f
1 changed files with 33 additions and 7 deletions

View File

@ -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<Long> 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<Long, String> imageUrlMap = new HashMap<>();
if (!allImageIds.isEmpty()) {
List<FileUploadRecord> fileRecords = fileUploadRecordService.lambdaQuery()
.in(FileUploadRecord::getId, allImageIds)
.list();
imageUrlMap = fileRecords.stream()
.collect(Collectors.toMap(FileUploadRecord::getId, FileUploadRecord::getUrl, (a, b) -> a));
}
// 构建返回列表
Map<Long, QmsPdiDetectionRulesDeliveryItem> finalMap = deliveryItemMap;
Map<Long, QmsPdiDetectionRulesDeliveryItem> finalDeliveryItemMap = deliveryItemMap;
Map<Long, String> finalImageUrlMap = imageUrlMap;
List<QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO> 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<String> 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());
}