Merge branch 'main' of http://carsafe.uicp.cn/toolchaintechnologycenter/spdm-backend
This commit is contained in:
@@ -70,4 +70,7 @@ public class GetSimulationTaskFileReq extends BaseReq {
|
||||
|
||||
@Schema(description = "所属学科名称")
|
||||
private String ownDisciplineName;
|
||||
|
||||
@Schema(description = "文件大小格式化")
|
||||
private String formatFileSize;
|
||||
}
|
||||
|
||||
@@ -168,6 +168,14 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
|
||||
wrapper.le(FileMetadataInfo::getCreateTime, req.getEndTime());
|
||||
}
|
||||
|
||||
// 文件大小筛选
|
||||
if (StringUtils.isNotBlank(req.getFormatFileSize())) {
|
||||
Long fileSizeInBytes = FileSizeUtils.parseFileSizeToBytes(req.getFormatFileSize());
|
||||
if (fileSizeInBytes != null && fileSizeInBytes > 0) {
|
||||
wrapper.ge(FileMetadataInfo::getFileSize, fileSizeInBytes);
|
||||
}
|
||||
}
|
||||
|
||||
// 所属项目、阶段、机台、工位、任务、算列
|
||||
applyTagFilters(wrapper, req.getTagReq(),discipoTaskUUids);
|
||||
|
||||
@@ -191,6 +199,7 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
|
||||
// 填充文件类型标签信息
|
||||
fileDictTagQueryService.fillFileTagsForRespList(finalResultList, SimulationTaskResultCurveResp::getId);
|
||||
|
||||
// 根据前端传的filterKey和filterType进行排序
|
||||
sortByTagFieldInCurrentPage(finalResultList, req.getFilterKey(), req.getFilterType());
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.sdm.data.service.impl;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.enums.ApproveFileDataTypeEnum;
|
||||
import com.sdm.common.entity.req.data.DeleteFileSimulationMappingReq;
|
||||
import com.sdm.common.entity.req.data.GetFileSimulationMappingReq;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
@@ -18,10 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -102,7 +101,32 @@ public class FileSimulationMappingServiceImpl extends ServiceImpl<FileSimulation
|
||||
response.setData(map);
|
||||
return response;
|
||||
}
|
||||
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList()).list();
|
||||
|
||||
Long userId = ThreadLocalContext.getUserId();
|
||||
// 当前查询人的数据,所有的状态都可见
|
||||
List<Integer> allVisibleInFileList = ApproveFileDataTypeEnum.getAllVisibleInFileList();
|
||||
// 其他人,审批后可见状态
|
||||
List<Integer> fileDatdList = ApproveFileDataTypeEnum.getVisibleInFileList();
|
||||
|
||||
List<FileMetadataInfo> fileMetadataInfos = fileMetadataInfoService
|
||||
.lambdaQuery()
|
||||
.in(FileMetadataInfo::getId, list.stream().map(FileSimulationMapping::getFileId).toList())
|
||||
// ===================== 兼容 userId 为空 =====================
|
||||
// 如果 userId 不为空:区分自己/别人
|
||||
.nested(!Objects.isNull(userId), wrapper -> wrapper
|
||||
.and(inner -> inner
|
||||
.eq(FileMetadataInfo::getCreatorId, userId)
|
||||
.in(FileMetadataInfo::getApproveType, allVisibleInFileList)
|
||||
)
|
||||
.or(inner -> inner
|
||||
.ne(FileMetadataInfo::getCreatorId, userId)
|
||||
.in(FileMetadataInfo::getApproveType, fileDatdList)
|
||||
)
|
||||
)
|
||||
// 如果 userId 为空:统一走普通可见状态
|
||||
.in(Objects.isNull(userId), FileMetadataInfo::getApproveType, fileDatdList)
|
||||
// =================================================================
|
||||
.list();
|
||||
if (fileMetadataInfos.isEmpty()) {
|
||||
SdmResponse response = SdmResponse.success();
|
||||
response.setData(map);
|
||||
|
||||
Reference in New Issue
Block a user