Browse Source

健康报告部署

xieshengjie 2 years ago
parent
commit
8dbadba16d
100 changed files with 3493 additions and 211 deletions
  1. 126 0
      common/src/main/java/com/gyee/common/util/JSONUtils.java
  2. 7 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/CurvefittingsubMapper.java
  3. 21 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/EquipmentdayinfoMapper.java
  4. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/HealthreportMapper.java
  5. 11 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/InputoroutputspeedtotalMapper.java
  6. 21 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/RecommenmainMapper.java
  7. 10 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/ReportdangerMapper.java
  8. 7 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WindturbineinfodayMapper.java
  9. 21 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/Windturbineinfodaytop2Mapper.java
  10. 4 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WindturbinewindyawMapper.java
  11. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WtreportmainMapper.java
  12. 7 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WttragetreportchartMapper.java
  13. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/Wttragetreportmain3Mapper.java
  14. 1 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Curvefittingsub.java
  15. 70 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Equipmentdayinfo.java
  16. 87 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Healthreport.java
  17. 79 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Recommenmain.java
  18. 3 6
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Reportpowerfitting.java
  19. 5 7
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windpowerdeviationrate.java
  20. 1 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windturbinecurvefittingmonth.java
  21. 185 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windturbineinfodaytop2.java
  22. 54 53
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windturbinepoweryaw.java
  23. 58 60
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windturbinewindyaw.java
  24. 6 6
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wpmttrandmtbfday.java
  25. 2 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wpmttrandmtbfyear.java
  26. 2 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wpmttrandmtbmonth.java
  27. 6 6
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtmttrandmtbfday.java
  28. 2 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtmttrandmtbfmonth.java
  29. 4 4
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtmttrandmtbfyear.java
  30. 103 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtreportmain.java
  31. 175 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wttragetreportmain3.java
  32. 4 1
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/ICurvefittingsubService.java
  33. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IEquipmentdayinfoService.java
  34. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IHealthreportService.java
  35. 5 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IInputoroutputspeedtotalService.java
  36. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IRecommenmainService.java
  37. 6 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IReportdangerService.java
  38. 3 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWindturbineinfodayService.java
  39. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWindturbineinfodaytop2Service.java
  40. 2 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWindturbinewindyawService.java
  41. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWtreportmainService.java
  42. 3 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWttragetreportchartService.java
  43. 16 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/IWttragetreportmain3Service.java
  44. 11 3
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/CurvefittingsubServiceImpl.java
  45. 28 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/EquipmentdayinfoServiceImpl.java
  46. 2 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/FaultstatisticwindturbineServiceImpl.java
  47. 20 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/HealthreportServiceImpl.java
  48. 15 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/InputoroutputspeedtotalServiceImpl.java
  49. 28 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/RecommenmainServiceImpl.java
  50. 13 2
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/ReportdangerServiceImpl.java
  51. 11 3
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WindturbineinfodayServiceImpl.java
  52. 28 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/Windturbineinfodaytop2ServiceImpl.java
  53. 6 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WindturbinewindyawServiceImpl.java
  54. 20 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WtreportmainServiceImpl.java
  55. 11 3
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WttragetreportchartServiceImpl.java
  56. 20 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/Wttragetreportmain3ServiceImpl.java
  57. 8 10
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/HealthReportService.java
  58. 707 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/ReportService.java
  59. 61 8
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/task/HealthreportTask.java
  60. 34 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/BjyhdbVo.java
  61. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/DfpclPowerVo.java
  62. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/DfpclSpeedVo.java
  63. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/DjjlVo.java
  64. 28 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/FnlylVo.java
  65. 175 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/HealthReportVo.java
  66. 21 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/NhglVo.java
  67. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/NippleVo.java
  68. 23 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PartLhVo.java
  69. 22 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PartwdVo.java
  70. 24 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PjjgVo.java
  71. 82 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PjmxVo.java
  72. 22 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/QrqcVo.java
  73. 22 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/QxpclVo.java
  74. 25 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/SbklylVo.java
  75. 28 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/TjjxVo.java
  76. 24 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/Wxhjpc.java
  77. 23 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/YhmxdbVo.java
  78. 19 0
      histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/ZzjkzsVo.java
  79. 1 1
      histroy/healthmanagement-histroy-hb/src/main/resources/application.yml
  80. 14 6
      histroy/healthmanagement-histroy-hb/src/test/java/com/gyee/healthmanagementhistroy/HealthManagementHistroyMainTest.java
  81. 1 1
      realtime/meteorologicalcollection/src/main/resources/application-jn.yml
  82. 17 0
      web/consumer/src/main/java/com/gyee/consumer/api/healthmanagement/HealthreportApi.java
  83. 29 0
      web/consumer/src/main/java/com/gyee/consumer/controller/healthmanagement/HealthreportController.java
  84. 1 1
      web/consumer/src/main/resources/application-dev.yml
  85. 2 2
      web/consumer/src/main/resources/application.yml
  86. 37 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/controller/levelassessment/HealthreportController.java
  87. 30 2
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/init/CacheContext.java
  88. 16 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/mapper/auto/HealthreportMapper.java
  89. 16 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/mapper/auto/WindpowerstationMapper.java
  90. 65 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Faultstatisticwindturbine.java
  91. 87 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Healthreport.java
  92. 88 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Windpowerstation.java
  93. 56 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Wttragetreportchart.java
  94. 16 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/IHealthreportService.java
  95. 16 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/IWindpowerstationService.java
  96. 20 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/impl/HealthreportServiceImpl.java
  97. 20 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/impl/WindpowerstationServiceImpl.java
  98. 51 8
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/healthreport/HealthReportService.java
  99. 19 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/vo/BjjkzsVo.java
  100. 0 0
      web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/vo/BjyhdbVo.java

+ 126 - 0
common/src/main/java/com/gyee/common/util/JSONUtils.java

@@ -0,0 +1,126 @@
+package com.gyee.common.util;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @ClassName : JSONUtils
+ * @Author : xieshengjie
+ * @Date: 2021/7/31 16:00
+ * @Description :
+ */
+public class JSONUtils {
+    public enum LetterType {
+        UPPERCASE(1),LOWERCASE(2);
+        private final int type;
+
+        private LetterType(int type) {
+            this.type = type;
+        }
+
+        public int getType() {
+            return type;
+        }
+    }
+
+    /**
+     * json字符串转换javabean
+     * @param json json字符串
+     * @param bean 对象.class
+     * @return T
+     * @throws IOException
+     * @throws JsonMappingException
+     * @throws JsonParseException
+     * */
+    @SuppressWarnings("unchecked")
+    public static <T> T jsonStrToJava(String json,Class<?> bean) throws JsonParseException, JsonMappingException, IOException{
+        ObjectMapper objectMapper = new ObjectMapper();
+        if(json.indexOf("/Date(")>0) {
+            json = JSONUtils.jsonDateToJavaDate(json);
+        }
+        return (T) objectMapper.readValue(json, bean);
+    }
+
+    /**
+     * json字符串转换javabean
+     * @param json json字符串
+     * @param bean 对象.class
+     * @param toggleCase 是否转换key的大小写
+     * @param letterType 转换枚举类 UPPERCASE-大写、LOWERCASE-小写
+     * @return T
+     * @throws IOException
+     * @throws JsonMappingException
+     * @throws JsonParseException
+     * */
+    @SuppressWarnings("unchecked")
+    public static <T> T jsonStrToJava(String json,Class<?> bean,boolean toggleCase,LetterType letterType) throws JsonParseException, JsonMappingException, IOException{
+        ObjectMapper objectMapper = new ObjectMapper();
+        if(toggleCase) {
+            json = JSONUtils.convertLetter(json,letterType);
+        }
+        if(json.indexOf("/Date(")>0) {
+            json = JSONUtils.jsonDateToJavaDate(json);
+        }
+        return (T) objectMapper.readValue(json, bean);
+    }
+
+    /**
+     * json字符串转换key的大小写
+     * @param json json字符串
+     * @param letterType 转换枚举类 UPPERCASE-大写、LOWERCASE-小写
+     * @return json字符串
+     * @throws IOException
+     * @throws JsonMappingException
+     * @throws JsonParseException
+     * */
+    public static String convertLetter(String json,LetterType letterType) throws JsonParseException, JsonMappingException, IOException {
+        Map<String,String> map = JSONUtils.jsonStrToJava(json, Map.class);
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            if(letterType.getType()==1) {
+                map.put(entry.getKey().toUpperCase(), entry.getValue());
+            }else {
+                map.put(entry.getKey().toLowerCase(), entry.getValue());
+            }
+            map.remove(entry.getKey());
+        }
+        return JSONUtils.javaToJson(map);
+    }
+
+    /**
+     *  javabean转换json字符串
+     * @return
+     * @throws JsonProcessingException
+     * */
+    public static String javaToJson(Object bean) throws JsonProcessingException {
+        ObjectMapper objectMapper = new ObjectMapper();
+        String json = objectMapper.writeValueAsString(bean);
+        return json;
+    }
+
+    /**
+     *  json字符串中存在Date(1558427619277+0800)类似的时间格式进行转换
+     *  @param    json json字符串
+     * @return     json json字符串
+     * @throws JsonProcessingException
+     * */
+    public static String jsonDateToJavaDate(String json) throws JsonParseException, JsonMappingException, IOException {
+        Map<String,String> map = JSONUtils.jsonStrToJava(json, Map.class);
+        for (Map.Entry<String, String> entry : map.entrySet()) {
+            if(entry.getValue().indexOf("/Date(")>0) {
+                String dateJSON = entry.getValue().replace("/Date(","").replace(")/","");
+                Long dateLong = Long.valueOf(dateJSON.substring(0, dateJSON.length()-5));
+                Date date = new Date(dateLong);
+                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                map.put(entry.getKey(), format.format(date));
+            }
+        }
+        return JSONUtils.javaToJson(map);
+    }
+}

+ 7 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/CurvefittingsubMapper.java

@@ -1,7 +1,11 @@
 package com.gyee.healthmanagementhistroy.mapper.auto;
 
-import com.gyee.healthmanagementhistroy.model.auto.Curvefittingsub;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Curvefittingsub;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-10-05
  */
 public interface CurvefittingsubMapper extends BaseMapper<Curvefittingsub> {
-
+    @Select("select * from CurveFittingSub where windturbineid=#{wtid} and to_char(recorddate,'yyyy-MM')=substr(#{day},1,7)")
+    List<Curvefittingsub> listMonth(@Param("day") String day, @Param("wtid") String wtid);
 }

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

@@ -0,0 +1,21 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Equipmentdayinfo;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-30
+ */
+public interface EquipmentdayinfoMapper extends BaseMapper<Equipmentdayinfo> {
+    @Select("select max(recorddate) recorddate,sum(genecapacity) genecapacity ,sum(daynhwhssdl) daynhwhssdl,sum(daynhgzssdl) daynhgzssdl,sum(daynhcfdl) daynhcfdl,sum(daynhxdssdl) daynhxdssdl,sum(daynhqfdl) daynhqfdl,sum(therogenecapacity) therogenecapacity,avg(speed) speed from equipmentdayinfo \n" +
+            "where windturbineid=#{id} group by to_char(recorddate,'yyyymm')  order by to_char(recorddate,'yyyymm') desc  ")
+    List<Equipmentdayinfo> getFjjxb(String id);
+}

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

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Healthreport;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface HealthreportMapper extends BaseMapper<Healthreport> {
+
+}

+ 11 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/InputoroutputspeedtotalMapper.java

@@ -1,7 +1,11 @@
 package com.gyee.healthmanagementhistroy.mapper.auto;
 
-import com.gyee.healthmanagementhistroy.model.auto.Inputoroutputspeedtotal;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Inputoroutputspeedtotal;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-10-12
  */
 public interface InputoroutputspeedtotalMapper extends BaseMapper<Inputoroutputspeedtotal> {
-
+    @Select("select windturbineid,avg(dayinputsmall) dayinputsmall,avg(dayoutputsmall) dayoutputsmall,avg(dayinputbig) dayinputbig,avg(dayoutputbig) dayoutputbig from Inputoroutputspeedtotal \n" +
+            "where windturbineid=#{id} and to_char(recorddate,'yyyy-MM')=substr(#{day},1,7) group by windturbineid")
+    List<Inputoroutputspeedtotal> getQrqc(@Param("id") String id, @Param("day") String day);
+    @Select("select windpowerstationid,avg(dayinputsmall) dayinputsmall,avg(dayoutputsmall) dayoutputsmall,avg(dayinputbig) dayinputbig,avg(dayoutputbig) dayoutputbig from Inputoroutputspeedtotal \n" +
+            "where windpowerstationid=#{id} and to_char(recorddate,'yyyy-MM')=substr(#{day},1,7) group by windpowerstationid")
+    List<Inputoroutputspeedtotal> getQrqcjzz(@Param("id") String id, @Param("day") String day);
 }

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

@@ -0,0 +1,21 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Recommenmain;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface RecommenmainMapper extends BaseMapper<Recommenmain> {
+    @Select("select * from recommenmain where wtid=#{id} and to_char(createdate,'yyyy-MM-dd')=to_char(sysdate,'yyyy-MM-dd')")
+    List<Recommenmain> getrecommens(@Param("id") String id, @Param("day") String day);
+}

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

@@ -1,8 +1,12 @@
 package com.gyee.healthmanagementhistroy.mapper.auto;
 
-import com.gyee.healthmanagementhistroy.model.auto.Reportdanger;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Reportdanger;
 import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,4 +19,9 @@ import org.apache.ibatis.annotations.Delete;
 public interface ReportdangerMapper extends BaseMapper<Reportdanger> {
     @Delete("delete from Reportdanger")
     void clear();
+
+    @Select("select part,sum(count) count,sum(times) times,sum(countavg) countavg,sum(timesavg) timesavg from Reportdanger where wtid=#{id} group by part ")
+    List<Reportdanger> getBjyhdb(@Param("id") String id);
+    @Select("select * from Reportdanger where wtid=#{id}")
+    List<Reportdanger> getBjyhdbBywt(@Param("id") String id);
 }

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

@@ -1,7 +1,10 @@
 package com.gyee.healthmanagementhistroy.mapper.auto;
 
-import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2022-02-14
  */
 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);
 }

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

@@ -0,0 +1,21 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfodaytop2;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-05
+ */
+public interface Windturbineinfodaytop2Mapper extends BaseMapper<Windturbineinfodaytop2> {
+    @Select("select * from WindTurbineInfoDayTop2 where type=2 and windturbineid=#{id} and to_char(recorddate,'yyyy-MM-dd')=#{day}")
+    List<Windturbineinfodaytop2> findDjpgs(@Param("id") String id, @Param("day") String day);
+}

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

@@ -20,4 +20,8 @@ public interface WindturbinewindyawMapper extends BaseMapper<Windturbinewindyaw>
     @Select("select windturbineid,speed,sum(qualified) qualified,sum(unqualified) unqualified from Windturbinewindyaw where recorddate>=#{monthFirst} and recorddate<=#{monthLast} \n" +
             " group by windturbineid,speed")
     List<Windturbinewindyaw> getdfpclwind(@Param("monthFirst") Date monthFirst, @Param("monthLast")Date monthLast);
+
+
+    @Select("SELECT speed,qualified,unqualified FROM WindturbineWindYaw where to_char(recorddate,'yyyy-MM') = substr(#{day},1,7) and windturbineid=#{id}")
+    List<Windturbinewindyaw> listmonth(@Param("id") String id, @Param("day") String day);
 }

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

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Wtreportmain;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface WtreportmainMapper extends BaseMapper<Wtreportmain> {
+
+}

+ 7 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/mapper/auto/WttragetreportchartMapper.java

@@ -1,7 +1,11 @@
 package com.gyee.healthmanagementhistroy.mapper.auto;
 
-import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportchart;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportchart;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2021-10-12
  */
 public interface WttragetreportchartMapper extends BaseMapper<Wttragetreportchart> {
-
+    @Select("select * from WtTragetReportChart where wtid=#{id} AND to_char(RECORDDATE,'yyyy-MM')=substr(#{day},1,7)")
+    List<Wttragetreportchart> listByWtAndDate(@Param("id") String id, @Param("day") String day);
 }

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

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportmain3;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface Wttragetreportmain3Mapper extends BaseMapper<Wttragetreportmain3> {
+
+}

+ 1 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Curvefittingsub.java

@@ -52,7 +52,7 @@ public class Curvefittingsub extends Model {
     private Double deviationrate3;
 
     @TableField("SPEED")
-    private String speed;
+    private Double speed;
 
 
 }

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

@@ -0,0 +1,70 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("EQUIPMENTDAYINFO")
+public class Equipmentdayinfo extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("PROJECTID")
+    private String projectid;
+
+    @TableField("LINEID")
+    private String lineid;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("GENECAPACITY")
+    private Double genecapacity;
+
+    @TableField("THEROGENECAPACITY")
+    private Double therogenecapacity;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("DAYNHWHSSDL")
+    private Double daynhwhssdl;
+
+    @TableField("DAYNHGZSSDL")
+    private Double daynhgzssdl;
+
+    @TableField("DAYNHXDSSDL")
+    private Double daynhxdssdl;
+
+    @TableField("DAYNHQFDL")
+    private Double daynhqfdl;
+
+    @TableField("DAYNHCFDL")
+    private Double daynhcfdl;
+
+
+}

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

@@ -0,0 +1,87 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("HEALTHREPORT")
+public class Healthreport extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "ID",type = IdType.INPUT)
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("WTNAME")
+    private String wtname;
+
+    @TableField("YEAR")
+    private Integer year;
+
+    @TableField("MONTH")
+    private Integer month;
+
+    @TableField("HEALTHREPORT")
+    private String  healthreport;
+
+    @TableField("RECOMMENDDATE")
+    private Date recommenddate;
+
+    @TableField("RECOMMENDREPORT")
+    private String recommendreport;
+
+    @TableField("ISRECOMMEND")
+    private Integer isrecommend;
+
+    @TableField("HIGHFREQUENCY")
+    private String highfrequency;
+
+    @TableField("MEDIATEFREQUENCY")
+    private String mediatefrequency;
+
+    @TableField("FOWFREQUENCY")
+    private String fowfrequency;
+
+    @TableField("REASON")
+    private String reason;
+
+    @TableField("MAINDATE")
+    private Date maindate;
+
+    @TableField("TROUBLEMETHODS")
+    private String troublemethods;
+
+    @TableField("PROCESSINGMETHOD")
+    private String processingmethod;
+
+    @TableField("TOOLS")
+    private String tools;
+
+    @TableField("AVERAGETIME")
+    private Double averagetime;
+
+    @TableField("MAINSPEED")
+    private Double mainspeed;
+    @TableField(exist = false)
+    private String wpname;
+
+}

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

@@ -0,0 +1,79 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("RECOMMENMAIN")
+public class Recommenmain extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableField("ID")
+    private long id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("RECODEDATE")
+    private Date recodedate;
+
+    @TableField("CREATEDATE")
+    private Date createdate;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("REASON")
+    private String reason;
+
+    @TableField("ISMAIN")
+    private String ismain;
+
+    @TableField("WOBUGID")
+    private String wobugid;
+
+    @TableField("OPERATION")
+    private String operation;
+
+    @TableField("OPERATIONDATE")
+    private Date operationdate;
+
+    @TableField("REMARK")
+    private String remark;
+
+    @TableField("BAK1")
+    private String bak1;
+
+    @TableField("BAK2")
+    private String bak2;
+
+    @TableId("RID")
+    private String rid;
+
+    @TableField("WPID")
+    private String wpid;
+
+    @TableField("WTNUM")
+    private Integer wtnum;
+
+    @TableField("WPNUM")
+    private Integer wpnum;
+
+
+}

+ 3 - 6
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Reportpowerfitting.java

@@ -1,12 +1,10 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
-import java.math.BigDecimal;
-
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -38,7 +36,7 @@ public class Reportpowerfitting extends Model {
     private Integer month;
 
     @TableField("SPEED")
-    private Double speed;
+    private Integer speed;
 
     @TableField("NHGL")
     private Double nhgl;
@@ -46,5 +44,4 @@ public class Reportpowerfitting extends Model {
     @TableField("BZGL")
     private Double bzgl;
 
-
 }

+ 5 - 7
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windpowerdeviationrate.java

@@ -1,12 +1,9 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
-import java.math.BigDecimal;
-
-import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -25,14 +22,14 @@ public class Windpowerdeviationrate extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "ID",type = IdType.INPUT)
+    @TableId("ID")
     private String id;
 
     @TableField("WTID")
     private String wtid;
 
     @TableField("TYPEVALUE")
-    private Integer typevalue;
+    private Double typevalue;
 
     @TableField("VALUE")
     private Double value;
@@ -41,4 +38,5 @@ public class Windpowerdeviationrate extends Model {
     private Integer type;
 
 
+
 }

+ 1 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windturbinecurvefittingmonth.java

@@ -29,7 +29,7 @@ public class Windturbinecurvefittingmonth extends Model {
     private String windturbineid;
 
     @TableField("SPEED")
-    private Double speed;
+    private Integer speed;
 
     @TableField("ACTUALPOWER")
     private Double actualpower;

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

@@ -0,0 +1,185 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-05
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Windturbineinfodaytop2 extends Model implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Integer id;
+
+    @TableField("windPowerStationId")
+    private String windPowerStationId;
+
+    @TableField("projectId")
+    private String projectId;
+
+    @TableField("lineId")
+    private String lineId;
+
+    @TableField("windTurbineId")
+    private String windTurbineId;
+
+    @TableField("recordDate")
+    private Date recordDate;
+
+    private Double dayfdl;
+
+    private Double monthfdl;
+
+    private Double yearfdl;
+
+    private Double dayllfdl;
+
+    private Double monthllfdl;
+
+    private Double yearllfdl;
+
+    private Double dayfs;
+
+    private Double monthfs;
+
+    private Double yearfs;
+
+    private Double daygl;
+
+    private Double monthgl;
+
+    private Double yeargl;
+
+    private Double daygzssdl;
+
+    private Double monthgzssdl;
+
+    private Double yeargzssdl;
+
+    private Double dayxdssdl;
+
+    private Double monthxdssdl;
+
+    private Double yearxdssdl;
+
+    private Double daywhssdl;
+
+    private Double monthwhssdl;
+
+    private Double yearwhssdl;
+
+    private Double dayxnssdl;
+
+    private Double monthxnssdl;
+
+    private Double yearxnssdl;
+
+    private Double daygzsj;
+
+    private Double monthgzsj;
+
+    private Double yeargzsj;
+
+    private Double daywhsj;
+
+    private Double monthwhsj;
+
+    private Double yearwhsj;
+
+    private Double dayyxsj;
+
+    private Double monthyxsj;
+
+    private Double yearyxsj;
+
+    private Double daytjsj;
+
+    private Double monthtjsj;
+
+    private Double yeartjsj;
+
+    @TableField("dayLYXS")
+    private Double dayLYXS;
+
+    @TableField("monthLYXS")
+    private Double monthLYXS;
+
+    @TableField("yearLYXS")
+    private Double yearLYXS;
+
+    @TableField("dayNHYD")
+    private Double dayNHYD;
+
+    @TableField("monthNHYD")
+    private Double monthNHYD;
+
+    @TableField("yearNHYD")
+    private Double yearNHYD;
+
+    @TableField("daySBKLYL")
+    private Double daySBKLYL;
+
+    @TableField("monthSBKLYL")
+    private Double monthSBKLYL;
+
+    @TableField("yearSBKLYL")
+    private Double yearSBKLYL;
+
+    @TableField("dayDXKYXS")
+    private Double dayDXKYXS;
+
+    @TableField("monthDXKYXS")
+    private Double monthDXKYXS;
+
+    @TableField("yearDXKYXS")
+    private Double yearDXKYXS;
+
+    private Double dayyxfss;
+
+    private Double monthyxfss;
+
+    private Double yearyxfss;
+
+    private Double dayxfqr;
+
+    private Double monthxfqr;
+
+    private Double yearxfqr;
+
+    private Double dayjfpl;
+
+    private Double monthjfpl;
+
+    private Double yearjfpl;
+
+    private Double dayglyzxxs;
+
+    private Double yearglyzxxs;
+
+    private Integer type;
+
+    @TableField("Rank")
+    private Integer Rank;
+
+    @TableField("Level")
+    private String Level;
+
+    private Integer year;
+
+    private Integer month;
+
+
+}

+ 54 - 53
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Windturbinepoweryaw.java

@@ -37,10 +37,10 @@ public class Windturbinepoweryaw extends Model {
     private Double power;
 
     @TableField("QUALIFIED")
-    private Double qualified;
+    private Integer qualified;
 
     @TableField("UNQUALIFIED")
-    private Double unqualified;
+    private Integer unqualified;
 
     @TableField("\"R-50\"")
     private Integer Rf50;
@@ -193,155 +193,156 @@ public class Windturbinepoweryaw extends Model {
     private Integer Rf1;
 
     @TableField("R0")
-    private Integer R0;
+    private Integer r0;
 
     @TableField("R1")
-    private Integer R1;
+    private Integer r1;
 
     @TableField("R2")
-    private Integer R2;
+    private Integer r2;
 
     @TableField("R3")
-    private Integer R3;
+    private Integer r3;
 
     @TableField("R4")
-    private Integer R4;
+    private Integer r4;
 
     @TableField("R5")
-    private Integer R5;
+    private Integer r5;
 
     @TableField("R6")
-    private Integer R6;
+    private Integer r6;
 
     @TableField("R7")
-    private Integer R7;
+    private Integer r7;
 
     @TableField("R8")
-    private Integer R8;
+    private Integer r8;
 
     @TableField("R9")
-    private Integer R9;
+    private Integer r9;
 
     @TableField("R10")
-    private Integer R10;
+    private Integer r10;
 
     @TableField("R11")
-    private Integer R11;
+    private Integer r11;
 
     @TableField("R12")
-    private Integer R12;
+    private Integer r12;
 
     @TableField("R13")
-    private Integer R13;
+    private Integer r13;
 
     @TableField("R14")
-    private Integer R14;
+    private Integer r14;
 
     @TableField("R15")
-    private Integer R15;
+    private Integer r15;
 
     @TableField("R16")
-    private Integer R16;
+    private Integer r16;
 
     @TableField("R17")
-    private Integer R17;
+    private Integer r17;
 
     @TableField("R18")
-    private Integer R18;
+    private Integer r18;
 
     @TableField("R19")
-    private Integer R19;
+    private Integer r19;
 
     @TableField("R20")
-    private Integer R20;
+    private Integer r20;
 
     @TableField("R21")
-    private Integer R21;
+    private Integer r21;
 
     @TableField("R22")
-    private Integer R22;
+    private Integer r22;
 
     @TableField("R23")
-    private Integer R23;
+    private Integer r23;
 
     @TableField("R24")
-    private Integer R24;
+    private Integer r24;
 
     @TableField("R25")
-    private Integer R25;
+    private Integer r25;
 
     @TableField("R26")
-    private Integer R26;
+    private Integer r26;
 
     @TableField("R27")
-    private Integer R27;
+    private Integer r27;
 
     @TableField("R28")
-    private Integer R28;
+    private Integer r28;
 
     @TableField("R29")
-    private Integer R29;
+    private Integer r29;
 
     @TableField("R30")
-    private Integer R30;
+    private Integer r30;
 
     @TableField("R31")
-    private Integer R31;
+    private Integer r31;
 
     @TableField("R32")
-    private Integer R32;
+    private Integer r32;
 
     @TableField("R33")
-    private Integer R33;
+    private Integer r33;
 
     @TableField("R34")
-    private Integer R34;
+    private Integer r34;
 
     @TableField("R35")
-    private Integer R35;
+    private Integer r35;
 
     @TableField("R36")
-    private Integer R36;
+    private Integer r36;
 
     @TableField("R37")
-    private Integer R37;
+    private Integer r37;
 
     @TableField("R38")
-    private Integer R38;
+    private Integer r38;
 
     @TableField("R39")
-    private Integer R39;
+    private Integer r39;
 
     @TableField("R40")
-    private Integer R40;
+    private Integer r40;
 
     @TableField("R41")
-    private Integer R41;
+    private Integer r41;
 
     @TableField("R42")
-    private Integer R42;
+    private Integer r42;
 
     @TableField("R43")
-    private Integer R43;
+    private Integer r43;
 
     @TableField("R44")
-    private Integer R44;
+    private Integer r44;
 
     @TableField("R45")
-    private Integer R45;
+    private Integer r45;
 
     @TableField("R46")
-    private Integer R46;
+    private Integer r46;
 
     @TableField("R47")
-    private Integer R47;
+    private Integer r47;
 
     @TableField("R48")
-    private Integer R48;
+    private Integer r48;
 
     @TableField("R49")
-    private Integer R49;
+    private Integer r49;
 
     @TableField("R50")
-    private Integer R50;
+    private Integer r50;
+
 }

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

@@ -1,16 +1,14 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
-import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * <p>
  * 
@@ -36,13 +34,13 @@ public class Windturbinewindyaw extends Model {
     private Date recorddate;
 
     @TableField("SPEED")
-    private Integer speed;
+    private Double speed;
 
     @TableField("QUALIFIED")
-    private Double qualified;
+    private Integer qualified;
 
     @TableField("UNQUALIFIED")
-    private Double unqualified;
+    private Integer unqualified;
 
     @TableField("\"R-50\"")
     private Integer Rf50;
@@ -195,156 +193,156 @@ public class Windturbinewindyaw extends Model {
     private Integer Rf1;
 
     @TableField("R0")
-    private Integer R0;
+    private Integer r0;
 
     @TableField("R1")
-    private Integer R1;
+    private Integer r1;
 
     @TableField("R2")
-    private Integer R2;
+    private Integer r2;
 
     @TableField("R3")
-    private Integer R3;
+    private Integer r3;
 
     @TableField("R4")
-    private Integer R4;
+    private Integer r4;
 
     @TableField("R5")
-    private Integer R5;
+    private Integer r5;
 
     @TableField("R6")
-    private Integer R6;
+    private Integer r6;
 
     @TableField("R7")
-    private Integer R7;
+    private Integer r7;
 
     @TableField("R8")
-    private Integer R8;
+    private Integer r8;
 
     @TableField("R9")
-    private Integer R9;
+    private Integer r9;
 
     @TableField("R10")
-    private Integer R10;
+    private Integer r10;
 
     @TableField("R11")
-    private Integer R11;
+    private Integer r11;
 
     @TableField("R12")
-    private Integer R12;
+    private Integer r12;
 
     @TableField("R13")
-    private Integer R13;
+    private Integer r13;
 
     @TableField("R14")
-    private Integer R14;
+    private Integer r14;
 
     @TableField("R15")
-    private Integer R15;
+    private Integer r15;
 
     @TableField("R16")
-    private Integer R16;
+    private Integer r16;
 
     @TableField("R17")
-    private Integer R17;
+    private Integer r17;
 
     @TableField("R18")
-    private Integer R18;
+    private Integer r18;
 
     @TableField("R19")
-    private Integer R19;
+    private Integer r19;
 
     @TableField("R20")
-    private Integer R20;
+    private Integer r20;
 
     @TableField("R21")
-    private Integer R21;
+    private Integer r21;
 
     @TableField("R22")
-    private Integer R22;
+    private Integer r22;
 
     @TableField("R23")
-    private Integer R23;
+    private Integer r23;
 
     @TableField("R24")
-    private Integer R24;
+    private Integer r24;
 
     @TableField("R25")
-    private Integer R25;
+    private Integer r25;
 
     @TableField("R26")
-    private Integer R26;
+    private Integer r26;
 
     @TableField("R27")
-    private Integer R27;
+    private Integer r27;
 
     @TableField("R28")
-    private Integer R28;
+    private Integer r28;
 
     @TableField("R29")
-    private Integer R29;
+    private Integer r29;
 
     @TableField("R30")
-    private Integer R30;
+    private Integer r30;
 
     @TableField("R31")
-    private Integer R31;
+    private Integer r31;
 
     @TableField("R32")
-    private Integer R32;
+    private Integer r32;
 
     @TableField("R33")
-    private Integer R33;
+    private Integer r33;
 
     @TableField("R34")
-    private Integer R34;
+    private Integer r34;
 
     @TableField("R35")
-    private Integer R35;
+    private Integer r35;
 
     @TableField("R36")
-    private Integer R36;
+    private Integer r36;
 
     @TableField("R37")
-    private Integer R37;
+    private Integer r37;
 
     @TableField("R38")
-    private Integer R38;
+    private Integer r38;
 
     @TableField("R39")
-    private Integer R39;
+    private Integer r39;
 
     @TableField("R40")
-    private Integer R40;
+    private Integer r40;
 
     @TableField("R41")
-    private Integer R41;
+    private Integer r41;
 
     @TableField("R42")
-    private Integer R42;
+    private Integer r42;
 
     @TableField("R43")
-    private Integer R43;
+    private Integer r43;
 
     @TableField("R44")
-    private Integer R44;
+    private Integer r44;
 
     @TableField("R45")
-    private Integer R45;
+    private Integer r45;
 
     @TableField("R46")
-    private Integer R46;
+    private Integer r46;
 
     @TableField("R47")
-    private Integer R47;
+    private Integer r47;
 
     @TableField("R48")
-    private Integer R48;
+    private Integer r48;
 
     @TableField("R49")
-    private Integer R49;
+    private Integer r49;
 
     @TableField("R50")
-    private Integer R50;
+    private Integer r50;
 
 }

+ 6 - 6
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wpmttrandmtbfday.java

@@ -1,15 +1,15 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * <p>
  * 
@@ -25,7 +25,7 @@ public class Wpmttrandmtbfday extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("ID")
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     @TableField("WPID")

+ 2 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wpmttrandmtbfyear.java

@@ -1,5 +1,6 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -22,7 +23,7 @@ public class Wpmttrandmtbfyear extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("ID")
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     @TableField("WPID")

+ 2 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wpmttrandmtbmonth.java

@@ -1,5 +1,6 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -22,7 +23,7 @@ public class Wpmttrandmtbmonth extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("ID")
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     @TableField("WPID")

+ 6 - 6
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtmttrandmtbfday.java

@@ -1,15 +1,15 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
+
 /**
  * <p>
  * 
@@ -25,7 +25,7 @@ public class Wtmttrandmtbfday extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("ID")
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     @TableField("WTID")

+ 2 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtmttrandmtbfmonth.java

@@ -1,5 +1,6 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -22,7 +23,7 @@ public class Wtmttrandmtbfmonth extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("ID")
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     @TableField("WTID")

+ 4 - 4
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Wtmttrandmtbfyear.java

@@ -1,10 +1,10 @@
 package com.gyee.healthmanagementhistroy.model.auto;
 
-import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -23,7 +23,7 @@ public class Wtmttrandmtbfyear extends Model {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId("ID")
+    @TableId(value = "ID",type = IdType.INPUT)
     private String id;
 
     @TableField("WTID")

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

@@ -0,0 +1,103 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WTREPORTMAIN")
+public class Wtreportmain extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("RECODEDATE")
+    private Date recodedate;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("MAINREASON")
+    private String mainreason;
+
+    @TableField("MAINDATE")
+    private Date maindate;
+
+    @TableField("SPEED")
+    private Double speed;
+
+    @TableField("MAINMETHOD")
+    private String mainmethod;
+
+    @TableField("APPROACH")
+    private String approach;
+
+    @TableField("TOOLS")
+    private String tools;
+
+    @TableField("MAINHOUR")
+    private Double mainhour;
+
+    @TableField("GZTOP1")
+    private Double gztop1;
+
+    @TableField("GZTOP1NAME")
+    private String gztop1name;
+
+    @TableField("GZTOP2")
+    private Double gztop2;
+
+    @TableField("GZTOP2NAME")
+    private String gztop2name;
+
+    @TableField("GZTOP3")
+    private Double gztop3;
+
+    @TableField("GZTOP3NAME")
+    private String gztop3name;
+
+    @TableField("YJTOP1")
+    private Double yjtop1;
+
+    @TableField("YJTOP1NAME")
+    private String yjtop1name;
+
+    @TableField("YJTOP2")
+    private Double yjtop2;
+
+    @TableField("YJTOP2NAME")
+    private String yjtop2name;
+
+    @TableField("YJTOP3")
+    private Double yjtop3;
+
+    @TableField("YJTOP3NAME")
+    private String yjtop3name;
+
+    @TableField("TOP1TYPE")
+    private String top1type;
+
+    @TableField("TOP2TYPE")
+    private String top2type;
+
+    @TableField("TOP3TYPE")
+    private String top3type;
+
+
+}

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

@@ -0,0 +1,175 @@
+package com.gyee.healthmanagementhistroy.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WTTRAGETREPORTMAIN3")
+public class Wttragetreportmain3 extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @TableField("RECODEDATE")
+    private Date recodedate;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("WTNAME")
+    private String wtname;
+
+    @TableField("PJDJ")
+    private String pjdj;
+
+    @TableField("PJJG")
+    private String pjjg;
+
+    @TableField("YFDL")
+    private Double yfdl;
+
+    @TableField("BWSJ")
+    private Date bwsj;
+
+    @TableField("NFDL")
+    private Double nfdl;
+
+    @TableField("YFDLHB")
+    private Double yfdlhb;
+
+    @TableField("YFDLTB")
+    private Double yfdltb;
+
+    @TableField("YGZCS")
+    private Double ygzcs;
+
+    @TableField("YGZSC")
+    private Double ygzsc;
+
+    @TableField("BGSCRY")
+    private String bgscry;
+
+    @TableField("BGSJ")
+    private Date bgsj;
+
+    @TableField("FDLGZCS")
+    private Double fdlgzcs;
+
+    @TableField("FDLBJCS")
+    private Double fdlbjcs;
+
+    @TableField("FDLJKQK")
+    private String fdljkqk;
+
+    @TableField("CLXGZCS")
+    private Double clxgzcs;
+
+    @TableField("CLXBJCS")
+    private Double clxbjcs;
+
+    @TableField("CLXJKQK")
+    private String clxjkqk;
+
+    @TableField("BJGZCS")
+    private Double bjgzcs;
+
+    @TableField("BJBJCS")
+    private Double bjbjcs;
+
+    @TableField("BJJKQK")
+    private String bjjkqk;
+
+    @TableField("ZKGZCS")
+    private Double zkgzcs;
+
+    @TableField("ZKBJCS")
+    private Double zkbjcs;
+
+    @TableField("ZKJKQK")
+    private String zkjkqk;
+
+    @TableField("LLFDL")
+    private Double llfdl;
+
+    @TableField("PJGL")
+    private Double pjgl;
+
+    @TableField("GZSSDL")
+    private Double gzssdl;
+
+    @TableField("XDSSDLL")
+    private Double xdssdll;
+
+    @TableField("WHSSDL")
+    private Double whssdl;
+
+    @TableField("GZSJ")
+    private Double gzsj;
+
+    @TableField("WHSJ")
+    private Double whsj;
+
+    @TableField("YXSJ")
+    private Double yxsj;
+
+    @TableField("TJSJ")
+    private Double tjsj;
+
+    @TableField("PJQRFS")
+    private Double pjqrfs;
+
+    @TableField("XNSSDL")
+    private Double xnssdl;
+
+    @TableField("NHYD")
+    private Double nhyd;
+
+    @TableField("GLYZXXS")
+    private Double glyzxxs;
+
+    @TableField("LYXS")
+    private Double lyxs;
+
+    @TableField("SBKLYL")
+    private Double sbklyl;
+
+    @TableField("DXKLYXS")
+    private Double dxklyxs;
+
+    @TableField("YXFSS")
+    private Double yxfss;
+
+    @TableField("PJFS")
+    private Double pjfs;
+
+    @TableField("JFPL")
+    private Double jfpl;
+
+    @TableField("TID")
+    private Double tid;
+
+    @TableField("WL1TXNQK")
+    private String wl1txnqk;
+
+    @TableField("WL3TXNQK")
+    private String wl3txnqk;
+
+
+}

+ 4 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/ICurvefittingsubService.java

@@ -1,7 +1,9 @@
 package com.gyee.healthmanagementhistroy.service.auto;
 
-import com.gyee.healthmanagementhistroy.model.auto.Curvefittingsub;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Curvefittingsub;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ICurvefittingsubService extends IService<Curvefittingsub> {
 
+    List<Curvefittingsub> listMonth(String day, String wtid);
 }

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

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Equipmentdayinfo;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-30
+ */
+public interface IEquipmentdayinfoService extends IService<Equipmentdayinfo> {
+
+    List<Equipmentdayinfo> getFjjxb(String id);
+}

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

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Healthreport;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface IHealthreportService extends IService<Healthreport> {
+
+}

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

@@ -3,6 +3,8 @@ package com.gyee.healthmanagementhistroy.service.auto;
 import com.gyee.healthmanagementhistroy.model.auto.Inputoroutputspeedtotal;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IInputoroutputspeedtotalService extends IService<Inputoroutputspeedtotal> {
 
+    List<Inputoroutputspeedtotal> getQrqc(String id, String day);
+
+    List<Inputoroutputspeedtotal> getQrqcjzz(String id, String day);
 }

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

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Recommenmain;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface IRecommenmainService extends IService<Recommenmain> {
+
+    List<Recommenmain> getrecommens(String id, String day);
+}

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

@@ -3,6 +3,8 @@ package com.gyee.healthmanagementhistroy.service.auto;
 import com.gyee.healthmanagementhistroy.model.auto.Reportdanger;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -14,4 +16,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IReportdangerService extends IService<Reportdanger> {
 
     void clear();
+
+    List<Reportdanger> getBjyhdb(String id);
+
+    List<Reportdanger> getBjyhdbBywt(String id);
 }

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

@@ -3,6 +3,8 @@ package com.gyee.healthmanagementhistroy.service.auto;
 import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IWindturbineinfodayService extends IService<Windturbineinfoday> {
 
+    List<Windturbineinfoday> getSbklyl(String id);
 }

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

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfodaytop2;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-05
+ */
+public interface IWindturbineinfodaytop2Service extends IService<Windturbineinfodaytop2> {
+
+    List<Windturbineinfodaytop2> findDjpgs(String id, String day);
+}

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

@@ -17,4 +17,6 @@ import java.util.List;
 public interface IWindturbinewindyawService extends IService<Windturbinewindyaw> {
 
     List<Windturbinewindyaw> getdfpclwind(Date monthFirst, Date monthLast);
+
+    List<Windturbinewindyaw> listmonth(String id, String day);
 }

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

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Wtreportmain;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface IWtreportmainService extends IService<Wtreportmain> {
+
+}

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

@@ -3,6 +3,8 @@ package com.gyee.healthmanagementhistroy.service.auto;
 import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportchart;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IWttragetreportchartService extends IService<Wttragetreportchart> {
 
+    List<Wttragetreportchart> listByWtAndDate(String id, String day);
 }

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

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagementhistroy.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportmain3;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface IWttragetreportmain3Service extends IService<Wttragetreportmain3> {
+
+}

+ 11 - 3
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/CurvefittingsubServiceImpl.java

@@ -1,11 +1,14 @@
 package com.gyee.healthmanagementhistroy.service.auto.impl;
 
-import com.gyee.healthmanagementhistroy.model.auto.Curvefittingsub;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.healthmanagementhistroy.mapper.auto.CurvefittingsubMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Curvefittingsub;
 import com.gyee.healthmanagementhistroy.service.auto.ICurvefittingsubService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +19,10 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CurvefittingsubServiceImpl extends ServiceImpl<CurvefittingsubMapper, Curvefittingsub> implements ICurvefittingsubService {
-
+    @Resource
+    private CurvefittingsubMapper curvefittingsubMapper;
+    @Override
+    public List<Curvefittingsub> listMonth(String day, String wtid) {
+        return curvefittingsubMapper.listMonth(day,wtid);
+    }
 }

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

@@ -0,0 +1,28 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagementhistroy.mapper.auto.EquipmentdayinfoMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Equipmentdayinfo;
+import com.gyee.healthmanagementhistroy.service.auto.IEquipmentdayinfoService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-30
+ */
+@Service
+public class EquipmentdayinfoServiceImpl extends ServiceImpl<EquipmentdayinfoMapper, Equipmentdayinfo> implements IEquipmentdayinfoService {
+    @Resource
+    private EquipmentdayinfoMapper equipmentdayinfoMapper;
+    @Override
+    public List<Equipmentdayinfo> getFjjxb(String id) {
+        return equipmentdayinfoMapper.getFjjxb(id);
+    }
+}

+ 2 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/FaultstatisticwindturbineServiceImpl.java

@@ -1,9 +1,9 @@
 package com.gyee.healthmanagementhistroy.service.auto.impl;
 
-import com.gyee.healthmanagementhistroy.model.auto.Faultstatisticwindturbine;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.healthmanagementhistroy.mapper.auto.FaultstatisticwindturbineMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Faultstatisticwindturbine;
 import com.gyee.healthmanagementhistroy.service.auto.IFaultstatisticwindturbineService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 /**

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

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagementhistroy.mapper.auto.HealthreportMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Healthreport;
+import com.gyee.healthmanagementhistroy.service.auto.IHealthreportService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Service
+public class HealthreportServiceImpl extends ServiceImpl<HealthreportMapper, Healthreport> implements IHealthreportService {
+
+}

+ 15 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/InputoroutputspeedtotalServiceImpl.java

@@ -1,11 +1,14 @@
 package com.gyee.healthmanagementhistroy.service.auto.impl;
 
-import com.gyee.healthmanagementhistroy.model.auto.Inputoroutputspeedtotal;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.healthmanagementhistroy.mapper.auto.InputoroutputspeedtotalMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Inputoroutputspeedtotal;
 import com.gyee.healthmanagementhistroy.service.auto.IInputoroutputspeedtotalService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +19,15 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class InputoroutputspeedtotalServiceImpl extends ServiceImpl<InputoroutputspeedtotalMapper, Inputoroutputspeedtotal> implements IInputoroutputspeedtotalService {
+    @Resource
+    private InputoroutputspeedtotalMapper inputoroutputspeedtotalMapper;
+    @Override
+    public List<Inputoroutputspeedtotal> getQrqc(String id, String day) {
+        return inputoroutputspeedtotalMapper.getQrqc(id,day);
+    }
 
+    @Override
+    public List<Inputoroutputspeedtotal> getQrqcjzz(String id, String day) {
+        return inputoroutputspeedtotalMapper.getQrqcjzz(id,day);
+    }
 }

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

@@ -0,0 +1,28 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagementhistroy.mapper.auto.RecommenmainMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Recommenmain;
+import com.gyee.healthmanagementhistroy.service.auto.IRecommenmainService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Service
+public class RecommenmainServiceImpl extends ServiceImpl<RecommenmainMapper, Recommenmain> implements IRecommenmainService {
+    @Resource
+    private RecommenmainMapper recommenmainMapper;
+    @Override
+    public List<Recommenmain> getrecommens(String id, String day) {
+        return recommenmainMapper.getrecommens(id,day);
+    }
+}

+ 13 - 2
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/ReportdangerServiceImpl.java

@@ -1,12 +1,13 @@
 package com.gyee.healthmanagementhistroy.service.auto.impl;
 
-import com.gyee.healthmanagementhistroy.model.auto.Reportdanger;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.healthmanagementhistroy.mapper.auto.ReportdangerMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Reportdanger;
 import com.gyee.healthmanagementhistroy.service.auto.IReportdangerService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * <p>
@@ -24,4 +25,14 @@ public class ReportdangerServiceImpl extends ServiceImpl<ReportdangerMapper, Rep
     public void clear() {
         reportdangerMapper.clear();
     }
+
+    @Override
+    public List<Reportdanger> getBjyhdb(String id) {
+        return reportdangerMapper.getBjyhdb(id);
+    }
+
+    @Override
+    public List<Reportdanger> getBjyhdbBywt(String id) {
+        return reportdangerMapper.getBjyhdbBywt(id);
+    }
 }

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

@@ -1,11 +1,14 @@
 package com.gyee.healthmanagementhistroy.service.auto.impl;
 
-import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.healthmanagementhistroy.mapper.auto.WindturbineinfodayMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfoday;
 import com.gyee.healthmanagementhistroy.service.auto.IWindturbineinfodayService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +19,10 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class WindturbineinfodayServiceImpl extends ServiceImpl<WindturbineinfodayMapper, Windturbineinfoday> implements IWindturbineinfodayService {
-
+    @Resource
+    private WindturbineinfodayMapper windturbineinfodayMapper;
+    @Override
+    public List<Windturbineinfoday> getSbklyl(String id) {
+        return windturbineinfodayMapper.getSbklyl(id);
+    }
 }

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

@@ -0,0 +1,28 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagementhistroy.mapper.auto.Windturbineinfodaytop2Mapper;
+import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfodaytop2;
+import com.gyee.healthmanagementhistroy.service.auto.IWindturbineinfodaytop2Service;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-05
+ */
+@Service
+public class Windturbineinfodaytop2ServiceImpl extends ServiceImpl<Windturbineinfodaytop2Mapper, Windturbineinfodaytop2> implements IWindturbineinfodaytop2Service {
+    @Resource
+    private Windturbineinfodaytop2Mapper windturbineinfodaytop2Mapper;
+    @Override
+    public List<Windturbineinfodaytop2> findDjpgs(String id, String day) {
+        return windturbineinfodaytop2Mapper.findDjpgs(id,day);
+    }
+}

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

@@ -26,4 +26,10 @@ public class WindturbinewindyawServiceImpl extends ServiceImpl<Windturbinewindya
     public List<Windturbinewindyaw> getdfpclwind(Date monthFirst, Date monthLast) {
         return windturbinewindyawMapper.getdfpclwind(monthFirst,monthLast);
     }
+
+
+    @Override
+    public List<Windturbinewindyaw> listmonth(String id, String day) {
+        return windturbinewindyawMapper.listmonth(id,day);
+    }
 }

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

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagementhistroy.mapper.auto.WtreportmainMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Wtreportmain;
+import com.gyee.healthmanagementhistroy.service.auto.IWtreportmainService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Service
+public class WtreportmainServiceImpl extends ServiceImpl<WtreportmainMapper, Wtreportmain> implements IWtreportmainService {
+
+}

+ 11 - 3
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/auto/impl/WttragetreportchartServiceImpl.java

@@ -1,11 +1,14 @@
 package com.gyee.healthmanagementhistroy.service.auto.impl;
 
-import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportchart;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gyee.healthmanagementhistroy.mapper.auto.WttragetreportchartMapper;
+import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportchart;
 import com.gyee.healthmanagementhistroy.service.auto.IWttragetreportchartService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +19,10 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class WttragetreportchartServiceImpl extends ServiceImpl<WttragetreportchartMapper, Wttragetreportchart> implements IWttragetreportchartService {
-
+    @Resource
+    private WttragetreportchartMapper wttragetreportchartMapper;
+    @Override
+    public List<Wttragetreportchart> listByWtAndDate(String id, String day) {
+        return wttragetreportchartMapper.listByWtAndDate(id,day);
+    }
 }

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

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagementhistroy.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagementhistroy.mapper.auto.Wttragetreportmain3Mapper;
+import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportmain3;
+import com.gyee.healthmanagementhistroy.service.auto.IWttragetreportmain3Service;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Service
+public class Wttragetreportmain3ServiceImpl extends ServiceImpl<Wttragetreportmain3Mapper, Wttragetreportmain3> implements IWttragetreportmain3Service {
+
+}

+ 8 - 10
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/HealthReportService.java

@@ -9,13 +9,11 @@ import com.gyee.healthmanagementhistroy.model.auto.*;
 import com.gyee.healthmanagementhistroy.model.healthreport.PartDanger;
 import com.gyee.healthmanagementhistroy.model.healthreport.PartPower;
 import com.gyee.healthmanagementhistroy.service.auto.*;
-import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Field;
 import java.util.*;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -180,10 +178,10 @@ public class HealthReportService {
             windpowerdeviationrate.setId(CommonUtils.getUUID());
             windpowerdeviationrate.setWtid(i.getWindturbineid());
             windpowerdeviationrate.setType(2);
-            Double qualified = i.getQualified();
-            Double unqualified = i.getUnqualified();
-            windpowerdeviationrate.setTypevalue((int) (i.getPower()*100));
-            windpowerdeviationrate.setValue((qualified+unqualified)!=0?(unqualified/(qualified+unqualified)*100):0);
+            Integer qualified = i.getQualified();
+            Integer unqualified = i.getUnqualified();
+            windpowerdeviationrate.setTypevalue((double) (i.getPower()*100));
+            windpowerdeviationrate.setValue((double) ((qualified+unqualified)!=0?(unqualified/(qualified+unqualified)*100):0));
             resultList.add(windpowerdeviationrate);
         });
         //获取风速偏差
@@ -193,10 +191,10 @@ public class HealthReportService {
             windpowerdeviationrate.setId(CommonUtils.getUUID());
             windpowerdeviationrate.setWtid(i.getWindturbineid());
             windpowerdeviationrate.setType(1);
-            Double qualified = i.getQualified();
-            Double unqualified = i.getUnqualified();
+            Integer qualified = i.getQualified();
+            Integer unqualified = i.getUnqualified();
             windpowerdeviationrate.setTypevalue(i.getSpeed());
-            windpowerdeviationrate.setValue((qualified+unqualified)!=0?(unqualified/(qualified+unqualified)*100):0);
+            windpowerdeviationrate.setValue((double) ((qualified+unqualified)!=0?(unqualified/(qualified+unqualified)*100):0));
             resultList.add(windpowerdeviationrate);
         });
         windpowerdeviationrateService.saveBatch(resultList);
@@ -210,7 +208,7 @@ public class HealthReportService {
         if (date ==null){
             date = new Date();
         }
-        Date yestoday = DateUtils.getYestday(date);
+        Date yestoday = DateUtils.parseDate(DateUtils.toDate1(DateUtils.getYestday(date)));
         List<Reportcutinout> resultList = new ArrayList<>();
         QueryWrapper<Inputoroutputspeedtotal> qw = new QueryWrapper<>();
         qw.eq("recorddate",yestoday);

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

@@ -0,0 +1,707 @@
+package com.gyee.healthmanagementhistroy.service.healthreport;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.gyee.common.model.StringUtils;
+import com.gyee.common.util.DateUtils;
+import com.gyee.common.util.DoubleUtils;
+import com.gyee.common.util.JSONUtils;
+import com.gyee.common.util.SortUtils;
+import com.gyee.healthmanagementhistroy.init.CacheContext;
+import com.gyee.healthmanagementhistroy.model.auto.*;
+import com.gyee.healthmanagementhistroy.service.auto.*;
+import com.gyee.healthmanagementhistroy.vo.*;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @ClassName : ReportService
+ * @Author : xieshengjie
+ * @Date: 2022/6/4 12:35
+ * @Description :
+ */
+@Service
+public class ReportService {
+    @Resource
+    private IWttragetreportmain3Service wttragetreportmain3Service;
+    @Resource
+    private ICurvefittingsubService curvefittingsubService;
+    @Resource
+    private IWindturbinewindyawService windturbinewindyawService;
+    @Resource
+    private IWindturbinepoweryawService windturbinepoweryawService;
+    @Resource
+    private IInputoroutputspeedtotalService inputoroutputspeedtotalService;
+    @Resource
+    private IWttragetreportchartService wttragetreportchartService;
+    @Resource
+    private IEquipmentdayinfoService equipmentdayinfoService;
+    @Resource
+    private IWindturbineinfodayService windturbineinfodayService;
+    @Resource
+    private IWindturbineinfodaytop2Service windturbineinfodaytop2Service;
+    @Resource
+    private IRecommenmainService recommenmainService;
+    @Resource
+    private IWtreportmainService wtreportmainService;
+    @Resource
+    private IHealthreportService healthreportService;
+    @Resource
+    private IFaultstatisticwindturbineService faultstatisticwindturbineService;
+    @Resource
+    private IReportpowerfittingService reportpowerfittingService;
+    @Resource
+    private IReportdeviationService reportdeviationService;
+    @Resource
+    private IWindpowerdeviationrateService windpowerdeviationrateService;
+    @Resource
+    private IWinddeviationrateService winddeviationrateService;
+    @Resource
+    private IReportdangerService reportdangerService;
+    @Resource
+    private IReportpowerpartweatherService reportpowerpartweatherService;
+
+
+    /**
+     * 保存风机报告
+     * @param beginDate
+     * @param endDate
+     */
+    public void saveHealthReport(String beginDate,String endDate,String wpid) throws UnsupportedEncodingException, JsonProcessingException {
+//        List<Windturbine> wtls = CacheContext.wtls;
+        List<Windturbine> wtls = CacheContext.wtmap.get(wpid);
+        List<String> days = getDays(beginDate, endDate);
+        for (String day : days) {
+            Date date = DateUtils.parseDate(day);
+            int year = DateUtils.getYear(date);
+            int month = DateUtils.getMonth(date);
+            Date monthFirst = DateUtils.getMonthFirst(date);
+            Date yestday = DateUtils.getYestday(date);
+            for (Windturbine wt : wtls) {
+                QueryWrapper<Healthreport> healthreportQueryWrapper = new QueryWrapper<>();
+                healthreportQueryWrapper.eq("wtid",wt.getId());
+                healthreportQueryWrapper.eq("year",year);
+                healthreportQueryWrapper.eq("month",month);
+                List<Healthreport> healthreports = healthreportService.list(healthreportQueryWrapper);
+                Healthreport healthreport;
+                if (healthreports!=null && healthreports.size()>0){
+                    healthreport=healthreports.get(0);
+                }else{
+                    healthreport = new Healthreport();
+                    healthreport.setId(StringUtils.getUUID());
+                }
+
+                HealthReportVo healthReportVo = new HealthReportVo();
+                setHealthReport(healthReportVo,day, date, year, month, monthFirst, yestday, wt);
+                String s = JSONUtils.javaToJson(healthReportVo);
+//                byte[] bytes = ByteArrayUtil.toByteArray(healthReportVo);
+//                String s = new String(bytes,"UTF-8");
+                healthreport.setWtid(wt.getId());
+                healthreport.setWtname(wt.getName());
+                healthreport.setWpname(CacheContext.wpmap.get(wt.getWindpowerstationid()).getName());
+                healthreport.setYear(year);
+                healthreport.setMonth(month);
+                healthreport.setHealthreport(s);
+
+
+//                QueryWrapper<Recommenmain> qw = new QueryWrapper<>();
+//                qw.like("createdate",DateUtils.parseDate(day));
+//                qw.eq("wtid",wt.getId());
+                List<Recommenmain> recommenmains = recommenmainService.getrecommens(wt.getId(),day);
+                if (recommenmains!=null && recommenmains.size()>0){
+                    healthreport.setRecommenddate(date);
+                    healthreport.setRecommendreport(s);
+                    healthreport.setIsrecommend(1);
+                    QueryWrapper<Wtreportmain> wtreportmainQueryWrapper = new QueryWrapper<>();
+                    wtreportmainQueryWrapper.eq("recodedate",date);
+                    wtreportmainQueryWrapper.eq("wtid",wt.getId());
+                    List<Wtreportmain> wtreportmains = wtreportmainService.list(wtreportmainQueryWrapper);
+                    if (wtreportmains!=null && wtreportmains.size()>0){
+                        Wtreportmain wtreportmain = wtreportmains.get(0);
+                        healthreport.setHighfrequency(wtreportmain.getTop1type());
+                        healthreport.setMediatefrequency(wtreportmain.getTop2type());
+                        healthreport.setFowfrequency(wtreportmain.getTop3type());
+                        healthreport.setReason(wtreportmain.getMainreason());
+                        healthreport.setMaindate(wtreportmain.getMaindate());
+                        healthreport.setTroublemethods(wtreportmain.getMainmethod());
+                        healthreport.setProcessingmethod(wtreportmain.getApproach());
+                        healthreport.setTools(wtreportmain.getTools());
+                        healthreport.setAveragetime(wtreportmain.getMainhour());
+                        healthreport.setMainspeed(wtreportmain.getSpeed());
+                    }
+
+//                    healthreport.setHighfrequency();
+                }else {
+                    healthreport.setIsrecommend(0);
+                }
+                healthreportService.saveOrUpdate(healthreport);
+            }
+//                wt = wtls.stream().filter(i->i.getId().equals("MG01_01")).findFirst().get();
+
+
+        }
+    }
+
+    /**
+     * 设置报告内容
+     * @param healthReportVo
+     * @param day
+     * @param date
+     * @param year
+     * @param month
+     * @param monthFirst
+     * @param yestday
+     * @param wt
+     */
+    private void setHealthReport(HealthReportVo healthReportVo,String day, Date date, int year, int month, Date monthFirst, Date yestday, Windturbine wt) {
+
+        healthReportVo.setWtid(wt.getId());
+
+        QueryWrapper<Wttragetreportmain3> wttragetreportmainQueryWrapper = new QueryWrapper<>();
+        wttragetreportmainQueryWrapper.eq("recodedate",date).eq("wtid",wt.getId());
+        List<Wttragetreportmain3> wttragetreportmainlist = wttragetreportmain3Service.list(wttragetreportmainQueryWrapper);
+        if (wttragetreportmainlist!=null && wttragetreportmainlist.size()>0){
+            Wttragetreportmain3 wttragetreportmain = wttragetreportmainlist.get(0);
+            healthReportVo.setPjjg(wttragetreportmain.getPjdj());
+            healthReportVo.setPjzw(wttragetreportmain.getPjjg());
+            healthReportVo.setPjyxq("一个月");
+            healthReportVo.setBgqrr(wttragetreportmain.getBgscry());
+            healthReportVo.setBgcjrq(wttragetreportmain.getBgsj());
+            healthReportVo.setBwsj(wttragetreportmain.getBwsj());
+            healthReportVo.setFyts(DateUtils.daysDiff(healthReportVo.getBwsj(),date));
+            healthReportVo.setYfdl(wttragetreportmain.getYfdl());
+            healthReportVo.setHbzj(wttragetreportmain.getYfdlhb());
+            healthReportVo.setSbklyl(wttragetreportmain.getSbklyl());
+            healthReportVo.setHbxj(0.2);
+            double mttr = wttragetreportmain.getYgzcs()!=0?wttragetreportmain.getYgzsc()/wttragetreportmain.getYgzcs():0.0;
+            int hours = DateUtils.hoursDiff(DateUtils.getMonthFirst(date), date);
+            healthReportVo.setMtbf(wttragetreportmain.getYgzcs()!=0?hours/wttragetreportmain.getYgzcs():0);
+            healthReportVo.setMttf(healthReportVo.getMtbf()-mttr);
+        }
+
+        //曲线拟合及偏差率
+        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<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<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));
+        }
+
+        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<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);
+        if (winddeviationrates!=null){
+            List<NippleVo> nippleVos = new ArrayList<>();
+            winddeviationrates.stream().forEach(i->{
+                NippleVo vo = new NippleVo();
+                vo.setPcl(Integer.parseInt(i.getType().substring(i.getType().indexOf("R")+1)));
+                vo.setCount(i.getCount());
+                nippleVos.add(vo);
+            });
+            SortUtils.sort(nippleVos,"pcl",SortUtils.ASC);
+            healthReportVo.setNipples(nippleVos);
+
+        }
+//        List<Windturbinewindyaw> nzs =windturbinewindyawService.getnzt(wt.getId(),day);
+//        if(nzs.get(0)!=null){
+//            Windturbinewindyaw windturbinewindyaw = nzs.get(0);
+//            Field[] field = windturbinewindyaw.getClass().getDeclaredFields(); // 获取实体类的所有属性,返回Field数组
+//            List<NippleVo> nippleVos = new ArrayList<>();
+//            try {
+//                for (int j = 7; j < field.length; j++) { // 遍历所有属性
+//                    String name = field[j].getName(); // 获取属性的名字
+//                    name = name.substring(0, 1).toUpperCase() + name.substring(1); // 将属性的首字符大写,方便构造get,set方法
+//                    Method m = windturbinewindyaw.getClass().getMethod("get" + name);
+//                    Integer value = (Integer) m.invoke(windturbinewindyaw);
+//                    NippleVo vo = new NippleVo();
+//                    vo.setPcl(Integer.parseInt(name.substring(1).replace("f","-")));
+//                    vo.setCount(value);
+//                    nippleVos.add(vo);
+//                    // 如果有需要,可以仿照上面继续进行扩充,再增加对其它类型的判断
+//                }
+//                SortUtils.sort(nippleVos,"pcl",SortUtils.ASC);
+//                healthReportVo.setNipples(nippleVos);
+//            } catch (NoSuchMethodException e) {
+//                e.printStackTrace();
+//            } catch (SecurityException e) {
+//                e.printStackTrace();
+//            } catch (IllegalAccessException e) {
+//                e.printStackTrace();
+//            } catch (IllegalArgumentException e) {
+//                e.printStackTrace();
+//            } catch (InvocationTargetException e) {
+//                e.printStackTrace();
+//            }
+//        }
+        //切入切出整合
+        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);
+        List<Reportdanger> jkbgbjyhs = reportdangerService.getBjyhdb(wt.getId());
+        List<BjyhdbVo> bjyhdbs = new ArrayList<>();
+        if (jkbgbjyhs!=null && jkbgbjyhs.size()>0){
+            List<String> types = jkbgbjyhs.stream().map(i -> i.getPart()).collect(Collectors.toList());
+            BjyhdbVo sj = new BjyhdbVo();
+            sj.setForeignkeyid(wt.getId());
+            for (Reportdanger reportdanger: jkbgbjyhs){
+                String part = reportdanger.getPart();
+                if (part == null){
+                    continue;
+                }
+                if (part.contains("传动链")){
+                    sj.setCdlcount(reportdanger.getCount());
+                    sj.setCdltimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("测风系统")){
+                    sj.setCfxtcount(reportdanger.getCount());
+                    sj.setCfxttimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("齿轮箱")){
+                    sj.setClxcount(reportdanger.getCount());
+                    sj.setClxtimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("发电机")){
+                    sj.setFdjcount(reportdanger.getCount());
+                    sj.setFdjtimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("变桨")){
+                    sj.setBjcount(reportdanger.getCount());
+                    sj.setBjtimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("机舱")){
+                    sj.setJccount(reportdanger.getCount());
+                    sj.setJctimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("偏航")){
+                    sj.setPhcount(reportdanger.getCount());
+                    sj.setPhtimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+                if (part.contains("塔底柜")){
+                    sj.setTdgcount(reportdanger.getCount());
+                    sj.setTdgtimes(DoubleUtils.getRoundingNum(reportdanger.getTimes(),0));
+                }
+            }
+            bjyhdbs.add(sj);
+        }else{
+            BjyhdbVo sj = new BjyhdbVo();
+            sj.setForeignkeyid(wt.getId());
+            sj.setCdlcount(0);
+            sj.setCdltimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setCfxtcount(0);
+            sj.setCfxttimes(DoubleUtils.getRoundingNum(0.0,0));
+
+            sj.setClxcount(0);
+            sj.setClxtimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setFdjcount(0);
+            sj.setFdjtimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setBjcount(0);
+            sj.setBjtimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setJccount(0);
+            sj.setJctimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setPhcount(0);
+            sj.setPhtimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setTdgcount(0);
+            sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
+            bjyhdbs.add(sj);
+        }
+//        List<Jkbgbjyh> jkbgbjyhsjz = jkbgbjyhService.getBjyhdbjz(wt.getWindpowerstationid(),day);
+        if (jkbgbjyhs!=null && jkbgbjyhs.size()>0){
+            List<String> types = jkbgbjyhs.stream().map(i -> i.getPart()).collect(Collectors.toList());
+            BjyhdbVo sj = new BjyhdbVo();
+            sj.setForeignkeyid("平均值");
+            for (Reportdanger reportdanger: jkbgbjyhs){
+                String part = reportdanger.getPart();
+                if (part == null){
+                    continue;
+                }
+                if (part.contains("传动链")){
+                    sj.setCdlcount(reportdanger.getCountavg());
+                    sj.setCdltimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("测风系统")){
+                    sj.setCfxtcount(reportdanger.getCountavg());
+                    sj.setCfxttimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("齿轮箱")){
+                    sj.setClxcount(reportdanger.getCountavg());
+                    sj.setClxtimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("发电机")){
+                    sj.setFdjcount(reportdanger.getCountavg());
+                    sj.setFdjtimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("变桨")){
+                    sj.setBjcount(reportdanger.getCountavg());
+                    sj.setBjtimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("机舱")){
+                    sj.setJccount(reportdanger.getCountavg());
+                    sj.setJctimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("偏航")){
+                    sj.setPhcount(reportdanger.getCountavg());
+                    sj.setPhtimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+                if (part.contains("塔底柜")){
+                    sj.setTdgcount(reportdanger.getCountavg());
+                    sj.setTdgtimes(DoubleUtils.getRoundingNum(reportdanger.getTimesavg(),0));
+                }
+            }
+            bjyhdbs.add(sj);
+        }else{
+            BjyhdbVo sj = new BjyhdbVo();
+            sj.setForeignkeyid("平均值");
+            sj.setCdlcount(0);
+            sj.setCdltimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setCfxtcount(0);
+            sj.setCfxttimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setClxcount(0);
+            sj.setClxtimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setFdjcount(0);
+            sj.setFdjtimes(DoubleUtils.getRoundingNum(0.0,0));
+            sj.setBjcount(0);
+            sj.setBjtimes(DoubleUtils.getRoundingNum(0.0,0));
+
+            sj.setJccount(0);
+            sj.setJctimes(DoubleUtils.getRoundingNum(0.0,0));
+
+            sj.setPhcount(0);
+            sj.setPhtimes(DoubleUtils.getRoundingNum(0.0,0));
+
+            sj.setTdgcount(0);
+            sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
+            bjyhdbs.add(sj);
+        }
+        healthReportVo.setBjyhdbs(bjyhdbs);
+        List<Reportdanger> yht2sj = reportdangerService.getBjyhdbBywt(wt.getId());
+//        List<Jkbgbjyh> yht2sj = jkbgbjyhService.getBjyhdbBywt(wt.getId(),day);
+//        List<Jkbgbjyh> yht2jz = jkbgbjyhService.getBjyhdbBywp(wt.getWindpowerstationid(),day);
+        List<YhmxdbVo> yhmxdbs = new ArrayList<>();
+        if (yht2sj!=null & yht2sj.size()>0){
+            yht2sj.stream().forEach(i->{
+                YhmxdbVo vo = new YhmxdbVo();
+                vo.setPart(i.getPart());
+                vo.setYhmx(i.getDanger());
+                vo.setCount(i.getCount());
+                vo.setTimes(DoubleUtils.getRoundingNum(i.getTimes(),0));
+                vo.setMeantimes(DoubleUtils.getRoundingNum(i.getTimesavg(),0));
+                vo.setMeancount(i.getCountavg());
+                yhmxdbs.add(vo);
+            });
+//            yhmxdbs.stream().forEach(i->{
+//                i.setMeancount(yht2jz.stream().filter(j->j.getAlerttext().equals(i.getYhmx())).findFirst().get().getCount());
+//                i.setMeantimes(DoubleUtils.getRoundingNum(yht2jz.stream().filter(j->j.getAlerttext().equals(i.getYhmx())).findFirst().get().getTime(),2));
+//            });
+            SortUtils.sort(yhmxdbs,"part",SortUtils.ASC);
+
+        }
+        healthReportVo.setYhmxdbs(yhmxdbs);
+        //故障分类
+        QueryWrapper<Faultstatisticwindturbine> faultstatisticwindturbineQueryWrapper = new QueryWrapper<>();
+        faultstatisticwindturbineQueryWrapper.eq("windturbineid",wt.getId());
+        faultstatisticwindturbineQueryWrapper.eq("year",String.valueOf(year));
+        faultstatisticwindturbineQueryWrapper.eq("month",String.valueOf(month));
+        List<Faultstatisticwindturbine> faultstatisticwindturbines = faultstatisticwindturbineService.list(faultstatisticwindturbineQueryWrapper);
+        SortUtils.sort(faultstatisticwindturbines,"monthwarningnum",SortUtils.DESC);
+        healthReportVo.setFaultclass(faultstatisticwindturbines);
+        //功率对部件温度影响
+
+        QueryWrapper<Reportpowerpartweather> reportpowerpartweatherQueryWrapper = new QueryWrapper<>();
+        reportpowerpartweatherQueryWrapper.eq("wtid",wt.getId());
+        List<Reportpowerpartweather> bjgltjbs = reportpowerpartweatherService.list(reportpowerpartweatherQueryWrapper);
+//        List<Bjgltjb> bjgltjbs = bjgltjbService.getpartwds(wt.getId(),day);
+        List<PartwdVo> partwds = new ArrayList<>();
+        if (bjgltjbs!=null && bjgltjbs.size()>0){
+            bjgltjbs.stream().forEach(i->{
+                PartwdVo vo = new PartwdVo();
+                //(部件,温度分类,温度,实际值,平均值)
+                vo.setPart(i.getPartname());
+                vo.setType(i.getName());
+                vo.setPower(i.getPower());
+                vo.setValue(i.getDatavalue());
+                vo.setMeanvalue(i.getEarlywarningvalue());
+                partwds.add(vo);
+            });
+            SortUtils.sort(partwds,"part",SortUtils.DESC);
+
+            healthReportVo.setPartwds(partwds);
+        }
+
+        //部件劣化状态
+        //总览没做
+        //发电机,变桨。。。。。
+        List<Wttragetreportchart> wttragetreportcharts =  wttragetreportchartService.listByWtAndDate(wt.getId(),day);
+        healthReportVo.setWttragetreportcharts(wttragetreportcharts);
+
+        //全生命周期管理
+
+        //指标
+        //风能利用率
+        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);
+        if (dydjpgs!=null && dydjpgs.size()>0){
+            Windturbineinfodaytop2 dy = dydjpgs.get(0);
+            PjjgVo vo = new PjjgVo();
+            vo.setDate(DateUtils.parseDate3(DateUtils.toDate(dy.getRecordDate())));
+            vo.setLevel(dy.getLevel());
+            vo.setScore(dy.getYearfs()+dy.getYearxnssdl()+dy.getYearLYXS()+dy.getYearNHYD()+dy.getYearSBKLYL()+dy.getYearDXKYXS()+dy.getYearyxfss()+dy.getYearxfqr()+dy.getYearjfpl()+dy.getYearglyzxxs());
+            vo.setRank(dy.getRank());
+            pjjgs.add(vo);
+            //(日期i,级别,得分,排行)
+        }
+        Date date1 = DateUtils.addMonths(date, -1);
+        List<Windturbineinfodaytop2> sydjpgs =windturbineinfodaytop2Service.findDjpgs(wt.getId(),DateUtils.toDate1(date1));
+        if (sydjpgs!=null && sydjpgs.size()>0){
+            Windturbineinfodaytop2 dy = sydjpgs.get(0);
+            PjjgVo vo = new PjjgVo();
+            vo.setDate(DateUtils.parseDate3(DateUtils.toDate(dy.getRecordDate())));
+            vo.setLevel(dy.getLevel());
+            vo.setScore(dy.getYearfs()+dy.getYearxnssdl()+dy.getYearLYXS()+dy.getYearNHYD()+dy.getYearSBKLYL()+dy.getYearDXKYXS()+dy.getYearyxfss()+dy.getYearxfqr()+dy.getYearjfpl()+dy.getYearglyzxxs());
+            vo.setRank(dy.getRank());
+            pjjgs.add(vo);
+            //(日期i,级别,得分,排行)
+        }
+        Date date2 = DateUtils.addMonths(date, -2);
+        List<Windturbineinfodaytop2> ssydjpgs =windturbineinfodaytop2Service.findDjpgs(wt.getId(),DateUtils.toDate1(date2));
+        if (ssydjpgs!=null && ssydjpgs.size()>0){
+            Windturbineinfodaytop2 dy = ssydjpgs.get(0);
+            PjjgVo vo = new PjjgVo();
+            vo.setDate(DateUtils.parseDate3(DateUtils.toDate(dy.getRecordDate())));
+            vo.setLevel(dy.getLevel());
+            vo.setScore(dy.getYearfs()+dy.getYearxnssdl()+dy.getYearLYXS()+dy.getYearNHYD()+dy.getYearSBKLYL()+dy.getYearDXKYXS()+dy.getYearyxfss()+dy.getYearxfqr()+dy.getYearjfpl()+dy.getYearglyzxxs());
+            vo.setRank(dy.getRank());
+            pjjgs.add(vo);
+            //(日期i,级别,得分,排行)
+        }
+        healthReportVo.setPjjgs(pjjgs);
+
+        //等级评估图
+        healthReportVo.setPjmxs(dydjpgs);
+    }
+
+
+    /**
+     * 获取两日期间日期list
+     *
+     * @param beginDate
+     * @param endDate
+     * @return
+     */
+    public static List<String> getDays(String beginDate, String endDate) {
+        List<String> days = null;
+        if (StringUtils.isNotEmpty(beginDate) && StringUtils.isNotEmpty(endDate)) {
+            days = DateUtils.getDays(beginDate, endDate);
+        } else {
+            days = new ArrayList<>();
+            days.add(DateUtils.getYesterdayStr("yyyy-MM-dd"));
+        }
+        return days;
+    }
+
+
+}

+ 61 - 8
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/task/HealthreportTask.java

@@ -1,17 +1,18 @@
 package com.gyee.healthmanagementhistroy.task;
 
 
-
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.gyee.common.util.DateUtils;
 import com.gyee.healthmanagementhistroy.service.evaluate.EvaluateService;
 import com.gyee.healthmanagementhistroy.service.healthreport.HealthReportService;
+import com.gyee.healthmanagementhistroy.service.healthreport.ReportService;
 import com.gyee.healthmanagementhistroy.service.mttrmtbf.MTTRMTBFTaskService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
 import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
 import java.util.Date;
 
 /**
@@ -28,17 +29,19 @@ public class HealthreportTask {
     @Resource
     private EvaluateService evaluateService;
 
-    @Autowired
+    @Resource
     private MTTRMTBFTaskService mttrmtbfTaskService;
+    @Resource
+    private ReportService reportService;
 
 
     //3.添加定时任务
     /**
-     * 等级评估调度
+     * 健康报告调度
      */
-   // @Scheduled(cron = "0 0 8 * * ?")
-    //或直接指定时间间隔,例如:5秒
-    //@Scheduled(fixedRate=5000)
+    @Scheduled(cron = "0 0 8 * * ?")
+//    或直接指定时间间隔,例如:5秒
+//    @Scheduled(fixedRate=5000)
     private void configureTasks1() {
         healthReportService.savePowerfitting(null);
         healthReportService.saveDeviation(null);
@@ -46,7 +49,7 @@ public class HealthreportTask {
         healthReportService.saveDfpclWindAndPower(null);
         healthReportService.saveQrqc(null);
         healthReportService.savePartdanger(null);
-        healthReportService.saveFaultclassification(null);
+//        healthReportService.saveFaultclassification(null);
         healthReportService.savePartpower(null);
     }
 
@@ -72,4 +75,54 @@ public class HealthreportTask {
         mttrmtbfTaskService.saveWpMttrAndMtbMonth(date,date);
         mttrmtbfTaskService.saveWpMttrAndMtbfYear(date,date);
     }
+
+
+    /**
+     * 健康报告
+     */
+    @Scheduled(cron = "0 30 9 * * ?")
+    //或直接指定时间间隔,例如:5秒
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks4() throws UnsupportedEncodingException, JsonProcessingException {
+        Date yestday = DateUtils.getYestday(new Date());
+        String date = DateUtils.toDate1(yestday);
+        reportService.saveHealthReport(date,date,"CL_FDC");
+    }
+
+    /**
+     * 健康报告
+     */
+    @Scheduled(cron = "0 31 9 * * ?")
+    //或直接指定时间间隔,例如:5秒
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks5() throws UnsupportedEncodingException, JsonProcessingException {
+        Date yestday = DateUtils.getYestday(new Date());
+        String date = DateUtils.toDate1(yestday);
+        reportService.saveHealthReport(date,date,"KB_FDC");
+    }
+
+    /**
+     * 健康报告
+     */
+    @Scheduled(cron = "0 32 9 * * ?")
+    //或直接指定时间间隔,例如:5秒
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks6() throws UnsupportedEncodingException, JsonProcessingException {
+        Date yestday = DateUtils.getYestday(new Date());
+        String date = DateUtils.toDate1(yestday);
+        reportService.saveHealthReport(date,date,"DX_FDC");
+    }
+
+    /**
+     * 健康报告
+     */
+    @Scheduled(cron = "0 33 9 * * ?")
+    //或直接指定时间间隔,例如:5秒
+    //@Scheduled(fixedRate=5000)
+    private void configureTasks7() throws UnsupportedEncodingException, JsonProcessingException {
+        Date yestday = DateUtils.getYestday(new Date());
+        String date = DateUtils.toDate1(yestday);
+        reportService.saveHealthReport(date,date,"SY_FDC");
+    }
+
 }

+ 34 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/BjyhdbVo.java

@@ -0,0 +1,34 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : BjyhdbVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 10:38
+ * @Description : 部件隐患对比图,表2
+ */
+@Data
+public class BjyhdbVo implements Serializable {
+    private static final long serialVersionUID = -6191676138539423639L;
+    //部件隐患对比图,表2(项目,传动链次数,时间,测风系统次数,时间,齿轮箱次数,时间,发电机次数,时间,变桨次数,时间,机舱次数,时间,偏航次数,时间,塔底柜次数,时间)
+    private String foreignkeyid; //项目
+    private Integer cdlcount;  //传动链次数
+    private Double cdltimes; //传动链时间
+    private Integer cfxtcount;///测风系统次数
+    private Double cfxttimes;//测风系统时间
+    private Integer clxcount; //齿轮箱次数
+    private Double clxtimes;//齿轮箱时间
+    private Integer fdjcount; //发电机次数
+    private Double fdjtimes;//发电机时间
+    private Integer bjcount; //变桨次数
+    private Double bjtimes; //变桨时间
+    private Integer jccount; //机舱次数
+    private Double jctimes; //机舱时间
+    private Integer phcount; //偏航次数
+    private Double phtimes; //偏航时间
+    private Integer tdgcount; //塔底柜次数
+    private Double tdgtimes;//塔底柜时间
+}

+ 19 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/DfpclPowerVo.java

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : DfpclPowerVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 9:54
+ * @Description : 功率不合格率曲线
+ */
+@Data
+public class DfpclPowerVo implements Serializable {
+    private static final long serialVersionUID = 417273658602590042L;
+    //功率不合格率曲线  (功率,不合格率)
+    private Double power;
+    private Double dfpcl;
+}

+ 19 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/DfpclSpeedVo.java

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : DfpclSpeedVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 9:55
+ * @Description : 风速不合格率曲线
+ */
+@Data
+public class DfpclSpeedVo implements Serializable {
+    private static final long serialVersionUID = -2971071084255391957L;
+    //风速不合格率曲线(风速,不合格率)
+    private Double speed;
+    private Double dfpcl;
+}

+ 19 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/DjjlVo.java

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : DjjlVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 11:48
+ * @Description :
+ */
+@Data
+public class DjjlVo implements Serializable {
+    private static final long serialVersionUID = -4427395865210167362L;
+    private Date date;
+    private String description;
+}

+ 28 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/FnlylVo.java

@@ -0,0 +1,28 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : FnlylVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 14:15
+ * @Description : 风能利用率表
+ */
+@Data
+public class FnlylVo implements Serializable {
+
+    private static final long serialVersionUID = -3138162597338763954L;
+    //(时间,发电量,理论,五损,风速,风能利用率)
+    private String date;
+    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;
+}

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

@@ -0,0 +1,175 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+
+import com.gyee.healthmanagementhistroy.model.auto.Faultstatisticwindturbine;
+import com.gyee.healthmanagementhistroy.model.auto.Windturbineinfodaytop2;
+import com.gyee.healthmanagementhistroy.model.auto.Wttragetreportchart;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @ClassName : HealthReportVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 8:58
+ * @Description : 健康报告存储对象
+ */
+@Data
+public class HealthReportVo implements Serializable {
+
+    private static final long serialVersionUID = 2629901555248472188L;
+    private String wtid; //风机
+
+    private String pjjg;  //评级结果
+    private String pjzw;  //评级展望
+    private String pjyxq; //评级有效期
+    private String bgqrr; //报告确认人
+    private Date bgcjrq; //报告出具日期
+    private Date bwsj; //并网时间
+    private Integer fyts;  //服役天数
+    private Double yfdl; //月发电量
+    private Double fnlyl; //风能利用率
+    private Double hbzj; //环比增加
+    private Double hbxj; //环比下降
+    private Double mttf;
+    private Double mtbf;
+    private Integer gzcs; //故障次数
+    private Integer jczdgzcs;
+    private Integer yygzgzcs;
+    private Integer dwjcgzcs;
+
+
+    //------------------------------------------------------------------------性能开始------------------------------------------------------------------------
+    //曲线拟合及偏差率
+    private Double qxpcl;     //曲线偏差率
+    private Double threeqxpcl;   //3-5
+    private Double fiveqxpcl;    //5-8
+    private Double elevenqxpcl;   //11-25
+    private Double compareqxpcl;   //与型号平均值相比
+    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 threedfpcl;   //3-5
+    private Double fivedfpcl;    //5-11
+    private Double elevendfpcl; //11-25
+    private String glfw;  //功率范围
+    private String descriptiondfpcl;   //对风偏差率说明、
+    private List<DfpclPowerVo> dfpclpowers;  //功率不合格率曲线  (功率,不合格率)
+    private List<DfpclSpeedVo> dfpclSpeeds;  //风速不合格率曲线(风速,不合格率)
+    private List<NippleVo> nipples;   //奶头曲线 (偏差率,频次)
+    //切入切出
+    private Double xfqr; //小风切入
+    private Double xfqc; //小风切出
+    private Double dfqr; //大风切入
+    private Double dfqc; //大风切出
+    private List<QrqcVo> qrqcs;  //切出切入列表(foreignkeyid,xfqr,xfqc,dfqr,dfqc)
+    //------------------------------------------------------------------------性能结束------------------------------------------------------------------------
+
+    //------------------------------------------------------------------------可靠性开始------------------------------------------------------------------------
+    //部件隐患
+    private Integer cdlcount;  //传动链次数
+    private Double cdltimes; //传动链时间
+    private Integer cfxtcount;///测风系统次数
+    private Double cfxttimes;//测风系统时间
+    private Integer clxcount; //齿轮箱次数
+    private Double clxtimes;//齿轮箱时间
+    private Integer fdjcount; //发电机次数
+    private Double fdjtimes;//发电机时间
+    private Integer bjcount; //变桨次数
+    private Double bjtimes; //变桨时间
+    private Integer jccount; //机舱次数
+    private Double jctimes; //机舱时间
+    private Integer phcount; //偏航次数
+    private Double phtimes; //偏航时间
+    private Integer tdgcount; //塔底柜次数
+    private Double tdgtimes;//塔底柜时间
+    private String highestcountonename;  //最高类型1
+    private Integer highestcountonecount;  //最高次数1
+    private String highestcounttwoname;  //最高类型2
+    private Integer highestcounttwocount;  //最高次数2
+    private String highestcountthreename;  //最高类型3
+    private Integer highestcountthreecount;  //最高次数3
+    private String highesttimeonename;  //最长类型1
+    private Integer highesttimeonecount;  //最长时间1
+    private String highesttimetwoname;  //最长类型2
+    private Integer highesttimetwocount;  //最长时间2
+    private String highesttimethreename;  //最长类型3
+    private Integer highesttimethreecount;  //最长时间3
+    private List<BjyhdbVo> bjyhdbs;  //部件隐患对比图,表2(项目,传动链次数,时间,测风系统次数,时间,齿轮箱次数,时间,发电机次数,时间,变桨次数,时间,机舱次数,时间,偏航次数,时间,塔底柜次数,时间)
+    private List<YhmxdbVo> yhmxdbs; //隐患模型对比,表3(部件,隐患模型,频次,均值,时长,均值)
+    //故障分类
+    private String descriptionfault1; //故障说明(那段话)
+    private String descriptionfault2;  //第二段
+    private List<Faultstatisticwindturbine> faultclass; //故障分类统计列表 (分类,实际次数,上月次数,同期次数,实际时间,上月时间,同期时间)
+    //功率对部件温度影响
+    private String descriptionwd;   //说明
+    private List<PartwdVo> partwds; //部件温度统计表(部件,温度分类,温度,实际值,平均值)
+    //------------------------------------------------------------------------可靠性结束------------------------------------------------------------------------
+
+    //------------------------------------------------------------------------部件劣化状态开始------------------------------------------------------------------------
+    //总览
+    private Integer fdjlh; //发电机
+    private Integer clxlh; //齿轮箱
+    private Integer bjlh;  //变桨
+    private Integer zzlh;  //主轴
+    private List<PartLhVo> partLhs;  //部件劣化频次总览(时间周期	发电机	齿轮箱	变桨	主轴	总计)
+//    //发电机
+//    List<FdljkzsVo> fdljkzs;   //发电机健康走势
+//    //齿轮箱
+//    List<ClxjkzsVo> clxjkzs;   //齿轮箱健康走势
+//    //主轴
+//    List<ZzjkzsVo> zzjkzs;   //主轴健康走势
+//    //主轴
+//    List<BjjkzsVo> bjjkzs;   //变桨健康走势
+    //总
+    List<Wttragetreportchart> wttragetreportcharts;
+    //------------------------------------------------------------------------部件劣化状态结束------------------------------------------------------------------------
+
+    //------------------------------------------------------------------------全生命周期管理开始------------------------------------------------------------------------
+    //定检记录
+    List<DjjlVo> djjls;   //定检记录(日期,描述)
+    //设备维修
+    private String descriptionsbjx;  //设备检修说明
+    private List<Wxhjpc> wxhjpcs;  //维修换件频次(部件结构,3月维修次数,换件次数,1年维修次数,换件次数,累计维修次数,换件次数)
+    //------------------------------------------------------------------------全生命周期管理结束------------------------------------------------------------------------
+
+    //------------------------------------------------------------------------指标开始------------------------------------------------------------------------
+    //风能利用率
+    private String fdnlqs;   //发电能力趋势
+    private String ssdlqs;   //损失电量趋势
+    private String fnlylqs;  //风能利用率趋势
+    private Double gzssl;   //故障损失率
+    private Double whssl;  //维护损失率
+    private Double xnssl; //性能损失率
+    List<FnlylVo> fnlyls; //风能利用率表(时间,发电量,理论,五损,风速,风能利用率)
+    //设备可利用率
+    private String sbklylqs; //设备可利用率趋势
+    private Double onetime;//前两月故障时间
+    private Double twotime;//前一月故障时间
+    private Double threetime;//当月故障时间
+    private Integer onecount;//前两月故障次数
+    private Integer twocount;//前一月故障次数
+    private Integer threecount;//当月故障次数
+    private Double sbklyl; //设备可利用率
+    List<SbklylVo> sbklyls;  //设备可利用率表(时间,运行小时,待机小时,非计划检修小时,计划检修小时,受累小时,故障次数,设备可利用率)
+    //性能评价
+    private String pj;  //评价
+    private String pm;   //排名
+    private String hxdb;  //对比
+    private List<PjjgVo> pjjgs;  //评价结果表(日期i,级别,得分,排行)
+    private List<Windturbineinfodaytop2> pjmxs; //评价明细表(风机,评级,排名,发电量数值,排名,评分,理论发电量,平均功率,故障损失,限电损失,维护损失,故障时间,维护时间,运行时间,停机时间,平均切入风速,性能损失电量,拟合优度,功率一致性系数,利用小时,设备可利用率,等效可用系数,有效风时数,平均风速,静风频率)
+
+    //------------------------------------------------------------------------指标结束------------------------------------------------------------------------
+
+
+    //推荐检修方案
+    private TjjxVo tjjxVo; //推荐检修方案(高频,中频,低频,理由,日期,方法,处理,工器具,平均消缺时间,推荐风速)
+
+}

+ 21 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/NhglVo.java

@@ -0,0 +1,21 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : NhglVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 9:19
+ * @Description : 拟合功率曲线
+ */
+@Data
+public class NhglVo implements Serializable {
+    private static final long serialVersionUID = -684477821231671554L;
+    //拟合功率曲线(风速,拟合功率,保证功率,点值)
+    private Integer speed;
+    private Double nhgl;
+    private Double bzgl;
+    private Double pointvalue;
+}

+ 19 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/NippleVo.java

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : NippleVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 9:56
+ * @Description :
+ */
+@Data
+public class NippleVo implements Serializable {
+    private static final long serialVersionUID = 7215574275878444624L;
+    //奶头曲线 (偏差率,频次)
+    private Integer pcl;
+    private Integer count;
+}

+ 23 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PartLhVo.java

@@ -0,0 +1,23 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : PartLhVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 11:23
+ * @Description : 部件劣化频次总览
+ */
+@Data
+public class PartLhVo implements Serializable {
+    private static final long serialVersionUID = -3805706121930192333L;
+    //部件劣化频次总览(时间周期	发电机	齿轮箱	变桨	主轴	总计)
+    private String sjzq;
+    private Integer fdj;
+    private Integer clx;
+    private Integer bj;
+    private Integer zz;
+    private Integer zj;
+}

+ 22 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PartwdVo.java

@@ -0,0 +1,22 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : PartwdVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 11:18
+ * @Description : 部件温度统计表
+ */
+@Data
+public class PartwdVo implements Serializable {
+    private static final long serialVersionUID = 1081867300397543403L;
+    //(部件,温度分类,温度,实际值,平均值)
+    private String part;
+    private String type;
+    private String power;
+    private Double value;
+    private Double meanvalue;
+}

+ 24 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PjjgVo.java

@@ -0,0 +1,24 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : PjjgVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 14:19
+ * @Description : 评价结果表
+ */
+@Data
+public class PjjgVo implements Serializable {
+
+    private static final long serialVersionUID = 8275054196226086951L;
+    //(日期i,级别,得分,排行)
+    private Date date;
+    private String level;
+    private Double score;
+    private Integer rank;
+
+}

+ 82 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/PjmxVo.java

@@ -0,0 +1,82 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : PjmxVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 14:23
+ * @Description : 评价明细表
+ */
+@Data
+public class PjmxVo implements Serializable {
+    private static final long serialVersionUID = -1788136349040344252L;
+    //(风机,评级,排名,发电量数值,排名,评分,
+    // 理论发电量,平均功率,故障损失,限电损失,维护损失,故障时间,
+    // 维护时间,运行时间,停机时间,平均切入风速,性能损失电量,拟合优度,功率一致性系数,利用小时,设备可利用率,等效可用系数,有效风时数,平均风速,静风频率)
+    private String wtid;
+    private String level;
+    private Integer rank;
+    private Double fdl;
+    private Integer fdlpm;
+    private Double fdlpf;
+    private Double llfdl;
+    private Integer llfdlpm;
+    private Double llfdlpf;
+    private Double pjgl;
+    private Integer pjglpm;
+    private Double pjglpf;
+    private Double gzss;
+    private Integer gzsspm;
+    private Double gzsspf;
+    private Double xdss;
+    private Integer xdsspm;
+    private Double xdsspf;
+    private Double whss;
+    private Integer whsspm;
+    private Double whsspf;
+    private Double gzsj;
+    private Integer gzsjpm;
+    private Double gzsjpf;
+    private Double whsj;
+    private Integer whsjpm;
+    private Double whsjpf;
+    private Double yxsj;
+    private Integer yxsjpm;
+    private Double yxsjpf;
+    private Double tjsj;
+    private Integer tjsjpm;
+    private Double tjsjpf;
+    private Double pjqrfs;
+    private Integer pjqrfspm;
+    private Double pjqrfspf;
+    private Double xnss;
+    private Integer xnsspm;
+    private Double xnsspf;
+    private Double nhyd;
+    private Integer nhydpm;
+    private Double nhydpf;
+    private Double glyzxxs;
+    private Integer glyzxxspm;
+    private Double glyzxxspf;
+    private Double lyxs;
+    private Integer lyxspm;
+    private Double lyxspf;
+    private Double sbklyl;
+    private Integer sbklylpm;
+    private Double sbklylpf;
+    private Double dxkyxs;
+    private Integer dxkyxspm;
+    private Double dxkyxspf;
+    private Double yxfss;
+    private Integer yxfsspm;
+    private Double yxfsspf;
+    private Double speed;
+    private Integer speedpm;
+    private Double speedpf;
+    private Double jfpl;
+    private Integer jfplpm;
+    private Double jfplpf;
+}

+ 22 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/QrqcVo.java

@@ -0,0 +1,22 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : QrqcVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 10:20
+ * @Description :
+ */
+@Data
+public class QrqcVo implements Serializable {
+    private static final long serialVersionUID = 4355790858674188531L;
+    //切出切入列表(foreignkeyid,xfqr,xfqc,dfqr,dfqc)
+    private String foreignkeyid; //项目
+    private Double xfqr; //小风切入
+    private Double xfqc; //小风切出
+    private Double dfqr; //大风切入
+    private Double dfqc; //大风切出
+}

+ 22 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/QxpclVo.java

@@ -0,0 +1,22 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : QxpclVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 9:20
+ * @Description : 月曲线偏差率曲线
+ */
+@Data
+public class QxpclVo implements Serializable {
+    private static final long serialVersionUID = 4611200902963346349L;
+    //曲线偏差率曲线(日期,曲线偏差率,基准值)
+
+    private Date date;
+    private Double qxpcl;
+    private Double jzz;
+}

+ 25 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/SbklylVo.java

@@ -0,0 +1,25 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : SbklylVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 14:18
+ * @Description : 设备可利用率表
+ */
+@Data
+public class SbklylVo implements Serializable {
+    private static final long serialVersionUID = -6920079890802050560L;
+    //(时间,运行小时,待机小时,非计划检修小时,计划检修小时,受累小时,故障次数,设备可利用率)
+    private String date;
+    private Double yxxs;
+    private Double djxs;
+    private Double fjhjxxs;
+    private Double jhjxxs;
+    private Double slxs;
+    private Integer gzcs;
+    private Double sbklyl;
+}

+ 28 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/TjjxVo.java

@@ -0,0 +1,28 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : TjjxVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 14:31
+ * @Description : 推荐检修方案
+ */
+@Data
+public class TjjxVo implements Serializable {
+    private static final long serialVersionUID = 3474777351201107794L;
+    //(高频,中频,低频,理由,日期,方法,处理,工器具,平均消缺时间,推荐风速)
+    private String gp;
+    private String zp;
+    private String dp;
+    private String tjly;
+    private Date date;
+    private String tjfs;
+    private String tjcl;
+    private String tjgqj;
+    private Double pjxqsj;
+    private Double tjspeed;
+}

+ 24 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/Wxhjpc.java

@@ -0,0 +1,24 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : Wxhjpc
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 11:57
+ * @Description : 维修换件频次
+ */
+@Data
+public class Wxhjpc implements Serializable {
+    private static final long serialVersionUID = -8431563183402835040L;
+    //(部件结构,3月维修次数,换件次数,1年维修次数,换件次数,累计维修次数,换件次数)
+    private String part;
+    private Integer threewxcs;
+    private Integer threehjcs;
+    private Integer yearwxcs;
+    private Integer yearhjcs;
+    private Integer ljwxcs;
+    private Integer ljhjcs;
+}

+ 23 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/YhmxdbVo.java

@@ -0,0 +1,23 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName : YhmxdbVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 10:41
+ * @Description : 隐患模型对比,表3
+ */
+@Data
+public class YhmxdbVo implements Serializable {
+    private static final long serialVersionUID = 5050747204395062439L;
+    //(部件,隐患模型,频次,均值,时长,均值)
+    private String part;
+    private String yhmx;
+    private Integer count;
+    private Integer meancount;
+    private Double times;
+    private Double meantimes;
+}

+ 19 - 0
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/vo/ZzjkzsVo.java

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagementhistroy.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : ZzjkzsVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 11:46
+ * @Description :
+ */
+@Data
+public class ZzjkzsVo implements Serializable {
+    private static final long serialVersionUID = 4796966035198935751L;
+    private Date date;
+    private Double value;
+}

+ 1 - 1
histroy/healthmanagement-histroy-hb/src/main/resources/application.yml

@@ -28,7 +28,7 @@ spring:
         min-idle: 0
         max-idle: 8
         max-wait: -1
-    database: 1
+    database: 19
   autoconfigure:
     exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
   datasource:

+ 14 - 6
histroy/healthmanagement-histroy-hb/src/test/java/com/gyee/healthmanagementhistroy/HealthManagementHistroyMainTest.java

@@ -1,8 +1,10 @@
 package com.gyee.healthmanagementhistroy;
 
-import com.gyee.healthmanagementhistroy.service.auto.IOperationevaluationService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.gyee.common.util.DateUtils;
 import com.gyee.healthmanagementhistroy.service.evaluate.EvaluateService;
 import com.gyee.healthmanagementhistroy.service.healthreport.HealthReportService;
+import com.gyee.healthmanagementhistroy.service.healthreport.ReportService;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -12,6 +14,7 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
+import java.io.UnsupportedEncodingException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -31,19 +34,24 @@ public class HealthManagementHistroyMainTest {
     private HealthReportService healthReportService;
     @Resource
     private EvaluateService evaluateService;
+    @Resource
+    private ReportService reportService;
     @Test
-    public void test1() throws ParseException {
-        String string = "2021-08-24";
-                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Date date = sdf.parse(string);
+    public void test1() throws ParseException, UnsupportedEncodingException, JsonProcessingException {
+//        String string = "2021-08-24";
+//                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+//        Date date = sdf.parse(string);
 //        healthReportService.savePowerfitting(null);
 //        healthReportService.saveDeviation(null);
 //        healthReportService.saveDfpcl(null);
 //        healthReportService.saveDfpclWindAndPower(null);
-        healthReportService.saveQrqc(null);
+//        healthReportService.saveQrqc(null);
 //        healthReportService.savePartdanger(null);
 //        healthReportService.saveFaultclassification(null);
 //        healthReportService.savePartpower(null);
+        Date yestday = DateUtils.getYestday(new Date());
+        String date = DateUtils.toDate1(yestday);
+        reportService.saveHealthReport(date,date,"CL_FDC");
     }
 
 

+ 1 - 1
realtime/meteorologicalcollection/src/main/resources/application-jn.yml

@@ -27,7 +27,7 @@ spring:
         min-idle: 0
         max-idle: 8
         max-wait: -1
-    database: 0
+    database: 1
   autoconfigure:
     exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
   datasource:

+ 17 - 0
web/consumer/src/main/java/com/gyee/consumer/api/healthmanagement/HealthreportApi.java

@@ -0,0 +1,17 @@
+package com.gyee.consumer.api.healthmanagement;
+
+import com.gyee.common.config.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+
+@FeignClient("healthmanagement-provider")
+@RequestMapping("//health")
+public interface HealthreportApi {
+
+
+    @GetMapping("/report")
+    public R healthReport(@RequestParam(value = "wtid",required = true)String wtid,
+                          @RequestParam(value = "date",required = true)String date) throws IOException;
+}

+ 29 - 0
web/consumer/src/main/java/com/gyee/consumer/controller/healthmanagement/HealthreportController.java

@@ -0,0 +1,29 @@
+package com.gyee.consumer.controller.healthmanagement;
+
+import com.gyee.common.config.R;
+import com.gyee.consumer.api.healthmanagement.HealthreportApi;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+
+@RestController
+public class HealthreportController {
+
+    @Resource
+    private HealthreportApi healthreportApi;
+
+    /**
+     * 健康报告
+     * @return
+     */
+    @GetMapping("/consumer/health/report")
+    public R healthreport(@RequestParam(value = "wtid",required = true)String wtid,
+                  @RequestParam(value = "date",required = true)String date) throws IOException {
+        return healthreportApi.healthReport(wtid,date);
+    }
+
+
+}

+ 1 - 1
web/consumer/src/main/resources/application-dev.yml

@@ -12,7 +12,7 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: 192.168.2.216:8848
+        server-addr: 192.168.2.198:8848
         #指定yaml格式的配置
         file-extension: yaml
         cluster-name: master

+ 2 - 2
web/consumer/src/main/resources/application.yml

@@ -1,5 +1,5 @@
 spring:
   profiles:
 #    active: hf
-    active: jn
-#    active: test
+#    active: jn
+    active: dev

+ 37 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/controller/levelassessment/HealthreportController.java

@@ -0,0 +1,37 @@
+package com.gyee.healthmanagement.controller.levelassessment;
+
+import com.gyee.healthmanagement.config.R;
+import com.gyee.healthmanagement.service.healthreport.HealthReportService;
+import com.gyee.healthmanagement.vo.HealthreportReport;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+
+/**
+ * @ClassName : HealthreportController
+ * @Author : xieshengjie
+ * @Date: 2022/6/4 13:39
+ * @Description :
+ */
+@RestController
+@RequestMapping("//health")
+public class HealthreportController {
+
+    @Resource
+    private HealthReportService healthReportService;
+
+
+    @GetMapping("/report")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R healthReport(@RequestParam(value = "wtid",required = true)String wtid,
+                          @RequestParam(value = "date",required = true)String date) throws IOException {
+        HealthreportReport resultlist = healthReportService.getHealthReport(wtid,date);
+        if (resultlist!=null) {
+            return R.ok().data(resultlist);
+        }else{
+            return R.ok().message("后台正在计算中。。。");
+        }
+    }
+}

+ 30 - 2
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/init/CacheContext.java

@@ -1,6 +1,8 @@
 package com.gyee.healthmanagement.init;
 
+import com.gyee.healthmanagement.model.auto.Windpowerstation;
 import com.gyee.healthmanagement.model.auto.Windturbine;
+import com.gyee.healthmanagement.service.auto.IWindpowerstationService;
 import com.gyee.healthmanagement.service.auto.IWindturbineService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -9,8 +11,9 @@ import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-import java.util.stream.Collectors;
+import java.util.Map;
 
 /**
  * @ClassName : CacheContext
@@ -25,10 +28,35 @@ public class CacheContext implements CommandLineRunner {
     @Resource
     private IWindturbineService windturbineService;
 
+    @Resource
+    private IWindpowerstationService windpowerstationService;
+
     public static List<Windturbine> wtls = new ArrayList<>();
+    public static List<Windpowerstation> wplist = new ArrayList<>();
+    public static Map<String,Windturbine> wmap = new HashMap<>();
+
+    public static Map<String, Windpowerstation> wpmap = new HashMap<>();
+
+    public static Map<String, List<Windturbine>> wtmap = new HashMap<>();
 
     @Override
     public void run(String... args) throws Exception {
-        wtls = windturbineService.list().stream().filter(wt->wt.getWindpowerstationid().endsWith("FDC")).collect(Collectors.toList());
+        wtls = windturbineService.list();
+        wtls.stream().forEach(wt->{
+            wmap.put(wt.getId(),wt);
+            if (wtmap.containsKey(wt.getWindpowerstationid())){
+                wtmap.get(wt.getWindpowerstationid()).add(wt);
+            }else{
+                List<Windturbine> wts = new ArrayList<>();
+                wts.add(wt);
+                wtmap.put(wt.getWindpowerstationid(),wts);
+            }
+        });
+
+
+        wplist = windpowerstationService.list();
+        wplist.stream().filter(i->i.getId().endsWith("FDC")).forEach(i->{
+            wpmap.put(i.getId(),i);
+        });
     }
 }

+ 16 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/mapper/auto/HealthreportMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagement.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagement.model.auto.Healthreport;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface HealthreportMapper extends BaseMapper<Healthreport> {
+
+}

+ 16 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/mapper/auto/WindpowerstationMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagement.mapper.auto;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.healthmanagement.model.auto.Windpowerstation;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-04
+ */
+public interface WindpowerstationMapper extends BaseMapper<Windpowerstation> {
+
+}

+ 65 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Faultstatisticwindturbine.java

@@ -0,0 +1,65 @@
+package com.gyee.healthmanagement.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("FAULTSTATISTICWINDTURBINE")
+public class Faultstatisticwindturbine extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @TableField("EDNAVALUE")
+    private String ednavalue;
+
+    @TableField("WARNINGTYPE")
+    private String warningtype;
+
+    @TableField("YEAR")
+    private String year;
+
+    @TableField("MONTH")
+    private String month;
+
+    @TableField("WINDTURBINEID")
+    private String windturbineid;
+
+    @TableField("WINDPOWERSTATIONID")
+    private String windpowerstationid;
+
+    @TableField("MONTHWARNINGNUM")
+    private Double monthwarningnum;
+
+    @TableField("MONTHWARNINGTIME")
+    private Double monthwarningtime;
+
+    @TableField("MONTHONMONTHNUM")
+    private Double monthonmonthnum;
+
+    @TableField("MONTHONMONTHTIME")
+    private Double monthonmonthtime;
+
+    @TableField("YEAROVERYEARNUM")
+    private Double yearoveryearnum;
+
+    @TableField("YEAROVERYEARTIME")
+    private Double yearoveryeartime;
+
+
+}

+ 87 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Healthreport.java

@@ -0,0 +1,87 @@
+package com.gyee.healthmanagement.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("HEALTHREPORT")
+public class Healthreport extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "ID",type = IdType.INPUT)
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("WTNAME")
+    private String wtname;
+
+    @TableField("YEAR")
+    private Integer year;
+
+    @TableField("MONTH")
+    private Integer month;
+
+    @TableField("HEALTHREPORT")
+    private String  healthreport;
+
+    @TableField("RECOMMENDDATE")
+    private Date recommenddate;
+
+    @TableField("RECOMMENDREPORT")
+    private String recommendreport;
+
+    @TableField("ISRECOMMEND")
+    private Integer isrecommend;
+
+    @TableField("HIGHFREQUENCY")
+    private String highfrequency;
+
+    @TableField("MEDIATEFREQUENCY")
+    private String mediatefrequency;
+
+    @TableField("FOWFREQUENCY")
+    private String fowfrequency;
+
+    @TableField("REASON")
+    private String reason;
+
+    @TableField("MAINDATE")
+    private Date maindate;
+
+    @TableField("TROUBLEMETHODS")
+    private String troublemethods;
+
+    @TableField("PROCESSINGMETHOD")
+    private String processingmethod;
+
+    @TableField("TOOLS")
+    private String tools;
+
+    @TableField("AVERAGETIME")
+    private Double averagetime;
+
+    @TableField("MAINSPEED")
+    private Double mainspeed;
+    @TableField(exist = false)
+    private String wpname;
+
+}

+ 88 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Windpowerstation.java

@@ -0,0 +1,88 @@
+package com.gyee.healthmanagement.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-04
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDPOWERSTATION")
+public class Windpowerstation extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("CODE")
+    private String code;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("ADDRESS")
+    private String address;
+
+    @TableField("TELEPHONE")
+    private String telephone;
+
+    @TableField("CAPACITY")
+    private BigDecimal capacity;
+
+    @TableField("CAPACITYUNIT")
+    private String capacityunit;
+
+    @TableField("QUANTITY")
+    private BigDecimal quantity;
+
+    @TableField("ANAME")
+    private String aname;
+
+    @TableField("LONGITUDE")
+    private BigDecimal longitude;
+
+    @TableField("LATITUDE")
+    private BigDecimal latitude;
+
+    @TableField("PHOTO")
+    private String photo;
+
+    @TableField("COMPANYID")
+    private String companyid;
+
+    @TableField("SYSTEMMANUFACT")
+    private String systemmanufact;
+
+    @TableField("HEADFARM")
+    private String headfarm;
+
+    @TableField("HEADFARMPHONE")
+    private String headfarmphone;
+
+    @TableField("MODEL")
+    private String model;
+
+    @TableField("ORDERNUM")
+    private BigDecimal ordernum;
+
+    @TableField("ALTITUDE")
+    private BigDecimal altitude;
+
+    @TableField("HEIGHT")
+    private BigDecimal height;
+
+
+}

+ 56 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/model/auto/Wttragetreportchart.java

@@ -0,0 +1,56 @@
+package com.gyee.healthmanagement.model.auto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-30
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WTTRAGETREPORTCHART")
+public class Wttragetreportchart extends Model  implements Serializable {
+
+
+    private static final long serialVersionUID = -2348840999756799047L;
+    @TableId("ID")
+    private Long id;
+
+    @TableField("TID")
+    private Long tid;
+
+    @TableField("PARTID")
+    private String partid;
+
+    @TableField("PARTNAME")
+    private String partname;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("VALUE")
+    private Double value;
+
+    @TableField("PARENTID")
+    private String parentid;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("WTNAME")
+    private String wtname;
+
+
+}

+ 16 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/IHealthreportService.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagement.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagement.model.auto.Healthreport;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+public interface IHealthreportService extends IService<Healthreport> {
+
+}

+ 16 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/IWindpowerstationService.java

@@ -0,0 +1,16 @@
+package com.gyee.healthmanagement.service.auto;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.healthmanagement.model.auto.Windpowerstation;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-04
+ */
+public interface IWindpowerstationService extends IService<Windpowerstation> {
+
+}

+ 20 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/impl/HealthreportServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagement.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagement.mapper.auto.HealthreportMapper;
+import com.gyee.healthmanagement.model.auto.Healthreport;
+import com.gyee.healthmanagement.service.auto.IHealthreportService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-07-31
+ */
+@Service
+public class HealthreportServiceImpl extends ServiceImpl<HealthreportMapper, Healthreport> implements IHealthreportService {
+
+}

+ 20 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/auto/impl/WindpowerstationServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.healthmanagement.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.healthmanagement.mapper.auto.WindpowerstationMapper;
+import com.gyee.healthmanagement.model.auto.Windpowerstation;
+import com.gyee.healthmanagement.service.auto.IWindpowerstationService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-06-04
+ */
+@Service
+public class WindpowerstationServiceImpl extends ServiceImpl<WindpowerstationMapper, Windpowerstation> implements IWindpowerstationService {
+
+}

+ 51 - 8
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/service/healthreport/HealthReportService.java

@@ -1,10 +1,18 @@
 package com.gyee.healthmanagement.service.healthreport;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.common.util.DateUtils;
+import com.gyee.common.util.JSONUtils;
 import com.gyee.healthmanagement.init.CacheContext;
-import com.gyee.healthmanagement.model.auto.Windturbine;
+import com.gyee.healthmanagement.model.auto.Healthreport;
+import com.gyee.healthmanagement.service.auto.IHealthreportService;
+import com.gyee.healthmanagement.vo.HealthReportVo;
+import com.gyee.healthmanagement.vo.HealthreportReport;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.util.Date;
 
 /**
  * @ClassName : HealthReportService
@@ -15,12 +23,47 @@ import java.util.List;
 @Service
 public class HealthReportService {
 
-    public void save(){
-        List<Windturbine> wtls = CacheContext.wtls;
-
-        wtls.stream().forEach(wt->{
-
-        });
+    @Resource
+    private IHealthreportService healthreportService;
 
+    public HealthreportReport getHealthReport(String wtid, String date) throws IOException {
+        Date parseDate = DateUtils.parseDate(date);
+        int year = DateUtils.getYear(parseDate);
+        int month = DateUtils.getMonth(parseDate);
+        QueryWrapper<Healthreport> qw = new QueryWrapper<>();
+        qw.eq("wtid",wtid);
+        qw.eq("year",year);
+        qw.eq("month",month);
+        Healthreport healthreport = healthreportService.getOne(qw);
+        if(null==healthreport){
+            return  null;
+        }
+        HealthReportVo healthReportVo = JSONUtils.jsonStrToJava(healthreport.getHealthreport(),HealthReportVo.class);
+        HealthReportVo healthReportVo1 = null;
+        if (healthreport.getIsrecommend()==1){
+            healthReportVo1 = JSONUtils.jsonStrToJava(healthreport.getRecommendreport(),HealthReportVo.class);
+        }
+        HealthreportReport vo = new HealthreportReport();
+        vo.setId(healthreport.getId());
+        vo.setWtid(healthreport.getWtid());
+        vo.setWtname(healthreport.getWtname());
+        vo.setWpname(CacheContext.wpmap.get(CacheContext.wmap.get(healthreport.getWtid()).getWindpowerstationid()).getName());
+        vo.setYear(healthreport.getYear());
+        vo.setMonth(healthreport.getMonth());
+        vo.setHealthreport(healthReportVo);
+        vo.setRecommenddate(healthreport.getRecommenddate());
+        vo.setRecommendreport(healthReportVo1);
+        vo.setIsrecommend(healthreport.getIsrecommend());
+        vo.setHighfrequency(healthreport.getHighfrequency());
+        vo.setMediatefrequency(healthreport.getMediatefrequency());
+        vo.setFowfrequency(healthreport.getFowfrequency());
+        vo.setReason(healthreport.getReason());
+        vo.setMaindate(healthreport.getMaindate());
+        vo.setTroublemethods(healthreport.getTroublemethods());
+        vo.setProcessingmethod(healthreport.getProcessingmethod());
+        vo.setTools(healthreport.getTools());
+        vo.setAveragetime(healthreport.getAveragetime());
+        vo.setMainspeed(healthreport.getMainspeed());
+        return vo;
     }
 }

+ 19 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/vo/BjjkzsVo.java

@@ -0,0 +1,19 @@
+package com.gyee.healthmanagement.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName : BjjkzsVo
+ * @Author : xieshengjie
+ * @Date: 2021/7/28 11:46
+ * @Description :
+ */
+@Data
+public class BjjkzsVo implements Serializable {
+    private static final long serialVersionUID = 3771337239249124788L;
+    private Date date;
+    private Double value;
+}

+ 0 - 0
web/healthmanagement-web-hb/src/main/java/com/gyee/healthmanagement/vo/BjyhdbVo.java


Some files were not shown because too many files changed in this diff