Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -42,11 +42,11 @@ public class ExportOperate {
|
||||
} finally {
|
||||
File taskFile = new File(taskJsonFileName);
|
||||
if (taskFile.exists()) {
|
||||
// taskFile.delete();
|
||||
taskFile.delete();
|
||||
}
|
||||
File columnFile = new File(columnFileName);
|
||||
if (columnFile.exists()) {
|
||||
// columnFile.delete();
|
||||
columnFile.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -592,7 +592,7 @@ public class DataFileController implements IDataFeignClient {
|
||||
@PostMapping("/exportKnowledgeList")
|
||||
@Operation(summary = "导出知识库", description = "导出知识库")
|
||||
public SdmResponse exportKnowledgeList(@RequestBody KnowledgeExportExcelFormat knowledgeExportExcelFormat , HttpServletResponse httpservletResponse) {
|
||||
return IDataFileService.exportKnowledgeList(knowledgeExportExcelFormat, httpservletResponse);
|
||||
return IDataFileService.exportKnowledgeListByScript(knowledgeExportExcelFormat, httpservletResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -229,6 +229,10 @@ public class FileMetadataInfo implements Serializable {
|
||||
@TableField(value = "analysisDirectionName", insertStrategy = FieldStrategy.NEVER,select = false,updateStrategy = FieldStrategy.NEVER)
|
||||
private String analysisDirectionName;
|
||||
|
||||
@Schema(description = "知识库名称,只有列表展示使用")
|
||||
@TableField(value = "knowledgeBaseName", insertStrategy = FieldStrategy.NEVER,select = false,updateStrategy = FieldStrategy.NEVER)
|
||||
private String knowledgeBaseName;
|
||||
|
||||
@Schema(description = "关联工况库信息")
|
||||
@TableField(exist = false)
|
||||
private List<SimulationPoolInfo> simulationPoolInfoList;
|
||||
|
||||
@@ -441,6 +441,8 @@ public interface IDataFileService {
|
||||
*/
|
||||
SdmResponse exportKnowledgeList(KnowledgeExportExcelFormat knowledgeExportExcelFormat, HttpServletResponse httpservletResponse);
|
||||
|
||||
SdmResponse exportKnowledgeListByScript(KnowledgeExportExcelFormat knowledgeExportExcelFormat, HttpServletResponse httpservletResponse);
|
||||
|
||||
ResponseEntity<Object> onlyOfficeCallback(CallbackData callbackData);
|
||||
|
||||
SdmResponse downloadFileForEdit(Long fileId);
|
||||
|
||||
@@ -35,6 +35,7 @@ import com.sdm.common.log.CoreLogger;
|
||||
import com.sdm.common.utils.*;
|
||||
import com.sdm.common.utils.excel.ExcelUtil;
|
||||
import com.sdm.data.aop.PermissionCheckAspect;
|
||||
import com.sdm.data.bo.ExportOperate;
|
||||
import com.sdm.data.model.bo.ApprovalFileDataContentsModel;
|
||||
import com.sdm.data.model.dto.ExportKnowledgeDto;
|
||||
import com.sdm.data.model.dto.FileDictTagsAggDTO;
|
||||
@@ -186,6 +187,9 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
@Autowired
|
||||
private FileModifyApproveHelper fileModifyApproveHelper;
|
||||
|
||||
@Autowired
|
||||
private ExportOperate exportOperate;
|
||||
|
||||
|
||||
|
||||
private static final String TEMP_FILE_PATH = "/usr/local/nginx/html/storage/";
|
||||
@@ -956,6 +960,15 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
return SdmResponse.failed("文件不存在");
|
||||
}
|
||||
|
||||
if (DataTypeEnum.FILE.getValue() == fileMetadataInfo.getDataType()) {
|
||||
List<FileMetadataInfo> list = Arrays.asList(fileMetadataInfo);
|
||||
setProjectName(list);
|
||||
fileMetadataInfo = list.get(0);
|
||||
FileMetadataInfo dirMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getId, fileMetadataInfo.getParentId()).one();
|
||||
String knowledgeBaseName = extractRelativePath(dirMetadataInfo);
|
||||
fileMetadataInfo.setKnowledgeBaseName(knowledgeBaseName);
|
||||
}
|
||||
|
||||
// 封装返回结果
|
||||
FileMetadataInfoResp fileMetadataInfoResp = new FileMetadataInfoResp();
|
||||
BeanUtils.copyProperties(fileMetadataInfo, fileMetadataInfoResp);
|
||||
@@ -3829,6 +3842,33 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse exportKnowledgeListByScript(KnowledgeExportExcelFormat knowledgeExportExcelFormat, HttpServletResponse httpServletResponse) {
|
||||
FileSearchReq req = new FileSearchReq();
|
||||
KnowledgeExportExcelParam params = knowledgeExportExcelFormat.getParams();
|
||||
if (ObjectUtils.isNotEmpty(params)) {
|
||||
BeanUtils.copyProperties(params,req);
|
||||
}
|
||||
req.setCurrent(1);
|
||||
req.setSize(10000);
|
||||
SdmResponse response = fileSearch(req);
|
||||
if (ObjectUtils.isEmpty(response)) {
|
||||
log.error("exportKnowledgeListByScript,未查询到知识库文件");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
} else {
|
||||
String taskFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(knowledgeExportExcelFormat));
|
||||
File file = new File(taskFileName);
|
||||
if (!file.exists()) {
|
||||
response = SdmResponse.failed("知识库文件不存在");
|
||||
} else {
|
||||
String taskSaveName = "仿真标准库_" + RandomUtil.generateString(6) + ".xlsx";
|
||||
SystemOperate.outputHttpFileStream(httpServletResponse, taskFileName, taskSaveName);
|
||||
file.delete();
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Object> onlyOfficeCallback(CallbackData callbackData) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.sdm.data.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.sdm.common.common.ResultCode;
|
||||
@@ -18,6 +19,7 @@ import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.service.CommonService;
|
||||
import com.sdm.common.utils.*;
|
||||
import com.sdm.common.utils.excel.ExcelUtil;
|
||||
import com.sdm.data.bo.ExportOperate;
|
||||
import com.sdm.data.dao.DataMapper;
|
||||
import com.sdm.data.dao.SystemMapper;
|
||||
import com.sdm.data.dao.UserMapper;
|
||||
@@ -32,6 +34,7 @@ import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -73,6 +76,9 @@ public class SystemFileIDataFileServiceImpl implements IDataFileService {
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
@Autowired
|
||||
private ExportOperate exportOperate;
|
||||
|
||||
// @Override
|
||||
// public String getType() {
|
||||
// return type;
|
||||
@@ -1616,6 +1622,33 @@ public class SystemFileIDataFileServiceImpl implements IDataFileService {
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse exportKnowledgeListByScript(KnowledgeExportExcelFormat knowledgeExportExcelFormat, HttpServletResponse httpServletResponse) {
|
||||
FileSearchReq req = new FileSearchReq();
|
||||
KnowledgeExportExcelParam params = knowledgeExportExcelFormat.getParams();
|
||||
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(params)) {
|
||||
BeanUtils.copyProperties(params,req);
|
||||
}
|
||||
req.setCurrent(1);
|
||||
req.setSize(10000);
|
||||
SdmResponse response = fileSearch(req);
|
||||
if (org.apache.commons.lang3.ObjectUtils.isEmpty(response)) {
|
||||
log.error("exportKnowledgeListByScript,未查询到知识库文件");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
} else {
|
||||
String taskFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(knowledgeExportExcelFormat));
|
||||
File file = new File(taskFileName);
|
||||
if (!file.exists()) {
|
||||
response = SdmResponse.failed("知识库文件不存在");
|
||||
} else {
|
||||
String taskSaveName = "仿真标准库_" + RandomUtil.generateString(6) + ".xlsx";
|
||||
SystemOperate.outputHttpFileStream(httpServletResponse, taskFileName, taskSaveName);
|
||||
file.delete();
|
||||
}
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Object> onlyOfficeCallback(CallbackData callbackData) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user