Commit 0a9f49ee by hzc

修改趋好趋坏的运算逻辑(全部换本期-同期

parent a02be52e
......@@ -199,13 +199,13 @@ public class IndScorecardService {
//如果是反向指标(越小越好)
if("1".equals(acsType)) {
if(Double.valueOf(value)<Double.valueOf(average)) {//大于组内平均分
if(Double.valueOf(value)<=Double.valueOf(average)) {//大于组内平均分
baseScoreValue += scoreCard.getMoreAverage();
}else {
baseScoreValue -= scoreCard.getLessAverage();
}
}else {//正向指标,越大越好
if(Double.valueOf(value)>Double.valueOf(average)) {//大于组内平均分
if(Double.valueOf(value)>=Double.valueOf(average)) {//大于组内平均分
baseScoreValue += scoreCard.getMoreAverage();
}else {
baseScoreValue -= scoreCard.getLessAverage();
......@@ -366,7 +366,7 @@ public class IndScorecardService {
}
}else {
//获取单位同期比率
String rate = CalculateUtils.calGowth(current.getValue(), same.getValue(),growCalType);
String rate = CalculateUtils.calGowth(current.getValue(), same.getValue(),"0");//growCalType
if(StringUtils.isNotBlank(rate)&&!"0.0000".equals(rate)&&!"NaN".equals(rate)&&!"Infinite".equals(rate)) {
if("0".equals(acsType)) {
if(Double.valueOf(rate)>0) {//同比趋好
......
......@@ -501,21 +501,27 @@ public class IndicatorsValueService {
rate = CalculateUtils.calGowth(currentValue,
sameValue,driveIndDef.getGrowCalType());
String rateTmp = rate;
if(!"0".equals(driveIndDef.getGrowCalType())){
rateTmp=CalculateUtils.calGowth(currentValue, sameValue,"0");
}
XSSFRow row = excelSheet.getRow(rowMap.get(indId));
row.getCell(3).setCellValue(currentValue);
row.getCell(4).setCellValue(sameValue);
row.getCell(5).setCellValue(rate);
String acsType = driveIndDef.getIndRule();
if(StringUtils.isNotBlank(rateTmp)&&!rateTmp.equals("0.0000")){
if("0".equals(acsType)) {
if(Double.valueOf(rate)>0) {
if(Double.valueOf(rateTmp)>0) {
row.getCell(6).setCellValue("同比趋好");
}else {
row.getCell(6).setCellStyle(cellStyle);
row.getCell(6).setCellValue("同比趋差");
}
}else {
if(Double.valueOf(rate)>0) {
if(Double.valueOf(rateTmp)>0) {
row.getCell(6).setCellStyle(cellStyle);
row.getCell(6).setCellValue("同比趋差");
}else {
......@@ -523,6 +529,8 @@ public class IndicatorsValueService {
}
}
}
}
FileOutputStream out=new FileOutputStream("D://indicatorsFile/file3.xlsx");
out.flush();
xssfWorkbook.write(out);
......
......@@ -62,7 +62,11 @@ public class IndexReportService {
String rate = CalculateUtils.calGowth(calResults.get(0).getValue(),
sameResult.getValue(), growCalType);
indMap.put("rate", rate);
if(StringUtils.isNotBlank(indRule) && StringUtils.isNotBlank(rate)) {
String rateTmp =rate;
if(!"0".equals(growCalType)){
rateTmp= CalculateUtils.calGowth(calResults.get(0).getValue(), sameResult.getValue(), "0");
}
if(StringUtils.isNotBlank(indRule) && StringUtils.isNotBlank(rateTmp)&&!"0.0000".equals(rateTmp)) {
if("0".equals(indRule)) {//正向
if(Double.parseDouble(rate)>0) {
indMap.put("trend", "1");//趋好
......
......@@ -815,14 +815,15 @@ public class IndicatorsReportService {
if(Double.parseDouble(currentActualAverage.getValue())>
Double.parseDouble(sameActualAverage.getValue())) {
indReportData.setTrend("1");//趋差
}else {
}else if(Double.parseDouble(currentActualAverage.getValue())< Double.parseDouble(sameActualAverage.getValue())){
indReportData.setTrend("0");
}
}else {//其他当正向处理
if(Double.parseDouble(currentActualAverage.getValue())>
Double.parseDouble(sameActualAverage.getValue())) {
indReportData.setTrend("0");//趋好
}else {
}else if(Double.parseDouble(currentActualAverage.getValue())<
Double.parseDouble(sameActualAverage.getValue())){
indReportData.setTrend("1");
}
}
......
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