Merge remote-tracking branch '惠信/qms/develop' into qms/develop

This commit is contained in:
曹鹏飞 2026-05-09 09:32:07 +08:00
commit c636e24ae3
2 changed files with 43 additions and 9 deletions

View File

@ -1,5 +1,6 @@
package com.nflg.qms.admin.service; package com.nflg.qms.admin.service;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.exception.NflgException; import com.nflg.wms.common.exception.NflgException;
@ -516,26 +517,59 @@ public class QmsPdiInspectionResultsControllerService {
.collect(Collectors.toMap(QmsPdiDetectionRulesDeliveryItem::getId, di -> di, (a, b) -> a)); .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, FileUploadRecord> fileRecordMap = new HashMap<>();
if (!allImageIds.isEmpty()) {
List<FileUploadRecord> fileRecords = fileUploadRecordService.lambdaQuery()
.in(FileUploadRecord::getId, allImageIds)
.list();
fileRecordMap = fileRecords.stream()
.collect(Collectors.toMap(FileUploadRecord::getId, r -> r, (a, b) -> a));
}
// 构建返回列表 // 构建返回列表
Map<Long, QmsPdiDetectionRulesDeliveryItem> finalMap = deliveryItemMap; Map<Long, QmsPdiDetectionRulesDeliveryItem> finalDeliveryItemMap = deliveryItemMap;
Map<Long, FileUploadRecord> finalFileRecordMap = fileRecordMap;
List<QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO> detailList = new ArrayList<>(); List<QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO> detailList = new ArrayList<>();
for (QmsPdiInspectionResults r : results) { for (QmsPdiInspectionResults r : results) {
QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO vo = new QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO(); QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO vo = new QmsPdiTaskRecordDetailVO.DeliveryItemDetailVO();
vo.setDeliveryItemId(r.getInspectionItemId()); vo.setDeliveryItemId(r.getInspectionItemId());
// checklist delivery_item 获取 // checklist delivery_item 获取
QmsPdiDetectionRulesDeliveryItem di = finalMap.get(r.getInspectionItemId()); QmsPdiDetectionRulesDeliveryItem di = finalDeliveryItemMap.get(r.getInspectionItemId());
if (di != null) { if (di != null) {
vo.setChecklist(di.getChecklist()); vo.setChecklist(di.getChecklist());
} }
// inspectionItemImage 按逗号拆分直接返回URL列表 // inspectionItemImage 按逗号拆分将ID转换为FileDetailVO列表
String imageStr = r.getInspectionItemImage(); String imageStr = r.getInspectionItemImage();
if (imageStr != null && !imageStr.isEmpty()) { if (StrUtil.isNotBlank(imageStr)) {
vo.setInspectionItemImage(Arrays.stream(imageStr.split(",")) List<QmsPdiTaskRecordDetailVO.FileDetailVO> imageDetails = Arrays.stream(imageStr.split(","))
.map(String::trim) .map(String::trim)
.filter(s -> !s.isEmpty()) .filter(StrUtil::isNotBlank)
.collect(Collectors.toList())); .map(Long::valueOf)
.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(imageDetails);
} else { } else {
vo.setInspectionItemImage(List.of()); vo.setInspectionItemImage(List.of());
} }

View File

@ -128,8 +128,8 @@ public class QmsPdiTaskRecordDetailVO {
private String checklist; private String checklist;
/** /**
* 现场图片/视频URL列表 * 现场图片/视频详情列表
*/ */
private List<String> inspectionItemImage; private List<FileDetailVO> inspectionItemImage;
} }
} }