fix:数据查询,优化文件类型数据字典

This commit is contained in:
2026-03-17 11:41:14 +08:00
parent 701d9f8372
commit 15d58ef3bc

View File

@@ -82,15 +82,21 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
@Override
public SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> getSimulationTaskFile(GetSimulationTaskFileReq req) {
// 传了学科字段,需要根据学科获取对应的任务,再和已传的学科做交集处理
// 传了学科字段,需要根据学科获取对应的任务uuid
List<String> discipoTaskUUids = new ArrayList<>();
Set<Long> discipoTaskDirIds = new HashSet<>();
if(ObjectUtils.isNotEmpty(req.getOwnDisciplineName())) {
List<String> disciplineToTaskUUID = getDisciplineToTaskUUID(List.of(req.getOwnDisciplineName()));
if(ObjectUtils.isNotEmpty(req.getTagReq())
&& ObjectUtils.isNotEmpty(req.getTagReq().getTaskId())){
disciplineToTaskUUID.retainAll(parseCsv(req.getTagReq().getTaskId()));
discipoTaskUUids = getDisciplineToTaskUUID(List.of(req.getOwnDisciplineName()));
if (CollectionUtils.isNotEmpty(discipoTaskUUids)) {
List<FileMetadataInfo> discipoTaskDirFileMetaInfo = fileMetadataInfoService.lambdaQuery()
.eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId())
.in(FileMetadataInfo::getRelatedResourceUuid, discipoTaskUUids)
.isNull(FileMetadataInfo::getDeletedAt)
.list();
if (CollectionUtils.isNotEmpty(discipoTaskDirFileMetaInfo)) {
discipoTaskDirIds = discipoTaskDirFileMetaInfo.stream().map(FileMetadataInfo::getId).collect(Collectors.toSet());
}
}
req.getTagReq().setTaskId(String.join(",", disciplineToTaskUUID));
}
@@ -105,7 +111,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
if (ObjectUtils.isEmpty(taskDirIds)) {
return PageUtils.getJsonObjectSdmResponse(new ArrayList<>(), new PageInfo<>());
}
return getTaskLevelFile(req, taskDirIds);
return getTaskLevelFile(req, taskDirIds,discipoTaskDirIds);
}
List<Long> fileIdsByDictTags = null;
@@ -140,7 +146,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
}
// 所属项目、阶段、机台、工位、任务、算列
applyTagFilters(wrapper, req.getTagReq());
applyTagFilters(wrapper, req.getTagReq(),discipoTaskUUids);
if (ObjectUtils.isEmpty(req.getOrderBy())) {
wrapper.orderByDesc(FileMetadataInfo::getCreateTime);
@@ -215,7 +221,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
.toList();
}
private void applyTagFilters(LambdaQueryChainWrapper<FileMetadataInfo> wrapper, TagReq tagReq) {
private void applyTagFilters(LambdaQueryChainWrapper<FileMetadataInfo> wrapper, TagReq tagReq, List<String> discipoTaskDirIds) {
if (ObjectUtils.isEmpty(tagReq)) {
return;
}
@@ -234,6 +240,9 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
// task/run 按普通IN过滤
inByCsv(wrapper, FileMetadataInfo::getTaskId, tagReq.getTaskId());
inByCsv(wrapper, FileMetadataInfo::getRunId, tagReq.getRunId());
// 根据所属学科查询所属任务
wrapper.in(FileMetadataInfo::getTaskId,discipoTaskDirIds);
}
/**
@@ -359,10 +368,11 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
};
}
private SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> getTaskLevelFile(GetSimulationTaskFileReq req, Set<Long> dirIds ) {
private SdmResponse<PageDataResp<List<SimulationTaskResultCurveResp>>> getTaskLevelFile(GetSimulationTaskFileReq req, Set<Long> dirIds, Set<Long> discipoTaskDirIds) {
// level=task查task下的交付物文件夹 再根据fileType查具体的云图文件、曲线文件夹下的文件
List<FileMetadataInfo> deliverableFileInfoList = fileMetadataInfoService.lambdaQuery()
.in(FileMetadataInfo::getParentId, dirIds)
.in(CollectionUtils.isNotEmpty(dirIds),FileMetadataInfo::getParentId, dirIds)
.in(CollectionUtils.isNotEmpty(discipoTaskDirIds),FileMetadataInfo::getParentId, discipoTaskDirIds)
.eq(FileMetadataInfo::getOriginalName, CommonConstants.DELIVERABLE_DIR_NAME)
.isNull(FileMetadataInfo::getDeletedAt)
.eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId())
@@ -415,25 +425,6 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
}
}
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