Pārlūkot izejas kodu

连续无故障时间优化

xushili 3 gadi atpakaļ
vecāks
revīzija
d6cd3a517b

+ 11 - 0
doc/风机无故障运行时间和待机时间.txt

@@ -6,4 +6,15 @@
 
 表 EARLYWARNINGANALYSISPUSH
 
+故障状态的统一编码
+NFDLZY_FXF
+
+风机状态的统一编码 "FJZT":
+ 0, "待机";1, "并网";2, "故障停机";3, "通讯中断";4, "维护停机";5, "非停机限电";6, "停机限电";
+
+
+连续无故障时间:
+    2MW: 故障-转->维护-->超过10分钟,就是故障 FJZT
+    1.5MW: 直接通过庚顿故障DI点,oracle统一编码NFDLZY_FXF
+
 

+ 20 - 9
src/main/java/com/gyee/frame/schdule/windturbinestatetime/TaskWindturbineStateTime.java

@@ -160,19 +160,19 @@ public class TaskWindturbineStateTime {
         return faultCodes;
     }
 
-    @Scheduled(cron = "0 */3 * * * ?")
+    @Scheduled(cron = "0 */30 * * * ?")
     public void getFaultTime() {
-        if (count == 0) {
+        /*if (count == 0) {
             count++;
             Calendar oldday = Calendar.getInstance();
             oldday.add(Calendar.MONTH, -16);
             getGZTime(oldday);
-        } else {
+        } else {*/
             Calendar oldday = Calendar.getInstance();
             oldday.add(Calendar.HOUR, -10);
             getGZTime4(oldday);
             getGZTime5(oldday);
-        }
+        //}
         /*for (int i = 0; i > -922; i--) {
             Calendar thisDay = Calendar.getInstance();
             thisDay.add(Calendar.DATE, i - 1);
@@ -190,20 +190,27 @@ public class TaskWindturbineStateTime {
             }
         }*/
 
-    }
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  }
 
+    /**
+     * 2MW连续无故障计算
+     * @param oldday
+     */
     private void getGZTime4(Calendar oldday) {
         Calendar today = Calendar.getInstance();
         List<WindTurbineTestingPointAi2> wttpai2s = getStandbyCodes();
         wttpai2s=wttpai2s.stream().filter(wttpai2->wttpai2.getModel().equals("CCWE-1500") || wttpai2.getModel().equals("UP105")).collect(Collectors.toList());
         for (WindTurbineTestingPointAi2 wttpai2 : wttpai2s) {
+            if(wttpai2.getWindturbineid().equals("SG01_99")){
+                System.out.println();
+            }
             List<TsPointData> historyRaw = remoteServiceBuilder.ShardingService().getHistoryRaw(wttpai2.getId(), oldday.getTime().getTime(), today.getTime().getTime());
             historyRaw = historyRaw.stream().sorted(Comparator.comparing(TsPointData::getTs).reversed()).collect(Collectors.toList());
 
             long duration = 0;//故障时间
             long noduration = 0;//无故障运行时间
             Date nodurationtime = new Date();//最近真故障(超过3小时)解除时间
-            long faultTime = historyRaw.get(0).getTs();
+            long faultTime = Calendar.getInstance().getTimeInMillis();
             //测点列表
             for (TsPointData tsPointData : historyRaw) {
                 //点值
@@ -220,7 +227,7 @@ public class TaskWindturbineStateTime {
                         noduration = today.getTime().getTime() - faultTime;
                         break;
                     }
-                    faultTime = tsPointData.getTs();
+                    //faultTime = tsPointData.getTs();
                 }else {
                     faultTime = tsPointData.getTs();
                     continue;
@@ -251,6 +258,10 @@ public class TaskWindturbineStateTime {
 
     }
 
+    /**
+     * 1.5MW连续无故障计算
+     * @param oldday
+     */
     private void getGZTime5(Calendar oldday) {
         Calendar today = Calendar.getInstance();
         List<WindTurbineTestingPointDi2> wttpdi2s = getZgzCodes();
@@ -261,7 +272,7 @@ public class TaskWindturbineStateTime {
             long duration = 0;//故障时间
             long noduration = 0;//无故障运行时间
             Date nodurationtime = new Date();//最近真故障(超过3小时)解除时间
-            long faultTime = historyRaw.get(0).getTs();
+            long faultTime = Calendar.getInstance().getTimeInMillis();
             //测点列表
             for (TsPointData tsPointData : historyRaw) {
                 //点值
@@ -279,7 +290,7 @@ public class TaskWindturbineStateTime {
                         noduration = today.getTime().getTime() - faultTime;
                         break;
                     }
-                    faultTime = tsPointData.getTs();
+                    //faultTime = tsPointData.getTs();
                 }
             }
             if (noduration == 0) {

+ 0 - 1
src/main/java/com/gyee/frame/service/AnalysissubtablebottomService.java

@@ -8,7 +8,6 @@ import com.gyee.frame.model.auto.AnalysissubtablebottomExample;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.xml.ws.ServiceMode;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;