forked from toolchaintechnologycenter/spdm-backend
fix:CSV数据查询
This commit is contained in:
@@ -360,6 +360,11 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(CollectionUtils.isNotEmpty(result)) {
|
if(CollectionUtils.isNotEmpty(result)) {
|
||||||
|
// 判断是否存在PHASE类型的节点
|
||||||
|
boolean hasPhaseNode = result.stream()
|
||||||
|
.flatMap(dto -> dto.getMergeSameNameChildren().stream())
|
||||||
|
.anyMatch(child -> NodeTypeEnum.PHASE.getValue().equals(child.getRelatedResourceUuidOwnType()));
|
||||||
|
|
||||||
// 先按dataType排序(文件夹在前dataType=1,文件在后dataType=2),再按children中的最大创建时间倒序排序
|
// 先按dataType排序(文件夹在前dataType=1,文件在后dataType=2),再按children中的最大创建时间倒序排序
|
||||||
result.sort((dto1, dto2) -> {
|
result.sort((dto1, dto2) -> {
|
||||||
// 首先按dataType排序:文件夹(1)在前,文件(2)在后
|
// 首先按dataType排序:文件夹(1)在前,文件(2)在后
|
||||||
@@ -369,6 +374,15 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
|
|||||||
return dataType1.compareTo(dataType2); // 升序:1(文件夹) < 2(文件)
|
return dataType1.compareTo(dataType2); // 升序:1(文件夹) < 2(文件)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 如果存在PHASE类型节点,dataType相同时按主键ID正序排序
|
||||||
|
if (hasPhaseNode) {
|
||||||
|
Long id1 = dto1.getId();
|
||||||
|
Long id2 = dto2.getId();
|
||||||
|
if (id1 != null && id2 != null && !id1.equals(id2)) {
|
||||||
|
return id1.compareTo(id2); // 正序排序
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// dataType相同或都为null时,按创建时间倒序排序
|
// dataType相同或都为null时,按创建时间倒序排序
|
||||||
LocalDateTime maxCreateTime1 = dto1.getMergeSameNameChildren().stream()
|
LocalDateTime maxCreateTime1 = dto1.getMergeSameNameChildren().stream()
|
||||||
.map(FileMetadataInfoResp::getCreateTime)
|
.map(FileMetadataInfoResp::getCreateTime)
|
||||||
|
|||||||
Reference in New Issue
Block a user