xushining преди 2 години
родител
ревизия
4e08086183

+ 7 - 7
web/gdsx-ghost/src/main/java/com/gyee/ghost/init/CacheContext.java

@@ -117,12 +117,12 @@ public class CacheContext implements CommandLineRunner {
 //        });
 
 
-        String yesterday = DateUtils.getYesterdayStr("yyyy-MM-dd");
-        try {
-//            realtimeService.saveWindturbineStatus2();
-            realtimeService.saveWindstationStatus(yesterday,yesterday);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+//        String yesterday = DateUtils.getYesterdayStr("yyyy-MM-dd");
+//        try {
+////            realtimeService.saveWindturbineStatus2();
+//            realtimeService.saveWindstationStatus(yesterday,yesterday);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
     }
 }

+ 58 - 6
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/RealtimeService.java

@@ -77,8 +77,8 @@ public class RealtimeService {
                     proEconWindturbineStatus2.setId(CommonUtils.getUUID());
                     proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
                     proEconWindturbineStatus2.setWindturbineId(wt.getId());
-                    proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
-                    proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
+                    proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
+                    proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
                     proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                     proEconWindturbineStatus2.setLossPower(0.0);
                     proEconWindturbineStatus2.setShutdownEventId("");
@@ -97,7 +97,7 @@ public class RealtimeService {
                     Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
                     if (first.isPresent()){
                         ProEconWindturbineStatus2 proEconWindturbineStatus = first.get();
-                        proEconWindturbineStatus.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
+                        proEconWindturbineStatus.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
                         proEconWindturbineStatus.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus.getStopTime(), proEconWindturbineStatus.getStartTime()));
                         proEconWindturbineStatus.setLossPower(0.0);
                         proEconWindturbineStatus.setSpeed(speed);
@@ -113,7 +113,7 @@ public class RealtimeService {
                     Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
                     if (first.isPresent()){
                         ProEconWindturbineStatus2 proEconWindturbineStatus2 = first.get();
-                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
+                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
                         proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                         proEconWindturbineStatus2.setLossPower(0.0);
                         proEconWindturbineStatus2.setSpeed(speed);
@@ -124,8 +124,8 @@ public class RealtimeService {
                         proEconWindturbineStatus2.setId(CommonUtils.getUUID());
                         proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
                         proEconWindturbineStatus2.setWindturbineId(wt.getId());
-                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
-                        proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(realData.getPointTime()*1000));
+                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
+                        proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
                         proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                         proEconWindturbineStatus2.setLossPower(0.0);
                         proEconWindturbineStatus2.setShutdownEventId("");
@@ -242,6 +242,58 @@ public class RealtimeService {
 
     }
 
+    public void saveWindstationStatus1(String beginDate,String endDate) {
+
+        List<ProEconStationStatusmx> resultList = new ArrayList<>();
+        List<String> days = DateUtils.getDays(beginDate, endDate);
+        List<Windturbine> wtls = CacheContext.wtls;
+        Map<Integer, String> statusmxMap = CacheContext.statusmxMap;
+        Set<Integer> status = statusmxMap.keySet();
+
+        Map<String, Map<String, Windturbinetestingpointai>> wtpAimap = CacheContext.wtpAimap;
+
+        Date samedayZero = DateUtils.getSamedayZero();
+        Date currentDate = DateUtils.getCurrentDate();
+//        Date befroeDate = DateUtils.addSeconds(currentDate,-1);
+//        Date befroeDate = DateUtils.addMinutes(currentDate,-5);
+        days.forEach(day->{
+            Date date = DateUtils.parseDate(day);
+            Date addday = DateUtils.addDays(date, 1);
+            wtls.stream().forEach(wt->{
+                Map<String, Windturbinetestingpointai> stringWindturbinetestingpointaiMap = wtpAimap.get(wt.getId());
+                Windturbinetestingpointai windturbinetestingpointai = stringWindturbinetestingpointaiMap.get(Contant.ZTMX);
+                Windturbinetestingpointai windturbinetestingpointaifs = stringWindturbinetestingpointaiMap.get(Contant.AI022);
+                try {
+                    List<PointData> historyDatasSnap = edosUtil.getHistoryDatasSnap(windturbinetestingpointai, date.getTime() / 1000, addday.getTime() / 1000, null, 60l);
+                    status.stream().forEach(sta->{
+                        int minutes = historyDatasSnap.stream().filter(i -> i.getPointValueInDouble() == sta).collect(Collectors.toList()).size();
+                        ProEconStationStatusmx proEconStationStatusmx = new ProEconStationStatusmx();
+                        proEconStationStatusmx.setId(CommonUtils.getUUID());
+                        proEconStationStatusmx.setProjectId(wt.getProjectid());
+                        proEconStationStatusmx.setWindpowerstationId(wt.getWindpowerstationid());
+                        proEconStationStatusmx.setWindturbineId(wt.getId());
+                        proEconStationStatusmx.setRecorddate(date);
+                        proEconStationStatusmx.setStopHours(DoubleUtils.keepPrecision(new Double(minutes)/60,2));
+                        proEconStationStatusmx.setLossPower(0.0);
+                        proEconStationStatusmx.setSatusCode(sta);
+                        proEconStationStatusmx.setStatusDesc(statusmxMap.get(sta));
+                        proEconStationStatusmx.setAvgSpeed(0.0);
+//                        proEconStationStatusmxService.save(proEconStationStatusmx);
+                        resultList.add(proEconStationStatusmx);
+                    });
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+            });
+        });
+
+        proEconStationStatusmxService.saveBatch(resultList);
+
+
+    }
+
+
     /**
      * 获取两日期间日期list
      *

+ 2 - 1
web/gdsx-ghost/src/main/java/com/gyee/ghost/task/SaticScheduleTask.java

@@ -55,6 +55,7 @@ public class SaticScheduleTask {
 
     //或直接指定时间间隔,例如:5秒
 //    @Scheduled(fixedRate=300000)
+    @Scheduled(cron = "0 0/5 * * * ?")
     private void status() {
         try {
             realtimeService.saveWindturbineStatus2();
@@ -69,7 +70,7 @@ public class SaticScheduleTask {
     private void statustj() {
         String yesterday = DateUtils.getYesterdayStr("yyyy-MM-dd");
         try {
-            realtimeService.saveWindstationStatus(yesterday,yesterday);
+            realtimeService.saveWindstationStatus1(yesterday,yesterday);
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 2 - 2
web/gdsx-ghost/src/test/java/com/gyee/ghost/GhostTest.java

@@ -28,8 +28,8 @@ public class GhostTest {
     public void test1(){
                 String yesterday = DateUtils.getYesterdayStr("yyyy-MM-dd");
         try {
-//            realtimeService.saveWindturbineStatus2();
-            realtimeService.saveWindstationStatus(yesterday,yesterday);
+            realtimeService.saveWindturbineStatus2();
+//            realtimeService.saveWindstationStatus(yesterday,yesterday);
         } catch (Exception e) {
             e.printStackTrace();
         }