Explorar o código

Merge remote-tracking branch 'origin/master'

wangchangsheng %!s(int64=2) %!d(string=hai) anos
pai
achega
0ebd925445

+ 28 - 0
realtime/generationXK-service/src/main/java/com/gyee/generation/init/CacheContext.java

@@ -47,14 +47,21 @@ public class CacheContext implements CommandLineRunner {
     @Resource
     private IProBasicModelPowerService proBasicModelPowerService;
 
+    @Resource
+    private IProBasicSquareService proBasicSquareService;
+
     @Value("${runWindpowerstation}")
     private String runWindpowerstation;
 
     public static List<ProBasicWindturbine> wtls = new ArrayList<>();
     public static List<ProBasicProject> projects = new ArrayList<>();
     public static List<ProBasicLine>  lines = new ArrayList<>();
+
+    public static List<ProBasicSquare> sqls = new ArrayList<>();
     public static List<ProBasicWindpowerstation>  wpls = new ArrayList<>();
 
+    public static Map<String,ProBasicLine> lnmap = new HashMap<>();
+    public static Map<String,ProBasicSquare> sqmap = new HashMap<>();
     public static Map<String,ProBasicWindpowerstation> wpmap = new HashMap<>();
     public static List<ProBasicMeterPoint>  meterpoints = new ArrayList<>();
     public static Map<String,ProBasicMeterPoint>  meterpointMap = new HashMap<>();
@@ -63,6 +70,9 @@ public class CacheContext implements CommandLineRunner {
     public static Map<String,List<ProBasicWindturbine>> wpwtmap = new HashMap<>();
     public static Map<String,List<ProBasicWindturbine>> pjwtmap = new HashMap<>();
     public static Map<String,List<ProBasicWindturbine>> lnwtmap = new HashMap<>();
+
+
+    public static Map<String,List<ProBasicWindturbine>> sqwtmap = new HashMap<>();
     public static Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = new HashMap<>();// 风电机测点AI表
     public static Map<String,Map<String, ProBasicWppoint>> linepointmap =new HashMap<>();
     public static Map<String,Map<String, ProBasicWppoint>> propointmap =new HashMap<>();
@@ -112,6 +122,15 @@ public class CacheContext implements CommandLineRunner {
                 }
             }
         }
+
+        sqls=proBasicSquareService.list().stream().filter(i->runWpids.contains(i.getWindpowerstationId())).collect(Collectors.toList());
+        if(!sqls.isEmpty())
+        {
+            for(ProBasicSquare sq:sqls)
+            {
+                sqmap.put(sq.getId(),sq);
+            }
+        }
         wtls = proBasicWindturbineService.list().stream().filter(i->runWpids.contains(i.getWindpowerstationId())).collect(Collectors.toList());
         logger.info(wtls.size()+"");
         wtls.forEach(wt->{
@@ -149,6 +168,14 @@ public class CacheContext implements CommandLineRunner {
                 lines.add(wt);
                 lnwtmap.put(wt.getLineId(),lines);
             }
+
+            if (sqwtmap.containsKey(wt.getSquareId())){
+                sqwtmap.get(wt.getSquareId()).add(wt);
+            }else {
+                List<ProBasicWindturbine> lines = new ArrayList<>();
+                lines.add(wt);
+                sqwtmap.put(wt.getSquareId(),lines);
+            }
         });
 
         //初始化标杆风机
@@ -213,6 +240,7 @@ public class CacheContext implements CommandLineRunner {
 
         lines = proBasicLineService.list().stream().filter(i-> StringUtils.isNotNull(proMap.get(i.getProjectId())) && runWpids.contains(proMap.get(i.getProjectId()).getWindpowerstationId())).collect(Collectors.toList());
         lines.stream().forEach(l->{
+            lnmap.put(l.getId(),l);
             if (prolinemap.containsKey(l.getProjectId())){
                 prolinemap.get(l.getProjectId()).add(l);
             }else {

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

@@ -42,7 +42,7 @@ public class RealtimeService {
     @Resource
     private IEdosUtil edosUtil;
 
-    public void saveWindturbineStatus2() {
+    public void saveWindturbineStatus2() throws ParseException {
 
         List<ProEconWindturbineStatus2> resultList = new ArrayList<>();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@@ -53,7 +53,7 @@ public class RealtimeService {
         Map<String, Map<String, Windturbinetestingpointai>> wtpAimap = CacheContext.wtpAimap;
 
         Date samedayZero = DateUtils.getSamedayZero();
-        Date currentDate = DateUtils.getCurrentDate();
+        Date currentDate = sdf.parse(DateUtils.toDate(DateUtils.getCurrentDate()));
 //        Date befroeDate = DateUtils.addSeconds(currentDate, -1);
         Date befroeDate = DateUtils.addMinutes(currentDate,-5);
 
@@ -81,8 +81,8 @@ public class RealtimeService {
                     proEconWindturbineStatus2.setWindpowerstationId(wt.getWindpowerstationid());
                     proEconWindturbineStatus2.setWindturbineId(wt.getId());
 
-                    proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
-                    proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
+                    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("");
@@ -92,15 +92,16 @@ public class RealtimeService {
                     proEconWindturbineStatus2.setAvgSpeed(0.0);
                     String statusName = statusmxMap.get(new Double(aDouble).intValue());
                     proEconWindturbineStatus2.setStatusDesc(statusName);
-//                    resultList.add(proEconWindturbineStatus2);
-                    proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
+                    resultList.add(proEconWindturbineStatus2);
+//                    proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
 
                     QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
                     qw.eq("windTurbine_Id",wt.getId());
-                    Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(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);
+                    qw.eq("stop_Time",befroeDate);
+                    qw.orderByDesc("start_time");
                     Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
                     if (first.isPresent()){
                         ProEconWindturbineStatus2 proEconWindturbineStatus = first.get();
@@ -109,34 +110,35 @@ public class RealtimeService {
                         proEconWindturbineStatus.setLossPower(0.0);
                         proEconWindturbineStatus.setSpeed(speed);
                         proEconWindturbineStatus.setAvgSpeed(0.0);
-//                        resultList.add(proEconWindturbineStatus2);
-                        proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus2);
+                        resultList.add(proEconWindturbineStatus);
+//                        proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus);
                     }
 
                 }else {
                     QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
                     qw.eq("windTurbine_Id",wt.getId());
-                    Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(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);
+                    qw.eq("stop_Time",befroeDate);
+                    qw.orderByDesc("start_time");
                     Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
                     if (first.isPresent()){
                         ProEconWindturbineStatus2 proEconWindturbineStatus2 = first.get();
-                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
+                        proEconWindturbineStatus2.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
                         proEconWindturbineStatus2.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
                         proEconWindturbineStatus2.setLossPower(0.0);
                         proEconWindturbineStatus2.setSpeed(speed);
                         proEconWindturbineStatus2.setAvgSpeed(0.0);
-                        proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus2);
-//                        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(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
-                        proEconWindturbineStatus2.setStartTime(DateUtils.parseLongToDate(sdf.parse(DateUtils.toDate1(currentDate)).getTime()));
+                        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("");
@@ -146,8 +148,8 @@ public class RealtimeService {
                         proEconWindturbineStatus2.setAvgSpeed(0.0);
                         String statusName = statusmxMap.get(new Double(aDouble).intValue());
                         proEconWindturbineStatus2.setStatusDesc(statusName);
-//                        resultList.add(proEconWindturbineStatus2);
-                        proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
+                        resultList.add(proEconWindturbineStatus2);
+//                        proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
                     }
                 }
             } catch (Exception e) {
@@ -156,7 +158,7 @@ public class RealtimeService {
 
         });
 
-//        proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);
+        proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);
 
     }