|
@@ -315,6 +315,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
}
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
private void projectRunToKafka(SimulationManualProjectPO po) {
|
|
|
log.info("准备发送项目消息:" + po);
|
|
|
SimulationManualProjectKafkaParam kafkaParam = new SimulationManualProjectKafkaParam();
|
|
@@ -342,6 +343,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
}, failure -> log.error("发送消息失败:" + failure.getMessage()));
|
|
|
}
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
private void projectStopToKafka(SimulationManualProjectPO po) {
|
|
|
SimulationManualProjectKafkaParam kafkaParam = new SimulationManualProjectKafkaParam();
|
|
|
kafkaParam.setProjectId(po.getId());
|
|
@@ -467,29 +469,84 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
@SneakyThrows
|
|
|
public ResponseBodyVO<ProjectDetailsVO> selectProjectDetailsByIdForScheduler(SimulationManualProjectParam param) {
|
|
|
|
|
|
- ProjectDetailsVO projectDetailsVo = null;
|
|
|
+ ProjectDetailsVO projectDetailsVO = null;
|
|
|
if (DictConstants.PROJECT_TYPE_MANUAL.equals(param.getProjectType())) { // 手动运行任务
|
|
|
SimulationManualProjectPO po = simulationProjectMapper.selectProjectById(param);
|
|
|
- projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVO.class);
|
|
|
- projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
|
- projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
|
- projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
|
- projectDetailsVo.setNowRunState(po.getNowRunState());
|
|
|
- projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
|
|
|
+ projectDetailsVO = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVO.class);
|
|
|
+ projectDetailsVO.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
|
+ projectDetailsVO.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
|
+ projectDetailsVO.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
|
+ projectDetailsVO.setNowRunState(po.getNowRunState());
|
|
|
+ projectDetailsVO.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
|
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
|
|
|
SimulationManualProjectVO po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
- projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVO.class);
|
|
|
- projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
|
- projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
|
- projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
|
- projectDetailsVo.setNowRunState(po.getNowRunState());
|
|
|
- projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
|
|
|
+ projectDetailsVO = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVO.class);
|
|
|
+ projectDetailsVO.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
|
+ projectDetailsVO.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
|
+ projectDetailsVO.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
|
+ projectDetailsVO.setNowRunState(po.getNowRunState());
|
|
|
+ projectDetailsVO.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
|
|
|
|
|
|
}
|
|
|
// 获取测试得分列表
|
|
|
List<AlgorithmScoreVO> firstTargetScore = getFirstTargetScore(param.getId());
|
|
|
- projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
|
|
|
- return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
|
|
|
+ projectDetailsVO.setAlgorithmScoreList(firstTargetScore);
|
|
|
+
|
|
|
+ //* -------------------------------- 任务 --------------------------------
|
|
|
+ List<ProjectRunStateNumVo> states = null;
|
|
|
+ List<ProjectRunResultRatioNumVo> resultScoreList = null;
|
|
|
+ ProjectTaskParam projectTaskParam = new ProjectTaskParam();
|
|
|
+ projectTaskParam.setPId(param.getId());
|
|
|
+ List<ProjectRunResultRatioNumVo> projectRunResultRatioNumVos = null;
|
|
|
+ Integer size = simulationProjectTaskMapper.selectProjectTaskNumByProjectId(projectTaskParam);
|
|
|
+ if (size > 0) {
|
|
|
+ states = simulationProjectTaskMapper.selectRunStateCount(param.getId());
|
|
|
+ taskRunState(states, size);
|
|
|
+ projectRunResultRatioNumVos = simulationProjectTaskMapper.selectRunResultCount(param.getId());
|
|
|
+ taskResultState(projectRunResultRatioNumVos, size);
|
|
|
+
|
|
|
+ resultScoreList = simulationProjectTaskMapper.selectScoreCount(param.getId());
|
|
|
+
|
|
|
+ // 未完成得分为”“的改为0
|
|
|
+ if (!isEmpty(resultScoreList) && resultScoreList.size() == 1 && isEmpty(resultScoreList.get(0).getResultName())) {
|
|
|
+ ProjectRunResultRatioNumVo projectRunResultRatioNumVo = resultScoreList.get(0);
|
|
|
+ projectRunResultRatioNumVo.setResultName("0");
|
|
|
+ }
|
|
|
+ taskScore(resultScoreList, size);
|
|
|
+ }
|
|
|
+ projectDetailsVO.setResultList(projectRunResultRatioNumVos);
|
|
|
+ projectDetailsVO.setResultScoreList(resultScoreList);
|
|
|
+ // 汉化
|
|
|
+ if (CollectionUtil.isNotEmpty(states)) {
|
|
|
+ states.forEach(state -> {
|
|
|
+ if (StateConstant.Aborted.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Aborted.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.PendingAnalysis.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.PendingAnalysis.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.Running.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Running.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.Analysing.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Analysing.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.Completed.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Completed.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.Terminated.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Terminated.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.Terminating.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Terminating.getChinese());
|
|
|
+ }
|
|
|
+ if (StateConstant.Pending.getEnglish().equals(state.getStateName())) {
|
|
|
+ state.setStateName(StateConstant.Pending.getChinese());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ projectDetailsVO.setStateList(states);
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVO);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -504,7 +561,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
param.setProjectType("1");// 默认
|
|
|
}
|
|
|
|
|
|
- ProjectDetailsVO projectDetailsVo = new ProjectDetailsVO();
|
|
|
+ ProjectDetailsVO projectDetailsVO = new ProjectDetailsVO();
|
|
|
|
|
|
// 封装要使用到的数据
|
|
|
SimulationManualProjectPO poParam = new SimulationManualProjectPO();
|
|
@@ -528,13 +585,13 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
// 获取场景包信息
|
|
|
ScenePackagePO scenePackagePO = simulationProjectMapper.selectScenePackageInfoById(poParam.getScene());
|
|
|
|
|
|
- projectDetailsVo.setPackageName(scenePackagePO.getPackageName());
|
|
|
+ projectDetailsVO.setPackageName(scenePackagePO.getPackageName());
|
|
|
|
|
|
// 算法配置
|
|
|
AlgorithmPO algorithmBaseInfoVo = getAlgorithmInfo(poParam);
|
|
|
// 获取测试得分列表
|
|
|
List<AlgorithmScoreVO> firstTargetScore = getFirstTargetScore(param.getId());
|
|
|
- projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
|
|
|
+ projectDetailsVO.setAlgorithmScoreList(firstTargetScore);
|
|
|
|
|
|
// 车辆配置
|
|
|
VehiclePO vehicleBaseInfoVo = null;
|
|
@@ -647,36 +704,35 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
//
|
|
|
// }
|
|
|
|
|
|
- projectDetailsVo.setProjectId(poParam.getProjectId());
|
|
|
- projectDetailsVo.setProjectName(poParam.getProjectName());
|
|
|
- projectDetailsVo.setProjectDescribe(poParam.getProjectDescribe());
|
|
|
- projectDetailsVo.setStartTime(getRqStr(poParam.getStartTime(), 1));
|
|
|
- projectDetailsVo.setFinishTime(getRqStr(poParam.getFinishTime(), 1));
|
|
|
- projectDetailsVo.setNowRunState(poParam.getNowRunState());
|
|
|
- projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, poParam.getNowRunState()));
|
|
|
- projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, poParam.getEvaluationLevel()));
|
|
|
- // projectDetailsVo.setEvaluationLevel(s);
|
|
|
+ projectDetailsVO.setProjectId(poParam.getProjectId());
|
|
|
+ projectDetailsVO.setProjectName(poParam.getProjectName());
|
|
|
+ projectDetailsVO.setProjectDescribe(poParam.getProjectDescribe());
|
|
|
+ projectDetailsVO.setStartTime(getRqStr(poParam.getStartTime(), 1));
|
|
|
+ projectDetailsVO.setFinishTime(getRqStr(poParam.getFinishTime(), 1));
|
|
|
+ projectDetailsVO.setNowRunState(poParam.getNowRunState());
|
|
|
+ projectDetailsVO.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, poParam.getNowRunState()));
|
|
|
+ projectDetailsVO.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, poParam.getEvaluationLevel()));
|
|
|
if (algorithmBaseInfoVo != null) {
|
|
|
- projectDetailsVo.setAlgorithmName(algorithmBaseInfoVo.getAlgorithmName());
|
|
|
- projectDetailsVo.setAlgorithmDescribe(algorithmBaseInfoVo.getDescription());
|
|
|
+ projectDetailsVO.setAlgorithmName(algorithmBaseInfoVo.getAlgorithmName());
|
|
|
+ projectDetailsVO.setAlgorithmDescribe(algorithmBaseInfoVo.getDescription());
|
|
|
}
|
|
|
if (vehicleBaseInfoVo != null) {
|
|
|
- projectDetailsVo.setVehicleName(vehicleBaseInfoVo.getVehicleName());
|
|
|
- projectDetailsVo.setVehicleDescribe(vehicleBaseInfoVo.getDescription());
|
|
|
- projectDetailsVo.setVehicleTopView(vehicleBaseInfoVo.getVehicleFrontView());
|
|
|
-
|
|
|
- }
|
|
|
- projectDetailsVo.setSensorCameraList(sensorCameraList);
|
|
|
- projectDetailsVo.setSensorOgtList(sensorOgtList);
|
|
|
- projectDetailsVo.setSensorLidarList(sensorLidarList);
|
|
|
- projectDetailsVo.setSensorRadarList(sensorRadarList);
|
|
|
- projectDetailsVo.setSensorGpsList(sensorGpsList);
|
|
|
-// projectDetailsVo.setStateList(projectRunStateNumVos);
|
|
|
-// projectDetailsVo.setResultList(projectRunResultRatioNumVos);
|
|
|
-// projectDetailsVo.setResultScoreList(resultScoreList);
|
|
|
-
|
|
|
- projectDetailsVo.setParallelism(poParam.getParallelism());
|
|
|
- projectDetailsVo.setMaxSimulationTime(poParam.getMaxSimulationTime());
|
|
|
+ projectDetailsVO.setVehicleName(vehicleBaseInfoVo.getVehicleName());
|
|
|
+ projectDetailsVO.setVehicleDescribe(vehicleBaseInfoVo.getDescription());
|
|
|
+ projectDetailsVO.setVehicleTopView(vehicleBaseInfoVo.getVehicleFrontView());
|
|
|
+
|
|
|
+ }
|
|
|
+ projectDetailsVO.setSensorCameraList(sensorCameraList);
|
|
|
+ projectDetailsVO.setSensorOgtList(sensorOgtList);
|
|
|
+ projectDetailsVO.setSensorLidarList(sensorLidarList);
|
|
|
+ projectDetailsVO.setSensorRadarList(sensorRadarList);
|
|
|
+ projectDetailsVO.setSensorGpsList(sensorGpsList);
|
|
|
+// projectDetailsVO.setStateList(projectRunStateNumVos);
|
|
|
+// projectDetailsVO.setResultList(projectRunResultRatioNumVos);
|
|
|
+// projectDetailsVO.setResultScoreList(resultScoreList);
|
|
|
+
|
|
|
+ projectDetailsVO.setParallelism(poParam.getParallelism());
|
|
|
+ projectDetailsVO.setMaxSimulationTime(poParam.getMaxSimulationTime());
|
|
|
String isChoiceGpu = poParam.getIsChoiceGpu();
|
|
|
String g = "";
|
|
|
if ("0".equals(isChoiceGpu)) {
|
|
@@ -684,12 +740,12 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
} else if ("1".equals(isChoiceGpu)) {
|
|
|
g = "否";
|
|
|
}
|
|
|
- projectDetailsVo.setIsChoiceGpu(g);
|
|
|
+ projectDetailsVO.setIsChoiceGpu(g);
|
|
|
|
|
|
/*
|
|
|
* //是否生成报告
|
|
|
* boolean isCreateReport = true;
|
|
|
- * String nowRunState = projectDetailsVo.getNowRunState();
|
|
|
+ * String nowRunState = projectDetailsVO.getNowRunState();
|
|
|
* if(!ProjectRunStateEnum.FINISH.getCode().equals(nowRunState)){
|
|
|
* isCreateReport = false;
|
|
|
* }else{
|
|
@@ -703,10 +759,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
* }
|
|
|
* }
|
|
|
*
|
|
|
- * projectDetailsVo.setCreateReport(isCreateReport);
|
|
|
+ * projectDetailsVO.setCreateReport(isCreateReport);
|
|
|
*/
|
|
|
|
|
|
- return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVO);
|
|
|
}
|
|
|
|
|
|
// 运行状态统计
|