Commit 32a957ac by hzc

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

parent d71e88ee
......@@ -239,9 +239,21 @@ public class IndScorecardService {
}else {//公式
int rank = currentCompareObjResult.getRank();//获取排位
if(rank==1 && scoreCard.getBestIndScore()!=null) {//最佳指标
baseScoreValue = scoreCard.getBestIndScore();
if(checkMaxEqMin(currentDriveResult,acsType)){
//最大值等于最小值直接给零
baseScoreValue = 0;
}else{
baseScoreValue = scoreCard.getBestIndScore();
}
}else if(rank==currentDriveResultSize && scoreCard.getWorstIndScore()!=null) {//最差指标
baseScoreValue = scoreCard.getWorstIndScore();
if(checkMaxEqMin(currentDriveResult,acsType)){
//最大值等于最小值直接给零
baseScoreValue = 0;
}else{
baseScoreValue = scoreCard.getWorstIndScore();
}
}else {//其他
if(StringUtils.isNotBlank(scoreCard.getOtherCalFormula())) {
baseScoreValue = this.getValueFromFormula(
......@@ -313,7 +325,28 @@ public class IndScorecardService {
}
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,
DriveIndCalResultDef current,DriveIndCalResultDef same,List<String> compareObjs,
String growCalType,String code) {
......
......@@ -371,21 +371,29 @@ public class ScoreRuleService {
values.add(calResult.getValue());
}
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
values.add(calResult.getScore());
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
/*&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())*/) {
values.add(calResult.getScore());
}
if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
improveValues.add(calResult.getImproveScore());
}
}else {//2指标得分分数参与计算(指标分数=综合+改善)
if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore());
double improveScore = Double.parseDouble(calResult.getImproveScore());
double sum = indScore+improveScore;
values.add(String.valueOf(sum));
}else {
values.add(calResult.getScore());
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
/*&& !"0.0000".equals(calResult.getValue()) && !"0".equals(calResult.getValue())*/) {
if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore());
double improveScore = Double.parseDouble(calResult.getImproveScore());
double sum = indScore+improveScore;
values.add(String.valueOf(sum));
}else {
values.add(calResult.getScore());
}
}
}
}
}
......
......@@ -115,25 +115,33 @@ public class TestScoreRuleService {
//得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType())) {
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());
}
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
values.add(calResult.getScore());
if(!"No".equals(calResult.getImproveScore()) &&
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
&& !"0".equals(calResult.getValue())) {
values.add(calResult.getScore());
}
if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
improveValues.add(calResult.getImproveScore());
}
}else {//2指标得分分数参与计算(指标分数=综合+改善)
if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore());
double improveScore = Double.parseDouble(calResult.getImproveScore());
double sum = indScore+improveScore;
values.add(String.valueOf(sum));
}else {
values.add(calResult.getScore());
if(!"NaN".equals(calResult.getValue()) && !"Infinite".equals(calResult.getValue())
&& !"0".equals(calResult.getValue())) {
if(!"No".equals(calResult.getImproveScore()) &&
StringUtils.isNotBlank(calResult.getImproveScore())) {
double indScore = Double.parseDouble(calResult.getScore());
double improveScore = Double.parseDouble(calResult.getImproveScore());
double sum = indScore+improveScore;
values.add(String.valueOf(sum));
}else {
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