Переглянути джерело

和风部署状态明细流水服务

xieshengjie 2 роки тому
батько
коміт
1a5fa423e5

+ 75 - 71
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/RealtimeService.java

@@ -62,81 +62,27 @@ public class RealtimeService {
 
         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 {
-                PointData realData = edosUtil.getSectionData(windturbinetestingpointai,currentDate.getTime());
-
-                double aDouble = realData.getPointValueInDouble();
-
-                PointData sectionData = edosUtil.getSectionData(windturbinetestingpointai, befroeDate.getTime());
-                double tempDouble = sectionData.getPointValueInDouble();
-                double speed = edosUtil.getRealData(windturbinetestingpointaifs).getPointValueInDouble();
-
-                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.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
-                    proEconWindturbineStatus2.setLossPower(0.0);
-                    proEconWindturbineStatus2.setShutdownEventId("");
-                    proEconWindturbineStatus2.setProjectId(wt.getProjectid());
-                    proEconWindturbineStatus2.setSatusCode(new Double(aDouble).intValue());
-                    proEconWindturbineStatus2.setSpeed(speed);
-                    proEconWindturbineStatus2.setAvgSpeed(0.0);
-                    String statusName = statusmxMap.get(new Double(aDouble).intValue());
-                    proEconWindturbineStatus2.setStatusDesc(statusName);
-                    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);
-//                    String toDate = DateUtils.toDate(beforeFive);
-//                    Date parse = sdf.parse(toDate);
-                    qw.eq("stop_Time",befroeDate);
-                    qw.orderByDesc("start_time");
-                    Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
-                    if (first.isPresent()){
-                        ProEconWindturbineStatus2 proEconWindturbineStatus = first.get();
-                        proEconWindturbineStatus.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
-                        proEconWindturbineStatus.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus.getStopTime(), proEconWindturbineStatus.getStartTime()));
-                        proEconWindturbineStatus.setLossPower(0.0);
-                        proEconWindturbineStatus.setSpeed(speed);
-                        proEconWindturbineStatus.setAvgSpeed(0.0);
-                        resultList.add(proEconWindturbineStatus);
-//                        proEconWindturbineStatus2Service.updateById(proEconWindturbineStatus);
-                    }
+            if (wtpAimap.containsKey(wt.getId())){
+                Map<String, Windturbinetestingpointai> stringWindturbinetestingpointaiMap = wtpAimap.get(wt.getId());
+                Windturbinetestingpointai windturbinetestingpointai = stringWindturbinetestingpointaiMap.get(Contant.ZTMX);
+                Windturbinetestingpointai windturbinetestingpointaifs = stringWindturbinetestingpointaiMap.get(Contant.AI022);
 
-                }else {
-                    QueryWrapper<ProEconWindturbineStatus2> qw = new QueryWrapper<>();
-                    qw.eq("windTurbine_Id",wt.getId());
-//                    Date beforeFive = DateUtils.addMinutes(sdf.parse(DateUtils.toDate1(currentDate)), -5);
-//                    String toDate = DateUtils.toDate(beforeFive);
-//                    Date parse = sdf.parse(toDate);
-                    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(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);
-                    }else {
+                try {
+                    PointData realData = edosUtil.getSectionData(windturbinetestingpointai,currentDate.getTime());
+
+                    double aDouble = realData.getPointValueInDouble();
+
+                    PointData sectionData = edosUtil.getSectionData(windturbinetestingpointai, befroeDate.getTime());
+                    double tempDouble = sectionData.getPointValueInDouble();
+                    double speed = edosUtil.getRealData(windturbinetestingpointaifs).getPointValueInDouble();
+
+                    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.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
@@ -149,13 +95,71 @@ public class RealtimeService {
                         String statusName = statusmxMap.get(new Double(aDouble).intValue());
                         proEconWindturbineStatus2.setStatusDesc(statusName);
                         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);
+//                    String toDate = DateUtils.toDate(beforeFive);
+//                    Date parse = sdf.parse(toDate);
+                        qw.eq("stop_Time",befroeDate);
+                        qw.orderByDesc("start_time");
+                        Optional<ProEconWindturbineStatus2> first = proEconWindturbineStatus2Service.list(qw).stream().findFirst();
+                        if (first.isPresent()){
+                            ProEconWindturbineStatus2 proEconWindturbineStatus = first.get();
+                            proEconWindturbineStatus.setStopTime(DateUtils.parseLongToDate(currentDate.getTime()));
+                            proEconWindturbineStatus.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus.getStopTime(), proEconWindturbineStatus.getStartTime()));
+                            proEconWindturbineStatus.setLossPower(0.0);
+                            proEconWindturbineStatus.setSpeed(speed);
+                            proEconWindturbineStatus.setAvgSpeed(0.0);
+                            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);
+//                    String toDate = DateUtils.toDate(beforeFive);
+//                    Date parse = sdf.parse(toDate);
+                        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(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);
+                        }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.setStopHours(DateUtils.hoursDiff2(proEconWindturbineStatus2.getStopTime(), proEconWindturbineStatus2.getStartTime()));
+                            proEconWindturbineStatus2.setLossPower(0.0);
+                            proEconWindturbineStatus2.setShutdownEventId("");
+                            proEconWindturbineStatus2.setProjectId(wt.getProjectid());
+                            proEconWindturbineStatus2.setSatusCode(new Double(aDouble).intValue());
+                            proEconWindturbineStatus2.setSpeed(speed);
+                            proEconWindturbineStatus2.setAvgSpeed(0.0);
+                            String statusName = statusmxMap.get(new Double(aDouble).intValue());
+                            proEconWindturbineStatus2.setStatusDesc(statusName);
+                            resultList.add(proEconWindturbineStatus2);
 //                        proEconWindturbineStatus2Service.save(proEconWindturbineStatus2);
+                        }
                     }
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-            } catch (Exception e) {
-                e.printStackTrace();
             }
 
+
         });
 
         proEconWindturbineStatus2Service.saveOrUpdateBatch(resultList);