|
@@ -168,22 +168,21 @@ public class TaskService {
|
|
|
indexMapper.deleteFirstByProjectId(projectId);
|
|
|
indexMapper.deleteLastByProjectId(projectId);
|
|
|
//1 查询场景包对应指标
|
|
|
- List<IndexTemplatePO> allIndexList = JsonUtil.jsonToList(stringRedisTemplate.opsForValue().get(manualProjectTopic + ":" + userId + ":" + projectId + ":package:" + packageId + ":all"), IndexTemplatePO.class);
|
|
|
- List<IndexTemplatePO> leafIndexList = JsonUtil.jsonToList(stringRedisTemplate.opsForValue().get(manualProjectTopic + ":" + userId + ":" + projectId + ":package:" + packageId + ":leaf"), IndexTemplatePO.class);
|
|
|
+ List<IndexTemplatePO> allIndexTemplateList = JsonUtil.jsonToList(stringRedisTemplate.opsForValue().get(manualProjectTopic + ":" + userId + ":" + projectId + ":package:" + packageId + ":all"), IndexTemplatePO.class);
|
|
|
+ List<IndexTemplatePO> leafIndexTemplateList = JsonUtil.jsonToList(stringRedisTemplate.opsForValue().get(manualProjectTopic + ":" + userId + ":" + projectId + ":package:" + packageId + ":leaf"), IndexTemplatePO.class);
|
|
|
int maxLevel = 1; // 用于计算指标得分
|
|
|
- List<LeafIndexPO> leafTaskIndexList = new ArrayList<>();
|
|
|
- log.info("TaskService--state 共有 " + leafIndexList.size() + "个叶子节点!");
|
|
|
-
|
|
|
- for (int i = 0; i < leafIndexList.size(); i++) {
|
|
|
+ List<LeafIndexPO> leafIndexList = new ArrayList<>();
|
|
|
+ log.info("TaskService--state 共有 " + leafIndexTemplateList.size() + "个叶子节点!");
|
|
|
+ for (int i = 0; i < leafIndexTemplateList.size(); i++) {
|
|
|
AtomicReference<String> scoreExplain = new AtomicReference<>(); // 每个叶子指标下的任务的得分说明一样和叶子指标一致
|
|
|
- IndexTemplatePO leafIndex = leafIndexList.get(i);
|
|
|
- String indexId = leafIndex.getIndexId();
|
|
|
- String parentId = leafIndex.getParentId(); // 父 id
|
|
|
- String rootId = leafIndex.getRootId(); // 包 id
|
|
|
- String weight = leafIndex.getWeight(); // 权重
|
|
|
- Integer packageLevel = leafIndex.getPackageLevel(); // 几级指标
|
|
|
- String ruleName = leafIndex.getRuleName(); // 打分脚本名称,例如 AEB_1-1
|
|
|
- String ruleDetails = leafIndex.getRuleDetails(); // 打分脚本内容
|
|
|
+ IndexTemplatePO leafIndexTemplate = leafIndexTemplateList.get(i);
|
|
|
+ String indexId = leafIndexTemplate.getIndexId();
|
|
|
+ String parentId = leafIndexTemplate.getParentId(); // 父 id
|
|
|
+ String rootId = leafIndexTemplate.getRootId(); // 包 id
|
|
|
+ String weight = leafIndexTemplate.getWeight(); // 权重
|
|
|
+ Integer packageLevel = leafIndexTemplate.getPackageLevel(); // 几级指标
|
|
|
+ String ruleName = leafIndexTemplate.getRuleName(); // 打分脚本名称,例如 AEB_1-1
|
|
|
+ String ruleDetails = leafIndexTemplate.getRuleDetails(); // 打分脚本内容
|
|
|
if (packageLevel > maxLevel) {
|
|
|
maxLevel = packageLevel;
|
|
|
}
|
|
@@ -265,12 +264,12 @@ public class TaskService {
|
|
|
// 计算叶子指标得分(任务得分总和 / 任务数量)
|
|
|
double leafIndexScore = resultNumberOfCurrentIndex == 0 ? 0 : NumberUtil.cut(leafSum / resultNumberOfCurrentIndex, 2);
|
|
|
// 创建叶子指标对象
|
|
|
- leafIndex.setTempScore(leafIndexScore);
|
|
|
+ leafIndexTemplate.setTempScore(leafIndexScore);
|
|
|
|
|
|
- LeafIndexPO leafTaskIndex = LeafIndexPO.builder()
|
|
|
+ LeafIndexPO leafIndex = LeafIndexPO.builder()
|
|
|
.id(StringUtil.getRandomUUID())
|
|
|
.pId(projectId)
|
|
|
- .target(leafIndex.getIndexId())
|
|
|
+ .target(leafIndexTemplate.getIndexId())
|
|
|
.notStandardSceneNum((int) notStandardSceneNumber)
|
|
|
.score(leafIndexScore)
|
|
|
.indexId(indexId)
|
|
@@ -280,21 +279,19 @@ public class TaskService {
|
|
|
.scoreExplain(scoreExplain.get())
|
|
|
.packageLevel(packageLevel)
|
|
|
.build();
|
|
|
- leafTaskIndex.setCreateUserId(userId);
|
|
|
- leafTaskIndex.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
- leafTaskIndex.setModifyUserId(userId);
|
|
|
- leafTaskIndex.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
- leafTaskIndex.setIsDeleted("0");
|
|
|
+ leafIndex.setCreateUserId(userId);
|
|
|
+ leafIndex.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
+ leafIndex.setModifyUserId(userId);
|
|
|
+ leafIndex.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
+ leafIndex.setIsDeleted("0");
|
|
|
|
|
|
- leafTaskIndexList.add(leafTaskIndex);
|
|
|
+ leafIndexList.add(leafIndex);
|
|
|
}
|
|
|
-
|
|
|
// 保存叶子指标得分
|
|
|
- taskIndexManager.batchInsertLeafIndex(leafTaskIndexList);
|
|
|
+ taskIndexManager.batchInsertLeafIndex(leafIndexList);
|
|
|
// 保存一级指标分数
|
|
|
log.info("TaskService--state 项目 " + projectId + " 的所有任务分数为:" + taskList);
|
|
|
- log.info("TaskService--state 根据每个指标的得分和权重算出各个一级指标的得分(即 project 对应的场景测试包下的一级指标)!");
|
|
|
- computeFirst(leafTaskIndexList, allIndexList, projectId, maxLevel);
|
|
|
+ computeFirst(leafIndexList, allIndexTemplateList, projectId, maxLevel);
|
|
|
|
|
|
// 调用 server 的接口,计算评价等级
|
|
|
evaluationLevel(projectId);
|