数据查询分析
This commit is contained in:
@@ -4,6 +4,8 @@ import com.sdm.common.common.SdmResponse;
|
||||
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;
|
||||
@@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/analysis")
|
||||
@@ -59,10 +62,10 @@ public class SimulationAnalysisController {
|
||||
|
||||
|
||||
/**
|
||||
* 数据分析(数据查询)-根据任务id获取所有算列结果和5种文件
|
||||
* 数据分析(数据查询)-根据任务id获取所有算列结果
|
||||
*/
|
||||
@GetMapping("/getAllRunResult")
|
||||
public SdmResponse getAllRunResultByTaskId(String taskId) {
|
||||
@GetMapping("/getAllRunResultByTaskId")
|
||||
public SdmResponse<GetAllRunResultByTaskIdResp> getAllRunResultByTaskId(String taskId) {
|
||||
return taskService.getAllRunResultByTaskId(taskId);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.sdm.project.model.resp;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class GetAllRunResultByTaskIdResp {
|
||||
@Schema(description = "任务指标列表")
|
||||
List<TasKPerformanceResp> tasKPerformanceRespList = new ArrayList<>();
|
||||
|
||||
@Schema(description = "工况算列运行结果")
|
||||
List<RunResultResp> runResultResp;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.sdm.project.model.resp;
|
||||
|
||||
import com.sdm.project.model.entity.SimulationPerformance;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RunResultResp {
|
||||
SimulationRun simulationRun;
|
||||
List<SimulationPerformance> simulationPerformance = new ArrayList<>();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.sdm.project.model.resp;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TasKPerformanceResp {
|
||||
@Schema(description = "指标名称")
|
||||
String performanceName;
|
||||
|
||||
@Schema(description = "单位")
|
||||
String unit;
|
||||
|
||||
@Schema(description = "达成方式")
|
||||
String method;
|
||||
|
||||
@Schema(description = "目标值")
|
||||
String targetValue;
|
||||
}
|
||||
@@ -6,6 +6,8 @@ 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.req.SpdmTaskListReq;
|
||||
import com.sdm.project.model.resp.GetAllRunResultByTaskIdResp;
|
||||
import com.sdm.project.model.resp.RunResultResp;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
@@ -28,5 +30,5 @@ public interface ITaskService {
|
||||
|
||||
SdmResponse edit(ModifyTaskNode req);
|
||||
|
||||
SdmResponse getAllRunResultByTaskId(String taskId);
|
||||
SdmResponse<GetAllRunResultByTaskIdResp> getAllRunResultByTaskId(String taskId);
|
||||
}
|
||||
|
||||
@@ -13,13 +13,18 @@ import com.sdm.project.model.bo.ModifyTaskNode;
|
||||
import com.sdm.project.model.bo.TaskExtraNode;
|
||||
import com.sdm.project.model.bo.TaskMemberNode;
|
||||
import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import com.sdm.project.model.entity.SimulationPerformance;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.sdm.project.model.po.PerformanceNodePo;
|
||||
import com.sdm.project.model.po.ProjectNodePo;
|
||||
import com.sdm.project.model.po.TaskNodeMemberPo;
|
||||
import com.sdm.project.model.po.TaskRunPo;
|
||||
import com.sdm.project.model.req.*;
|
||||
import com.sdm.project.model.resp.GetAllRunResultByTaskIdResp;
|
||||
import com.sdm.project.model.resp.RunResultResp;
|
||||
import com.sdm.project.model.resp.TasKPerformanceResp;
|
||||
import com.sdm.project.model.vo.*;
|
||||
import com.sdm.project.service.ISimulationPerformanceService;
|
||||
import com.sdm.project.service.ISimulationRunService;
|
||||
import com.sdm.project.service.ITaskService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -58,6 +63,9 @@ public class TaskServiceImpl implements ITaskService {
|
||||
@Autowired
|
||||
private ISimulationRunService simulationRunService;
|
||||
|
||||
@Autowired
|
||||
private ISimulationPerformanceService simulationPerformanceService;
|
||||
|
||||
|
||||
@Override
|
||||
public SdmResponse list(SpdmTaskListReq req) {
|
||||
@@ -703,9 +711,53 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse getAllRunResultByTaskId(String taskId) {
|
||||
List<SimulationRun> list = simulationRunService.lambdaQuery().eq(SimulationRun::getTaskId, taskId).list();
|
||||
public SdmResponse<GetAllRunResultByTaskIdResp> getAllRunResultByTaskId(String taskId) {
|
||||
GetAllRunResultByTaskIdResp result= new GetAllRunResultByTaskIdResp();
|
||||
// taskId不为null,runid为null,查询所有工况设定的标准指标
|
||||
List<SimulationPerformance> simulationTaskPerformances = simulationPerformanceService
|
||||
.lambdaQuery()
|
||||
.eq(SimulationPerformance::getTaskId, taskId)
|
||||
.isNull(SimulationPerformance::getRunId)
|
||||
.list();
|
||||
if(CollectionUtils.isEmpty(simulationTaskPerformances)) {
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
return null;
|
||||
simulationTaskPerformances.forEach(simulationPerformance -> {
|
||||
TasKPerformanceResp taskPerformanceResp = new TasKPerformanceResp();
|
||||
BeanUtils.copyProperties(simulationPerformance, taskPerformanceResp);
|
||||
result.getTasKPerformanceRespList().add(taskPerformanceResp);
|
||||
});
|
||||
|
||||
|
||||
|
||||
// // taskId不为null,runid不为null,获取算列计算结果
|
||||
List<SimulationRun> simulationRunList = simulationRunService.lambdaQuery().eq(SimulationRun::getTaskId, taskId).list();
|
||||
|
||||
Map<String, List<SimulationPerformance>> simulationRunPerformanceMap = simulationPerformanceService
|
||||
.lambdaQuery()
|
||||
.eq(SimulationPerformance::getTaskId, taskId)
|
||||
.isNotNull(SimulationPerformance::getRunId)
|
||||
.list()
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(SimulationPerformance::getRunId));
|
||||
|
||||
List<RunResultResp> runResultRespList = new ArrayList<>();
|
||||
|
||||
if(CollectionUtils.isNotEmpty(simulationRunList)) {
|
||||
for (SimulationRun simulationRun : simulationRunList) {
|
||||
RunResultResp runResultResp = new RunResultResp();
|
||||
runResultResp.setSimulationRun(simulationRun);
|
||||
List<SimulationPerformance> simulationPerformance = simulationRunPerformanceMap.get(simulationRun.getUuid());
|
||||
if (CollectionUtils.isNotEmpty(simulationPerformance)) {
|
||||
runResultResp.setSimulationPerformance(simulationPerformance);
|
||||
}
|
||||
runResultRespList.add(runResultResp);
|
||||
}
|
||||
}
|
||||
|
||||
result.setRunResultResp(runResultRespList);
|
||||
|
||||
return SdmResponse.success(result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user