fix:数据查询优化排序问题

This commit is contained in:
2026-03-18 15:40:42 +08:00
parent c8503abc8a
commit 9922c82a74
2 changed files with 48 additions and 18 deletions

View File

@@ -123,6 +123,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
GetSimulationTaskFileReq secondReq = new GetSimulationTaskFileReq();
BeanUtils.copyProperties(req, secondReq);
// 用二次文件类型比如 曲线文件 替换
secondReq.setDictTagIdsCache(null);
secondReq.setFileTypeDictValue(secondFileTypeDictValue);
Set<Long> secondFileIdsByDictTags = extractFileIdsByTags(secondReq);
if(CollectionUtils.isNotEmpty(secondFileIdsByDictTags)){
@@ -182,7 +183,9 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfos);
// 设置tag1-tag10
List<SimulationTaskResultCurveResp> finalResultList = hierarchyHelper.processFileHierarchyFromFileMetadata(fileMetadataInfos,SimulationTaskResultCurveResp.class);
List<SimulationTaskResultCurveResp> finalResultList = new ArrayList<>(
hierarchyHelper.processFileHierarchyFromFileMetadata(fileMetadataInfos, SimulationTaskResultCurveResp.class)
);
hierarchyHelper.setTagReqFromFileMetadataBatch(finalResultList, SimulationTaskResultCurveResp::getId);
// 填充文件类型标签信息
@@ -199,9 +202,9 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
Comparator.comparing(SimulationTaskResultCurveResp::getCreateTime, Comparator.nullsLast(LocalDateTime::compareTo))
// 第二步createTime 相同时,按 sortOrder 排序null 排最后)
.thenComparing(SimulationTaskResultCurveResp::getSortOrder, Comparator.nullsLast(Integer::compare))
).toList();
pageInfo = new PageInfo<>(sortedList);
}else {
).collect(Collectors.toCollection(ArrayList::new));
pageInfo = new PageInfo<>(sortedList);
} else {
pageInfo = new PageInfo<>(finalResultList);
}
@@ -393,7 +396,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
return item.getOriginalName();
}
if ("formatFileSize".equalsIgnoreCase(orderBy)) {
return item.getFormatFileSize();
return String.valueOf(FileSizeUtils.parseFileSizeToBytes(item.getFormatFileSize()));
}
TagReq tagReq = item.getTagReq();