1、新增 导出指标接口

This commit is contained in:
2025-11-28 15:00:36 +08:00
parent d58ebfffbe
commit 8d50643a79
5 changed files with 91 additions and 0 deletions

View File

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

View File

@@ -0,0 +1,14 @@
package com.sdm.common.entity.req.performance;
import lombok.Data;
@Data
public class PerformanceExportExcelParam {
/**
* 任务id
*/
private Integer taskId;
}

View File

@@ -2,11 +2,14 @@ package com.sdm.task.controller;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.performance.PerformanceExportExcelFormat;
import com.sdm.common.entity.req.task.DemandExportExcelFormat;
import com.sdm.task.model.entity.SimulationPerformance;
import com.sdm.task.model.req.BatchAddTaskPerformanceReq;
import com.sdm.task.service.ISimulationPerformanceService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
@@ -78,4 +81,16 @@ public class SimulationPerformanceController {
return simulationPerformanceService.batchDeleteTaskPerformance(performanceIds);
}
/**
* 导出指标列表
* @param performanceExportExcelFormat
* @param httpservletResponse
* @return
*/
@PostMapping("/exportPerformance")
@Operation(summary = "导出指标列表", description = "导出指标列表")
public SdmResponse exportPerformance(@RequestBody PerformanceExportExcelFormat performanceExportExcelFormat , HttpServletResponse httpservletResponse) {
return simulationPerformanceService.exportPerformance(performanceExportExcelFormat, httpservletResponse);
}
}

View File

@@ -1,9 +1,11 @@
package com.sdm.task.service;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.performance.PerformanceExportExcelFormat;
import com.sdm.task.model.entity.SimulationPerformance;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sdm.task.model.req.BatchAddTaskPerformanceReq;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
@@ -34,4 +36,12 @@ public interface ISimulationPerformanceService extends IService<SimulationPerfor
*/
SdmResponse batchDeleteTaskPerformance(List<Integer> performanceIds);
/**
* 导出指标列表
* @param performanceExportExcelFormat
* @param httpservletResponse
* @return
*/
SdmResponse exportPerformance(PerformanceExportExcelFormat performanceExportExcelFormat, HttpServletResponse httpservletResponse);
}

View File

@@ -1,8 +1,16 @@
package com.sdm.task.service.impl;
import com.alibaba.fastjson2.JSONArray;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.enums.ApprovalFileDataStatusEnum;
import com.sdm.common.entity.req.data.KnowledgeExportExcelParam;
import com.sdm.common.entity.req.performance.PerformanceExportExcelFormat;
import com.sdm.common.entity.req.performance.PerformanceExportExcelParam;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.service.BaseService;
import com.sdm.common.utils.RandomUtil;
import com.sdm.common.utils.excel.ExcelUtil;
import com.sdm.task.model.dto.TaskPerformanceDto;
import com.sdm.task.model.entity.SimulationPerformance;
import com.sdm.task.dao.SimulationPerformanceMapper;
@@ -11,6 +19,9 @@ import com.sdm.task.model.req.BatchAddTaskPerformanceReq;
import com.sdm.task.service.ISimulationPerformanceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sdm.task.service.ISimulationTaskService;
import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -100,4 +111,23 @@ public class SimulationPerformanceServiceImpl extends ServiceImpl<SimulationPerf
}
}
@Override
public SdmResponse exportPerformance(PerformanceExportExcelFormat performanceExportExcelFormat, HttpServletResponse httpServletResponse) {
SdmResponse response = new SdmResponse();
PerformanceExportExcelParam params = performanceExportExcelFormat.getParams();
List<ExportExcelFormat> exportExcelFormats = performanceExportExcelFormat.getExcelHeaders();
SdmResponse taskRespond = getTaskPerformance(params.getTaskId());
if(taskRespond.isSuccess()) {
List<SimulationPerformance> dataList = (List<SimulationPerformance>) taskRespond.getData();
if (CollectionUtils.isEmpty(dataList)) {
ExcelUtil.exportExcelNoMerge(new JSONArray(),exportExcelFormats,httpServletResponse);
return response;
}
ExcelUtil.exportExcelNoMerge(JSONArray.from(dataList),exportExcelFormats,httpServletResponse);
} else {
response = SdmResponse.failed(taskRespond.getMessage());
}
return response;
}
}