xushining 2 年之前
父节点
当前提交
3f1a8d2a82
共有 1 个文件被更改,包括 40 次插入22 次删除
  1. 40 22
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/RealtimeService.java

+ 40 - 22
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/RealtimeService.java

@@ -26,6 +26,8 @@ import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -43,6 +45,7 @@ public class RealtimeService {
     public void saveWindturbineStatus2() {
 
         List<ProEconWindturbineStatus2> resultList = new ArrayList<>();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
 
         List<Windturbine> wtls = CacheContext.wtls;
         Map<Integer, String> statusmxMap = CacheContext.statusmxMap;
@@ -72,13 +75,14 @@ public class RealtimeService {
                 double tempDouble = sectionData.getPointValueInDouble();
                 double speed = edosUtil.getRealData(windturbinetestingpointaifs).getPointValueInDouble();
 
-                if (currentDate.equals(startOfDay) || aDouble != tempDouble){
+                if (isEq(DateUtils.toDate(currentDate),DateUtils.toDate(startOfDay)) || aDouble != tempDouble){
                     ProEconWindturbineStatus2 proEconWindturbineStatus2 = new ProEconWindturbineStatus2();
                     proEconWindturbineStatus2.setId(CommonUtils.getUUID());
                     proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
                     proEconWindturbineStatus2.setWindturbineId(wt.getId());
-                    proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
-                    proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
+
+                    proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
+                    proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
                     proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                     proEconWindturbineStatus2.setLossPower(0.0);
                     proEconWindturbineStatus2.setShutdownEventId("");
@@ -88,11 +92,14 @@ public class RealtimeService {
                     proEconWindturbineStatus2.setAvgSpeed(0.0);
                     String statusName = statusmxMap.get(new Double(aDouble).intValue());
                     proEconWindturbineStatus2.setStatusDesc(statusName);
-                    resultList.add(proEconWindturbineStatus2);
+//                    resultList.add(proEconWindturbineStatus2);
+                    proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
 
                     QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
                     qw.eq("windTurbine_Id",wt.getId());
-                    Date beforeFive = DateUtils.addMinutes(currentDate, -5);
+                    Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(currentDate)), -5);
+//                    String toDate = DateUtils.toDate(beforeFive);
+//                    Date parse = sdf.parse(toDate);
                     qw.eq("stop_Time",beforeFive);
                     Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
                     if (first.isPresent()){
@@ -102,30 +109,34 @@ public class RealtimeService {
                         proEconWindturbineStatus.setLossPower(0.0);
                         proEconWindturbineStatus.setSpeed(speed);
                         proEconWindturbineStatus.setAvgSpeed(0.0);
-                        resultList.add(proEconWindturbineStatus2);
+//                        resultList.add(proEconWindturbineStatus2);
+                        proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus2);
                     }
 
                 }else {
                     QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
                     qw.eq("windTurbine_Id",wt.getId());
-                    Date beforeFive = DateUtils.addMinutes(currentDate, -5);
+                    Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(currentDate)), -5);
+//                    String toDate = DateUtils.toDate(beforeFive);
+//                    Date parse = sdf.parse(toDate);
                     qw.eq("stop_Time",beforeFive);
                     Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
                     if (first.isPresent()){
                         ProEconWindturbineStatus2 proEconWindturbineStatus2 = first.get();
-                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
+                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
                         proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                         proEconWindturbineStatus2.setLossPower(0.0);
                         proEconWindturbineStatus2.setSpeed(speed);
                         proEconWindturbineStatus2.setAvgSpeed(0.0);
-                        resultList.add(proEconWindturbineStatus2);
+                        proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus2);
+//                        resultList.add(proEconWindturbineStatus2);
                     }else {
                         ProEconWindturbineStatus2 proEconWindturbineStatus2 = new ProEconWindturbineStatus2();
                         proEconWindturbineStatus2.setId(CommonUtils.getUUID());
                         proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
                         proEconWindturbineStatus2.setWindturbineId(wt.getId());
-                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
-                        proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(currentDate.getTime()));
+                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
+                        proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
                         proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                         proEconWindturbineStatus2.setLossPower(0.0);
                         proEconWindturbineStatus2.setShutdownEventId("");
@@ -135,8 +146,8 @@ public class RealtimeService {
                         proEconWindturbineStatus2.setAvgSpeed(0.0);
                         String statusName = statusmxMap.get(new Double(aDouble).intValue());
                         proEconWindturbineStatus2.setStatusDesc(statusName);
-                        resultList.add(proEconWindturbineStatus2);
-
+//                        resultList.add(proEconWindturbineStatus2);
+                        proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
                     }
                 }
             } catch (Exception e) {
@@ -145,7 +156,7 @@ public class RealtimeService {
 
         });
 
-        proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);
+//        proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);
 
     }
 
@@ -301,14 +312,21 @@ public class RealtimeService {
      * @param endDate
      * @return
      */
-    private List<String> getDays(String beginDate, String endDate) {
-        List<String> days = null;
-        if (StringUtils.isNotEmpty(beginDate) && StringUtils.isNotEmpty(endDate)) {
-            days = DateUtils.getDays(beginDate, endDate);
-        } else {
-            days = new ArrayList<>();
-            days.add(DateUtils.getYesterdayStr("yyyy-MM-dd"));
+    private boolean isEq(String beginDate, String endDate) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+
+
+
+        Date date1 = sdf.parse(beginDate);
+
+        Date date2 = sdf.parse(endDate);
+
+        if(date1.equals(date2)) {
+
+            return true;
+
+        }else {
+            return false;
         }
-        return days;
     }
 }