浏览代码

主页最大最小风速,最高最低气温功能修改

songhaodong 2 年之前
父节点
当前提交
e2cd8be0f5

+ 4 - 5
ipfcst/ipfcst-reportquery/src/main/frontend/views/datav/index.vue

@@ -9,7 +9,7 @@
           </div>
           </div>
           <div style="text-align: center; padding-left: 40px; font-size: 14px;">
           <div style="text-align: center; padding-left: 40px; font-size: 14px;">
             <dv-border-box-8 :color="['#0c71d4']" style="height: 30px;line-height: 30px; text-align:center; border-radius: 10px; color: white; padding: 2px;">
             <dv-border-box-8 :color="['#0c71d4']" style="height: 30px;line-height: 30px; text-align:center; border-radius: 10px; color: white; padding: 2px;">
-              最大风速:{{maxWind}}&nbsp;最小风速:{{minWind}}&nbsp;最高气温:{{maxT}}&nbsp;最低气温:{{minT}}
+              最大风速:{{maxWind}}&nbsp;最小风速:{{minWind}}&nbsp;最高气温:{{maxT}}&nbsp;最低气温:{{minT}}
             </dv-border-box-8>
             </dv-border-box-8>
           </div>
           </div>
         </el-col>
         </el-col>
@@ -356,7 +356,7 @@
     this.init()
     this.init()
     this.getEl()
     this.getEl()
     this.test = setInterval(this.init,60*1000)
     this.test = setInterval(this.init,60*1000)
-    this.boom = setInterval(this.yesOrNoBoom,1000 * 60 * 5)
+    this.boom = setInterval(this.yesOrNoBoom,1000 * 60 * 15)
     this.windInfo()
     this.windInfo()
   },
   },
   methods: {
   methods: {
@@ -627,16 +627,15 @@
       }
       }
     },
     },
     yesOrNoBoom(){
     yesOrNoBoom(){
-      //间隔十五分钟向后台发送一次请求
+      //间隔十五分钟向后台发送一次请求
       this.$axios.get('/dashboard/yesOrNoBoom').then((res) => {
       this.$axios.get('/dashboard/yesOrNoBoom').then((res) => {
-        if(res.data){
+        if(res.data.boom){
           this.summaryAudioClick()
           this.summaryAudioClick()
         }
         }
       })
       })
     },
     },
     windInfo(){
     windInfo(){
       this.$axios.get('/dashboard/getWindInfo').then((res) => {
       this.$axios.get('/dashboard/getWindInfo').then((res) => {
-        console.log(res.data.maxWind + "=======================");
         this.maxWind = res.data.maxWind
         this.maxWind = res.data.maxWind
         this.minWind = res.data.minWind
         this.minWind = res.data.minWind
         this.maxT = res.data.maxT
         this.maxT = res.data.maxT

+ 54 - 33
ipfcst/ipfcst-reportquery/src/main/java/com/jiayue/ipfcst/service/DashboardService.java

@@ -1271,7 +1271,8 @@ public class DashboardService extends BaseService {
    *
    *
    * @return
    * @return
    */
    */
-  public Boolean getYesOrNoBoom(){
+  public Map<String,Boolean> getYesOrNoBoom(){
+    Map<String, Boolean> map = new HashMap<>();
     Boolean boom = false;
     Boolean boom = false;
     Date sysDate = new Date();
     Date sysDate = new Date();
     SimpleDateFormat sdf = new SimpleDateFormat("mm");
     SimpleDateFormat sdf = new SimpleDateFormat("mm");
@@ -1290,20 +1291,28 @@ public class DashboardService extends BaseService {
     }
     }
     PowerStationStatusData powerStationStatusData = powerStationStatusDataRepository.findByTime(calendar.getTime());
     PowerStationStatusData powerStationStatusData = powerStationStatusDataRepository.findByTime(calendar.getTime());
     ForecastPowerShortTermHis forecastPowerShortTermHis = forecastPowerShortTermHisRepository.findByGenDate(calendar.getTime());
     ForecastPowerShortTermHis forecastPowerShortTermHis = forecastPowerShortTermHisRepository.findByGenDate(calendar.getTime());
+    BigDecimal realValue = BigDecimal.ZERO;
+    BigDecimal ableValue = BigDecimal.ZERO;
+    if(powerStationStatusData != null && forecastPowerShortTermHis != null){
+      realValue = powerStationStatusData.getRealValue();
+      ableValue = forecastPowerShortTermHis.getAbleValue();
+    }
 
 
-    BigDecimal realValue = powerStationStatusData.getRealValue();
-    BigDecimal ableValue = forecastPowerShortTermHis.getAbleValue();
-
-    float abs;
+    float abs = 0f;
     if(realValue.compareTo(ableValue) > 0){
     if(realValue.compareTo(ableValue) > 0){
-      abs = Math.abs(ableValue.subtract(realValue).divide(realValue).floatValue());
+      if(realValue.compareTo(BigDecimal.ZERO) != 0 && ableValue.compareTo(BigDecimal.ZERO) !=0 ){
+        abs = Math.abs(ableValue.subtract(realValue).divide(realValue).floatValue());
+      }
     }else{
     }else{
-      abs = ableValue.subtract(realValue).divide(realValue).floatValue();
+      if(realValue.compareTo(BigDecimal.ZERO) != 0 && ableValue.compareTo(BigDecimal.ZERO) !=0 ) {
+        abs = ableValue.subtract(realValue).divide(realValue).floatValue();
+      }
     }
     }
     if(abs > 20){
     if(abs > 20){
       boom = true;
       boom = true;
     }
     }
-    return boom;
+    map.put("boom", boom);
+    return map;
   }
   }
 
 
   /**
   /**
@@ -1319,7 +1328,7 @@ public class DashboardService extends BaseService {
     //一天的结束,结果:2017-03-01 23:59:59
     //一天的结束,结果:2017-03-01 23:59:59
     Date endOfDay = DateUtil.endOfDay(date);
     Date endOfDay = DateUtil.endOfDay(date);
     // 指定层高
     // 指定层高
-    String wind_hight = super.getSysParameter("WIND_HIGHT", "70");
+    String wind_height = super.getSysParameter("WIND_HEIGHT", "70");
 
 
     List<Nwp> byPreTimeBetween = nwpRepository.findByPreTimeBetween(beginOfDay.getTime(), endOfDay.getTime());
     List<Nwp> byPreTimeBetween = nwpRepository.findByPreTimeBetween(beginOfDay.getTime(), endOfDay.getTime());
 
 
@@ -1329,32 +1338,44 @@ public class DashboardService extends BaseService {
     String minT = "无数据";
     String minT = "无数据";
 
 
     if(byPreTimeBetween.size() > 0){
     if(byPreTimeBetween.size() > 0){
-      if(wind_hight.equals("10")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs10().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("30")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs30().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("50")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs50().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("70")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs70().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("80")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs80().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("90")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs90().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("100")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs100().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::min)).get());
-      }else if(wind_hight.equals("170")){
-        maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::max)).get());
-        minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs170().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::min)).get());
+      switch (wind_height){
+        case "10":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs10().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs10).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "30":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs30().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs30).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "50":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs50().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs50).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "70":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs70().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs70).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "80":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs80().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs80).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "90":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs90().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs90).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "100":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs100().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs100).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        case "170":
+          maxWind = String.valueOf(byPreTimeBetween.stream().map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::max)).get());
+          minWind = String.valueOf(byPreTimeBetween.stream().filter(n->n.getWs170().compareTo(new BigDecimal(-99))!=0).map(Nwp::getWs170).collect(Collectors.reducing(BigDecimal::min)).get());
+          break;
+        default:
+          break;
       }
       }
       maxT = String.valueOf(byPreTimeBetween.stream().map(Nwp::getT).collect(Collectors.reducing(BigDecimal::max)).get());
       maxT = String.valueOf(byPreTimeBetween.stream().map(Nwp::getT).collect(Collectors.reducing(BigDecimal::max)).get());
+//      maxT = String.valueOf(byPreTimeBetween.stream().max(Comparator.comparing(Nwp::getT)).get().getT());
       minT = String.valueOf(byPreTimeBetween.stream().filter(n->n.getT().compareTo(new BigDecimal(-99))!=0).map(Nwp::getT).collect(Collectors.reducing(BigDecimal::min)).get());
       minT = String.valueOf(byPreTimeBetween.stream().filter(n->n.getT().compareTo(new BigDecimal(-99))!=0).map(Nwp::getT).collect(Collectors.reducing(BigDecimal::min)).get());
     }
     }