Commit 1258fea5 by zhangkb

单位评分规则添加积分总和计算

parent 612570c0
...@@ -213,6 +213,8 @@ public class ScoreRuleService { ...@@ -213,6 +213,8 @@ public class ScoreRuleService {
objResult.setImproveValue("0.0"); objResult.setImproveValue("0.0");
objResult.setDate(date); objResult.setDate(date);
double scoreSumValue = 0.0;
String calFormula = scoreRule.getCalFormula();//计算综合评分分数 String calFormula = scoreRule.getCalFormula();//计算综合评分分数
String improveCalFormula = scoreRule.getCalFormula();//计算改善提升分数 String improveCalFormula = scoreRule.getCalFormula();//计算改善提升分数
if(StringUtils.isNotBlank(calFormula)) { if(StringUtils.isNotBlank(calFormula)) {
...@@ -234,15 +236,21 @@ public class ScoreRuleService { ...@@ -234,15 +236,21 @@ public class ScoreRuleService {
if("0".equals(scoreRule.getScoreType())) { if("0".equals(scoreRule.getScoreType())) {
if(!"NaN".equals(calresultOp.getValue()) && !"Infinite".equals(calresultOp.getValue())) { if(!"NaN".equals(calresultOp.getValue()) && !"Infinite".equals(calresultOp.getValue())) {
calFormula = calFormula.replace("["+indId+"]", calresultOp.getValue()); calFormula = calFormula.replace("["+indId+"]", calresultOp.getValue());
//算积分总和
scoreSumValue += Double.parseDouble(calresultOp.getValue());
}else { }else {
calFormula = calFormula.replace("["+indId+"]", "0.0"); calFormula = calFormula.replace("["+indId+"]", "0.0");
} }
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算) }else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
calFormula = calFormula.replace("["+indId+"]", calresultOp.getValue()); calFormula = calFormula.replace("["+indId+"]", calresultOp.getScore());
//算积分总和
scoreSumValue += Double.parseDouble(calresultOp.getScore());
if(!"No".equals(calresultOp.getImproveScore()) && if(!"No".equals(calresultOp.getImproveScore()) &&
StringUtils.isNotBlank(calresultOp.getImproveScore())) { StringUtils.isNotBlank(calresultOp.getImproveScore())) {
improveCalFormula = improveCalFormula.replace("["+indId+"]", improveCalFormula = improveCalFormula.replace("["+indId+"]",
calresultOp.getImproveScore()); calresultOp.getImproveScore());
//算积分总和
scoreSumValue += Double.parseDouble(calresultOp.getImproveScore());
}else { }else {
improveCalFormula = improveCalFormula.replace("["+indId+"]","0.0"); improveCalFormula = improveCalFormula.replace("["+indId+"]","0.0");
} }
...@@ -254,8 +262,12 @@ public class ScoreRuleService { ...@@ -254,8 +262,12 @@ public class ScoreRuleService {
double improveScore = Double.parseDouble(calresultOp.getImproveScore()); double improveScore = Double.parseDouble(calresultOp.getImproveScore());
double sum = indScore+improveScore; double sum = indScore+improveScore;
score = String.valueOf(sum); score = String.valueOf(sum);
//算积分总和
scoreSumValue += sum;
}else { }else {
score = calresultOp.getScore(); score = calresultOp.getScore();
//算积分总和
scoreSumValue += Double.parseDouble(score);
} }
calFormula = calFormula.replace("["+indId+"]", score); calFormula = calFormula.replace("["+indId+"]", score);
} }
...@@ -287,6 +299,7 @@ public class ScoreRuleService { ...@@ -287,6 +299,7 @@ public class ScoreRuleService {
objResult.setImproveValue(improveValue); objResult.setImproveValue(improveValue);
} }
} }
objResult.setScoreSumValue(String.format("%.4f",new BigDecimal(scoreSumValue)));
return objResult; return objResult;
} }
...@@ -304,6 +317,7 @@ public class ScoreRuleService { ...@@ -304,6 +317,7 @@ public class ScoreRuleService {
findByCompareObjAndDate(compareObj, date, code); findByCompareObjAndDate(compareObj, date, code);
double scoreValue = 0.0; double scoreValue = 0.0;
double improveValue = 0.0; double improveValue = 0.0;
double scoreSumValue = 0.0;
if(!calResults.isEmpty()) { if(!calResults.isEmpty()) {
//auth:zhangkb time:2020-7-15 desc:填充对标对象描述 //auth:zhangkb time:2020-7-15 desc:填充对标对象描述
objResult.setCompareObjDesc(calResults.get(0).getCompareObjDesc()); objResult.setCompareObjDesc(calResults.get(0).getCompareObjDesc());
...@@ -315,11 +329,14 @@ public class ScoreRuleService { ...@@ -315,11 +329,14 @@ public class ScoreRuleService {
Map<String,Double> calScores = this.calIndTypeScore(scoreRule, indTypeWeight, calResults); Map<String,Double> calScores = this.calIndTypeScore(scoreRule, indTypeWeight, calResults);
scoreValue += (calScores.get("score")*Double.parseDouble(indTypeWeight.getWeight())/100); scoreValue += (calScores.get("score")*Double.parseDouble(indTypeWeight.getWeight())/100);
improveValue += (calScores.get("improve")*Double.parseDouble(indTypeWeight.getWeight())/100); improveValue += (calScores.get("improve")*Double.parseDouble(indTypeWeight.getWeight())/100);
//author:zhangkb time:2020-9-15 desc:score和improve相加做为积分总和
scoreSumValue += calScores.get("score")+calScores.get("improve");
} }
} }
} }
objResult.setScoreValue(String.format("%.4f",new BigDecimal(scoreValue))); objResult.setScoreValue(String.format("%.4f",new BigDecimal(scoreValue)));
objResult.setImproveValue(String.format("%.4f",new BigDecimal(improveValue))); objResult.setImproveValue(String.format("%.4f",new BigDecimal(improveValue)));
objResult.setScoreSumValue(String.format("%.4f",new BigDecimal(scoreSumValue)));
return objResult; return objResult;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment