Commit 32a957ac by hzc

指标积分最佳最差得分,最大值等于最小值时给零

parent d71e88ee
...@@ -239,9 +239,21 @@ public class IndScorecardService { ...@@ -239,9 +239,21 @@ public class IndScorecardService {
}else {//公式 }else {//公式
int rank = currentCompareObjResult.getRank();//获取排位 int rank = currentCompareObjResult.getRank();//获取排位
if(rank==1 && scoreCard.getBestIndScore()!=null) {//最佳指标 if(rank==1 && scoreCard.getBestIndScore()!=null) {//最佳指标
if(checkMaxEqMin(currentDriveResult,acsType)){
//最大值等于最小值直接给零
baseScoreValue = 0;
}else{
baseScoreValue = scoreCard.getBestIndScore(); baseScoreValue = scoreCard.getBestIndScore();
}
}else if(rank==currentDriveResultSize && scoreCard.getWorstIndScore()!=null) {//最差指标 }else if(rank==currentDriveResultSize && scoreCard.getWorstIndScore()!=null) {//最差指标
if(checkMaxEqMin(currentDriveResult,acsType)){
//最大值等于最小值直接给零
baseScoreValue = 0;
}else{
baseScoreValue = scoreCard.getWorstIndScore(); baseScoreValue = scoreCard.getWorstIndScore();
}
}else {//其他 }else {//其他
if(StringUtils.isNotBlank(scoreCard.getOtherCalFormula())) { if(StringUtils.isNotBlank(scoreCard.getOtherCalFormula())) {
baseScoreValue = this.getValueFromFormula( baseScoreValue = this.getValueFromFormula(
...@@ -314,6 +326,27 @@ public class IndScorecardService { ...@@ -314,6 +326,27 @@ public class IndScorecardService {
return result; return result;
} }
private boolean checkMaxEqMin(List<DriveIndCalResultDef> currentDriveResult,String acsType){
double min = 0;
if("1".equals(acsType)) {
min = Double.valueOf(currentDriveResult.get(0).getValue());
}else {
min = Double.valueOf(currentDriveResult.get(currentDriveResult.size()-1).getValue());
}
//获取组内最大值
double max = 0;
if("1".equals(acsType)) {
max = Double.valueOf(currentDriveResult.get(currentDriveResult.size()-1).getValue());
}else {
max = Double.valueOf(currentDriveResult.get(0).getValue());
}
if(max==min){
return true;
}else{
return false;
}
}
private double calImproveValue(String acsType,String unit,List<ImproveScoreDef> importScoreDefList, private double calImproveValue(String acsType,String unit,List<ImproveScoreDef> importScoreDefList,
DriveIndCalResultDef current,DriveIndCalResultDef same,List<String> compareObjs, DriveIndCalResultDef current,DriveIndCalResultDef same,List<String> compareObjs,
String growCalType,String code) { String growCalType,String code) {
......
...@@ -371,12 +371,18 @@ public class ScoreRuleService { ...@@ -371,12 +371,18 @@ public class ScoreRuleService {
values.add(calResult.getValue()); values.add(calResult.getValue());
} }
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算) }else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
/*&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())*/) {
values.add(calResult.getScore()); values.add(calResult.getScore());
}
if(!"No".equals(calResult.getImproveScore()) && if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) { StringUtils.isNotBlank(calResult.getImproveScore())) {
improveValues.add(calResult.getImproveScore()); improveValues.add(calResult.getImproveScore());
} }
}else {//2指标得分分数参与计算(指标分数=综合+改善) }else {//2指标得分分数参与计算(指标分数=综合+改善)
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
/*&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())*/) {
if(!"No".equals(calResult.getImproveScore()) && if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) { StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore()); double indScore = Double.parseDouble(calResult.getScore());
...@@ -387,6 +393,8 @@ public class ScoreRuleService { ...@@ -387,6 +393,8 @@ public class ScoreRuleService {
values.add(calResult.getScore()); values.add(calResult.getScore());
} }
} }
}
} }
} }
} }
......
...@@ -115,16 +115,22 @@ public class TestScoreRuleService { ...@@ -115,16 +115,22 @@ public class TestScoreRuleService {
//得分类型:0 指标值直接参与计算 //得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType())) { if("0".equals(scoreRule.getScoreType())) {
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue()) if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
&& !"0.0000".equals(calResult.getValue()) && !"0".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 指标得分分数参与计算(综合评分和改善提升分开算)
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
&& !"0".equals(calResult.getValue())) {
values.add(calResult.getScore()); values.add(calResult.getScore());
}
if(!"No".equals(calResult.getImproveScore()) && if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) { StringUtils.isNotBlank(calResult.getImproveScore())) {
improveValues.add(calResult.getImproveScore()); improveValues.add(calResult.getImproveScore());
} }
}else {//2指标得分分数参与计算(指标分数=综合+改善) }else {//2指标得分分数参与计算(指标分数=综合+改善)
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
&& !"0".equals(calResult.getValue())) {
if(!"No".equals(calResult.getImproveScore()) && if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) { StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore()); double indScore = Double.parseDouble(calResult.getScore());
...@@ -135,6 +141,8 @@ public class TestScoreRuleService { ...@@ -135,6 +141,8 @@ public class TestScoreRuleService {
values.add(calResult.getScore()); values.add(calResult.getScore());
} }
} }
}
} }
} }
} }
......
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