From b089d0ca35bb3d51d8749fbfc151c30a34b722d8 Mon Sep 17 00:00:00 2001 From: gulongcheng <474084054@qq.com> Date: Wed, 15 Apr 2026 14:50:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=EF=BC=8C=E7=AE=97=E4=BE=8B=E3=80=81=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=20=E9=9C=80=E8=A6=81=E6=94=AF=E6=8C=81=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E7=9A=84=E6=A8=A1=E7=B3=8A=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ion_parameter_library_category_object.sql} | 0 .../service/impl/DataAnalysisServiceImpl.java | 17 ++++++- .../impl/MinioFileIDataFileServiceImpl.java | 20 ++++---- .../resources/mapper/FileStorageMapper.xml | 47 +++++++++---------- 4 files changed, 49 insertions(+), 35 deletions(-) rename 1-sql/2026-04-14/{simulation_parameter_library_category_object => simulation_parameter_library_category_object.sql} (100%) diff --git a/1-sql/2026-04-14/simulation_parameter_library_category_object b/1-sql/2026-04-14/simulation_parameter_library_category_object.sql similarity index 100% rename from 1-sql/2026-04-14/simulation_parameter_library_category_object rename to 1-sql/2026-04-14/simulation_parameter_library_category_object.sql 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 436d68d5..d2f7ead0 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 @@ -145,7 +145,6 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { } - PageHelper.startPage(req.getCurrent(), req.getSize()); var wrapper = fileMetadataInfoService.lambdaQuery() .eq(FileMetadataInfo::getTenantId, ThreadLocalContext.getTenantId()) .isNull(FileMetadataInfo::getDeletedAt) @@ -187,6 +186,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { wrapper.orderByDesc(FileMetadataInfo::getCreateTime); } + PageHelper.startPage(req.getCurrent(), req.getSize()); List fileMetadataInfos = wrapper.list(); PageInfo page = new PageInfo<>(fileMetadataInfos); @@ -299,6 +299,21 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { inByCurrentLevelCsv(wrapper, FileMetadataInfo::getTag9, tagReq.getTag9()); inByCurrentLevelCsv(wrapper, FileMetadataInfo::getTag10, tagReq.getTag10()); + // task/run 也支持按照名称模糊查询,先获取对应的taskId集合,逗号拼接后,然后设置到tagReq。taskId字段 + if(ObjectUtils.isNotEmpty(tagReq.getTaskName())){ + tagReq.setTaskId(fileMetadataInfoService.lambdaQuery() + .eq(FileMetadataInfo::getRelatedResourceUuidOwnType,NodeTypeEnum.TASK.getValue()) + .like(FileMetadataInfo::getOriginalName,tagReq.getTaskName()).list().stream().map(FileMetadataInfo::getRelatedResourceUuid).collect(Collectors.joining( ","))); + + } + + if(ObjectUtils.isNotEmpty(tagReq.getRunName())){ + tagReq.setRunId(fileMetadataInfoService.lambdaQuery() + .eq(FileMetadataInfo::getRelatedResourceUuidOwnType,NodeTypeEnum.RUN.getValue()) + .like(FileMetadataInfo::getOriginalName,tagReq.getRunName()).list().stream().map(FileMetadataInfo::getRelatedResourceUuid).collect(Collectors.joining( ","))); + + } + // task/run 按普通IN过滤 inByCsv(wrapper, FileMetadataInfo::getTaskId, tagReq.getTaskId()); inByCsv(wrapper, FileMetadataInfo::getRunId, tagReq.getRunId()); diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index ade6547d..101d3511 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -113,7 +113,7 @@ import java.util.stream.Collectors; @ConditionalOnProperty(name = "fileSystem.chose", havingValue = "minio") public class MinioFileIDataFileServiceImpl implements IDataFileService { // fileData 知识库文件列表可见的数据 - private final List fileDatdList = ApproveFileDataTypeEnum.getVisibleInFileList(); + private final List visibleInFileList = ApproveFileDataTypeEnum.getVisibleInFileList(); private static final String FLOWABLE_SIMULATION_BASEDIR = "/home/simulation/"; @@ -945,10 +945,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { queryBigFileReq.setFileSuffix(queryBigFileReq.getFileSuffix().toLowerCase()); } - if (DirTypeEnum.isApprovalRequired(dirType)) { - // 需要审批的目录类型:排除新增在审批的文件 - queryBigFileReq.setApproveTypeList(fileDatdList); - } + List uploadUserId = org.apache.commons.lang3.StringUtils.isBlank(minioFileSearchReq.getUploadUserId()) ? new ArrayList<>() @@ -959,9 +956,16 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { queryBigFileReq.setUploadUserId(uploadUserId); Long userId =ThreadLocalContext.getUserId(); - if(!Objects.isNull(userId)){ - queryBigFileReq.setCurrentReqUserId(userId); - queryBigFileReq.setApproveAllTypeList(ApproveFileDataTypeEnum.getAllVisibleInFileList()); + // 需要审批的目录类型 才需要设置审批类型, 如果是项目文件这种不需要审批的,可以看所有文件 + if (DirTypeEnum.isApprovalRequired(dirType)) { + //文件不是 当前用户 上传的 看不到别的用户正在上传的文件 + queryBigFileReq.setApproveTypeList(visibleInFileList); + + // 文件是 当前用户 上传的 可以看到自己上传中的文件 + if(!Objects.isNull(userId)){ + queryBigFileReq.setCurrentReqUserId(userId); + queryBigFileReq.setApproveAllTypeList(ApproveFileDataTypeEnum.getAllVisibleInFileList()); + } } SdmResponse>> searchResult = dataStorageAnalysis.listBigFile(queryBigFileReq); diff --git a/data/src/main/resources/mapper/FileStorageMapper.xml b/data/src/main/resources/mapper/FileStorageMapper.xml index c465f93b..3539d41b 100644 --- a/data/src/main/resources/mapper/FileStorageMapper.xml +++ b/data/src/main/resources/mapper/FileStorageMapper.xml @@ -227,47 +227,42 @@ and file_storage.tenantId = #{tenantId} and file_metadata_info.deletedAt IS NULL - - - AND ( - - - (file_metadata_info.creatorId = #{queryBigFileReq.currentReqUserId} - AND file_metadata_info.approveType IN - - #{approveType} - ) - - - - - OR - - - + - (file_metadata_info.creatorId != #{queryBigFileReq.currentReqUserId} - AND file_metadata_info.approveType IN - + + AND ( + file_metadata_info.approveType IN + #{approveType} - ) + + + + + OR + (file_metadata_info.creatorId = #{queryBigFileReq.currentReqUserId} + AND file_metadata_info.approveType IN + + #{approveType} + ) + + ) - ) - AND file_metadata_info.approveType IN - + #{approveType} +