Bläddra i källkod

处理除数为零和double类型null值的情况

wangchangsheng 3 år sedan
förälder
incheckning
3a76562d08

+ 20 - 1
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/BenchmarkingService.java

@@ -2418,7 +2418,26 @@ public class BenchmarkingService  {
     }
     public void getTb(String timetype, String foreigntype,List<Benchmark> resultList) throws Exception {
         QueryWrapper<Benchmark> qw = new QueryWrapper<>();
-        qw.select("max(foreignkeyid) foreignkeyid,sum(theoreticalpower) theoreticalpower,sum(actualpower) actualpower,sum(daynhgzssdl) daynhgzssdl,sum(daynhwhssdl) daynhwhssdl,sum(daynhxdssdl) daynhxdssdl,sum(daynhqfdl) daynhqfdl,sum(daynhcfdl) daynhcfdl,sum(actualpower)/sum(theoreticalpower)*100 windenergy,sum(daynhxdssdl)/sum(theoreticalpower)*100 powerlossrate,sum(daynhqfdl)/sum(theoreticalpower)*100 performancelossrate,sum(daynhgzssdl)/sum(theoreticalpower)*100 failurelossrate,sum(daynhwhssdl)/sum(theoreticalpower)*100 mainlossrate,avg(resettimelyrate) resettimelyrate,avg(statetransitionrate) statetransitionrate,avg(eliminationrate) eliminationrate,avg(comprehensiverate) comprehensiverate,avg(windpoweraccuracy) windpoweraccuracy,avg(agccurvefollowing) agccurvefollowing");
+
+        qw.select("max(foreignkeyid) foreignkeyid," +
+                "sum(theoreticalpower) theoreticalpower," +
+                "sum(actualpower) actualpower," +
+                "sum(daynhgzssdl) daynhgzssdl," +
+                "sum(daynhwhssdl) daynhwhssdl," +
+                "sum(daynhxdssdl) daynhxdssdl," +
+                "sum(daynhqfdl) daynhqfdl," +
+                "sum(daynhcfdl) daynhcfdl," +
+                "CASE WHEN sum(theoreticalpower) = 1 THEN  0 ELSE sum(actualpower)/sum(theoreticalpower)*100 END AS windenergy," +
+                "CASE WHEN sum(theoreticalpower) = 1 THEN  0 ELSE sum(daynhxdssdl)/sum(theoreticalpower)*100 END AS  powerlossrate," +
+                "CASE WHEN sum(theoreticalpower) = 1 THEN  0 ELSE sum(daynhqfdl)/sum(theoreticalpower)*100 END AS performancelossrate," +
+                "CASE WHEN SUM ( theoreticalpower ) = 0 THEN 0 ELSE SUM ( daynhgzssdl ) / SUM ( theoreticalpower ) * 100  END AS failurelossrate,"+
+                "CASE WHEN SUM ( theoreticalpower ) = 0 THEN 0 ELSE SUM ( daynhwhssdl ) / SUM ( theoreticalpower ) * 100  END AS mainlossrate," +
+                "avg(resettimelyrate) resettimelyrate," +
+                "avg(statetransitionrate) statetransitionrate," +
+                "avg(eliminationrate) eliminationrate," +
+                "avg(comprehensiverate) comprehensiverate," +
+                "avg(windpoweraccuracy) windpoweraccuracy," +
+                "avg(agccurvefollowing) agccurvefollowing");
         if (foreigntype.equals("风电")){
             qw.like("foreignkeyid","_FDC");
         }else {

+ 10 - 10
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/vo/SpecificCenterVo.java

@@ -15,16 +15,16 @@ public class SpecificCenterVo implements Serializable {
 
     private static final long serialVersionUID = -6273903303839623264L;
     private String wpid;
-    private Double mtbf;
-    private Double mttr;
-    private Double fwjsl;
-    private Double ztzhl;
-    private Double xqjsl;
-    private Double tqmtbf;
-    private Double tqmttr;
-    private Double tqfwjsl;
-    private Double tqztzhl;
-    private Double tqxqjsl;
+    private double mtbf;
+    private double mttr;
+    private double fwjsl;
+    private double ztzhl;
+    private double xqjsl;
+    private double tqmtbf;
+    private double tqmttr;
+    private double tqfwjsl;
+    private double tqztzhl;
+    private double tqxqjsl;
     private Integer mtbfCompare;
     private Integer mttrCompare;
     private Integer fwjslCompare;

+ 26 - 26
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/vo/SpecificTopVo.java

@@ -14,30 +14,30 @@ import java.io.Serializable;
 public class SpecificTopVo  implements Serializable {
     private static final long serialVersionUID = 1407554909175314466L;
     private String type;
-    private Double yllfdl;
-    private Double ysjfdl;
-    private Double yfnlyl;
-    private Double ywhssdl;
-    private Double ywhssl;
-    private Double ygzssdl;
-    private Double ygzssl;
-    private Double yxdssdl;
-    private Double yxdssl;
-    private Double yxnssdl;
-    private Double yxnssl;
-    private Double yslssdl;
-    private Double yslssl;
-    private Double nllfdl;
-    private Double nsjfdl;
-    private Double nfnlyl;
-    private Double nwhssdl;
-    private Double nwhssl;
-    private Double ngzssdl;
-    private Double ngzssl;
-    private Double nxdssdl;
-    private Double nxdssl;
-    private Double nxnssdl;
-    private Double nxnssl;
-    private Double nslssdl;
-    private Double nslssl;
+    private double yllfdl;
+    private double ysjfdl;
+    private double yfnlyl;
+    private double ywhssdl;
+    private double ywhssl;
+    private double ygzssdl;
+    private double ygzssl;
+    private double yxdssdl;
+    private double yxdssl;
+    private double yxnssdl;
+    private double yxnssl;
+    private double yslssdl;
+    private double yslssl;
+    private double nllfdl;
+    private double nsjfdl;
+    private double nfnlyl;
+    private double nwhssdl;
+    private double nwhssl;
+    private double ngzssdl;
+    private double ngzssl;
+    private double nxdssdl;
+    private double nxdssl;
+    private double nxnssdl;
+    private double nxnssl;
+    private double nslssdl;
+    private double nslssl;
 }