xieshengjie пре 2 година
родитељ
комит
9a661e4dcb

+ 49 - 58
realtime/generation-service/src/main/java/com/gyee/generation/service/FiveLossesService.java

@@ -99,9 +99,7 @@ public class FiveLossesService {
                 e.printStackTrace();
             }
             double fjzt = sectionData.getPointValueInDouble();
-            if (StringUtils.isNotEmpty(finalFaultWinturbines)){  //故障不为空
-
-                if (finalFaultWinturbines.contains(wt.getId())){    //此风机在之前故障未恢复列表
+            if (finalFaultWinturbines.contains(wt.getId())){    //此风机在之前故障未恢复列表
                     if (fjzt!=6){
                         //将时间存储到结束时间,算时间与电量
                         Optional<Shutdownevent> first = shutdownevents.stream().filter(i -> i.getWindturbineid().equals(wt.getId())).findFirst();
@@ -110,7 +108,7 @@ public class FiveLossesService {
                             Date starttime = DateUtils.parseLongToDate(sectionData.getPointTime()*1000);
                             shutdownevent.setStarttime(starttime);
                             Date stoptime = shutdownevent.getStoptime();
-                            double hour = DateUtils.hoursDiff1(stoptime, starttime);
+                            double hour = DateUtils.hoursDiff2(stoptime, starttime);
                             shutdownevent.setStophours(hour);
 
                             List<PointData> ztmxDatasSnap = null;
@@ -121,7 +119,7 @@ public class FiveLossesService {
                                 ztmxDatasSnap = edosUtil.getHistoryDatasSnap(ztmxPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
                                 bzglDatasSnap = edosUtil.getHistoryDatasSnap(bzglPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
                                 zsglDatasSnap = edosUtil.getHistoryDatasSnap(zsglPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
-                                powerDatasSnap = edosUtil.getHistoryDatasSnap(powerPoint, samedayZero.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
+                                powerDatasSnap = edosUtil.getHistoryDatasSnap(powerPoint, stoptime.getTime() / 1000, starttime.getTime() / 1000, null, 60l);
                             } catch (Exception e) {
                                 e.printStackTrace();
                             }
@@ -133,72 +131,65 @@ public class FiveLossesService {
                             shutdowneventService.saveOrUpdate(shutdownevent);
                         }
                     }
-                }else {    //此风机不在故障列表中
-                    if (fjzt==6 || fjzt==8){
+                    if (fjzt==8){
                         Shutdownevent shutdownevent = new Shutdownevent();
                         shutdownevent.setId(CommonUtils.getUUID());
                         shutdownevent.setWindpowerstationid(wt.getWindpowerstationid());
                         shutdownevent.setWindturbineid(wt.getId());
-                        shutdownevent.setStoptime(DateUtils.parseLongToDate(sectionData.getPointTime()*1000));
+                        Date date = DateUtils.parseLongToDate(sectionData.getPointTime()*1000);
+                        shutdownevent.setStoptime(date);
                         shutdownevent.setProjectid(wt.getProjectid());
-                        if (fjzt == 6){
-                            shutdownevent.setStatuscode(2);
-                        }else {
-                            shutdownevent.setStatuscode(4);
-                        }
+                        shutdownevent.setStatuscode(4);
                         shutdowneventService.save(shutdownevent);
                     }
                 }
-            }else if(StringUtils.isNotEmpty(finalMainWinturbines)){    //维护不为空
-                if (finalMainWinturbines.contains(wt.getId())){    //此风机在之前故障未恢复列表
-                    if (fjzt!=8){
-                        //将时间存储到结束时间,算时间与电量
-                        Optional<Shutdownevent> first = shutdownevents.stream().filter(i -> i.getWindturbineid().equals(wt.getId())).findFirst();
-                        if (first.isPresent()){
-                            Shutdownevent shutdownevent = first.get();
-                            Date starttime = DateUtils.parseLongToDate(sectionData.getPointTime()*1000);
-                            shutdownevent.setStarttime(starttime);
-                            Date stoptime = shutdownevent.getStoptime();
-                            double hour = DateUtils.hoursDiff1(stoptime, starttime);
-                            shutdownevent.setStophours(hour);
 
-                            List<PointData> ztmxDatasSnap = null;
-                            List<PointData> bzglDatasSnap = null;
-                            List<PointData> zsglDatasSnap = null;
-                            List<PointData> powerDatasSnap = null;
-                            try {
-                                ztmxDatasSnap = edosUtil.getHistoryDatasSnap(ztmxPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
-                                bzglDatasSnap = edosUtil.getHistoryDatasSnap(bzglPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
-                                zsglDatasSnap = edosUtil.getHistoryDatasSnap(zsglPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
-                                powerDatasSnap = edosUtil.getHistoryDatasSnap(powerPoint, samedayZero.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
-                            } catch (Exception e) {
-                                e.printStackTrace();
-                            }
-                            if (ztmxDatasSnap.size() == zsglDatasSnap.size()){
-                                //维护
-                                double jxss = generalLoss(ztmxDatasSnap, bzglDatasSnap, zsglDatasSnap, powerDatasSnap, 8.0, resultList, windturbinetestingpointnewMap.get(Contant.WTRJXSSDL));
-                                shutdownevent.setLosspower(jxss);
-                            }
-                            shutdowneventService.saveOrUpdate(shutdownevent);
+            else if (finalMainWinturbines.contains(wt.getId())){    //此风机在之前故障未恢复列表
+                if (fjzt!=8){
+                    //将时间存储到结束时间,算时间与电量
+                    Optional<Shutdownevent> first = shutdownevents.stream().filter(i -> i.getWindturbineid().equals(wt.getId())).findFirst();
+                    if (first.isPresent()){
+                        Shutdownevent shutdownevent = first.get();
+                        Date starttime = DateUtils.parseLongToDate(sectionData.getPointTime()*1000);
+                        shutdownevent.setStarttime(starttime);
+                        Date stoptime = shutdownevent.getStoptime();
+                        double hour = DateUtils.hoursDiff1(stoptime, starttime);
+                        shutdownevent.setStophours(hour);
+
+                        List<PointData> ztmxDatasSnap = null;
+                        List<PointData> bzglDatasSnap = null;
+                        List<PointData> zsglDatasSnap = null;
+                        List<PointData> powerDatasSnap = null;
+                        try {
+                            ztmxDatasSnap = edosUtil.getHistoryDatasSnap(ztmxPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
+                            bzglDatasSnap = edosUtil.getHistoryDatasSnap(bzglPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
+                            zsglDatasSnap = edosUtil.getHistoryDatasSnap(zsglPoint,stoptime.getTime()/1000,starttime.getTime()/1000,null,60l);
+                            powerDatasSnap = edosUtil.getHistoryDatasSnap(powerPoint, samedayZero.getTime() / 1000, currentDate.getTime() / 1000, null, 60l);
+                        } catch (Exception e) {
+                            e.printStackTrace();
                         }
-                    }
-                }else {    //此风机不在故障列表中
-                    if (fjzt==6 || fjzt==8){
-                        Shutdownevent shutdownevent = new Shutdownevent();
-                        shutdownevent.setId(CommonUtils.getUUID());
-                        shutdownevent.setWindpowerstationid(wt.getWindpowerstationid());
-                        shutdownevent.setWindturbineid(wt.getId());
-                        shutdownevent.setStoptime(DateUtils.parseLongToDate(sectionData.getPointTime()*1000));
-                        shutdownevent.setProjectid(wt.getProjectid());
-                        if (fjzt == 6){
-                            shutdownevent.setStatuscode(2);
-                        }else {
-                            shutdownevent.setStatuscode(4);
+                        if (ztmxDatasSnap.size() == zsglDatasSnap.size()){
+                            //维护
+                            double jxss = generalLoss(ztmxDatasSnap, bzglDatasSnap, zsglDatasSnap, powerDatasSnap, 8.0, resultList, windturbinetestingpointnewMap.get(Contant.WTRJXSSDL));
+                            shutdownevent.setLosspower(jxss);
                         }
-                        shutdowneventService.save(shutdownevent);
+                        shutdowneventService.saveOrUpdate(shutdownevent);
                     }
                 }
-            }else {    //没有没结束的故障维护事件
+                if (fjzt==6){
+                    Shutdownevent shutdownevent = new Shutdownevent();
+                    shutdownevent.setId(CommonUtils.getUUID());
+                    shutdownevent.setWindpowerstationid(wt.getWindpowerstationid());
+                    shutdownevent.setWindturbineid(wt.getId());
+                    Date date = DateUtils.parseLongToDate(sectionData.getPointTime()*1000);
+                    shutdownevent.setStoptime(date);
+                    shutdownevent.setProjectid(wt.getProjectid());
+                    shutdownevent.setStatuscode(2);
+                    shutdowneventService.save(shutdownevent);
+                }
+            }
+
+            else { //没有没结束的故障维护事件
                 if (fjzt==6 || fjzt==8){
                     Shutdownevent shutdownevent = new Shutdownevent();
                     shutdownevent.setId(CommonUtils.getUUID());