|
@@ -3099,57 +3099,79 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
|
|
|
@Override
|
|
|
public ResponseBodyVO<String> saveEvaluationLevel(String projectId) {
|
|
|
|
|
|
+ //1 根据 projectId 查询一级指标
|
|
|
+ double scoreOfProject = simulationMptFirstTargetScoreMapper.selectScoreOfProject(projectId);
|
|
|
+ String evaluationLevel = ProjectUtil.getEvaluationLevelReport(scoreOfProject);
|
|
|
+ // -------------------------------- 保存结果 --------------------------------
|
|
|
//1 根据 projectId 获取类型 projectType
|
|
|
String projectType = projectUtil.getProjectTypeByProjectId(projectId);
|
|
|
log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 类型为 " + projectType);
|
|
|
-
|
|
|
- //2 查询场景包 id
|
|
|
- String scene = null;
|
|
|
- if (DictConstants.PROJECT_TYPE_MANUAL.equals(projectType)) { // 手动运行
|
|
|
- scene = simulationProjectMapper.selectSceneById(projectId);
|
|
|
- } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {// 自动运行
|
|
|
- scene = simulationAutomaticSubProjectMapper.selectSceneById(projectId);
|
|
|
- }
|
|
|
- if (StringUtil.isEmpty(scene)) {
|
|
|
- return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "未查询到项目使用的场景测试包。");
|
|
|
- }
|
|
|
- log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 使用的场景包为 " + scene);
|
|
|
-
|
|
|
- // -------------------------------- 计算评价等级 --------------------------------
|
|
|
- //TODO 该段代码可优化,有时间再优化
|
|
|
- //1 查询场景报告关联的指标
|
|
|
- List<ScenePackageSubListVO> scenePackageSubListVOS = simulationProjectMapper.selectSubSceneByPid(scene);
|
|
|
- String evaluationLevelReport = "";
|
|
|
- if (!isEmpty(scenePackageSubListVOS)) {
|
|
|
- double totalScore = 0.0;
|
|
|
- for (ScenePackageSubListVO v : scenePackageSubListVOS) {
|
|
|
- double weightDouble = Double.parseDouble(v.getWeight());
|
|
|
- // 根据一级指标计算总得分
|
|
|
- SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo = new SimulationMptFirstTargetScorePo();
|
|
|
- simulationMptFirstTargetScorePo.setPId(projectId); //直接(子)任务表id
|
|
|
- simulationMptFirstTargetScorePo.setTarget(v.getSublistId());
|
|
|
- SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationMptFirstTargetScoreMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
|
|
|
- if (simulationMptFirstTargetScorePo1 == null) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- Double score = simulationMptFirstTargetScorePo1.getScore();
|
|
|
- totalScore += score * (weightDouble / 100);
|
|
|
- }
|
|
|
- evaluationLevelReport = ProjectUtil.getEvaluationLevelReport(totalScore);
|
|
|
- log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 的总分为: " + totalScore + ",评价等级为:" + evaluationLevelReport);
|
|
|
- }
|
|
|
- // -------------------------------- 保存结果 --------------------------------
|
|
|
if (DictConstants.PROJECT_TYPE_MANUAL.equals(projectType)) {
|
|
|
- manualProjectMapper.updateEvaluationLevel(projectId, evaluationLevelReport);
|
|
|
+ manualProjectMapper.updateEvaluationLevel(projectId, evaluationLevel);
|
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
|
- autoSubProjectMapper.updateEvaluationLevel(projectId, evaluationLevelReport);
|
|
|
+ autoSubProjectMapper.updateEvaluationLevel(projectId, evaluationLevel);
|
|
|
} else {
|
|
|
;
|
|
|
}
|
|
|
+ log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 的总分为: " + scoreOfProject + ",评价等级为:" + evaluationLevel);
|
|
|
|
|
|
- return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
+ return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "评价等级为" + evaluationLevel, "");
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public ResponseBodyVO<String> saveEvaluationLevel(String projectId) {
|
|
|
+//
|
|
|
+// //1 根据 projectId 获取类型 projectType
|
|
|
+// String projectType = projectUtil.getProjectTypeByProjectId(projectId);
|
|
|
+// log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 类型为 " + projectType);
|
|
|
+//
|
|
|
+// //2 查询场景包 id
|
|
|
+// String scene = null;
|
|
|
+// if (DictConstants.PROJECT_TYPE_MANUAL.equals(projectType)) { // 手动运行
|
|
|
+// scene = simulationProjectMapper.selectSceneById(projectId);
|
|
|
+// } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {// 自动运行
|
|
|
+// scene = simulationAutomaticSubProjectMapper.selectSceneById(projectId);
|
|
|
+// }
|
|
|
+// if (StringUtil.isEmpty(scene)) {
|
|
|
+// return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "未查询到项目使用的场景测试包。");
|
|
|
+// }
|
|
|
+// log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 使用的场景包为 " + scene);
|
|
|
+//
|
|
|
+// // -------------------------------- 计算评价等级 --------------------------------
|
|
|
+// //TODO 该段代码可优化,有时间再优化
|
|
|
+// //1 查询场景报告关联的指标
|
|
|
+// List<ScenePackageSubListVO> scenePackageSubListVOS = simulationProjectMapper.selectSubSceneByPid(scene);
|
|
|
+// String evaluationLevelReport = "";
|
|
|
+// if (!isEmpty(scenePackageSubListVOS)) {
|
|
|
+// double totalScore = 0.0;
|
|
|
+// for (ScenePackageSubListVO v : scenePackageSubListVOS) {
|
|
|
+// double weightDouble = Double.parseDouble(v.getWeight());
|
|
|
+// // 根据一级指标计算总得分
|
|
|
+// SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo = new SimulationMptFirstTargetScorePo();
|
|
|
+// simulationMptFirstTargetScorePo.setPId(projectId); //直接(子)任务表id
|
|
|
+// simulationMptFirstTargetScorePo.setTarget(v.getSublistId());
|
|
|
+// SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationMptFirstTargetScoreMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
|
|
|
+// if (simulationMptFirstTargetScorePo1 == null) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// Double score = simulationMptFirstTargetScorePo1.getScore();
|
|
|
+// totalScore += score * (weightDouble / 100);
|
|
|
+// }
|
|
|
+// evaluationLevelReport = ProjectUtil.getEvaluationLevelReport(totalScore);
|
|
|
+// log.info("SimulationProjectServiceImpl--saveEvaluationLevel 项目 " + projectId + " 的总分为: " + totalScore + ",评价等级为:" + evaluationLevelReport);
|
|
|
+// }
|
|
|
+// // -------------------------------- 保存结果 --------------------------------
|
|
|
+// if (DictConstants.PROJECT_TYPE_MANUAL.equals(projectType)) {
|
|
|
+// manualProjectMapper.updateEvaluationLevel(projectId, evaluationLevelReport);
|
|
|
+// } else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
|
+// autoSubProjectMapper.updateEvaluationLevel(projectId, evaluationLevelReport);
|
|
|
+// } else {
|
|
|
+// ;
|
|
|
+// }
|
|
|
+//
|
|
|
+// return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
|
|
|
+// }
|
|
|
+
|
|
|
@Override
|
|
|
public ResponseBodyVO saveTaskResult(SimulationManualProjectParam param) {
|
|
|
|