优化二维表格导出,故障修复

This commit is contained in:
daiqy88
2025-11-27 08:37:54 +08:00
parent 8b299225ad
commit 0e020a6276
20 changed files with 255 additions and 77 deletions

View File

@@ -5,6 +5,7 @@ import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.common.feign.inter.task.ISimuluationTaskPoolFeignClient;
import com.sdm.task.model.entity.TaskPoolUpdateBean;
import com.sdm.task.model.req.ExportTaskPoolReq;
import com.sdm.task.service.ISimulationTaskPoolService;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +33,13 @@ public class SimuluationTaskPoolController implements ISimuluationTaskPoolFeignC
return service.getPoolTreeByVersion(poolName,version);
}
@PostMapping(value = "/exportTaskPoolToExcel")
@ResponseBody
void exportSimulationTaskPool(@RequestBody ExportTaskPoolReq req,HttpServletResponse response)
{
service.exportTaskPoolToExcel(req,response);
}
@PostMapping(value = "/updateTaskPool")
@ResponseBody
SdmResponse updateSimulationTaskPool(@RequestBody TaskPoolUpdateBean updateBean)

View File

@@ -116,7 +116,9 @@ public class TaskPoolOperate {
String pythonCmd = "python "+shellPath+" "+poolJsonFileName+" "+poolFileName+" "+dictFileName;
try
{
log.info("shell begin time:"+System.currentTimeMillis());
String resultString = SystemOperate.exeShellCmd(pythonCmd);
log.info("shell end time:"+System.currentTimeMillis());
if(resultString.contains("error"))
{
response = SdmResponse.failed("解析分析项库文件脚本执行错误");

View File

@@ -0,0 +1,18 @@
package com.sdm.task.model.req;
import com.sdm.common.entity.ExportExcelFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.ArrayList;
import java.util.List;
public class ExportTaskPoolReq {
@Schema(description = "导出excel表头信息")
public List<ExportExcelFormat> excelHeaders = new ArrayList<>();
@Schema(description = "导出过滤条件")
public QueryTaskPoolReq params;
}

View File

@@ -0,0 +1,12 @@
package com.sdm.task.model.req;
import io.swagger.v3.oas.annotations.media.Schema;
public class QueryTaskPoolReq {
@Schema(description = "分析项库名称")
public String poolName;
@Schema(description = "分析项库版本")
public String version;
}

View File

@@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.task.model.entity.TaskPoolUpdateBean;
import com.sdm.task.model.req.ExportTaskPoolReq;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
@@ -32,5 +33,7 @@ public interface ISimulationTaskPoolService {
SdmResponse exportTaskPool(HttpServletResponse httpServletResponse,JSONObject jsonObject);
void exportTaskPoolToExcel(ExportTaskPoolReq req,HttpServletResponse httpServletResponse);
SdmResponse handleApproveNotice(LaunchApproveReq req);
}

View File

@@ -11,9 +11,12 @@ import com.sdm.common.entity.req.system.LaunchApproveReq;
import com.sdm.common.feign.impl.system.ApproveFeignClientImpl;
import com.sdm.common.service.BaseService;
import com.sdm.common.utils.SystemOperate;
import com.sdm.common.utils.excel.ExcelUtil;
import com.sdm.task.dao.SimulationPoolMapper;
import com.sdm.task.model.bo.TaskPoolOperate;
import com.sdm.task.model.entity.*;
import com.sdm.task.model.req.ExportTaskPoolReq;
import com.sdm.task.model.req.QueryTaskPoolReq;
import com.sdm.task.service.ISimulationTaskPoolService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
@@ -229,6 +232,29 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
return response;
}
/**
* 按格式导出分析项库
* @param req
* @param httpServletResponse
* @return
*/
public void exportTaskPoolToExcel(ExportTaskPoolReq req, HttpServletResponse httpServletResponse)
{
SdmResponse response = SdmResponse.success();
QueryTaskPoolReq filterCodition = req.params;
SdmResponse taskPoolResp = getPoolTreeByVersion(filterCodition.poolName,filterCodition.version);
if(!taskPoolResp.isSuccess())
{
response = SdmResponse.failed("获取分析项库失败");
}
else
{
JSONObject taskPool = (JSONObject) taskPoolResp.getData();
ExcelUtil.exportExcelWithMerge(taskPool.getJSONArray("nodes"),req.excelHeaders,httpServletResponse);
}
return ;
}
/**
* 获取分析项库当前版本信息
* @param poolName
@@ -1316,6 +1342,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
//response = createTaskPool(poolTreeObj);
response.setData(poolTreeObj);
}
log.info("import endTime:"+System.currentTimeMillis());
return response;
}