fix:其他交付物文件上传创建文件夹和查询

This commit is contained in:
2026-02-03 12:31:40 +08:00
parent 9e86be41c1
commit 55d3ff78f2
6 changed files with 112 additions and 47 deletions

View File

@@ -6,6 +6,8 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.constants.CommonConstants;
import com.sdm.common.entity.enums.FileBizTypeEnum;
import com.sdm.common.entity.enums.NodeTypeEnum;
import com.sdm.common.entity.req.export.FileAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.FileAnalysisExportExcelParam;
@@ -111,30 +113,58 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
}
private SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> getTaskLevelFile(GetSimulationTaskFileReq req, QueryBigFileReq queryBigFileReq) {
PageHelper.startPage(req.getCurrent(), req.getSize());
List<FileMetadataInfo> fileMetadataInfoList = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getParentId, queryBigFileReq.getDirId())
.eq(FileMetadataInfo::getFileType, req.getFileBizType())
// level=task查task下的交付物文件夹 再根据fileType查具体的云图文件、曲线文件夹下的文件
List<FileMetadataInfo> deliverableFileInfoList = fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getParentId, queryBigFileReq.getDirId())
.eq(FileMetadataInfo::getOriginalName, CommonConstants.DELIVERABLE_DIR_NAME)
.eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId())
.list();
PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfoList);
long total = page.getTotal();
if (CollectionUtils.isNotEmpty(deliverableFileInfoList)) {
// 交付物文件夹id
Long deliverableDirId = deliverableFileInfoList.get(0).getId();
// 云图/曲线/文件夹名称
String secondDirName = FileBizTypeEnum.getDirNameByValue(req.getFileBizType());
// List<SimulationTaskResultCurveResp> resultCurveRespList = fileMetadataInfoList.stream().map(i -> {
// SimulationTaskResultCurveResp resultCurveResp = new SimulationTaskResultCurveResp();
// BeanUtils.copyProperties(i,resultCurveResp);
// resultCurveResp.setFormatFileSize(FileSizeUtils.formatFileSize(BigDecimal.valueOf(i.getFileSize())));
// return resultCurveResp;
// }).toList();
List<Long> fileIdList = fileMetadataInfoList.stream().map(FileMetadataInfo::getId).toList();
List<SimulationTaskResultCurveResp> finalResultList = hierarchyHelper.processFileHierarchy(
fileIdList,
SimulationTaskResultCurveResp.class,
FileMetadataHierarchyHelper::setFileHierarchy
);
PageHelper.startPage(req.getCurrent(), req.getSize());
List<FileMetadataInfo> fileMetadataInfoList = fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getParentId, deliverableDirId)
.eq(FileMetadataInfo::getOriginalName, secondDirName)
.eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId())
.list();
PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfoList);
long total = page.getTotal();
PageInfo<SimulationTaskResultCurveResp> page1 = new PageInfo<>(finalResultList);
page1.setTotal(total);
return PageUtils.getJsonObjectSdmResponse(finalResultList, page1);
List<Long> fileIdList = fileMetadataInfoList.stream().map(FileMetadataInfo::getId).toList();
List<SimulationTaskResultCurveResp> finalResultList = hierarchyHelper.processFileHierarchy(
fileIdList,
SimulationTaskResultCurveResp.class,
FileMetadataHierarchyHelper::setFileHierarchy
);
PageInfo<SimulationTaskResultCurveResp> page1 = new PageInfo<>(finalResultList);
page1.setTotal(total);
return PageUtils.getJsonObjectSdmResponse(finalResultList, page1);
}
return PageUtils.getJsonObjectSdmResponse(new ArrayList<>(), new PageInfo<>());
// PageHelper.startPage(req.getCurrent(), req.getSize());
// List<FileMetadataInfo> fileMetadataInfoList = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getParentId, queryBigFileReq.getDirId())
// .eq(FileMetadataInfo::getFileType, req.getFileBizType())
// .eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId())
// .list();
// PageInfo<FileMetadataInfo> page = new PageInfo<>(fileMetadataInfoList);
// long total = page.getTotal();
//
// List<Long> fileIdList = fileMetadataInfoList.stream().map(FileMetadataInfo::getId).toList();
// List<SimulationTaskResultCurveResp> finalResultList = hierarchyHelper.processFileHierarchy(
// fileIdList,
// SimulationTaskResultCurveResp.class,
// FileMetadataHierarchyHelper::setFileHierarchy
// );
//
// PageInfo<SimulationTaskResultCurveResp> page1 = new PageInfo<>(finalResultList);
// page1.setTotal(total);
// return PageUtils.getJsonObjectSdmResponse(finalResultList, page1);
}
@Override