图片查询功能修改,排序修改

This commit is contained in:
funny 2026-05-11 15:22:46 +08:00
parent e8c8f2d111
commit 5a64ef0308
3 changed files with 50 additions and 8 deletions

View File

@ -303,8 +303,8 @@ public class QmsPdiStatusItemControllerService {
*/ */
private PageData<QmsPdiStatusItemGroupVO.QmsPdiStatusItemVO> buildStatusItemPage( private PageData<QmsPdiStatusItemGroupVO.QmsPdiStatusItemVO> buildStatusItemPage(
Long detectionRulesId, int status, int pageNum, int pageSize, Boolean isAsc) { Long detectionRulesId, int status, int pageNum, int pageSize, Boolean isAsc) {
// 获取排序方向默认 // 获取排序方向默认
boolean ascending = isAsc != null && isAsc; boolean ascending = isAsc == null || isAsc;
Page<QmsPdiDetectionRulesStatusItem> page = statusItemService.lambdaQuery() Page<QmsPdiDetectionRulesStatusItem> page = statusItemService.lambdaQuery()
.eq(QmsPdiDetectionRulesStatusItem::getDetectionRulesId, detectionRulesId) .eq(QmsPdiDetectionRulesStatusItem::getDetectionRulesId, detectionRulesId)

View File

@ -164,8 +164,22 @@ public class QmsPdiTaskRecordControllerService {
.collect(Collectors.toMap(QmsPdiDetectionRulesStatusItem::getId, si -> si, (a, b) -> a)); .collect(Collectors.toMap(QmsPdiDetectionRulesStatusItem::getId, si -> si, (a, b) -> a));
} }
// 批量收集所有示例图ID查询对应的URL
Set<Long> imageIds = statusItemMap.values().stream()
.map(QmsPdiDetectionRulesStatusItem::getInspectionImage)
.filter(id -> id != null && !id.isEmpty())
.map(Long::parseLong)
.collect(Collectors.toSet());
Map<Long, String> imageUrlMap = Map.of();
if (!imageIds.isEmpty()) {
List<FileUploadRecord> imageFiles = fileUploadRecordService.listByIds(imageIds);
imageUrlMap = imageFiles.stream()
.collect(Collectors.toMap(FileUploadRecord::getId, FileUploadRecord::getUrl, (a, b) -> a));
}
// 映射 // 映射
Map<Long, QmsPdiDetectionRulesStatusItem> finalStatusMap = statusItemMap; Map<Long, QmsPdiDetectionRulesStatusItem> finalStatusMap = statusItemMap;
Map<Long, String> finalImageUrlMap = imageUrlMap;
List<QmsPdiTaskRecordDetailVO.StatusItemVO> voList = records.stream().map(r -> { List<QmsPdiTaskRecordDetailVO.StatusItemVO> voList = records.stream().map(r -> {
QmsPdiTaskRecordDetailVO.StatusItemVO vo = new QmsPdiTaskRecordDetailVO.StatusItemVO(); QmsPdiTaskRecordDetailVO.StatusItemVO vo = new QmsPdiTaskRecordDetailVO.StatusItemVO();
vo.setId(r.getId()); vo.setId(r.getId());
@ -173,8 +187,15 @@ public class QmsPdiTaskRecordControllerService {
if (si != null) { if (si != null) {
vo.setComponentsDes(si.getComponentsDes()); vo.setComponentsDes(si.getComponentsDes());
vo.setInspectionContent(si.getInspectionContent()); vo.setInspectionContent(si.getInspectionContent());
// inspectionImage 已经是URL直接使用 // inspectionImage 是文件ID需要转换为URL
vo.setInspectionImage(si.getInspectionImage()); if (si.getInspectionImage() != null && !si.getInspectionImage().isEmpty()) {
try {
Long imageId = Long.parseLong(si.getInspectionImage());
vo.setInspectionImage(finalImageUrlMap.get(imageId));
} catch (NumberFormatException e) {
vo.setInspectionImage(null);
}
}
} }
// 现场图已经是List<FileDetailVO>无需转换在下一步处理 // 现场图已经是List<FileDetailVO>无需转换在下一步处理
vo.setInspectionItemImage(convertImageIdsToVO(r.getInspectionItemImage())); vo.setInspectionItemImage(convertImageIdsToVO(r.getInspectionItemImage()));
@ -218,8 +239,22 @@ public class QmsPdiTaskRecordControllerService {
.collect(Collectors.toMap(QmsPdiDetectionRulesStatusItem::getId, si -> si, (a, b) -> a)); .collect(Collectors.toMap(QmsPdiDetectionRulesStatusItem::getId, si -> si, (a, b) -> a));
} }
// 批量收集所有示例图ID查询对应的URL
Set<Long> imageIds = statusItemMap.values().stream()
.map(QmsPdiDetectionRulesStatusItem::getInspectionImage)
.filter(id -> id != null && !id.isEmpty())
.map(Long::parseLong)
.collect(Collectors.toSet());
Map<Long, String> imageUrlMap = Map.of();
if (!imageIds.isEmpty()) {
List<FileUploadRecord> imageFiles = fileUploadRecordService.listByIds(imageIds);
imageUrlMap = imageFiles.stream()
.collect(Collectors.toMap(FileUploadRecord::getId, FileUploadRecord::getUrl, (a, b) -> a));
}
// 映射 // 映射
Map<Long, QmsPdiDetectionRulesStatusItem> finalStatusMap = statusItemMap; Map<Long, QmsPdiDetectionRulesStatusItem> finalStatusMap = statusItemMap;
Map<Long, String> finalImageUrlMap = imageUrlMap;
return records.stream().map(r -> { return records.stream().map(r -> {
QmsPdiTaskRecordDetailVO.StatusItemVO vo = new QmsPdiTaskRecordDetailVO.StatusItemVO(); QmsPdiTaskRecordDetailVO.StatusItemVO vo = new QmsPdiTaskRecordDetailVO.StatusItemVO();
vo.setId(r.getId()); vo.setId(r.getId());
@ -227,8 +262,15 @@ public class QmsPdiTaskRecordControllerService {
if (si != null) { if (si != null) {
vo.setComponentsDes(si.getComponentsDes()); vo.setComponentsDes(si.getComponentsDes());
vo.setInspectionContent(si.getInspectionContent()); vo.setInspectionContent(si.getInspectionContent());
// inspectionImage 已经是URL直接使用 // inspectionImage 是文件ID需要转换为URL
vo.setInspectionImage(si.getInspectionImage()); if (si.getInspectionImage() != null && !si.getInspectionImage().isEmpty()) {
try {
Long imageId = Long.parseLong(si.getInspectionImage());
vo.setInspectionImage(finalImageUrlMap.get(imageId));
} catch (NumberFormatException e) {
vo.setInspectionImage(null);
}
}
} }
vo.setInspectionItemImage(convertImageIdsToVO(r.getInspectionItemImage())); vo.setInspectionItemImage(convertImageIdsToVO(r.getInspectionItemImage()));
vo.setInspectionBy(r.getInspectionBy()); vo.setInspectionBy(r.getInspectionBy());

View File

@ -32,7 +32,7 @@ public class QmsPdiStatusItemSearchQO {
private Integer status; private Integer status;
/** /**
* 是否升序true=升序false=降序默认降序 * 是否升序true=升序默认false=降序
*/ */
private Boolean isAsc = false; private Boolean isAsc = true;
} }