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

@@ -0,0 +1,21 @@
package com.sdm.common.entity.req.export;
import com.sdm.common.entity.ExportExcelFormat;
import lombok.Data;
import java.util.List;
@Data
public class PerformanceAnalysisExportExcelFormat {
/**
* 导出的基本属性值
*/
private List<ExportExcelFormat> excelHeaders;
/**
* 导出指标的可选查询参数
*/
private PerformanceAnalysisExportExcelParam params;
}

View File

@@ -0,0 +1,58 @@
package com.sdm.common.entity.req.export;
import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.req.task.TaskExportExcelParam;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
@Data
public class PerformanceAnalysisExportExcelParam {
private Integer current;
private Integer size;
@Schema( description = "项目节点id")
private String projectNodeId;
@Schema( description = "阶段节点id")
private String phaseNodeId;
@Schema( description = "机台节点id")
private String machineNodeId;
@Schema( description = "工位节点id")
private String workspaceNodeId;
@Schema( description = "专业节点id")
private String disciplineNodeId;
@Schema( description = "任务节点id")
private String taskNodeId;
@Schema( description = "指标名称")
private String performanceName;
@Schema( description = "开始时间")
private String beginTime;
@Schema( description = "结束时间")
private String endTime;
@Schema( description = "名称(兼容数据总览使用)")
private String name;
/**
* 导出的基本属性值
*/
private List<ExportExcelFormat> excelHeaders;
/**
* 导出任务的可选查询参数
*/
private TaskExportExcelParam params;
}

View File

@@ -0,0 +1,21 @@
package com.sdm.common.entity.req.export;
import com.sdm.common.entity.ExportExcelFormat;
import lombok.Data;
import java.util.List;
@Data
public class RunAnalysisExportExcelFormat {
/**
* 导出的基本属性值
*/
private List<ExportExcelFormat> excelHeaders;
/**
* 导出算例的可选查询参数
*/
private RunAnalysisExportExcelParam params;
}

View File

@@ -0,0 +1,43 @@
package com.sdm.common.entity.req.export;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class RunAnalysisExportExcelParam {
private Integer current;
private Integer size;
@Schema( description = "项目节点id")
private String projectNodeId;
@Schema( description = "阶段节点id")
private String phaseNodeId;
@Schema( description = "机台节点id")
private String machineNodeId;
@Schema( description = "工位节点id")
private String workspaceNodeId;
@Schema( description = "专业节点id")
private String disciplineNodeId;
@Schema( description = "任务节点id")
private String taskNodeId;
@Schema( description = "算例名称")
private String runName;
@Schema( description = "开始时间")
private String beginTime;
@Schema( description = "结束时间")
private String endTime;
@Schema( description = "名称(兼容数据总览使用)")
private String name;
}

View File

@@ -0,0 +1,21 @@
package com.sdm.common.entity.req.export;
import com.sdm.common.entity.ExportExcelFormat;
import lombok.Data;
import java.util.List;
@Data
public class TaskAnalysisExportExcelFormat {
/**
* 导出的基本属性值
*/
private List<ExportExcelFormat> excelHeaders;
/**
* 导出任务的可选查询参数
*/
private TaskAnalysisExportExcelParam params;
}

View File

@@ -0,0 +1,78 @@
package com.sdm.common.entity.req.export;
import com.sdm.common.entity.bo.TaskNodeTag;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
@Data
public class TaskAnalysisExportExcelParam {
@NotNull(message = "current不能为空")
private Integer current;
@NotNull(message = "size不能为空")
private Integer size;
@Schema( description = "项目节点id")
private String projectNodeId;
@Schema( description = "阶段节点id")
private String phaseNodeId;
@Schema( description = "机台节点id")
private String machineNodeId;
@Schema( description = "工位节点id")
private String workspaceNodeId;
@Schema( description = "专业节点id")
private String disciplineNodeId;
@Schema( description = "任务节点id")
private String taskNodeId;
@Schema(description = "标签1")
private String tag1;
@Schema(description = "标签2")
private String tag2;
@Schema(description = "标签3")
private String tag3;
@Schema(description = "标签4")
private String tag4;
@Schema(description = "标签5")
private String tag5;
@Schema(description = "标签6")
private String tag6;
@Schema(description = "标签7")
private String tag7;
@Schema(description = "标签8")
private String tag8;
@Schema(description = "标签9")
private String tag9;
@Schema(description = "标签10")
private String tag10;
@Schema( description = "任务名称")
private String taskName;
@Schema( description = "开始时间")
private String beginTime;
@Schema( description = "结束时间")
private String endTime;
@Schema( description = "名称(兼容数据总览使用)")
private String name;
}

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();
}