|
@@ -151,7 +151,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ResponseBodyVO<PageInfo<SimulationManualProjectVo>> selectProject(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<PageInfo<SimulationManualProjectVO>> selectProject(SimulationManualProjectParam param) {
|
|
|
|
|
|
// 设置当前用户id
|
|
// 设置当前用户id
|
|
param.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
param.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
@@ -193,11 +193,11 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
// 查询有效数据
|
|
// 查询有效数据
|
|
param.setIsDeleted("0");
|
|
param.setIsDeleted("0");
|
|
setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
|
|
setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
|
|
- List<SimulationManualProjectVo> vos = simulationProjectMapper.selectProjectList(param); // 查出来的 algorithm
|
|
|
|
|
|
+ List<SimulationManualProjectVO> vos = simulationProjectMapper.selectProjectList(param); // 查出来的 algorithm
|
|
// 字段内容是算法 id
|
|
// 字段内容是算法 id
|
|
- PageInfo<SimulationManualProjectVo> pageInfo = new PageInfo<>(vos);
|
|
|
|
|
|
+ PageInfo<SimulationManualProjectVO> pageInfo = new PageInfo<>(vos);
|
|
|
|
|
|
- for (SimulationManualProjectVo simulationManualProjectVo : pageInfo.getList()) {
|
|
|
|
|
|
+ for (SimulationManualProjectVO simulationManualProjectVo : pageInfo.getList()) {
|
|
convertPoToVo(simulationManualProjectVo, false); // 同时将算法 id 转换成算法名称
|
|
convertPoToVo(simulationManualProjectVo, false); // 同时将算法 id 转换成算法名称
|
|
}
|
|
}
|
|
|
|
|
|
@@ -290,7 +290,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
} else { //4 创建新的项目或者重新运行被终止的项目
|
|
} else { //4 创建新的项目或者重新运行被终止的项目
|
|
// 查询项目详情信息并保存
|
|
// 查询项目详情信息并保存
|
|
String projectId = param.getId();
|
|
String projectId = param.getId();
|
|
- ProjectDetailsVo info = selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam.builder().id(projectId).projectType(DictConstants.PROJECT_TYPE_MANUAL).build()).getInfo();
|
|
|
|
|
|
+ ProjectDetailsVO info = selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam.builder().id(projectId).projectType(DictConstants.PROJECT_TYPE_MANUAL).build()).getInfo();
|
|
String infoJson = JsonUtil.beanToJson(info);
|
|
String infoJson = JsonUtil.beanToJson(info);
|
|
log.info("项目 " + projectId + " 的详情信息为:" + infoJson);
|
|
log.info("项目 " + projectId + " 的详情信息为:" + infoJson);
|
|
// 保存项目详情信息
|
|
// 保存项目详情信息
|
|
@@ -386,25 +386,42 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
/**
|
|
/**
|
|
* 查询项目详情,不使用详情字段中的某些字段,例如项目运行状态,并查询任务列表
|
|
* 查询项目详情,不使用详情字段中的某些字段,例如项目运行状态,并查询任务列表
|
|
*
|
|
*
|
|
- * @param param
|
|
|
|
- * @return
|
|
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
- public ResponseBodyVO<ProjectDetailsVo> selectProjectDetailsById(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<ProjectDetailsVO> selectProjectDetailsById(SimulationManualProjectParam param) {
|
|
|
|
+
|
|
|
|
+ ProjectDetailsVO projectDetailsVO = null;
|
|
|
|
+ if (DictConstants.PROJECT_TYPE_MANUAL.equals(param.getProjectType())) { // 手动运行任务
|
|
|
|
+ SimulationManualProjectPO simulationManualProjectPO = simulationProjectMapper.selectProjectById(param);
|
|
|
|
+ projectDetailsVO = JsonUtil.jsonToBean(simulationManualProjectPO.getDetails(),ProjectDetailsVO.class);
|
|
|
|
+ } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
|
|
|
|
+ SimulationManualProjectVO simulationManualProjectVO = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
|
+ projectDetailsVO = JsonUtil.jsonToBean(simulationManualProjectVO.getDetails(),ProjectDetailsVO.class);
|
|
|
|
+ }
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询项目详情,不使用详情字段中的某些字段,例如项目运行状态,并查询任务列表
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @SneakyThrows
|
|
|
|
+ public ResponseBodyVO<ProjectDetailsVO> selectProjectDetailsByIdForScheduler(SimulationManualProjectParam param) {
|
|
|
|
|
|
- ProjectDetailsVo projectDetailsVo = null;
|
|
|
|
|
|
+ ProjectDetailsVO projectDetailsVo = null;
|
|
if (DictConstants.PROJECT_TYPE_MANUAL.equals(param.getProjectType())) { // 手动运行任务
|
|
if (DictConstants.PROJECT_TYPE_MANUAL.equals(param.getProjectType())) { // 手动运行任务
|
|
SimulationManualProjectPO po = simulationProjectMapper.selectProjectById(param);
|
|
SimulationManualProjectPO po = simulationProjectMapper.selectProjectById(param);
|
|
- projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVo.class);
|
|
|
|
|
|
+ projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVO.class);
|
|
projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
projectDetailsVo.setNowRunState(po.getNowRunState());
|
|
projectDetailsVo.setNowRunState(po.getNowRunState());
|
|
projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
|
|
projectDetailsVo.setNowRunStateName(getDictName(DictConstants.PROJECT_RUN_STATE, po.getNowRunState()));
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
|
|
- SimulationManualProjectVo po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
|
- projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVo.class);
|
|
|
|
|
|
+ SimulationManualProjectVO po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
|
+ projectDetailsVo = JsonUtil.jsonToBean(po.getDetails(), ProjectDetailsVO.class);
|
|
projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
projectDetailsVo.setEvaluationLevel(getDictName(DictConstants.EVALUATION_LEVEL, po.getEvaluationLevel()));
|
|
projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
projectDetailsVo.setStartTime(getRqStr(po.getStartTime(), 1));
|
|
projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
projectDetailsVo.setFinishTime(getRqStr(po.getFinishTime(), 1));
|
|
@@ -413,7 +430,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
}
|
|
}
|
|
// 获取测试得分列表
|
|
// 获取测试得分列表
|
|
- List<AlgorithmScoreVo> firstTargetScore = getFirstTargetScore(param.getId());
|
|
|
|
|
|
+ List<AlgorithmScoreVO> firstTargetScore = getFirstTargetScore(param.getId());
|
|
projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
|
|
projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
|
|
// 任务运行状态统计
|
|
// 任务运行状态统计
|
|
List<ProjectRunStateNumVo> states = null;
|
|
List<ProjectRunStateNumVo> states = null;
|
|
@@ -477,8 +494,9 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, projectDetailsVo);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
- private ResponseBodyVO<ProjectDetailsVo> selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ private ResponseBodyVO<ProjectDetailsVO> selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam param) {
|
|
|
|
|
|
if (isEmpty(param.getId())) {
|
|
if (isEmpty(param.getId())) {
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
|
|
@@ -488,7 +506,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
param.setProjectType("1");// 默认
|
|
param.setProjectType("1");// 默认
|
|
}
|
|
}
|
|
|
|
|
|
- ProjectDetailsVo projectDetailsVo = new ProjectDetailsVo();
|
|
|
|
|
|
+ ProjectDetailsVO projectDetailsVo = new ProjectDetailsVO();
|
|
|
|
|
|
// 封装要使用到的数据
|
|
// 封装要使用到的数据
|
|
SimulationManualProjectPO poParam = new SimulationManualProjectPO();
|
|
SimulationManualProjectPO poParam = new SimulationManualProjectPO();
|
|
@@ -501,7 +519,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
}
|
|
}
|
|
poParam = po;
|
|
poParam = po;
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(param.getProjectType())) {
|
|
- SimulationManualProjectVo po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
|
|
|
+ SimulationManualProjectVO po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
if (po == null) {
|
|
if (po == null) {
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "没有获取到数据");
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "没有获取到数据");
|
|
}
|
|
}
|
|
@@ -517,7 +535,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
// 算法配置
|
|
// 算法配置
|
|
AlgorithmPO algorithmBaseInfoVo = getAlgorithmInfo(poParam);
|
|
AlgorithmPO algorithmBaseInfoVo = getAlgorithmInfo(poParam);
|
|
// 获取测试得分列表
|
|
// 获取测试得分列表
|
|
- List<AlgorithmScoreVo> firstTargetScore = getFirstTargetScore(param.getId());
|
|
|
|
|
|
+ List<AlgorithmScoreVO> firstTargetScore = getFirstTargetScore(param.getId());
|
|
projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
|
|
projectDetailsVo.setAlgorithmScoreList(firstTargetScore);
|
|
|
|
|
|
// 车辆配置
|
|
// 车辆配置
|
|
@@ -790,7 +808,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ResponseBodyVO<ProjectReportVo> selectProjectReportById(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<ProjectReportVO> selectProjectReportById(SimulationManualProjectParam param) {
|
|
String projectType = param.getProjectType();
|
|
String projectType = param.getProjectType();
|
|
// 封装要使用到的数据
|
|
// 封装要使用到的数据
|
|
SimulationManualProjectPO poParam = new SimulationManualProjectPO();
|
|
SimulationManualProjectPO poParam = new SimulationManualProjectPO();
|
|
@@ -799,13 +817,13 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
// 项目基本信息
|
|
// 项目基本信息
|
|
poParam = simulationProjectMapper.selectProjectBaseById(param);
|
|
poParam = simulationProjectMapper.selectProjectBaseById(param);
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
- SimulationManualProjectVo po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
|
|
|
+ SimulationManualProjectVO po = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
BeanUtils.copyProperties(po, poParam);
|
|
BeanUtils.copyProperties(po, poParam);
|
|
}
|
|
}
|
|
|
|
|
|
// 算法配置
|
|
// 算法配置
|
|
AlgorithmPO algorithmBaseInfoVo = getAlgorithmInfo(poParam);
|
|
AlgorithmPO algorithmBaseInfoVo = getAlgorithmInfo(poParam);
|
|
- ProjectReportVo projectReportVo = new ProjectReportVo();
|
|
|
|
|
|
+ ProjectReportVO projectReportVo = new ProjectReportVO();
|
|
projectReportVo.setProjectId(poParam.getProjectId());
|
|
projectReportVo.setProjectId(poParam.getProjectId());
|
|
projectReportVo.setProjectName(poParam.getProjectName());
|
|
projectReportVo.setProjectName(poParam.getProjectName());
|
|
projectReportVo.setAlgorithmName(algorithmBaseInfoVo.getAlgorithmName());
|
|
projectReportVo.setAlgorithmName(algorithmBaseInfoVo.getAlgorithmName());
|
|
@@ -831,7 +849,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
par.setPId(poParam.getId());
|
|
par.setPId(poParam.getId());
|
|
List<SimulationMptFirstTargetScorePO> pos = simulationMptFirstTargetScoreMapper.selectFirstTargetByPid(par);
|
|
List<SimulationMptFirstTargetScorePO> pos = simulationMptFirstTargetScoreMapper.selectFirstTargetByPid(par);
|
|
|
|
|
|
- List<AlgorithmScoreVo> algorithmScoreVoList = new ArrayList<>();
|
|
|
|
|
|
+ List<AlgorithmScoreVO> algorithmScoreVOList = new ArrayList<>();
|
|
String evaluationLevelReport;
|
|
String evaluationLevelReport;
|
|
|
|
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
@@ -857,21 +875,21 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
totalScoreRatio += Double.valueOf(scoreNum) / Double.valueOf(sceneNum) * 100;
|
|
totalScoreRatio += Double.valueOf(scoreNum) / Double.valueOf(sceneNum) * 100;
|
|
|
|
|
|
- AlgorithmScoreVo algorithmScoreVo = new AlgorithmScoreVo();
|
|
|
|
|
|
+ AlgorithmScoreVO algorithmScoreVo = new AlgorithmScoreVO();
|
|
algorithmScoreVo.setProjectName(firstTargetScorePo.getSublistName());
|
|
algorithmScoreVo.setProjectName(firstTargetScorePo.getSublistName());
|
|
algorithmScoreVo.setSceneNum(sceneNum);
|
|
algorithmScoreVo.setSceneNum(sceneNum);
|
|
algorithmScoreVo.setWeight(weight);
|
|
algorithmScoreVo.setWeight(weight);
|
|
algorithmScoreVo.setScore(saveTwoDecimalPlaces(score));
|
|
algorithmScoreVo.setScore(saveTwoDecimalPlaces(score));
|
|
algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(Double.valueOf(scoreNum) / Double.valueOf(sceneNum) * 100));
|
|
algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(Double.valueOf(scoreNum) / Double.valueOf(sceneNum) * 100));
|
|
|
|
|
|
- algorithmScoreVoList.add(algorithmScoreVo);
|
|
|
|
|
|
+ algorithmScoreVOList.add(algorithmScoreVo);
|
|
|
|
|
|
// 其他操作
|
|
// 其他操作
|
|
stringBuilder.append(firstTargetScorePo.getSublistName()).append("、");
|
|
stringBuilder.append(firstTargetScorePo.getSublistName()).append("、");
|
|
totalSceneNum += sceneNum;
|
|
totalSceneNum += sceneNum;
|
|
}
|
|
}
|
|
// 汇总
|
|
// 汇总
|
|
- AlgorithmScoreVo algorithmScoreVo = new AlgorithmScoreVo();
|
|
|
|
|
|
+ AlgorithmScoreVO algorithmScoreVo = new AlgorithmScoreVO();
|
|
algorithmScoreVo.setProjectName("汇总");
|
|
algorithmScoreVo.setProjectName("汇总");
|
|
algorithmScoreVo.setSceneNum(totalSceneNum);
|
|
algorithmScoreVo.setSceneNum(totalSceneNum);
|
|
// 指标权重总和默认是100%
|
|
// 指标权重总和默认是100%
|
|
@@ -882,7 +900,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
// 汇总得分率计算方式修改
|
|
// 汇总得分率计算方式修改
|
|
// algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(totalScoreRatio));
|
|
// algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(totalScoreRatio));
|
|
algorithmScoreVo.setScoreRatio(NumberUtil.cut(totalScoreRatio, 2));
|
|
algorithmScoreVo.setScoreRatio(NumberUtil.cut(totalScoreRatio, 2));
|
|
- algorithmScoreVoList.add(algorithmScoreVo);
|
|
|
|
|
|
+ algorithmScoreVOList.add(algorithmScoreVo);
|
|
projectReportVo.setScoreRatio(saveTwoDecimalPlaces(totalScoreRatio));
|
|
projectReportVo.setScoreRatio(saveTwoDecimalPlaces(totalScoreRatio));
|
|
projectReportVo.setAlgorithmScore(saveTwoDecimalPlaces(totalScore));
|
|
projectReportVo.setAlgorithmScore(saveTwoDecimalPlaces(totalScore));
|
|
evaluationLevelReport = poParam.getEvaluationLevel();
|
|
evaluationLevelReport = poParam.getEvaluationLevel();
|
|
@@ -902,7 +920,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
sceneNames = stringBuilder.substring(0, stringBuilder.lastIndexOf("、"));
|
|
sceneNames = stringBuilder.substring(0, stringBuilder.lastIndexOf("、"));
|
|
projectReportVo.setAlgorithmEvaluation(algorithmBaseInfoVo.getAlgorithmName() + "经测试获得" + projectReportVo.getEvaluationLevel() + "级评价," + "(" + sceneNames + ")得分率达到了" + projectReportVo.getScoreRatio() + "%。");
|
|
projectReportVo.setAlgorithmEvaluation(algorithmBaseInfoVo.getAlgorithmName() + "经测试获得" + projectReportVo.getEvaluationLevel() + "级评价," + "(" + sceneNames + ")得分率达到了" + projectReportVo.getScoreRatio() + "%。");
|
|
- projectReportVo.setAlgorithmScoreList(algorithmScoreVoList);
|
|
|
|
|
|
+ projectReportVo.setAlgorithmScoreList(algorithmScoreVOList);
|
|
// 指标得分列表
|
|
// 指标得分列表
|
|
Map<String, Object> stringObjectMap = selectScenePackageSubListAndSetScore(poParam.getScene(), poParam.getId());
|
|
Map<String, Object> stringObjectMap = selectScenePackageSubListAndSetScore(poParam.getScene(), poParam.getId());
|
|
projectReportVo.setSubListScoreLiTitle((List<Map>) stringObjectMap.get("headerList"));
|
|
projectReportVo.setSubListScoreLiTitle((List<Map>) stringObjectMap.get("headerList"));
|
|
@@ -1026,7 +1044,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
Optional.ofNullable(spo).orElseThrow(() -> new RuntimeException("没有获取到数据。"));
|
|
Optional.ofNullable(spo).orElseThrow(() -> new RuntimeException("没有获取到数据。"));
|
|
poParam = spo;
|
|
poParam = spo;
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
- SimulationManualProjectVo spo = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
|
|
|
|
+ SimulationManualProjectVO spo = simulationAutomaticSubProjectMapper.selectProjectInfo(param);
|
|
Optional.ofNullable(spo).orElseThrow(() -> new RuntimeException("没有获取到数据。"));
|
|
Optional.ofNullable(spo).orElseThrow(() -> new RuntimeException("没有获取到数据。"));
|
|
BeanUtils.copyProperties(spo, poParam);
|
|
BeanUtils.copyProperties(spo, poParam);
|
|
}
|
|
}
|
|
@@ -1599,7 +1617,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private void convertPoToVo(SimulationManualProjectVo simulationManualProjectVo, boolean isAuto) {
|
|
|
|
|
|
+ private void convertPoToVo(SimulationManualProjectVO simulationManualProjectVo, boolean isAuto) {
|
|
// 1 查询算法名称
|
|
// 1 查询算法名称
|
|
String algorithmId = simulationManualProjectVo.getAlgorithm();
|
|
String algorithmId = simulationManualProjectVo.getAlgorithm();
|
|
String algorithmType = simulationManualProjectVo.getAlgorithmType();
|
|
String algorithmType = simulationManualProjectVo.getAlgorithmType();
|
|
@@ -1968,7 +1986,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
return hashMap;
|
|
return hashMap;
|
|
}
|
|
}
|
|
|
|
|
|
- private Map<String, Object> selectSceneScore2(String scenePackageId, String projectId, String taskId, ProjectReportVo projectReportVo) {
|
|
|
|
|
|
+ private Map<String, Object> selectSceneScore2(String scenePackageId, String projectId, String taskId, ProjectReportVO projectReportVo) {
|
|
|
|
|
|
// 1 查询指定项目的所有指标得分结果
|
|
// 1 查询指定项目的所有指标得分结果
|
|
SimulationManualProjectParam query = new SimulationManualProjectParam();
|
|
SimulationManualProjectParam query = new SimulationManualProjectParam();
|
|
@@ -2751,8 +2769,8 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
|
|
|
|
|
// 获取要生成的数据
|
|
// 获取要生成的数据
|
|
- ResponseBodyVO<ProjectReportVo> bodyVO = selectProjectReportById(param);
|
|
|
|
- ProjectReportVo vo = bodyVO.getInfo();
|
|
|
|
|
|
+ ResponseBodyVO<ProjectReportVO> bodyVO = selectProjectReportById(param);
|
|
|
|
+ ProjectReportVO vo = bodyVO.getInfo();
|
|
|
|
|
|
// 下载 or 保存本地
|
|
// 下载 or 保存本地
|
|
if (param.getIsCreateLocalPdfFile() != null && param.getIsCreateLocalPdfFile()) {
|
|
if (param.getIsCreateLocalPdfFile() != null && param.getIsCreateLocalPdfFile()) {
|
|
@@ -2835,10 +2853,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
addElement(document, "2. 测试得分说明", null, bf4, 16, false, 40, false);
|
|
addElement(document, "2. 测试得分说明", null, bf4, 16, false, 40, false);
|
|
|
|
|
|
- List<AlgorithmScoreVo> algorithmScoreList = vo.getAlgorithmScoreList();
|
|
|
|
|
|
+ List<AlgorithmScoreVO> algorithmScoreList = vo.getAlgorithmScoreList();
|
|
|
|
|
|
StringBuilder stringBuilder = new StringBuilder(" " + vo.getAlgorithmName() + "在");
|
|
StringBuilder stringBuilder = new StringBuilder(" " + vo.getAlgorithmName() + "在");
|
|
- for (AlgorithmScoreVo v : algorithmScoreList) {
|
|
|
|
|
|
+ for (AlgorithmScoreVO v : algorithmScoreList) {
|
|
if ("汇总".equals(v.getProjectName())) {
|
|
if ("汇总".equals(v.getProjectName())) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -2856,7 +2874,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
addTitleList(pdfPTable, font, new String[]{"测试项目", "场景数量", "测试权重(%)", "测试得分", "得分率(%)"}, true, 30);
|
|
addTitleList(pdfPTable, font, new String[]{"测试项目", "场景数量", "测试权重(%)", "测试得分", "得分率(%)"}, true, 30);
|
|
|
|
|
|
// 数据
|
|
// 数据
|
|
- for (AlgorithmScoreVo asv : algorithmScoreList) {
|
|
|
|
|
|
+ for (AlgorithmScoreVO asv : algorithmScoreList) {
|
|
String[] data = new String[]{asv.getProjectName(), String.valueOf(asv.getSceneNum()), asv.getWeight(), String.valueOf(asv.getScore()), String.valueOf(asv.getScoreRatio())};
|
|
String[] data = new String[]{asv.getProjectName(), String.valueOf(asv.getSceneNum()), asv.getWeight(), String.valueOf(asv.getScore()), String.valueOf(asv.getScoreRatio())};
|
|
|
|
|
|
addDataList(pdfPTable, font, data, true, 20);
|
|
addDataList(pdfPTable, font, data, true, 20);
|
|
@@ -4035,20 +4053,20 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
// }
|
|
// }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ResponseBodyVO saveTaskResult(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<Object> saveTaskResult(SimulationManualProjectParam param) {
|
|
|
|
|
|
String projectId = param.getProjectId();
|
|
String projectId = param.getProjectId();
|
|
String taskId = param.getTaskId();
|
|
String taskId = param.getTaskId();
|
|
String runResultFilePath = param.getRunResultFilePath();
|
|
String runResultFilePath = param.getRunResultFilePath();
|
|
|
|
|
|
if (StringUtil.isEmpty(projectId)) {
|
|
if (StringUtil.isEmpty(projectId)) {
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "工作id不能为空");
|
|
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "工作id不能为空");
|
|
}
|
|
}
|
|
if (StringUtil.isEmpty(taskId)) {
|
|
if (StringUtil.isEmpty(taskId)) {
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "任务id不能为空");
|
|
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "任务id不能为空");
|
|
}
|
|
}
|
|
if (StringUtil.isEmpty(runResultFilePath)) {
|
|
if (StringUtil.isEmpty(runResultFilePath)) {
|
|
- return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE, "地址不能为空");
|
|
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "地址不能为空");
|
|
}
|
|
}
|
|
|
|
|
|
InputStream fileInputStream = null;
|
|
InputStream fileInputStream = null;
|
|
@@ -4588,7 +4606,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ResponseBodyVO<PageInfo<SimulationManualProjectVo>> selectAutomaticProject(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<PageInfo<SimulationManualProjectVO>> selectAutomaticProject(SimulationManualProjectParam param) {
|
|
|
|
|
|
// 1 获取当前用户id
|
|
// 1 获取当前用户id
|
|
param.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
param.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
@@ -4612,10 +4630,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
}
|
|
}
|
|
|
|
|
|
setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
|
|
setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
|
|
- List<SimulationManualProjectVo> simulationManualProjectVoList = simulationAutomaticProjectMapper.selectAutomaticProjectList(param);
|
|
|
|
- PageInfo<SimulationManualProjectVo> pageInfo = new PageInfo<>(simulationManualProjectVoList);
|
|
|
|
|
|
+ List<SimulationManualProjectVO> simulationManualProjectVOList = simulationAutomaticProjectMapper.selectAutomaticProjectList(param);
|
|
|
|
+ PageInfo<SimulationManualProjectVO> pageInfo = new PageInfo<>(simulationManualProjectVOList);
|
|
|
|
|
|
- for (SimulationManualProjectVo simulationManualProjectVo : pageInfo.getList()) {
|
|
|
|
|
|
+ for (SimulationManualProjectVO simulationManualProjectVo : pageInfo.getList()) {
|
|
convertPoToVo(simulationManualProjectVo, true);
|
|
convertPoToVo(simulationManualProjectVo, true);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -4661,7 +4679,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
int i = simulationAutomaticSubProjectMapper.addAutomaticSubProject(subprojectPo);
|
|
int i = simulationAutomaticSubProjectMapper.addAutomaticSubProject(subprojectPo);
|
|
// 查询详情信息并保存
|
|
// 查询详情信息并保存
|
|
String projectId = subprojectPo.getId();
|
|
String projectId = subprojectPo.getId();
|
|
- ProjectDetailsVo info = selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam.builder().id(projectId).projectType(DictConstants.PROJECT_TYPE_AUTO_SUB).build()).getInfo();
|
|
|
|
|
|
+ ProjectDetailsVO info = selectProjectDetailsByIdBeforeRunning(SimulationManualProjectParam.builder().id(projectId).projectType(DictConstants.PROJECT_TYPE_AUTO_SUB).build()).getInfo();
|
|
String infoJson = JsonUtil.beanToJson(info);
|
|
String infoJson = JsonUtil.beanToJson(info);
|
|
log.info("项目 " + projectId + " 的详情信息为:" + infoJson);
|
|
log.info("项目 " + projectId + " 的详情信息为:" + infoJson);
|
|
autoSubProjectMapper.updateDetailsById(projectId, infoJson);
|
|
autoSubProjectMapper.updateDetailsById(projectId, infoJson);
|
|
@@ -4729,7 +4747,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
* 自动项目父项目信息
|
|
* 自动项目父项目信息
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public ResponseBodyVO<AutomaticProjectVo> selectSubProjectInfo(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<AutomaticProjectVO> selectSubProjectInfo(SimulationManualProjectParam param) {
|
|
/*
|
|
/*
|
|
* 项目名称、项目描述、算法名称、车辆、传感器、场景、运行周期、并行度、是否选择GPU、最大运行时间
|
|
* 项目名称、项目描述、算法名称、车辆、传感器、场景、运行周期、并行度、是否选择GPU、最大运行时间
|
|
*/
|
|
*/
|
|
@@ -4737,7 +4755,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
if (StringUtil.isEmpty(id)) {
|
|
if (StringUtil.isEmpty(id)) {
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "id不能为空");
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "id不能为空");
|
|
}
|
|
}
|
|
- AutomaticProjectVo automaticProjectVo = simulationAutomaticProjectMapper.selectAutomaticProjectInfoById(id);
|
|
|
|
|
|
+ AutomaticProjectVO automaticProjectVo = simulationAutomaticProjectMapper.selectAutomaticProjectInfoById(id);
|
|
if (StringUtil.isEmpty(automaticProjectVo)) {
|
|
if (StringUtil.isEmpty(automaticProjectVo)) {
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "没有查询到数据");
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "没有查询到数据");
|
|
}
|
|
}
|
|
@@ -4771,7 +4789,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ResponseBodyVO<PageInfo<SimulationManualProjectVo>> selectSubProjectList(SimulationManualProjectParam param) {
|
|
|
|
|
|
+ public ResponseBodyVO<PageInfo<SimulationManualProjectVO>> selectSubProjectList(SimulationManualProjectParam param) {
|
|
|
|
|
|
String id = param.getParentId();
|
|
String id = param.getParentId();
|
|
|
|
|
|
@@ -4781,12 +4799,12 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
|
|
|
setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
|
|
setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
|
|
|
|
|
|
- List<SimulationManualProjectVo> simulationManualProjectVoList = simulationAutomaticSubProjectMapper.selectList(param);
|
|
|
|
- simulationManualProjectVoList.forEach(simulationManualProjectVo -> {
|
|
|
|
|
|
+ List<SimulationManualProjectVO> simulationManualProjectVOList = simulationAutomaticSubProjectMapper.selectList(param);
|
|
|
|
+ simulationManualProjectVOList.forEach(simulationManualProjectVo -> {
|
|
simulationManualProjectVo.setNowRunStateDict(getDictName(DictConstants.PROJECT_RUN_STATE, simulationManualProjectVo.getNowRunState()));
|
|
simulationManualProjectVo.setNowRunStateDict(getDictName(DictConstants.PROJECT_RUN_STATE, simulationManualProjectVo.getNowRunState()));
|
|
simulationManualProjectVo.setEvaluationLevelDict(getDictName(DictConstants.EVALUATION_LEVEL, simulationManualProjectVo.getEvaluationLevel()));
|
|
simulationManualProjectVo.setEvaluationLevelDict(getDictName(DictConstants.EVALUATION_LEVEL, simulationManualProjectVo.getEvaluationLevel()));
|
|
});
|
|
});
|
|
- return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, new PageInfo<>(simulationManualProjectVoList));
|
|
|
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, new PageInfo<>(simulationManualProjectVOList));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -5092,7 +5110,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
*
|
|
*
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- private List<AlgorithmScoreVo> getFirstTargetScore(String id) {
|
|
|
|
|
|
+ private List<AlgorithmScoreVO> getFirstTargetScore(String id) {
|
|
// 算法测试得分表
|
|
// 算法测试得分表
|
|
/*
|
|
/*
|
|
* 汇总测试得分计算方法:(每一项一级指标的测试得分*测试权重)累加
|
|
* 汇总测试得分计算方法:(每一项一级指标的测试得分*测试权重)累加
|
|
@@ -5103,7 +5121,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
SimulationMptFirstTargetScorePO simulationMptFirstTargetScorePo = new SimulationMptFirstTargetScorePO();
|
|
SimulationMptFirstTargetScorePO simulationMptFirstTargetScorePo = new SimulationMptFirstTargetScorePO();
|
|
simulationMptFirstTargetScorePo.setPId(id);
|
|
simulationMptFirstTargetScorePo.setPId(id);
|
|
List<SimulationMptFirstTargetScorePO> pos = simulationMptFirstTargetScoreMapper.selectFirstTargetByPid(simulationMptFirstTargetScorePo);
|
|
List<SimulationMptFirstTargetScorePO> pos = simulationMptFirstTargetScoreMapper.selectFirstTargetByPid(simulationMptFirstTargetScorePo);
|
|
- List<AlgorithmScoreVo> algorithmScoreVoList = new ArrayList<>();
|
|
|
|
|
|
+ List<AlgorithmScoreVO> algorithmScoreVOList = new ArrayList<>();
|
|
if (!isEmpty(pos)) {
|
|
if (!isEmpty(pos)) {
|
|
// StringBuilder stringBuilder = new StringBuilder();
|
|
// StringBuilder stringBuilder = new StringBuilder();
|
|
// 汇总数据初始化
|
|
// 汇总数据初始化
|
|
@@ -5113,7 +5131,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
Integer totalSceneScoreNum = 0;
|
|
Integer totalSceneScoreNum = 0;
|
|
for (SimulationMptFirstTargetScorePO v : pos) {
|
|
for (SimulationMptFirstTargetScorePO v : pos) {
|
|
// stringBuilder.append(v.getSublistName()).append("、");
|
|
// stringBuilder.append(v.getSublistName()).append("、");
|
|
- AlgorithmScoreVo algorithmScoreVo = new AlgorithmScoreVo();
|
|
|
|
|
|
+ AlgorithmScoreVO algorithmScoreVo = new AlgorithmScoreVO();
|
|
algorithmScoreVo.setProjectName(v.getSublistName());
|
|
algorithmScoreVo.setProjectName(v.getSublistName());
|
|
Integer sceneNum = v.getSceneNum();
|
|
Integer sceneNum = v.getSceneNum();
|
|
totalSceneNum += sceneNum;
|
|
totalSceneNum += sceneNum;
|
|
@@ -5130,11 +5148,11 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
totalSceneScoreNum += scoreNum;
|
|
totalSceneScoreNum += scoreNum;
|
|
double tempScoreRatio = Double.valueOf(scoreNum) / Double.valueOf(sceneNum) * 100;
|
|
double tempScoreRatio = Double.valueOf(scoreNum) / Double.valueOf(sceneNum) * 100;
|
|
algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(tempScoreRatio));
|
|
algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(tempScoreRatio));
|
|
- algorithmScoreVoList.add(algorithmScoreVo);
|
|
|
|
|
|
+ algorithmScoreVOList.add(algorithmScoreVo);
|
|
totalScoreRatio += tempScoreRatio;
|
|
totalScoreRatio += tempScoreRatio;
|
|
}
|
|
}
|
|
// 汇总
|
|
// 汇总
|
|
- AlgorithmScoreVo algorithmScoreVo = new AlgorithmScoreVo();
|
|
|
|
|
|
+ AlgorithmScoreVO algorithmScoreVo = new AlgorithmScoreVO();
|
|
algorithmScoreVo.setProjectName("汇总");
|
|
algorithmScoreVo.setProjectName("汇总");
|
|
algorithmScoreVo.setSceneNum(totalSceneNum);
|
|
algorithmScoreVo.setSceneNum(totalSceneNum);
|
|
// 指标权重总和默认是100%
|
|
// 指标权重总和默认是100%
|
|
@@ -5142,10 +5160,10 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
algorithmScoreVo.setScore(saveTwoDecimalPlaces(totalScore));
|
|
algorithmScoreVo.setScore(saveTwoDecimalPlaces(totalScore));
|
|
totalScoreRatio = Double.valueOf(totalSceneScoreNum) / Double.valueOf(totalSceneNum) * 100;
|
|
totalScoreRatio = Double.valueOf(totalSceneScoreNum) / Double.valueOf(totalSceneNum) * 100;
|
|
algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(totalScoreRatio));
|
|
algorithmScoreVo.setScoreRatio(saveTwoDecimalPlaces(totalScoreRatio));
|
|
- algorithmScoreVoList.add(algorithmScoreVo);
|
|
|
|
|
|
+ algorithmScoreVOList.add(algorithmScoreVo);
|
|
}
|
|
}
|
|
|
|
|
|
- return algorithmScoreVoList;
|
|
|
|
|
|
+ return algorithmScoreVOList;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|