Merge branch 'main' of http://192.168.65.198:3000/toolchaintechnologycenter/spdm-backend
This commit is contained in:
@@ -15,4 +15,14 @@ public class PerformanceExportExcelParam {
|
||||
*/
|
||||
private String runId;
|
||||
|
||||
/**
|
||||
* 仿真参数库名称
|
||||
*/
|
||||
private String poolName;
|
||||
|
||||
/**
|
||||
* 仿真参数库版本
|
||||
*/
|
||||
private String version;
|
||||
|
||||
}
|
||||
|
||||
@@ -95,8 +95,8 @@ public class SimulationRunController implements ISimulationRunFeignClient {
|
||||
/**
|
||||
* 上传算例文件
|
||||
*/
|
||||
@PostMapping(value = "/uploadRunFiles", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
public SdmResponse uploadRunFiles(UploadFilesReq req) {
|
||||
@PostMapping(value = "/uploadRunFiles")
|
||||
public SdmResponse uploadRunFiles(@RequestBody UploadFilesReq req) {
|
||||
return runService.uploadRunFiles(req);
|
||||
}
|
||||
|
||||
|
||||
@@ -725,8 +725,8 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
|
||||
@Override
|
||||
public SdmResponse uploadRunFiles(UploadFilesReq req) {
|
||||
// 批量存储文件信息,返回数据供第二步分片上传使用
|
||||
// return dataFeignClient.batchAddFileInfo(req);
|
||||
return dataFeignClient.uploadFiles(req);
|
||||
return dataFeignClient.batchAddFileInfo(req);
|
||||
// return dataFeignClient.uploadFiles(req);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -184,4 +184,5 @@ security:
|
||||
- /systemApprove/approveStatusNotice
|
||||
- /user/getUserToken
|
||||
- /systemMsg/sendMessage
|
||||
- /tenant/list
|
||||
- /tenant/list
|
||||
- /systemLog/saveLog
|
||||
@@ -106,4 +106,17 @@ public class SimulationPerformanceController implements ISimuluationPerformanceF
|
||||
return simulationPerformanceService.exportPerformance(performanceExportExcelFormat, httpservletResponse);
|
||||
}
|
||||
|
||||
/**
|
||||
* 仿真参数库导出指标列表
|
||||
* @param performanceExportExcelFormat
|
||||
* @param httpservletResponse
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/exportTaskPoolPerformance")
|
||||
@Operation(summary = "导出指标列表", description = "导出指标列表")
|
||||
public SdmResponse exportTaskPoolPerformance(@RequestBody PerformanceExportExcelFormat performanceExportExcelFormat , HttpServletResponse httpservletResponse) {
|
||||
return simulationPerformanceService.exportTaskPoolPerformance(performanceExportExcelFormat, httpservletResponse);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.sdm.common.entity.pojo.task.TaskBaseInfo;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.task.BindTaskAndFlowTemplateReq;
|
||||
import com.sdm.common.feign.inter.task.ISimuluationTaskPoolFeignClient;
|
||||
import com.sdm.task.model.entity.TaskPoolPerformance;
|
||||
import com.sdm.task.model.entity.TaskPoolUpdateBean;
|
||||
import com.sdm.task.model.req.ExportTaskPoolReq;
|
||||
import com.sdm.task.service.ISimulationTaskPoolService;
|
||||
@@ -68,6 +69,13 @@ public class SimuluationTaskPoolController implements ISimuluationTaskPoolFeignC
|
||||
return service.getSimulationPoolPerformanceByVersion(poolName,version);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/getTaskPoolPerformanceWithVersion")
|
||||
@ResponseBody
|
||||
SdmResponse<List<TaskPoolPerformance>> getTaskPoolPerformanceWithVersion(@RequestParam String poolName, @RequestParam String version)
|
||||
{
|
||||
return service.getTaskPoolPerformanceWithVersion(poolName, version);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/getTaskPoolVersions")
|
||||
@ResponseBody
|
||||
SdmResponse getSimulationTaskPoolVersions(@RequestParam String poolName)
|
||||
|
||||
@@ -48,4 +48,6 @@ public interface ISimulationPerformanceService extends IService<SimulationPerfor
|
||||
*/
|
||||
SdmResponse exportPerformance(PerformanceExportExcelFormat performanceExportExcelFormat, HttpServletResponse httpservletResponse);
|
||||
|
||||
SdmResponse exportTaskPoolPerformance(PerformanceExportExcelFormat performanceExportExcelFormat, HttpServletResponse httpservletResponse);
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.sdm.common.entity.pojo.task.TaskBaseInfo;
|
||||
import com.sdm.common.entity.req.system.LaunchApproveReq;
|
||||
import com.sdm.common.entity.req.task.BindTaskAndFlowTemplateReq;
|
||||
import com.sdm.task.model.entity.SimulatePoolTaskFlowTemplateRelate;
|
||||
import com.sdm.task.model.entity.TaskPoolPerformance;
|
||||
import com.sdm.task.model.entity.TaskPoolUpdateBean;
|
||||
import com.sdm.task.model.req.ExportTaskPoolReq;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
@@ -33,6 +34,8 @@ public interface ISimulationTaskPoolService {
|
||||
|
||||
SdmResponse getSimulationPoolPerformanceByVersion(String poolName,String version);
|
||||
|
||||
SdmResponse<List<TaskPoolPerformance>> getTaskPoolPerformanceWithVersion(String poolName, String version);
|
||||
|
||||
SdmResponse getSimulationPoolTasks(String poolName,String version);
|
||||
|
||||
SdmResponse<Map<String, TaskBaseInfo>> getSimulationTasksByPoolId(long poolId);
|
||||
|
||||
@@ -16,9 +16,11 @@ import com.sdm.task.model.dto.TaskPerformanceDto;
|
||||
import com.sdm.task.model.entity.SimulationPerformance;
|
||||
import com.sdm.task.dao.SimulationPerformanceMapper;
|
||||
import com.sdm.task.model.entity.SimulationTask;
|
||||
import com.sdm.task.model.entity.TaskPoolPerformance;
|
||||
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.ISimulationTaskPoolService;
|
||||
import com.sdm.task.service.ISimulationTaskService;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@@ -45,6 +47,9 @@ public class SimulationPerformanceServiceImpl extends ServiceImpl<SimulationPerf
|
||||
@Autowired
|
||||
private ISimulationTaskService simulationTaskService;
|
||||
|
||||
@Autowired
|
||||
private ISimulationTaskPoolService simulationTaskPoolService;
|
||||
|
||||
|
||||
@Override
|
||||
public SdmResponse getTaskPerformance(Integer taskId) {
|
||||
@@ -168,4 +173,29 @@ public class SimulationPerformanceServiceImpl extends ServiceImpl<SimulationPerf
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse exportTaskPoolPerformance(PerformanceExportExcelFormat performanceExportExcelFormat, HttpServletResponse httpServletResponse) {
|
||||
SdmResponse response = new SdmResponse();
|
||||
PerformanceExportExcelParam params = performanceExportExcelFormat.getParams();
|
||||
String poolName = params.getPoolName();
|
||||
String version = params.getVersion();
|
||||
if (poolName == null || version == null) {
|
||||
log.error("poolName和version不能为空");
|
||||
throw new RuntimeException("导出仿真指标库失败,原因:poolName和version不能为空");
|
||||
}
|
||||
List<ExportExcelFormat> exportExcelFormats = performanceExportExcelFormat.getExcelHeaders();
|
||||
SdmResponse<List<TaskPoolPerformance>> sdmResponse = simulationTaskPoolService.getTaskPoolPerformanceWithVersion(poolName, version);
|
||||
if(sdmResponse.getData() != null) {
|
||||
List<TaskPoolPerformance> dataList = sdmResponse.getData();
|
||||
if (CollectionUtils.isEmpty(dataList)) {
|
||||
ExcelUtil.exportExcelNoMerge(new JSONArray(),exportExcelFormats,httpServletResponse);
|
||||
return response;
|
||||
}
|
||||
ExcelUtil.exportExcelNoMerge(JSONArray.from(dataList),exportExcelFormats,httpServletResponse);
|
||||
} else {
|
||||
return sdmResponse;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@ import com.sdm.task.model.req.QueryTaskPoolReq;
|
||||
import com.sdm.task.service.ISimulationTaskPoolService;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -826,6 +828,62 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据仿真指标库名称和版本查询
|
||||
* @param poolName
|
||||
* @param version
|
||||
* @return
|
||||
*/
|
||||
public SdmResponse<List<TaskPoolPerformance>> getTaskPoolPerformanceWithVersion(String poolName, String version)
|
||||
{
|
||||
List<TaskPoolVersion> taskPoolVersions = mapper.queryTaskPoolVersion(poolName, version);
|
||||
if (CollectionUtils.isNotEmpty(taskPoolVersions)) {
|
||||
String versionContents = taskPoolVersions.get(0).versionContents;
|
||||
if (StringUtil.isNotEmpty(versionContents)) {
|
||||
JSONObject root = JSONObject.parseObject(versionContents);
|
||||
JSONArray nodes = root.getJSONArray("nodes");
|
||||
if (nodes == null || nodes.isEmpty()) {
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
List<JSONObject> performanceNodes = new ArrayList<>();
|
||||
// 遍历每个根节点
|
||||
for (int i = 0; i < nodes.size(); i++) {
|
||||
JSONObject node = nodes.getJSONObject(i);
|
||||
findPerformanceNodesRecursive(node, performanceNodes);
|
||||
}
|
||||
|
||||
List<TaskPoolPerformance> performances = performanceNodes.stream().map(i -> {
|
||||
TaskPoolPerformance taskPoolPerformance = JSONObject.parseObject(i.toString(), TaskPoolPerformance.class);
|
||||
return taskPoolPerformance;
|
||||
}).toList();
|
||||
return SdmResponse.success(performances);
|
||||
}
|
||||
}
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
private static void findPerformanceNodesRecursive(JSONObject node, List<JSONObject> result) {
|
||||
if (node == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查当前节点是否为 performance 类型
|
||||
String nodeType = node.getString("nodeType");
|
||||
if ("performance".equals(nodeType)) {
|
||||
result.add(node);
|
||||
}
|
||||
|
||||
// 递归处理子节点
|
||||
JSONArray children = node.getJSONArray("children");
|
||||
if (children != null && !children.isEmpty()) {
|
||||
for (int i = 0; i < children.size(); i++) {
|
||||
JSONObject child = children.getJSONObject(i);
|
||||
findPerformanceNodesRecursive(child, result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起仿真库评审
|
||||
* @param templateId
|
||||
|
||||
Reference in New Issue
Block a user