Commit 289a3d00 by zhangkb

优化单位评分规则计算逻辑

parent 2a294a45
...@@ -92,14 +92,19 @@ public class ScoreRuleService { ...@@ -92,14 +92,19 @@ public class ScoreRuleService {
"1".equals(driveIndDef.getIsUnitCalScore())) { "1".equals(driveIndDef.getIsUnitCalScore())) {
//得分类型:0 指标值直接参与计算 //得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType())) { if("0".equals(scoreRule.getScoreType())) {
if(!"NaN".equals(calResult.getValue()) && !"0(Error)".equals(calResult.getValue())
&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())) {
values.add(calResult.getValue()); values.add(calResult.getValue());
}
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算) }else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
values.add(calResult.getScore()); values.add(calResult.getScore());
if(!"No".equals(calResult.getImproveScore())) { if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
improveValues.add(calResult.getImproveScore()); improveValues.add(calResult.getImproveScore());
} }
}else {//2指标得分分数参与计算(指标分数=综合+改善) }else {//2指标得分分数参与计算(指标分数=综合+改善)
if(!"No".equals(calResult.getImproveScore())) { if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore()); double indScore = Double.parseDouble(calResult.getScore());
double improveScore = Double.parseDouble(calResult.getImproveScore()); double improveScore = Double.parseDouble(calResult.getImproveScore());
double sum = indScore+improveScore; double sum = indScore+improveScore;
...@@ -146,10 +151,16 @@ public class ScoreRuleService { ...@@ -146,10 +151,16 @@ public class ScoreRuleService {
if(calresultOp.isPresent()) { if(calresultOp.isPresent()) {
//得分类型:0 指标值直接参与计算 //得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType())) { if("0".equals(scoreRule.getScoreType())) {
if(!"NaN".equals(calresultOp.get().getValue()) &&
!"0(Error)".equals(calresultOp.get().getValue())) {
calFormula = calFormula.replace("["+indId+"]", calresultOp.get().getValue()); calFormula = calFormula.replace("["+indId+"]", calresultOp.get().getValue());
}else {
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.get().getValue()); calFormula = calFormula.replace("["+indId+"]", calresultOp.get().getValue());
if(!"No".equals(calresultOp.get().getImproveScore())) { if(!"No".equals(calresultOp.get().getImproveScore()) &&
StringUtils.isNotBlank(calresultOp.get().getImproveScore())) {
improveCalFormula = improveCalFormula.replace("["+indId+"]", improveCalFormula = improveCalFormula.replace("["+indId+"]",
calresultOp.get().getImproveScore()); calresultOp.get().getImproveScore());
}else { }else {
...@@ -157,7 +168,8 @@ public class ScoreRuleService { ...@@ -157,7 +168,8 @@ public class ScoreRuleService {
} }
}else {//2指标得分分数参与计算(指标分数=综合+改善) }else {//2指标得分分数参与计算(指标分数=综合+改善)
String score = "0.0"; String score = "0.0";
if(!"No".equals(calresultOp.get().getImproveScore())) { if(!"No".equals(calresultOp.get().getImproveScore()) &&
StringUtils.isNotBlank(calresultOp.get().getImproveScore())) {
double indScore = Double.parseDouble(calresultOp.get().getScore()); double indScore = Double.parseDouble(calresultOp.get().getScore());
double improveScore = Double.parseDouble(calresultOp.get().getImproveScore()); double improveScore = Double.parseDouble(calresultOp.get().getImproveScore());
double sum = indScore+improveScore; double sum = indScore+improveScore;
...@@ -237,14 +249,19 @@ public class ScoreRuleService { ...@@ -237,14 +249,19 @@ public class ScoreRuleService {
if(indTypeWeight.getCatalogIdPath().indexOf(catalogIdPath)>=0) { if(indTypeWeight.getCatalogIdPath().indexOf(catalogIdPath)>=0) {
//得分类型:0 指标值直接参与计算 //得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType())) { if("0".equals(scoreRule.getScoreType())) {
if(!"NaN".equals(calResult.getValue()) && !"0(Error)".equals(calResult.getValue())
&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())) {
values.add(calResult.getValue()); values.add(calResult.getValue());
}
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算) }else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
values.add(calResult.getScore()); values.add(calResult.getScore());
if(!"No".equals(calResult.getImproveScore())) { if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
improveValues.add(calResult.getImproveScore()); improveValues.add(calResult.getImproveScore());
} }
}else {//2指标得分分数参与计算(指标分数=综合+改善) }else {//2指标得分分数参与计算(指标分数=综合+改善)
if(!"No".equals(calResult.getImproveScore())) { if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore()); double indScore = Double.parseDouble(calResult.getScore());
double improveScore = Double.parseDouble(calResult.getImproveScore()); double improveScore = Double.parseDouble(calResult.getImproveScore());
double sum = indScore+improveScore; double sum = indScore+improveScore;
...@@ -276,10 +293,6 @@ public class ScoreRuleService { ...@@ -276,10 +293,6 @@ public class ScoreRuleService {
ScoreRule scoreRule = this.getById(scoreRuleId); ScoreRule scoreRule = this.getById(scoreRuleId);
if(scoreRule!=null) { if(scoreRule!=null) {
for(String compareObj : compareObjs) { for(String compareObj : compareObjs) {
//根据对标对象,日期查找该对标对象对标的所有指标结果
List<DriveIndCalResult> calResults = driveIndCalResultRepo.
findByCompareObjAndDate(compareObj, date);
if(!calResults.isEmpty()) {
Map<String,String> resultMap = new HashMap<>(); Map<String,String> resultMap = new HashMap<>();
//计算类型:0 计算组内所有考核指标平均数 //计算类型:0 计算组内所有考核指标平均数
if("0".equals(scoreRule.getCalType())) { if("0".equals(scoreRule.getCalType())) {
...@@ -293,7 +306,6 @@ public class ScoreRuleService { ...@@ -293,7 +306,6 @@ public class ScoreRuleService {
resultMap.put("compareId", compareId); resultMap.put("compareId", compareId);
results.add(resultMap); results.add(resultMap);
} }
}
}else { }else {
logger.info("单位评分卡id:"+scoreRuleId+" 不存在"); logger.info("单位评分卡id:"+scoreRuleId+" 不存在");
} }
......
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