评分计算

This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-10 17:01:07 +08:00
parent 8537648dde
commit 11dbe628c8
@@ -148,9 +148,35 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
result.put("dynamic",0.0); result.put("dynamic",0.0);
result.put("quality",0.0); result.put("quality",0.0);
/**
* 同一节点为多人评价时,需要取多人评价的平均分用以计算最终得分。
* 各环节评分权重分别设置为30%、40%、30%,
* 即:标准编写质量最终得分=征求意见会签人评价平均分*30%+技术委员会专家评价平均分*40%+标准法规工程师和标准法规部主管领导评价平均分*30%。
*/
result.putAll(list.stream() result.putAll(list.stream()
.collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType, .collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType,
Collectors.averagingDouble(item ->Double.valueOf(item.getScore()) )))); Collectors.averagingDouble(item ->{
Double score;
switch (item.getProcessNode()){
case "会签征求意见":
score=Double.valueOf(item.getScore()) * 0.3;
break;
case "技术委员会负责人/起草中心主任审核":
score=Double.valueOf(item.getScore()) * 0.4;
break;
case "标准法规工程师复审":
score=Double.valueOf(item.getScore()) * 0.3;
break;
case "标准法规部部长审核":
score=Double.valueOf(item.getScore()) * 0.3;
break;
default: score=Double.valueOf(item.getScore());
}
return score;
} ))));
return result; return result;
} }