xieshengjie 2 年 前
コミット
fe0148ff9e

+ 12 - 13
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/HealthReportNewService.java

@@ -425,33 +425,32 @@ public class HealthReportNewService {
             Healthwtreport8 healthwtreport8 = new Healthwtreport8();
             healthwtreport8.setId(CommonUtils.getUUID());
             healthwtreport8.setWtid(wt.getId());
-            double fdl = windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getGeneratingcapacity).sum();
+            double fdl = windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getGeneratingcapacity).sum();
             healthwtreport8.setFdl(fdl);
             healthwtreport8.setRecorddate(DateUtils.toDate3(windturbineinfodays.get(0).getRecorddate()));
-            double gzdl = windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getLossofpower).sum();
-            double whdl = windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getLossofpower1).sum();
-            double xddl = windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getLossofpower2).sum();
-            double xndl = windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getLossofpower3).sum();
-            double sldl = windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getLossofpower4).sum();
+            double gzdl = windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getLossofpower).sum();
+            double whdl = windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getLossofpower1).sum();
+            double xddl = windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getLossofpower2).sum();
+            double xndl = windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getLossofpower3).sum();
+            double sldl = windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getLossofpower4).sum();
             healthwtreport8.setGzdl(gzdl);
             healthwtreport8.setWhdl(whdl);
             healthwtreport8.setXddl(xddl);
             healthwtreport8.setXndl(xndl);
             healthwtreport8.setSldl(sldl);
-            healthwtreport8.setSpeed(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getSpeed).average().orElse(0d));
+            healthwtreport8.setSpeed(windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getSpeed).average().orElse(0d));
             double llfdl = fdl + gzdl + whdl + xddl + xndl + sldl;
             healthwtreport8.setLlfdl(llfdl);
             healthwtreport8.setFnlyl(llfdl!=0?fdl/llfdl:0d);
-            healthwtreport8.setYxxs(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getRuntime).sum());
-            healthwtreport8.setDjxs(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getStoptime).sum());
-            healthwtreport8.setFjhjxxs(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getFaulttime).sum());
-            healthwtreport8.setJhjxxs(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getMaintaintime).sum());
+            healthwtreport8.setYxxs(windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getRuntime).sum());
+            healthwtreport8.setDjxs(windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getStoptime).sum());
+            healthwtreport8.setFjhjxxs(windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getFaulttime).sum());
+            healthwtreport8.setJhjxxs(windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getMaintaintime).sum());
             healthwtreport8.setSlxs(0d);
-            healthwtreport8.setSbklyl(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getDaysbklyl).average().orElse(0d));
+            healthwtreport8.setSbklyl(windturbineinfodays.stream().filter(w->w.getWindturbineid().equals(wt.getId())).mapToDouble(Windturbineinfoday::getDaysbklyl).average().orElse(0d));
             resultList.add(healthwtreport8);
         });
         return resultList;
     }
 
-
 }

+ 107 - 38
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/ReportService.java

@@ -78,6 +78,8 @@ public class ReportService {
     private IHealthwtreport6Service healthwtreport6Service;
     @Resource
     private IHealthwtreport7Service healthwtreport7Service;
+    @Resource
+    private IHealthwtreport8Service healthwtreport8Service;
 
 
     /**
@@ -716,49 +718,116 @@ public class ReportService {
 
         //指标
         //风能利用率
-        List<Equipmentdayinfo> equipmentdayinfos =equipmentdayinfoService.getFjjxb(wt.getId());
-        List<FnlylVo> fnlyls = new ArrayList<>();
-        if (equipmentdayinfos!=null && equipmentdayinfos.size()>0){
-            for(int i=0;i<equipmentdayinfos.size();i++){
-                if (i<3){
-                    Equipmentdayinfo equipmentdayinfo = equipmentdayinfos.get(i);
-                    FnlylVo vo = new FnlylVo();
-                    //(时间,发电量,理论,五损,风速,风能利用率)
-                    vo.setDate(DateUtils.toDate1(equipmentdayinfo.getRecorddate()));
-                    vo.setFdl(equipmentdayinfo.getGenecapacity());
-                    vo.setGzdl(equipmentdayinfo.getDaynhgzssdl());
-                    vo.setWhdl(equipmentdayinfo.getDaynhwhssdl());
-                    vo.setXddl(equipmentdayinfo.getDaynhxdssdl());
-                    vo.setXndl(equipmentdayinfo.getDaynhqfdl());
-                    vo.setSldl(equipmentdayinfo.getDaynhcfdl());
-                    vo.setLlfdl(equipmentdayinfo.getTherogenecapacity());
-                    vo.setSpeed(equipmentdayinfo.getSpeed());
-                    vo.setFnlyl(vo.getLlfdl()!=0?vo.getFdl()/vo.getLlfdl()*100:0.0);
-                    fnlyls.add(vo);
-                }
+        List<Healthwtreport8> healthwtreport8s = healthwtreport8Service.listByMap(queryMap);
+        if (StringUtils.isNotEmpty(healthwtreport8s)){
+            SortUtils.sort(healthwtreport8s,"recorddate",SortUtils.DESC);
+            if (healthwtreport8s.size()>=2 && healthwtreport8s.get(0).getFdl()>healthwtreport8s.get(1).getFdl()){
+                healthReportVo.setFdnlqs("上升");
+            }else {
+                healthReportVo.setFdnlqs("下降");
             }
-            healthReportVo.setFnlyls(fnlyls);
-        }
-        //设备可利用率
-        List<Windturbineinfoday> windturbineinfodays = windturbineinfodayService.getSbklyl(wt.getId());
-        List<SbklylVo> sbklyls = new ArrayList<>();
-        if (windturbineinfodays!=null && windturbineinfodays.size()>0){
-            for(int i=0;i<windturbineinfodays.size();i++){
-                if (i<3){
-                    Windturbineinfoday windturbineinfoday = windturbineinfodays.get(i);
-                    SbklylVo vo = new SbklylVo();
-                    vo.setDate(DateUtils.toDate1(windturbineinfoday.getRecorddate()));
-                    vo.setYxxs(windturbineinfoday.getRuntime());
-                    vo.setDjxs(windturbineinfoday.getStoptime());
-                    vo.setFjhjxxs(windturbineinfoday.getFaulttime());
-                    vo.setJhjxxs(windturbineinfoday.getMaintaintime());
-                    vo.setSlxs(0.0);
-                    vo.setSbklyl(windturbineinfoday.getDaysbklyl());
-                    sbklyls.add(vo);
+            if (healthwtreport8s.size()>=2 ){
+                Healthwtreport8 dy = healthwtreport8s.get(0);
+                Healthwtreport8 sy = healthwtreport8s.get(1);
+                Healthwtreport8 ssy = healthwtreport8s.get(2);
+                if (dy.getGzdl()+dy.getWhdl()>sy.getGzdl()+sy.getWhdl()){
+                    healthReportVo.setSsdlqs("上升");
+                }else {
+                    healthReportVo.setSsdlqs("下降");
                 }
+                if (dy.getFnlyl()>sy.getFnlyl()){
+                    healthReportVo.setFnlylqs("上升");
+                }else {
+                    healthReportVo.setFnlylqs("下降");
+                }
+                if (dy.getSbklyl()>sy.getSbklyl()){
+                    healthReportVo.setSbklylqs("上升");
+                }else {
+                    healthReportVo.setSbklylqs("下降");
+                }
+                healthReportVo.setOnetime(ssy.getFjhjxxs());
+                healthReportVo.setTwotime(sy.getFjhjxxs());
+                healthReportVo.setThreetime(dy.getFjhjxxs());
+                healthReportVo.setSbklyl(dy.getSbklyl());
+                healthReportVo.setGzssl(dy.getLlfdl()!=0?dy.getGzdl()/dy.getLlfdl()*100:0);
+                healthReportVo.setWhssl(dy.getLlfdl()!=0?dy.getWhdl()/dy.getLlfdl()*100:0);
+                healthReportVo.setXnssl(dy.getLlfdl()!=0?dy.getXndl()/dy.getLlfdl()*100:0);
             }
+
+            List<FnlylVo> fnlyls = new ArrayList<>();
+            List<SbklylVo> sbklyls = new ArrayList<>();
+            healthwtreport8s.stream().forEach(h->{
+                FnlylVo vo = new FnlylVo();
+                vo.setDate(h.getRecorddate().substring(0,6));
+                vo.setFdl(h.getFdl());
+                vo.setFnlyl(h.getFnlyl()*100);
+                vo.setGzdl(h.getGzdl());
+                vo.setLlfdl(h.getLlfdl());
+                vo.setSldl(h.getSldl());
+                vo.setSpeed(h.getSpeed());
+                vo.setWhdl(h.getWhdl());
+                vo.setXddl(h.getXddl());
+                vo.setXndl(h.getXndl());
+                fnlyls.add(vo);
+                SbklylVo vo1 = new SbklylVo();
+                vo1.setDate(h.getRecorddate().substring(0,6));
+                vo1.setYxxs(h.getYxxs());
+                vo1.setDjxs(h.getDjxs());
+                vo1.setFjhjxxs(h.getFjhjxxs());
+                vo1.setJhjxxs(h.getJhjxxs());
+                vo1.setSlxs(h.getSlxs());
+                vo1.setSbklyl(h.getSbklyl());
+                sbklyls.add(vo1);
+
+            });
+            healthReportVo.setFnlyls(fnlyls);
+            //设备可利用率
             healthReportVo.setSbklyls(sbklyls);
         }
+
+//        List<Equipmentdayinfo> equipmentdayinfos =equipmentdayinfoService.getFjjxb(wt.getId());
+//        List<FnlylVo> fnlyls = new ArrayList<>();
+//        if (equipmentdayinfos!=null && equipmentdayinfos.size()>0){
+//            for(int i=0;i<equipmentdayinfos.size();i++){
+//                if (i<3){
+//                    Equipmentdayinfo equipmentdayinfo = equipmentdayinfos.get(i);
+//                    FnlylVo vo = new FnlylVo();
+//                    //(时间,发电量,理论,五损,风速,风能利用率)
+//                    vo.setDate(DateUtils.toDate1(equipmentdayinfo.getRecorddate()));
+//                    vo.setFdl(equipmentdayinfo.getGenecapacity());
+//                    vo.setGzdl(equipmentdayinfo.getDaynhgzssdl());
+//                    vo.setWhdl(equipmentdayinfo.getDaynhwhssdl());
+//                    vo.setXddl(equipmentdayinfo.getDaynhxdssdl());
+//                    vo.setXndl(equipmentdayinfo.getDaynhqfdl());
+//                    vo.setSldl(equipmentdayinfo.getDaynhcfdl());
+//                    vo.setLlfdl(equipmentdayinfo.getTherogenecapacity());
+//                    vo.setSpeed(equipmentdayinfo.getSpeed());
+//                    vo.setFnlyl(vo.getLlfdl()!=0?vo.getFdl()/vo.getLlfdl()*100:0.0);
+//                    fnlyls.add(vo);
+//                }
+//            }
+//            healthReportVo.setFnlyls(fnlyls);
+//        }
+        //设备可利用率
+//        List<Windturbineinfoday> windturbineinfodays = windturbineinfodayService.getSbklyl(wt.getId());
+//        List<SbklylVo> sbklyls = new ArrayList<>();
+//        if (windturbineinfodays!=null && windturbineinfodays.size()>0){
+//            for(int i=0;i<windturbineinfodays.size();i++){
+//                if (i<3){
+//                    Windturbineinfoday windturbineinfoday = windturbineinfodays.get(i);
+//                    SbklylVo vo = new SbklylVo();
+//                    vo.setDate(DateUtils.toDate1(windturbineinfoday.getRecorddate()));
+//                    vo.setYxxs(windturbineinfoday.getRuntime());
+//                    vo.setDjxs(windturbineinfoday.getStoptime());
+//                    vo.setFjhjxxs(windturbineinfoday.getFaulttime());
+//                    vo.setJhjxxs(windturbineinfoday.getMaintaintime());
+//                    vo.setSlxs(0.0);
+//                    vo.setSbklyl(windturbineinfoday.getDaysbklyl());
+//                    sbklyls.add(vo);
+//                }
+//            }
+//            healthReportVo.setSbklyls(sbklyls);
+//        }
         //性能对比
         List<PjjgVo> pjjgs = new ArrayList<>();
         List<Windturbineinfodaytop2> dydjpgs =windturbineinfodaytop2Service.findDjpgs(wt.getId(),day);