Ver Fonte

针对短期偏差比实际功率为0情况调整

xusl há 8 meses atrás
pai
commit
0400239c0a

+ 10 - 5
cpp-admin/src/main/java/com/cpp/web/controller/regulation/DqHistoryContrastController.java

@@ -101,16 +101,21 @@ public class DqHistoryContrastController {
                 BigDecimal dqValue = new BigDecimal(dqHistoryContrastDto.getDqValue());
                 BigDecimal realValue = new BigDecimal(dqHistoryContrastDto.getRealValue());
                 dqHistoryContrastDto.setDqDeviation(dqValue.subtract(realValue).toString());
-                BigDecimal ratio = dqValue.subtract(realValue).divide(realValue,3,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).stripTrailingZeros();
+                // 先判断实际功率是否为0,为0则偏差比为空
+                BigDecimal ratio = null;
                 String ratioStr = "";
-                if (ratio.compareTo(new BigDecimal("0"))>=0){
-                    ratioStr = "+" + ratio.toPlainString() + "%";
+                if (realValue.compareTo(new BigDecimal("0"))==0){
                 }
                 else{
-                    ratioStr = ratio.toPlainString() + "%";
+                    ratio = dqValue.subtract(realValue).divide(realValue,3,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).stripTrailingZeros();
+                    if (ratio.compareTo(new BigDecimal("0"))>=0){
+                        ratioStr = "+" + ratio.toPlainString() + "%";
+                    }
+                    else{
+                        ratioStr = ratio.toPlainString() + "%";
+                    }
                 }
                 dqHistoryContrastDto.setDqDeviationRatio(ratioStr);
-
                 dqpcLineList.add(dqHistoryContrastDto.getDqDeviation());
                 ratioLineList.add(ratio);
             }