1、修改数据查询的导出接口

This commit is contained in:
2026-01-09 17:11:19 +08:00
parent 90608e4152
commit 6503ba2dc4
9 changed files with 277 additions and 42 deletions

View File

@@ -1,14 +1,14 @@
package com.sdm.project.controller;
import com.alibaba.fastjson2.JSONObject;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
import com.sdm.common.entity.req.export.PerformanceAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.RunAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.TaskAnalysisExportExcelFormat;
import com.sdm.common.log.annotation.SysLog;
import com.sdm.project.model.req.SpdmAnalysisPerformanceListReq;
import com.sdm.project.model.req.SpdmAnalysisRunListReq;
import com.sdm.project.model.req.SpdmAnalysisTaskListReq;
import com.sdm.project.model.resp.GetAllRunResultByTaskIdResp;
import com.sdm.project.model.resp.RunResultResp;
import com.sdm.project.service.ITaskService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -77,19 +77,19 @@ public class SimulationAnalysisController {
@PostMapping(value = "/exportTaskByScript")
@ResponseBody
SdmResponse exportTaskByScript(HttpServletResponse response ,@RequestBody SpdmAnalysisTaskListReq req) {
SdmResponse exportTaskByScript(HttpServletResponse response ,@RequestBody TaskAnalysisExportExcelFormat req) {
return taskService.exportTaskByScript(response,req);
}
@PostMapping(value = "/exportRunByScript")
@ResponseBody
SdmResponse exportRunByScript(HttpServletResponse response ,@RequestBody SpdmAnalysisRunListReq req) {
SdmResponse exportRunByScript(HttpServletResponse response ,@RequestBody RunAnalysisExportExcelFormat req) {
return taskService.exportRunByScript(response,req);
}
@PostMapping(value = "/exportPerformanceByScript")
@ResponseBody
SdmResponse exportPerformanceByScript(HttpServletResponse response ,@RequestBody SpdmAnalysisPerformanceListReq req) {
SdmResponse exportPerformanceByScript(HttpServletResponse response ,@RequestBody PerformanceAnalysisExportExcelFormat req) {
return taskService.exportPerformanceByScript(response,req);
}

View File

@@ -2,7 +2,9 @@ package com.sdm.project.service;
import com.alibaba.fastjson2.JSONObject;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.req.export.PerformanceAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.RunAnalysisExportExcelFormat;
import com.sdm.common.entity.req.export.TaskAnalysisExportExcelFormat;
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat;
import com.sdm.project.model.bo.ModifyTaskNode;
@@ -81,9 +83,9 @@ public interface ITaskService {
SdmResponse queryTaskByProjectCodeForEp(String projectCode);
SdmResponse exportTaskByScript(HttpServletResponse response,SpdmAnalysisTaskListReq req);
SdmResponse exportTaskByScript(HttpServletResponse response, TaskAnalysisExportExcelFormat req);
SdmResponse exportRunByScript(HttpServletResponse response, SpdmAnalysisRunListReq req);
SdmResponse exportRunByScript(HttpServletResponse response, RunAnalysisExportExcelFormat req);
SdmResponse exportPerformanceByScript(HttpServletResponse response, SpdmAnalysisPerformanceListReq req);
SdmResponse exportPerformanceByScript(HttpServletResponse response, PerformanceAnalysisExportExcelFormat req);
}

View File

@@ -16,6 +16,7 @@ import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.data.DelDirReq;
import com.sdm.common.entity.req.data.QueryFileReq;
import com.sdm.common.entity.req.data.UpdatePermissionReq;
import com.sdm.common.entity.req.export.*;
import com.sdm.common.entity.req.project.SimulationPerformance;
import com.sdm.common.entity.req.system.SendMsgReq;
import com.sdm.common.entity.req.system.UserListReq;
@@ -2817,9 +2818,10 @@ public class TaskServiceImpl implements ITaskService {
}
@Override
public SdmResponse exportTaskByScript(HttpServletResponse httpServletResponse,SpdmAnalysisTaskListReq req) {
public SdmResponse exportTaskByScript(HttpServletResponse httpServletResponse, TaskAnalysisExportExcelFormat req) {
SpdmAnalysisTaskListReq taskReq = new SpdmAnalysisTaskListReq();
BeanUtils.copyProperties(req, taskReq);
TaskAnalysisExportExcelParam params = req.getParams();
BeanUtils.copyProperties(params, taskReq);
taskReq.setCurrent(1);
taskReq.setSize(10000);
taskReq.setName("");
@@ -2830,44 +2832,36 @@ public class TaskServiceImpl implements ITaskService {
log.error("exportTaskByScript未查询到任务1");
return SdmResponse.success(new ArrayList<>());
} else {
List<ExportExcelFormat> excelHeaders = req.getExcelHeaders();
TaskExportExcelParam params = req.getParams();
TaskExportExcelFormat taskExportExcelFormat = new TaskExportExcelFormat();
taskExportExcelFormat.setExcelHeaders(excelHeaders);
taskExportExcelFormat.setParams(params);
String taskFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(taskExportExcelFormat));
String taskFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(req));
File file = new File(taskFileName);
if(!file.exists()) {
response = SdmResponse.failed("任务文件不存在");
}else {
String taskSaveName = "task_" + RandomUtil.generateString(12) + ".xlsx";
String taskSaveName = "仿真任务.xlsx";
SystemOperate.outputHttpFileStream(httpServletResponse, taskFileName, taskSaveName);
file.delete();
// file.delete();
}
}
return response;
}
@Override
public SdmResponse exportRunByScript(HttpServletResponse httpServletResponse, SpdmAnalysisRunListReq req) {
req.setCurrent(1);
req.setSize(10000);
SdmResponse response = analysisRunList(req);
public SdmResponse exportRunByScript(HttpServletResponse httpServletResponse, RunAnalysisExportExcelFormat req) {
req.getParams().setCurrent(1);
req.getParams().setSize(10000);
SpdmAnalysisRunListReq spdmAnalysisRunListReq = new SpdmAnalysisRunListReq();
BeanUtils.copyProperties(req.getParams(),spdmAnalysisRunListReq);
SdmResponse response = analysisRunList(spdmAnalysisRunListReq);
if (ObjectUtils.isEmpty(response)) {
log.error("exportRunByScript未查询到任务1");
return SdmResponse.success(new ArrayList<>());
} else {
List<ExportExcelFormat> excelHeaders = req.getExcelHeaders();
TaskExportExcelParam params = req.getParams();
TaskExportExcelFormat taskExportExcelFormat = new TaskExportExcelFormat();
taskExportExcelFormat.setExcelHeaders(excelHeaders);
taskExportExcelFormat.setParams(params);
String runFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(taskExportExcelFormat));
String runFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(req));
File file = new File(runFileName);
if(!file.exists()) {
response = SdmResponse.failed("算例文件不存在");
}else {
String taskSaveName = "run_" + RandomUtil.generateString(12) + ".xlsx";
String taskSaveName = "仿真算例.xlsx";
SystemOperate.outputHttpFileStream(httpServletResponse, runFileName, taskSaveName);
// file.delete();
}
@@ -2876,25 +2870,22 @@ public class TaskServiceImpl implements ITaskService {
}
@Override
public SdmResponse exportPerformanceByScript(HttpServletResponse httpServletResponse, SpdmAnalysisPerformanceListReq req) {
req.setCurrent(1);
req.setSize(10000);
SdmResponse response = analysisPerformanceList(req);
public SdmResponse exportPerformanceByScript(HttpServletResponse httpServletResponse, PerformanceAnalysisExportExcelFormat req) {
req.getParams().setCurrent(1);
req.getParams().setSize(10000);
SpdmAnalysisPerformanceListReq spdmAnalysisPerformanceListReq = new SpdmAnalysisPerformanceListReq();
BeanUtils.copyProperties(req.getParams(),spdmAnalysisPerformanceListReq);
SdmResponse response = analysisPerformanceList(spdmAnalysisPerformanceListReq);
if (ObjectUtils.isEmpty(response)) {
log.error("exportRunByScript未查询到任务1");
return SdmResponse.success(new ArrayList<>());
} else {
List<ExportExcelFormat> excelHeaders = req.getExcelHeaders();
TaskExportExcelParam params = req.getParams();
TaskExportExcelFormat taskExportExcelFormat = new TaskExportExcelFormat();
taskExportExcelFormat.setExcelHeaders(excelHeaders);
taskExportExcelFormat.setParams(params);
String performanceFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(taskExportExcelFormat));
String performanceFileName = exportOperate.convertToFile(JSON.toJSONString(response), JSON.toJSONString(req));
File file = new File(performanceFileName);
if(!file.exists()) {
response = SdmResponse.failed("指标文件不存在");
}else {
String taskSaveName = "performance_" + RandomUtil.generateString(12) + ".xlsx";
String taskSaveName = "仿真指标.xlsx";
SystemOperate.outputHttpFileStream(httpServletResponse, performanceFileName, taskSaveName);
// file.delete();
}