xieshengjie 2 years ago
parent
commit
be43f748aa
13 changed files with 535 additions and 130 deletions
  1. 4 0
      common/src/main/java/com/gyee/common/util/DateUtils.java
  2. 20 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/controller/auto/Healthwtreport8Controller.java
  3. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/Healthwtreport8Mapper.java
  4. 10 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WindturbineinfodayMapper.java
  5. 8 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Healthwtreport7.java
  6. 60 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Healthwtreport8.java
  7. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IHealthwtreport8Service.java
  8. 3 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWindturbineinfodayService.java
  9. 20 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/Healthwtreport8ServiceImpl.java
  10. 6 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WindturbineinfodayServiceImpl.java
  11. 129 5
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/HealthReportNewService.java
  12. 241 123
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/ReportService.java
  13. 2 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/HealthReportVo.java

+ 4 - 0
common/src/main/java/com/gyee/common/util/DateUtils.java

@@ -127,6 +127,10 @@ public class DateUtils  {
         return getFormat2().format(date);
     }
 
+    public static String toDate3(Date date) {
+        return getFormat3().format(date);
+    }
+
     public static String toDate1(Date date) {
         return getFormat().format(date);
     }

+ 20 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/controller/auto/Healthwtreport8Controller.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagementhistroy.controller.auto;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-10-04
+ */
+@RestController
+@RequestMapping("//healthwtreport8")
+public class Healthwtreport8Controller {
+
+}

+ 16 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/Healthwtreport8Mapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.gyee.healthmanagementhistroy.model.auto.Healthwtreport8;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-10-04
+ */
+public interface Healthwtreport8Mapper extends BaseMapper<Healthwtreport8> {
+
+}

+ 10 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WindturbineinfodayMapper.java

@@ -2,8 +2,10 @@ package com.gyee.healthmanagementhistroy.mapper.auto;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -18,4 +20,12 @@ public interface WindturbineinfodayMapper extends BaseMapper<Windturbineinfoday>
     @Select("select max(recorddate) recorddate, SUM(runTime) runTime,SUM(stoptime) stoptime,sum(faultTime) faultTime,sum(maintainTime) maintainTime,avg(daysbklyl) daysbklyl from windturbineinfoday where  recorddate<sysdate and windturbineid=#{id} \n" +
             "group by to_char(recorddate,'yyyymm')  order by to_char(recorddate,'yyyymm')  desc  ")
     List<Windturbineinfoday> getSbklyl(String id);
+
+
+    @Select("select a.windturbineid,a.recorddate,a.generatingcapacity,a.speed,\n" +
+            "b.daynhgzssdl lossofpower,b.daynhwhssdl lossofpower1,b.daynhxdssdl lossofpower2,b.daynhqfdl lossofpower3,b.daynhcfdl lossofpower4,\n" +
+            "runTime,stoptime, faultTime,maintainTime,daysbklyl\n" +
+            "from windturbineinfoday a left join windturbineinfoday3 b on a.windturbineid=b.windturbineid and a.recorddate=b.recorddate\n" +
+            "where a.recorddate>=#{monthFirst} and a.recorddate<=#{date}")
+    List<Windturbineinfoday> selectDy(@Param("monthFirst") Date monthFirst, @Param("date") Date date);
 }

+ 8 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Healthwtreport7.java

@@ -34,5 +34,13 @@ public class Healthwtreport7 extends Model {
 
     private Double dfqc;
 
+    private Double xfqr2;
+
+    private Double xfqc2;
+
+    private Double dfqr2;
+
+    private Double dfqc2;
+
 
 }

+ 60 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Healthwtreport8.java

@@ -0,0 +1,60 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-10-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Healthwtreport8 extends Model {
+
+    private static final long serialVersionUID = 1L;
+    @TableId(value = "ID",type = IdType.INPUT)
+    private String id;
+
+    private String wtid;
+
+    private String recorddate;
+
+    private Double fdl;
+
+    private Double gzdl;
+
+    private Double whdl;
+
+    private Double xddl;
+
+    private Double xndl;
+
+    private Double sldl;
+
+    private Double llfdl;
+
+    private Double speed;
+
+    private Double fnlyl;
+
+    private Double yxxs;
+
+    private Double djxs;
+
+    private Double fjhjxxs;
+
+    private Double jhjxxs;
+
+    private Double slxs;
+
+    private Double sbklyl;
+
+
+}

+ 16 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IHealthwtreport8Service.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.gyee.healthmanagementhistroy.model.auto.Healthwtreport8;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-10-04
+ */
+public interface IHealthwtreport8Service extends IService<Healthwtreport8> {
+
+}

+ 3 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWindturbineinfodayService.java

@@ -3,6 +3,7 @@ package com.gyee.healthmanagementhistroy.service.auto;
 import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -16,4 +17,6 @@ import java.util.List;
 public interface IWindturbineinfodayService extends IService<Windturbineinfoday> {
 
     List<Windturbineinfoday> getSbklyl(String id);
+
+    List<Windturbineinfoday> selectDy(Date monthFirst, Date date);
 }

+ 20 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/Healthwtreport8ServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.gyee.healthmanagementhistroy.model.auto.Healthwtreport8;
+import com.gyee.healthmanagementhistroy.mapper.auto.Healthwtreport8Mapper;
+import com.gyee.healthmanagementhistroy.service.auto.IHealthwtreport8Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-10-04
+ */
+@Service
+public class Healthwtreport8ServiceImpl extends ServiceImpl<Healthwtreport8Mapper, Healthwtreport8> implements IHealthwtreport8Service {
+
+}

+ 6 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WindturbineinfodayServiceImpl.java

@@ -7,6 +7,7 @@ import com.gyee.healthmanagementhistroy.service.auto.IWindturbineinfodayService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -25,4 +26,9 @@ public class WindturbineinfodayServiceImpl extends ServiceImpl<Windturbineinfoda
     public List<Windturbineinfoday> getSbklyl(String id) {
         return windturbineinfodayMapper.getSbklyl(id);
     }
+
+    @Override
+    public List<Windturbineinfoday> selectDy(Date monthFirst, Date date) {
+        return windturbineinfodayMapper.selectDy(monthFirst,date);
+    }
 }

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

@@ -5,8 +5,12 @@ import com.gyee.common.model.StringUtils;
 import com.gyee.common.util.CommonUtils;
 import com.gyee.common.util.DateUtils;
 import com.gyee.healthmanagementhistroy.init.CacheContext;
+import com.gyee.healthmanagementhistroy.mapper.healthreport.PartDangerMapper;
 import com.gyee.healthmanagementhistroy.model.auto.*;
+import com.gyee.healthmanagementhistroy.model.healthreport.PartDanger;
 import com.gyee.healthmanagementhistroy.service.auto.*;
+import com.sun.org.apache.bcel.internal.generic.LLOAD;
+import lombok.experimental.Helper;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -31,6 +35,8 @@ public class HealthReportNewService {
     @Resource
     private IHealthwtreport7Service healthwtreport7Service;
     @Resource
+    private IHealthwtreport8Service healthwtreport8Service;
+    @Resource
     private ICurvefittingmonthsubService curvefittingmonthsubService;
     @Resource
     private ICurvefittingsubService curvefittingsubService;
@@ -45,6 +51,12 @@ public class HealthReportNewService {
     private IWinddeviationrateService winddeviationrateService;
     @Resource
     private IInputoroutputspeedtotalService inputoroutputspeedtotalService;
+    @Resource
+    private IReportdangerService reportdangerService;
+    @Resource
+    private PartDangerMapper partDangerMapper;
+    @Resource
+    private IWindturbineinfodayService windturbineinfodayService;
     /**
      * 保存性能描述表
      * @param stringdate
@@ -310,24 +322,136 @@ public class HealthReportNewService {
             QueryWrapper<Inputoroutputspeedtotal> queryWrapper = new QueryWrapper<>();
             queryWrapper.le("recorddate",monthLast);
             queryWrapper.ge("recorddate",monthFirst);
-            queryWrapper.eq("windturbineid",wt.getId());
+            //queryWrapper.eq("windturbineid",wt.getId());
+            queryWrapper.eq("windpowerstationid",wt.getWindpowerstationid());
             List<Inputoroutputspeedtotal> collect = inputoroutputspeedtotalService.list(queryWrapper);
             Healthwtreport7 healthwtreport7 = new Healthwtreport7();
             healthwtreport7.setId(CommonUtils.getUUID());
             healthwtreport7.setWtid(wt.getId());
-            double xfqr = collect.stream().filter(i->i.getInputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getInputsmall).average().orElse(0d);
-            double dfqr = collect.stream().filter(i->i.getInputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getInputbig).average().orElse(0d);
-            double xfqc = collect.stream().filter(i->i.getOutputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputsmall).average().orElse(0d);
-            double dfqc = collect.stream().filter(i->i.getOutputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputbig).average().orElse(0d);
+            double xfqr2 = collect.stream().filter(i->i.getInputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getInputsmall).average().orElse(0d);
+            double dfqr2 = collect.stream().filter(i->i.getInputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getInputbig).average().orElse(0d);
+            double xfqc2 = collect.stream().filter(i->i.getOutputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputsmall).average().orElse(0d);
+            double dfqc2 = collect.stream().filter(i->i.getOutputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputbig).average().orElse(0d);
+            double xfqr = collect.stream().filter(i->i.getWindturbineid().equals(wt.getId()) && i.getInputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getInputsmall).average().orElse(0d);
+            double dfqr = collect.stream().filter(i->i.getWindturbineid().equals(wt.getId()) && i.getInputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getInputbig).average().orElse(0d);
+            double xfqc = collect.stream().filter(i->i.getWindturbineid().equals(wt.getId()) && i.getOutputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputsmall).average().orElse(0d);
+            double dfqc = collect.stream().filter(i->i.getWindturbineid().equals(wt.getId()) && i.getOutputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputbig).average().orElse(0d);
+
             healthwtreport7.setDfqc(dfqc);
             healthwtreport7.setDfqr(dfqr);
             healthwtreport7.setXfqc(xfqc);
             healthwtreport7.setXfqr(xfqr);
+            healthwtreport7.setDfqc(dfqc2);
+            healthwtreport7.setDfqr(dfqr2);
+            healthwtreport7.setXfqc(xfqc2);
+            healthwtreport7.setXfqr(xfqr2);
             resultList.add(healthwtreport7);
+
         });
         healthwtreport7Service.saveBatch(resultList);
 
     }
+    /**
+     * 保存部件隐患
+     * @param stringdate
+     */
+    public void savePartdanger(String stringdate){
+        reportdangerService.clear();
+        List<Reportdanger> resultList = new ArrayList<>();
+
+        Date date = DateUtils.parseDate1(stringdate);
+        Date monthFirst = DateUtils.getMonthFirst(date);
+        Date monthLast = DateUtils.getMonthLast(date);
+        List<PartDanger> partDangerList = partDangerMapper.getPartDanger(monthFirst, monthLast);
+        partDangerList.stream().forEach(i->{
+            Reportdanger reportdanger = new Reportdanger();
+            reportdanger.setId(CommonUtils.getUUID());
+            reportdanger.setWtid(i.getWindturbineid());
+            reportdanger.setWpid(i.getStationid());
+            reportdanger.setPart(i.getType());
+            reportdanger.setDanger(i.getAlerttext());
+            reportdanger.setCount(i.getCount());
+            reportdanger.setTimes(i.getTime());
+            List<PartDanger> partDangers = partDangerList.stream().filter(j -> j.getStationid().equals(i.getStationid()) && j.getAlerttext().equals(i.getAlerttext())).collect(Collectors.toList());
+            double avgcount=0;
+            double avgtime=0;
+            if (partDangers!=null) {
+                avgcount=partDangers.stream().mapToDouble(PartDanger::getCount).average().getAsDouble();
+                avgtime= partDangers.stream().mapToDouble(PartDanger::getTime).average().getAsDouble();
+            }
+            reportdanger.setCountavg((int) avgcount);
+            reportdanger.setTimesavg(avgtime);
+            resultList.add(reportdanger);
+        });
+        reportdangerService.saveBatch(resultList);
+    }
+
+    /**
+     * 保存指标
+     * @param stringdate
+     */
+    public void saveHealthwtreport8(String stringdate){
+
+        healthwtreport8Service.remove(new QueryWrapper<>());
+        List<Healthwtreport8> resultList = new ArrayList<>();
+
+        QueryWrapper<Windturbineinfoday> queryWrapper = new QueryWrapper<>();
+        Date date = DateUtils.parseDate1(stringdate);
+        Date monthFirst = DateUtils.getMonthFirst(date);
+
+        List<Windturbineinfoday> windturbineinfodays = windturbineinfodayService.selectDy(monthFirst, date);
+        if (StringUtils.isNotEmpty(windturbineinfodays)){
+            List<Healthwtreport8> h8 = getH8(windturbineinfodays);
+            resultList.addAll(h8);
+        }
+
+        List<Windturbineinfoday> windturbineinfodays1 = windturbineinfodayService.selectDy(DateUtils.addMonths(monthFirst,-1), DateUtils.addMonths(date,-1));
+        List<Windturbineinfoday> windturbineinfodays2 = windturbineinfodayService.selectDy(DateUtils.addMonths(monthFirst,-2), DateUtils.addMonths(date,-2));
+        if (StringUtils.isNotEmpty(windturbineinfodays1)){
+            List<Healthwtreport8> h8 = getH8(windturbineinfodays1);
+            resultList.addAll(h8);
+        }
+        if (StringUtils.isNotEmpty(windturbineinfodays2)){
+            List<Healthwtreport8> h8 = getH8(windturbineinfodays2);
+            resultList.addAll(h8);
+        }
+
+        healthwtreport8Service.saveBatch(resultList);
+    }
+
+    private List<Healthwtreport8> getH8(List<Windturbineinfoday> windturbineinfodays) {
+        List<Healthwtreport8> resultList = new ArrayList<>();
+        CacheContext.wtls.stream().forEach(wt->{
+            Healthwtreport8 healthwtreport8 = new Healthwtreport8();
+            healthwtreport8.setId(CommonUtils.getUUID());
+            healthwtreport8.setWtid(wt.getId());
+            double fdl = windturbineinfodays.stream().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();
+            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));
+            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.setSlxs(0d);
+            healthwtreport8.setSbklyl(windturbineinfodays.stream().mapToDouble(Windturbineinfoday::getDaysbklyl).average().orElse(0d));
+            resultList.add(healthwtreport8);
+        });
+        return resultList;
+    }
 
 
 }

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

@@ -64,6 +64,20 @@ public class ReportService {
     private IReportdangerService reportdangerService;
     @Resource
     private IReportpowerpartweatherService reportpowerpartweatherService;
+    @Resource
+    private IHealthwtreport1Service healthwtreport1Service;
+    @Resource
+    private IHealthwtreport2Service healthwtreport2Service;
+    @Resource
+    private IHealthwtreport3Service healthwtreport3Service;
+    @Resource
+    private IHealthwtreport4Service healthwtreport4Service;
+    @Resource
+    private IHealthwtreport5Service healthwtreport5Service;
+    @Resource
+    private IHealthwtreport6Service healthwtreport6Service;
+    @Resource
+    private IHealthwtreport7Service healthwtreport7Service;
 
 
     /**
@@ -184,146 +198,225 @@ public class ReportService {
         }
 
         //曲线拟合及偏差率
-        List<Curvefittingsub> curvefittingsubs = curvefittingsubService.listMonth(day,wt.getId());
-        if (curvefittingsubs!=null && curvefittingsubs.size()>0){
-            healthReportVo.setQxpcl(curvefittingsubs.stream().mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
-            healthReportVo.setThreeqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=3 && i.getSpeed()<5).mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
-            healthReportVo.setFiveqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=5 && i.getSpeed()<8).mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
-            healthReportVo.setElevenqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=11 && i.getSpeed()<25).mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
-            healthReportVo.setCompareqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=11 && i.getSpeed()<25).mapToDouble(Curvefittingsub::getStandarddeviationrate).average().getAsDouble());
-
+        Map<String,Object> queryMap = new HashMap<>();
+        queryMap.put("wtid",wt.getId());
+        List<Healthwtreport1> healthwtreport1s = healthwtreport1Service.listByMap(queryMap);
+        if (StringUtils.isNotEmpty(healthwtreport1s)){
+            Healthwtreport1 healthwtreport1 = healthwtreport1s.get(0);
+            healthReportVo.setQxpcl(healthwtreport1.getQxpcl());
+            healthReportVo.setThreeqxpcl(healthwtreport1.getThreeqxpcl());
+            healthReportVo.setFiveqxpcl(healthwtreport1.getFiveqxpcl());
+            healthReportVo.setElevenqxpcl(healthwtreport1.getElevenqxpcl());
+            healthReportVo.setCompareqxpclname(healthwtreport1.getCompareqxpclname());
+            healthReportVo.setCompareqxpcl(healthwtreport1.getCompareqxpcl());
         }
+//        List<Curvefittingsub> curvefittingsubs = curvefittingsubService.listMonth(day,wt.getId());
+//        if (curvefittingsubs!=null && curvefittingsubs.size()>0){
+//            healthReportVo.setQxpcl(curvefittingsubs.stream().mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
+//            healthReportVo.setThreeqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=3 && i.getSpeed()<5).mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
+//            healthReportVo.setFiveqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=5 && i.getSpeed()<8).mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
+//            healthReportVo.setElevenqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=11 && i.getSpeed()<25).mapToDouble(Curvefittingsub::getDeviationrate2).average().getAsDouble());
+//            healthReportVo.setCompareqxpcl(curvefittingsubs.stream().filter(i->i.getSpeed()>=11 && i.getSpeed()<25).mapToDouble(Curvefittingsub::getStandarddeviationrate).average().getAsDouble());
+//
+//        }
         //功率曲线拟合
-        QueryWrapper<Reportpowerfitting> reportpowerfittingQueryWrapper = new QueryWrapper<>();
-        reportpowerfittingQueryWrapper.eq("month",month);
-        reportpowerfittingQueryWrapper.eq("year",year);
-        reportpowerfittingQueryWrapper.eq("wtid",wt.getId());
-        List<Reportpowerfitting> glqxnhlist = reportpowerfittingService.list(reportpowerfittingQueryWrapper);
-//        List<Windturbinecurvefittingmonth> glqxnhlist = windturbinecurvefittingmonthService.glqxnhlist(wt.getId(),year,month);
-        if (glqxnhlist!=null && glqxnhlist.size()>0){
+        List<Healthwtreport2> healthwtreport2s = healthwtreport2Service.listByMap(queryMap);
+        if (StringUtils.isNotEmpty(healthwtreport2s)){
             List<NhglVo> list = new ArrayList<>();
-            glqxnhlist.stream().forEach(i->{
+            healthwtreport2s.stream().forEach(i->{
                 NhglVo vo = new NhglVo();
                 vo.setSpeed(i.getSpeed());
-//                vo.setNhgl(i.getActualpower());
-//                vo.setBzgl(i.getOptimalpower());
                 vo.setNhgl(i.getNhgl());
                 vo.setBzgl(i.getBzgl());
                 list.add(vo);
             });
             SortUtils.sort(list,"speed",SortUtils.ASC);
             healthReportVo.setNhglqxs(list);
+
         }
+//        QueryWrapper<Reportpowerfitting> reportpowerfittingQueryWrapper = new QueryWrapper<>();
+//        reportpowerfittingQueryWrapper.eq("month",month);
+//        reportpowerfittingQueryWrapper.eq("year",year);
+//        reportpowerfittingQueryWrapper.eq("wtid",wt.getId());
+//        List<Reportpowerfitting> glqxnhlist = reportpowerfittingService.list(reportpowerfittingQueryWrapper);
+////        List<Windturbinecurvefittingmonth> glqxnhlist = windturbinecurvefittingmonthService.glqxnhlist(wt.getId(),year,month);
+//        if (glqxnhlist!=null && glqxnhlist.size()>0){
+//            List<NhglVo> list = new ArrayList<>();
+//            glqxnhlist.stream().forEach(i->{
+//                NhglVo vo = new NhglVo();
+//                vo.setSpeed(i.getSpeed());
+////                vo.setNhgl(i.getActualpower());
+////                vo.setBzgl(i.getOptimalpower());
+//                vo.setNhgl(i.getNhgl());
+//                vo.setBzgl(i.getBzgl());
+//                list.add(vo);
+//            });
+//            SortUtils.sort(list,"speed",SortUtils.ASC);
+//            healthReportVo.setNhglqxs(list);
+//        }
 
         //曲线偏差率
-        QueryWrapper<Reportdeviation> reportdeviationQueryWrapper = new QueryWrapper<>();
-        reportdeviationQueryWrapper.eq("wtid",wt.getId());
-        reportdeviationQueryWrapper.ge("recorddate",monthFirst).le("recorddate",date);
-        List<Reportdeviation> wtreportsub = reportdeviationService.list(reportdeviationQueryWrapper);
-//        List<Wtreportsub> wtreportsub = wtreportsubService.qxpcllist(wt.getId(),day);
-        if (wtreportsub!=null && wtreportsub.size()>0){
+        List<Healthwtreport3> healthwtreport3s = healthwtreport3Service.listByMap(queryMap);
+        if (StringUtils.isNotEmpty(healthwtreport3s)){
             List<QxpclVo> list = new ArrayList<>();
-            wtreportsub.stream().forEach(i->{
+            healthwtreport3s.stream().forEach(i->{
                 QxpclVo vo = new QxpclVo();
-//                vo.setDate(i.getRecodedate());
-//                vo.setQxpcl(i.getQxpcl());
-//                vo.setJzz(i.getQxpcljzz());
+
                 vo.setDate(i.getRecorddate());
-                vo.setQxpcl(i.getPcl());
+                vo.setQxpcl(i.getQxpcl());
                 vo.setJzz(i.getJzz());
                 list.add(vo);
             });
+            SortUtils.sort(list,"recorddate",SortUtils.ASC);
             healthReportVo.setQxpcls(list);
         }
+//        QueryWrapper<Reportdeviation> reportdeviationQueryWrapper = new QueryWrapper<>();
+//        reportdeviationQueryWrapper.eq("wtid",wt.getId());
+//        reportdeviationQueryWrapper.ge("recorddate",monthFirst).le("recorddate",date);
+//        List<Reportdeviation> wtreportsub = reportdeviationService.list(reportdeviationQueryWrapper);
+////        List<Wtreportsub> wtreportsub = wtreportsubService.qxpcllist(wt.getId(),day);
+//        if (wtreportsub!=null && wtreportsub.size()>0){
+//            List<QxpclVo> list = new ArrayList<>();
+//            wtreportsub.stream().forEach(i->{
+//                QxpclVo vo = new QxpclVo();
+////                vo.setDate(i.getRecodedate());
+////                vo.setQxpcl(i.getQxpcl());
+////                vo.setJzz(i.getQxpcljzz());
+//                vo.setDate(i.getRecorddate());
+//                vo.setQxpcl(i.getPcl());
+//                vo.setJzz(i.getJzz());
+//                list.add(vo);
+//            });
+//            healthReportVo.setQxpcls(list);
+//        }
 
-        //对风偏差前两段
-        List<Windturbinewindyaw> windturbinewindyaws = windturbinewindyawService.listmonth(wt.getId(),day);
-        if (windturbinewindyaws!=null && windturbinewindyaws.size()>0){
-            healthReportVo.setWithincount(windturbinewindyaws.stream().mapToInt(Windturbinewindyaw::getQualified).sum());
-            healthReportVo.setBeyondcount(windturbinewindyaws.stream().mapToInt(Windturbinewindyaw::getUnqualified).sum());
-            int sum = healthReportVo.getWithincount() + healthReportVo.getBeyondcount();
-            healthReportVo.setDfpcl((double) (sum!=0? healthReportVo.getBeyondcount()/sum*100:0));
-            int threehg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 3 && i.getSpeed() < 5).mapToInt(Windturbinewindyaw::getQualified).sum();
-            int threebhg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 3 && i.getSpeed() < 5).mapToInt(Windturbinewindyaw::getUnqualified).sum();
-            healthReportVo.setThreedfpcl((double) ((threehg+threebhg)!=0?threebhg/(threehg+threebhg)*100:0));
-            int fivehg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 5 && i.getSpeed() < 11).mapToInt(Windturbinewindyaw::getQualified).sum();
-            int fivebhg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 5 && i.getSpeed() < 11).mapToInt(Windturbinewindyaw::getUnqualified).sum();
-            healthReportVo.setFivedfpcl((double) ((fivehg+fivebhg)!=0?fivebhg/(fivehg+fivebhg)*100:0));
-            int elehg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 11 && i.getSpeed() < 25).mapToInt(Windturbinewindyaw::getQualified).sum();
-            int elebhg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 11 && i.getSpeed() < 25).mapToInt(Windturbinewindyaw::getUnqualified).sum();
-            healthReportVo.setElevendfpcl((double) ((elehg+elebhg)!=0?elebhg/(elehg+elebhg)*100:0));
+        //对风偏差前三段
+        List<Healthwtreport4> healthwtreport4s = healthwtreport4Service.listByMap(queryMap);
+        if (StringUtils.isNotEmpty(healthwtreport4s)){
+            Healthwtreport4 healthwtreport4 = healthwtreport4s.get(0);
+            healthReportVo.setWithincount(healthwtreport4.getWithincount());
+            healthReportVo.setBeyondcount(healthwtreport4.getBeyondcount());
+            healthReportVo.setDfpcl(healthwtreport4.getDfpcl());
+            healthReportVo.setThreedfpcl(healthwtreport4.getThreedfpcl());
+            healthReportVo.setFivedfpcl(healthwtreport4.getFivedfpcl());
+            healthReportVo.setElevendfpcl(healthwtreport4.getElevendfpcl());
+            healthReportVo.setGlfw(healthwtreport4.getGlfw());
+            healthReportVo.setDescriptiondfpcl(healthwtreport4.getDescriptiondfpcl());
         }
 
-        if (wt.getModelid().contains("2000")){
-            healthReportVo.setGlfw("2000");
-        }else{
-            healthReportVo.setGlfw("1500");
-        }
+//        List<Windturbinewindyaw> windturbinewindyaws = windturbinewindyawService.listmonth(wt.getId(),day);
+//        if (windturbinewindyaws!=null && windturbinewindyaws.size()>0){
+//            healthReportVo.setWithincount(windturbinewindyaws.stream().mapToInt(Windturbinewindyaw::getQualified).sum());
+//            healthReportVo.setBeyondcount(windturbinewindyaws.stream().mapToInt(Windturbinewindyaw::getUnqualified).sum());
+//            int sum = healthReportVo.getWithincount() + healthReportVo.getBeyondcount();
+//            healthReportVo.setDfpcl((double) (sum!=0? healthReportVo.getBeyondcount()/sum*100:0));
+//            int threehg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 3 && i.getSpeed() < 5).mapToInt(Windturbinewindyaw::getQualified).sum();
+//            int threebhg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 3 && i.getSpeed() < 5).mapToInt(Windturbinewindyaw::getUnqualified).sum();
+//            healthReportVo.setThreedfpcl((double) ((threehg+threebhg)!=0?threebhg/(threehg+threebhg)*100:0));
+//            int fivehg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 5 && i.getSpeed() < 11).mapToInt(Windturbinewindyaw::getQualified).sum();
+//            int fivebhg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 5 && i.getSpeed() < 11).mapToInt(Windturbinewindyaw::getUnqualified).sum();
+//            healthReportVo.setFivedfpcl((double) ((fivehg+fivebhg)!=0?fivebhg/(fivehg+fivebhg)*100:0));
+//            int elehg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 11 && i.getSpeed() < 25).mapToInt(Windturbinewindyaw::getQualified).sum();
+//            int elebhg = windturbinewindyaws.stream().filter(i -> i.getSpeed() >= 11 && i.getSpeed() < 25).mapToInt(Windturbinewindyaw::getUnqualified).sum();
+//            healthReportVo.setElevendfpcl((double) ((elehg+elebhg)!=0?elebhg/(elehg+elebhg)*100:0));
+//        }
+//
+//        if (wt.getModelid().contains("2000")){
+//            healthReportVo.setGlfw("2000");
+//        }else{
+//            healthReportVo.setGlfw("1500");
+//        }
         //对风偏差第三段
-        QueryWrapper<Windturbinepoweryaw> windturbinepoweryawQueryWrapper = new QueryWrapper<>();
-        windturbinepoweryawQueryWrapper.eq("windturbineid",wt.getId());
-        windturbinepoweryawQueryWrapper.ge("recorddate",monthFirst).le("recorddate",date);
-        List<Windturbinepoweryaw> windturbinepoweryaws = windturbinepoweryawService.list(windturbinepoweryawQueryWrapper);
-        if (windturbinepoweryaws!=null && windturbinepoweryaws.size()>0){
-            List<Double> collect = windturbinepoweryaws.stream().map(i -> i.getPower()).distinct().collect(Collectors.toList());
-            Collections.sort(collect);
-            String descriptiondfpcl="";
-            for (Double aDouble : collect) {
-                int hg = windturbinepoweryaws.stream().filter(i->i.getPower()==aDouble).mapToInt(Windturbinepoweryaw::getQualified).sum();
-                int bhg= windturbinepoweryaws.stream().filter(i->i.getPower()==aDouble).mapToInt(Windturbinepoweryaw::getUnqualified).sum();
-                int sum = hg + bhg;
-                descriptiondfpcl += ((sum!=0?bhg/sum*100:0)+"%,");
-            }
-            healthReportVo.setDescriptiondfpcl(descriptiondfpcl);
-        }
+//        QueryWrapper<Windturbinepoweryaw> windturbinepoweryawQueryWrapper = new QueryWrapper<>();
+//        windturbinepoweryawQueryWrapper.eq("windturbineid",wt.getId());
+//        windturbinepoweryawQueryWrapper.ge("recorddate",monthFirst).le("recorddate",date);
+//        List<Windturbinepoweryaw> windturbinepoweryaws = windturbinepoweryawService.list(windturbinepoweryawQueryWrapper);
+//        if (windturbinepoweryaws!=null && windturbinepoweryaws.size()>0){
+//            List<Double> collect = windturbinepoweryaws.stream().map(i -> i.getPower()).distinct().collect(Collectors.toList());
+//            Collections.sort(collect);
+//            String descriptiondfpcl="";
+//            for (Double aDouble : collect) {
+//                int hg = windturbinepoweryaws.stream().filter(i->i.getPower()==aDouble).mapToInt(Windturbinepoweryaw::getQualified).sum();
+//                int bhg= windturbinepoweryaws.stream().filter(i->i.getPower()==aDouble).mapToInt(Windturbinepoweryaw::getUnqualified).sum();
+//                int sum = hg + bhg;
+//                descriptiondfpcl += ((sum!=0?bhg/sum*100:0)+"%,");
+//            }
+//            healthReportVo.setDescriptiondfpcl(descriptiondfpcl);
+//        }
 
         //对风偏差图
-        QueryWrapper<Windpowerdeviationrate> windpowerdeviationrateQueryWrapper = new QueryWrapper<>();
-        windpowerdeviationrateQueryWrapper.eq("wtid",wt.getId());
-        List<Windpowerdeviationrate> windpowerdeviationrates = windpowerdeviationrateService.list(windpowerdeviationrateQueryWrapper);
-        List<Windpowerdeviationrate> glqxts = windpowerdeviationrates.stream().filter(deviationrate-> deviationrate.getType() == 2).collect(Collectors.toList());
-//        List<Windturbinepoweryaw> glqxts =windturbinepoweryawService.getPowerDraw(wt.getId(),day);
-        List<DfpclPowerVo> dfpclpowers = new ArrayList<>();
-        if (glqxts!=null && glqxts.size()>0){
-            glqxts.stream().forEach(i->{
+        List<Healthwtreport6> healthwtreport6s = healthwtreport6Service.listByMap(queryMap);
+        if(StringUtils.isNotEmpty(healthwtreport6s)){
+            List<DfpclPowerVo> dfpclpowers = new ArrayList<>();
+            healthwtreport6s.stream().forEach(i->{
                 DfpclPowerVo vo = new DfpclPowerVo();
-//                vo.setPower(i.getPower());
-//                int sum = i.getQualified() + i.getUnqualified();
-//                if (i.getUnqualified()!=0){
-//                    BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
-//                    vo.setDfpcl(divide.doubleValue()*100);
-//                }else{
-//                    vo.setDfpcl(0.0);
-//                }
-                vo.setPower(i.getTypevalue());
-                vo.setDfpcl(i.getValue());
+
+                vo.setPower(i.getPower());
+                vo.setDfpcl(i.getDfpcl());
                 dfpclpowers.add(vo);
             });
             SortUtils.sort(dfpclpowers,"power",SortUtils.ASC);
             healthReportVo.setDfpclpowers(dfpclpowers);
         }
-        List<Windpowerdeviationrate> fsqxts = windpowerdeviationrates.stream().filter(deviationrate-> deviationrate.getType() == 1).collect(Collectors.toList());
-//        List<Windturbinewindyaw> fsqxts =windturbinewindyawService.getPowerDraw(wt.getId(),day);
-        List<DfpclSpeedVo> dfpclSpeeds = new ArrayList<>();
-        if (fsqxts!=null && fsqxts.size()>0){
-            fsqxts.stream().forEach(i->{
+
+        List<Healthwtreport5> healthwtreport5s = healthwtreport5Service.listByMap(queryMap);
+        if(StringUtils.isNotEmpty(healthwtreport5s)){
+            List<DfpclSpeedVo> dfpclSpeeds = new ArrayList<>();
+            healthwtreport5s.stream().forEach(i->{
                 DfpclSpeedVo vo = new DfpclSpeedVo();
-//                vo.setSpeed(i.getSpeed());
-//                int sum = i.getQualified() + i.getUnqualified();
-//                if (i.getUnqualified()!=0){
-//                    BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
-//                    vo.setDfpcl(divide.doubleValue()*100);
-//                }else{
-//                    vo.setDfpcl(0.0);
-//                }
-//                vo.setDfpcl(sum != 0 ? (i.getUnqualified())/sum*100 : 0.0);
-                vo.setSpeed(DoubleUtils.getRoundingNum(i.getTypevalue(),0));
-                vo.setDfpcl(i.getValue());
+                vo.setSpeed(i.getSpeed());
+                vo.setDfpcl(i.getDfpcl());
                 dfpclSpeeds.add(vo);
             });
             SortUtils.sort(dfpclSpeeds,"speed",SortUtils.ASC);
             healthReportVo.setDfpclSpeeds(dfpclSpeeds);
         }
+//        QueryWrapper<Windpowerdeviationrate> windpowerdeviationrateQueryWrapper = new QueryWrapper<>();
+//        windpowerdeviationrateQueryWrapper.eq("wtid",wt.getId());
+//        List<Windpowerdeviationrate> windpowerdeviationrates = windpowerdeviationrateService.list(windpowerdeviationrateQueryWrapper);
+//        List<Windpowerdeviationrate> glqxts = windpowerdeviationrates.stream().filter(deviationrate-> deviationrate.getType() == 2).collect(Collectors.toList());
+////        List<Windturbinepoweryaw> glqxts =windturbinepoweryawService.getPowerDraw(wt.getId(),day);
+//        List<DfpclPowerVo> dfpclpowers = new ArrayList<>();
+//        if (glqxts!=null && glqxts.size()>0){
+//            glqxts.stream().forEach(i->{
+//                DfpclPowerVo vo = new DfpclPowerVo();
+////                vo.setPower(i.getPower());
+////                int sum = i.getQualified() + i.getUnqualified();
+////                if (i.getUnqualified()!=0){
+////                    BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
+////                    vo.setDfpcl(divide.doubleValue()*100);
+////                }else{
+////                    vo.setDfpcl(0.0);
+////                }
+//                vo.setPower(i.getTypevalue());
+//                vo.setDfpcl(i.getValue());
+//                dfpclpowers.add(vo);
+//            });
+//            SortUtils.sort(dfpclpowers,"power",SortUtils.ASC);
+//            healthReportVo.setDfpclpowers(dfpclpowers);
+//        }
+//        List<Windpowerdeviationrate> fsqxts = windpowerdeviationrates.stream().filter(deviationrate-> deviationrate.getType() == 1).collect(Collectors.toList());
+////        List<Windturbinewindyaw> fsqxts =windturbinewindyawService.getPowerDraw(wt.getId(),day);
+//        List<DfpclSpeedVo> dfpclSpeeds = new ArrayList<>();
+//        if (fsqxts!=null && fsqxts.size()>0){
+//            fsqxts.stream().forEach(i->{
+//                DfpclSpeedVo vo = new DfpclSpeedVo();
+////                vo.setSpeed(i.getSpeed());
+////                int sum = i.getQualified() + i.getUnqualified();
+////                if (i.getUnqualified()!=0){
+////                    BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
+////                    vo.setDfpcl(divide.doubleValue()*100);
+////                }else{
+////                    vo.setDfpcl(0.0);
+////                }
+////                vo.setDfpcl(sum != 0 ? (i.getUnqualified())/sum*100 : 0.0);
+//                vo.setSpeed(DoubleUtils.getRoundingNum(i.getTypevalue(),0));
+//                vo.setDfpcl(i.getValue());
+//                dfpclSpeeds.add(vo);
+//            });
+//            SortUtils.sort(dfpclSpeeds,"speed",SortUtils.ASC);
+//            healthReportVo.setDfpclSpeeds(dfpclSpeeds);
+//        }
         QueryWrapper<Winddeviationrate> winddeviationrateQueryWrapper = new QueryWrapper<>();
         winddeviationrateQueryWrapper.eq("wtid",wt.getId());
         List<Winddeviationrate> winddeviationrates = winddeviationrateService.list(winddeviationrateQueryWrapper);
@@ -371,30 +464,55 @@ public class ReportService {
 //            }
 //        }
         //切入切出整合
-        List<QrqcVo> qrqcVos = new ArrayList<>();
-        List<Inputoroutputspeedtotal> inputoroutputspeedtotals =inputoroutputspeedtotalService.getQrqc(wt.getId(),day);
-        if (inputoroutputspeedtotals!=null && inputoroutputspeedtotals.size()>0){
-            Inputoroutputspeedtotal inputoroutputspeedtotal = inputoroutputspeedtotals.get(0);
-            QrqcVo vo = new QrqcVo();
-            vo.setForeignkeyid(inputoroutputspeedtotal.getWindturbineid());
-            vo.setXfqr(inputoroutputspeedtotal.getDayinputsmall());
-            vo.setXfqc(inputoroutputspeedtotal.getDayoutputsmall());
-            vo.setDfqr(inputoroutputspeedtotal.getDayinputbig());
-            vo.setDfqc(inputoroutputspeedtotal.getDayoutputbig());
-            qrqcVos.add(vo);
-        }
-        List<Inputoroutputspeedtotal> inputoroutputspeedtotaljzs =inputoroutputspeedtotalService.getQrqcjzz(wt.getWindpowerstationid(),day);
-        if (inputoroutputspeedtotaljzs!=null && inputoroutputspeedtotaljzs.size()>0){
-            Inputoroutputspeedtotal inputoroutputspeedtotal = inputoroutputspeedtotaljzs.get(0);
-            QrqcVo vo = new QrqcVo();
-            vo.setForeignkeyid("机型平均值");
-            vo.setXfqr(inputoroutputspeedtotal.getDayinputsmall());
-            vo.setXfqc(inputoroutputspeedtotal.getDayoutputsmall());
-            vo.setDfqr(inputoroutputspeedtotal.getDayinputbig());
-            vo.setDfqc(inputoroutputspeedtotal.getDayoutputbig());
-            qrqcVos.add(vo);
+        List<Healthwtreport7> healthwtreport7s = healthwtreport7Service.listByMap(queryMap);
+        if (StringUtils.isNotEmpty(healthwtreport7s)){
+            Healthwtreport7 healthwtreport7 = healthwtreport7s.get(0);
+            healthReportVo.setXfqr(healthwtreport7.getXfqr());
+            healthReportVo.setXfqc(healthwtreport7.getXfqc());
+            healthReportVo.setDfqr(healthwtreport7.getDfqr());
+            healthReportVo.setDfqc(healthwtreport7.getDfqc());
+            List<QrqcVo> qrqcVos = new ArrayList<>();
+            QrqcVo vo1 = new QrqcVo();
+            vo1.setForeignkeyid(healthwtreport7.getWtid());
+            vo1.setXfqr(healthwtreport7.getXfqr());
+            vo1.setXfqc(healthwtreport7.getXfqc());
+            vo1.setDfqr(healthwtreport7.getDfqr());
+            vo1.setDfqc(healthwtreport7.getDfqc());
+            qrqcVos.add(vo1);
+            QrqcVo vo2 = new QrqcVo();
+            vo2.setForeignkeyid("机型平均值");
+            vo2.setXfqr(healthwtreport7.getXfqr2());
+            vo2.setXfqc(healthwtreport7.getXfqc2());
+            vo2.setDfqr(healthwtreport7.getDfqr2());
+            vo2.setDfqc(healthwtreport7.getDfqc2());
+            qrqcVos.add(vo2);
+
+            healthReportVo.setQrqcs(qrqcVos);
         }
-        healthReportVo.setQrqcs(qrqcVos);
+//        List<QrqcVo> qrqcVos = new ArrayList<>();
+//        List<Inputoroutputspeedtotal> inputoroutputspeedtotals =inputoroutputspeedtotalService.getQrqc(wt.getId(),day);
+//        if (inputoroutputspeedtotals!=null && inputoroutputspeedtotals.size()>0){
+//            Inputoroutputspeedtotal inputoroutputspeedtotal = inputoroutputspeedtotals.get(0);
+//            QrqcVo vo = new QrqcVo();
+//            vo.setForeignkeyid(inputoroutputspeedtotal.getWindturbineid());
+//            vo.setXfqr(inputoroutputspeedtotal.getDayinputsmall());
+//            vo.setXfqc(inputoroutputspeedtotal.getDayoutputsmall());
+//            vo.setDfqr(inputoroutputspeedtotal.getDayinputbig());
+//            vo.setDfqc(inputoroutputspeedtotal.getDayoutputbig());
+//            qrqcVos.add(vo);
+//        }
+//        List<Inputoroutputspeedtotal> inputoroutputspeedtotaljzs =inputoroutputspeedtotalService.getQrqcjzz(wt.getWindpowerstationid(),day);
+//        if (inputoroutputspeedtotaljzs!=null && inputoroutputspeedtotaljzs.size()>0){
+//            Inputoroutputspeedtotal inputoroutputspeedtotal = inputoroutputspeedtotaljzs.get(0);
+//            QrqcVo vo = new QrqcVo();
+//            vo.setForeignkeyid("机型平均值");
+//            vo.setXfqr(inputoroutputspeedtotal.getDayinputsmall());
+//            vo.setXfqc(inputoroutputspeedtotal.getDayoutputsmall());
+//            vo.setDfqr(inputoroutputspeedtotal.getDayinputbig());
+//            vo.setDfqc(inputoroutputspeedtotal.getDayoutputbig());
+//            qrqcVos.add(vo);
+//        }
+//        healthReportVo.setQrqcs(qrqcVos);
 
         //可靠性
 //        List<Jkbgbjyh> jkbgbjyhs = jkbgbjyhService.getBjyhdb(wt.getId(),day);

+ 2 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/HealthReportVo.java

@@ -49,14 +49,14 @@ public class HealthReportVo implements Serializable {
     private Double elevenqxpcl;   //11-25
     private String compareqxpclname; //高于或者低于
     private Double compareqxpcl;   //与型号平均值相比
-    private String descriptionqxpcl;  //曲线偏差率说明
+    //private String descriptionqxpcl;  //曲线偏差率说明
     private List<NhglVo> nhglqxs;    //拟合功率曲线(风速,拟合功率,保证功率,点值)
     private List<QxpclVo>  qxpcls;   //曲线偏差率曲线(日期,曲线偏差率,基准值)
     //对风偏差
     private Integer withincount;   //15以内频次
     private Integer beyondcount;   //15以外频次
     private Double dfpcl;   //对风偏差率
-    private Double comparedfpcl;  //与型号平均值对比
+    //private Double comparedfpcl;  //与型号平均值对比
     private Double threedfpcl;   //3-5
     private Double fivedfpcl;    //5-11
     private Double elevendfpcl; //11-25