Commit e033374b by zhangkb

评分卡改善提升添加是否纳入单位得分计算代码

parent ebee3499
......@@ -104,6 +104,6 @@ public class IndicatorsValueCtrl {
@PostMapping(value = "/fillExcelFileTen")
public void fillExcelXianScore(@RequestBody List<String> indIds,@RequestParam int date,
@RequestParam String compareObjString,@RequestParam int groupNum,@RequestParam int type) throws Exception{
indicatorsValueService.fillExcelXianJuanYanGroup(indIds, date, compareObjString, groupNum,type);
indicatorsValueService.fillExcelXianScore(indIds, date, compareObjString, groupNum,type);
}
}
......@@ -39,6 +39,7 @@ public class IndScorecard implements Serializable{
private double worstIndScore;//最差指标分
private String otherCalFormula;//其他计算公式
//改善提升
private String isIncluScore;//是否纳入单位计分 0:不纳入 1:纳入
private double limitScore;//上限分数
private List<ImproveScoreDef> improveScoreItem = new ArrayList<>();//改善提升分数
......
......@@ -166,20 +166,24 @@ public class IndScorecardService {
}
}
//改善提升
//同期
Optional<DriveIndCalResult> sameCompareObjResult = driveIndResultRepo
.findByIndIdAndDateAndCompareObj(indId, (date-100), compareObj);
if(sameCompareObjResult.isPresent()) {
double improveScore = this.calImproveValue(acsType, unit,
scoreCard.getImproveScoreItem(), currentCompareObjResult.get(),
sameCompareObjResult.get(),compareObjs);
if(scoreCard.getLimitScore()!=0) {
if(improveScore>scoreCard.getLimitScore()) {
improveScore = scoreCard.getLimitScore();
if("1".equals(scoreCard.getIsIncluScore())) {//纳入单位得分计算
//同期
Optional<DriveIndCalResult> sameCompareObjResult = driveIndResultRepo
.findByIndIdAndDateAndCompareObj(indId, (date-100), compareObj);
if(sameCompareObjResult.isPresent()) {
double improveScore = this.calImproveValue(acsType, unit,
scoreCard.getImproveScoreItem(), currentCompareObjResult.get(),
sameCompareObjResult.get(),compareObjs);
if(scoreCard.getLimitScore()!=0) {
if(improveScore>scoreCard.getLimitScore()) {
improveScore = scoreCard.getLimitScore();
}
}
indImproveScoreValue = String.format("%.4f",new BigDecimal(improveScore));
result.put("improveScore",indImproveScoreValue);
}
indImproveScoreValue = String.format("%.4f",new BigDecimal(improveScore));
result.put("improveScore",indImproveScoreValue);
}else {
result.put("improveScore","No");//表示不纳入单位得分计算标识
}
}
}else {
......
......@@ -94,7 +94,9 @@ public class IndicatorsValueService {
.findByIndIdAndDateAndCompareObj(indId, date, compareObj);
if(driveIndCalResult.isPresent()) {
scoreValue.add(driveIndCalResult.get().getScore());
improveValue.add(driveIndCalResult.get().getImproveScore());
if(!"No".equals(driveIndCalResult.get().getImproveScore())) {//改善提升如果是纳入单位得分计算的
improveValue.add(driveIndCalResult.get().getImproveScore());
}
}else {
scoreValue.add("0");
improveValue.add("0");
......
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