fix:公差分析库也需要走审批

This commit is contained in:
2026-02-06 09:43:46 +08:00
parent 08373dc37a
commit f136c0de8e
2 changed files with 57 additions and 16 deletions

View File

@@ -548,9 +548,9 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
.eq(FileMetadataInfo::getParentId, rootDirId)
.exists();
// 3. 知识库且非空目录:走审批流程,审批通过后由 DeleteApproveStrategy 移入回收站
boolean isKnowledgeDir = Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirType);
if (isKnowledgeDir && hasChildren) {
// 3. 需要审批的目录类型且非空:走审批流程,审批通过后由 DeleteApproveStrategy 移入回收站
boolean requiresApproval = DirTypeEnum.isApprovalRequired(dirType);
if (requiresApproval && hasChildren) {
Set<Long> allFileIds = new HashSet<>();
Set<Long> allDirIds = new HashSet<>();
collectRecursiveIds(rootDirId, allFileIds, allDirIds);
@@ -705,8 +705,8 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
.eq(FileMetadataInfo::getDataType, DataTypeEnum.DIRECTORY.getValue())
.one();
// 知识库文件:走审批流程,审批通过后由 DeleteApproveStrategy 移入回收站
if (dirMetadataInfo != null && Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirMetadataInfo.getDirType())) {
// 需要审批的目录类型下的文件:走审批流程,审批通过后由 DeleteApproveStrategy 移入回收站
if (dirMetadataInfo != null && DirTypeEnum.isApprovalRequired(dirMetadataInfo.getDirType())) {
return launchKnowledgeBaseDeletionApproval(
List.of(deleteFileMetadataInfo),
Set.of(delFileId),
@@ -787,8 +787,8 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
queryBigFileReq.setFileSuffix(queryBigFileReq.getFileSuffix().toLowerCase());
}
if (Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirType)) {
// 知识库文件:排除新增在审批的文件
if (DirTypeEnum.isApprovalRequired(dirType)) {
// 需要审批的目录类型:排除新增在审批的文件
queryBigFileReq.setApproveTypeList(fileDatdList);
}
@@ -1881,7 +1881,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
fileInfo.setTemplateId(req.getTemplateId());
fileInfo.setTemplateName(req.getTemplateName());
boolean isknowledge = Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirMetadataInfo.getDirType());
boolean isknowledge = DirTypeEnum.isApprovalRequired(dirMetadataInfo.getDirType());
if (isknowledge) {
fileInfo.setApprovalStatus(ApprovalFileDataStatusEnum.PENDING.getKey());
fileInfo.setApproveType(ApproveFileDataTypeEnum.UPLOAD_REVIEWING.getCode());
@@ -2185,7 +2185,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
}
private void triggerKnowledgeApproveIfNeeded(UploadFilesReq req, FileMetadataInfo fileInfo, FileMetadataInfo dirMetadataInfo) {
if (!Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirMetadataInfo.getDirType())) {
if (!DirTypeEnum.isApprovalRequired(dirMetadataInfo.getDirType())) {
return;
}
FileApproveRequestBuilder uploadFileApproveRequestBuilder = FileApproveRequestBuilder.builder()
@@ -2343,8 +2343,8 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
Long versionNo = fileMetadataInfo.getVersionNo();
// 修改待审批的元数据主键id
if (ObjectUtils.isEmpty(req.getFile())) {
// 知识库,增加审批的逻辑,先将原始数据改成待审核状态
if(dirMetadataInfo!=null&&Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirMetadataInfo.getDirType())){
// 需要审批的目录类型,增加审批的逻辑,先将原始数据改成待审核状态
if(dirMetadataInfo!=null && DirTypeEnum.isApprovalRequired(dirMetadataInfo.getDirType())){
FileMetadataInfo tempFileMetadataInfo = new FileMetadataInfo();
BeanUtils.copyProperties(fileMetadataInfo, tempFileMetadataInfo);
// 不需要上传minio新文件只更新文件元数据
@@ -2530,9 +2530,9 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
// 创建默认权限记录
createFilePermission(newFileInfo.getId());
// 知识库创建审批流
boolean isKnowledge = dirMetadataInfo != null && Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirMetadataInfo.getDirType());
// 知识库修改
// 需要审批的目录类型创建审批流
boolean isKnowledge = dirMetadataInfo != null && DirTypeEnum.isApprovalRequired(dirMetadataInfo.getDirType());
// 需要审批的目录类型修改
if(isKnowledge){
// 新增的一条暂时不展示
newFileInfo.setIsLatest(false);
@@ -3362,8 +3362,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
.eq(FileMetadataInfo::getId, parentId)
.eq(FileMetadataInfo::getDataType, DataTypeEnum.DIRECTORY.getValue())
.one();
boolean isKnowledge = dirMetadataInfo != null &&
Objects.equals(DirTypeEnum.KNOWLEDGE_BASE_DIR.getValue(), dirMetadataInfo.getDirType());
boolean isKnowledge = dirMetadataInfo != null && DirTypeEnum.isApprovalRequired(dirMetadataInfo.getDirType());
if (isKnowledge) {
// 构建审批内容