diff --git a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java index 2089792d..9c3c5726 100644 --- a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java @@ -140,10 +140,22 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { .eq(FileMetadataInfo::getParentId, secondDirId) .eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId()) .list(); - PageInfo page = new PageInfo<>(fileMetadataInfoList); + List sortedList = fileMetadataInfoList.stream() + .sorted(Comparator.comparing(FileMetadataInfo::getTag1, + Comparator.nullsLast((tag1, tag2) -> { + try { + int num1 = Integer.parseInt(tag1.trim()); + int num2 = Integer.parseInt(tag2.trim()); + return Integer.compare(num1, num2); + } catch (NumberFormatException e) { + return tag1.compareTo(tag2); + } + }))) + .collect(Collectors.toList()); + PageInfo page = new PageInfo<>(sortedList); long total = page.getTotal(); - List fileIdList = fileMetadataInfoList.stream().map(FileMetadataInfo::getId).toList(); + List fileIdList = sortedList.stream().map(FileMetadataInfo::getId).toList(); List finalResultList = hierarchyHelper.processFileHierarchy( fileIdList, SimulationTaskResultCurveResp.class,