Просмотр исходного кода

Merge branch 'master' of http://124.70.43.205:3000/xieshengjie/sis-background

chenminghua 3 лет назад
Родитель
Сommit
7d7658f9f4
50 измененных файлов с 1265 добавлено и 211 удалено
  1. 20 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/controller/BenchmarkingController.java
  2. 33 9
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/controller/auto/OperationrecordController.java
  3. 19 2
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/mapper/auto/OperationrecordMapper.java
  4. 18 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/OperationVo.java
  5. 11 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/BenchmarkingService.java
  6. 2 0
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/auto/IOperationrecordService.java
  7. 90 7
      benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/auto/impl/OperationrecordServiceImpl.java
  8. 2 1
      cache/src/main/resources/application.yml
  9. 33 3
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/BenchmarkController.java
  10. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportdangerController.java
  11. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportdeviationController.java
  12. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportpowerfittingController.java
  13. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportpowerpartweatherController.java
  14. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/WinddeviationrateController.java
  15. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/WindpowerdeviationrateController.java
  16. 24 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportdangerMapper.java
  17. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportdeviationMapper.java
  18. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportpowerfittingMapper.java
  19. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportpowerpartweatherMapper.java
  20. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/WinddeviationrateMapper.java
  21. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/WindpowerdeviationrateMapper.java
  22. 55 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportdanger.java
  23. 45 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportdeviation.java
  24. 48 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportpowerfitting.java
  25. 48 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportpowerpartweather.java
  26. 40 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Winddeviationrate.java
  27. 42 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Windpowerdeviationrate.java
  28. 1 1
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/healthreport/DfpclSpeedVo.java
  29. 1 1
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/healthreport/NhglVo.java
  30. 6 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IBenchmarkService.java
  31. 21 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportdangerService.java
  32. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportdeviationService.java
  33. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportpowerfittingService.java
  34. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportpowerpartweatherService.java
  35. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IWinddeviationrateService.java
  36. 16 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IWindpowerdeviationrateService.java
  37. 43 1
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/BenchmarkServiceImpl.java
  38. 33 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportdangerServiceImpl.java
  39. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportdeviationServiceImpl.java
  40. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportpowerfittingServiceImpl.java
  41. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportpowerpartweatherServiceImpl.java
  42. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/WinddeviationrateServiceImpl.java
  43. 20 0
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/WindpowerdeviationrateServiceImpl.java
  44. 4 3
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/gradeevaluation/QuartService.java
  45. 171 116
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/health/HealthReportService.java
  46. 57 43
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/mttrmtbf/MTTRMTBFTaskService.java
  47. 0 15
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/threerate/ThreeRateService.java
  48. 1 1
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/util/DateUtils.java
  49. 6 3
      gradeevaluation/src/main/java/com/gyee/gradeevaluation/variable/MainConstant.java
  50. 11 5
      gradeevaluation/src/test/java/com/gyee/gradeevaluation/GradeevaluationApplicationTests.java

+ 20 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/controller/BenchmarkingController.java

@@ -46,6 +46,26 @@ public class BenchmarkingController {
             return R.error().message("访问失败");
         }
     }
+
+
+    /**
+     * GF场站列表
+     * @return
+     */
+    @GetMapping("/wpgflist")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R wpGFlist(){
+        List<Windpowerstation> resultList = benchmarkingService.wpGFList();
+
+        if (StringUtils.isNotNull(resultList)) {
+            SortUtils.sort(resultList,"ordernum",SortUtils.ASC);
+            return R.ok(resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
     /**
      * 根据场站查询
      * 项目列表

+ 33 - 9
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/controller/auto/OperationrecordController.java

@@ -17,7 +17,7 @@ import java.util.Map;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author 谢生杰
@@ -28,17 +28,41 @@ import java.util.Map;
 public class OperationrecordController {
     @Autowired
     private OperationrecordServiceImpl operationrecordService;
+
     @GetMapping("/czlb")
     @ResponseBody
     @CrossOrigin(origins = "*", maxAge = 3600)
-    public R czlb(@RequestParam(value = "WindPowerStation",required = true)String WindPowerStation,
-                     @RequestParam( value ="wtid",required = false)String wtid,
-//                     @RequestParam(value = "type",required = false) String type,
-                     @RequestParam(value = "beginDate",required = false) String beginDate,
-                     @RequestParam(value = "endDate",required = true) String endDate){
-
-        List<Map> Map = operationrecordService.listBy(WindPowerStation,wtid,DateUtils.parseDate(beginDate),DateUtils.parseDate(endDate));
-        return R.ok(Map.size()).data(Map);
+    public R czlb(@RequestParam(value = "windPowerStation", required = false) String windPowerStation,
+                  @RequestParam(value = "wtid", required = false) String wtid,
+                  @RequestParam(value = "beginDate", required = false) String beginDate,
+                  @RequestParam(value = "endDate", required = false) String endDate) {
+
+        List<Map> Map = operationrecordService.listBy(windPowerStation, wtid, DateUtils.parseDate(beginDate), DateUtils.parseDate(endDate));
+
+        if (StringUtils.isNotNull(Map)) {
+            return R.ok(Map.size()).data(Map);
+        } else {
+            return R.error().message("访问失败");
+        }
+
+    }
+
+    @GetMapping("/zhlb")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R zhlb(@RequestParam(value = "WindPowerStation", required = false) String WindPowerStation,
+                  @RequestParam(value = "wtid", required = false) String wtid,
+                  @RequestParam(value = "beginDate", required = false) String beginDate,
+                  @RequestParam(value = "endDate", required = false) String endDate) {
+
+        List<Map> Map = operationrecordService.conversion(WindPowerStation, wtid, DateUtils.parseDate(beginDate), DateUtils.parseDate(endDate));
+
+        if (StringUtils.isNotNull(Map)) {
+            return R.ok(Map.size()).data(Map);
+        } else {
+            return R.error().message("访问失败");
+        }
+
     }
 
 }

+ 19 - 2
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/mapper/auto/OperationrecordMapper.java

@@ -21,7 +21,24 @@ public interface OperationrecordMapper extends BaseMapper<Operationrecord> {
     @Select("select * from operationrecord where time>=#{begin} and time <=#{end} ")
     public List<Operationrecord> listByBeginAndEnd(@Param(value = "begin") Date begin, @Param(value = "end")Date end);
 
+
+    @Select({" <script> "
+            + " select s.name, o.wtid, o.id, w.windpowerstationid, o.time, o.value from operationrecord o  left join windturbine w on w.id = o.wtid left join WindPowerStation s on s.id = w.windpowerstationid "
+            + " WHERE 1=1 "
+            + " <if  test='WindPowerStation!=null'> "
+            + " AND w.windpowerstationid = #{WindPowerStation} "
+            + " </if> "
+            + " <if  test='wtid!=null'> "
+            + " AND o.wtid = #{wtid} "
+            + " </if> "
+            + " <if  test='beginDate!=null and null !=endDate '> "
+            + " AND o.time &gt;= #{beginDate}  and o.time &lt;= #{endDate} "
+            + " </if> "
+            + " </script> "})
+    public List<Map> listBy(@Param(value = "WindPowerStation") String WindPowerStation, @Param(value = "wtid") String wtid,
+                            @Param(value = "beginDate") Date beginDate, @Param(value = "endDate") Date endDate);
+
     @Select(" select s.name,o.wtid,o.id,w.windpowerstationid,o.time,o.value from operationrecord o left join windturbine w on w.id = o.wtid left join WindPowerStation s on s.id = w.windpowerstationid where w.windpowerstationid = #{WindPowerStation} and o.wtid = #{wtid} and o.time >=#{beginDate} and o.time <=#{endDate}")
-    public List<Map> listBy(@Param(value = "WindPowerStation") String WindPowerStation,@Param(value = "wtid")String wtid,
-                            @Param(value = "beginDate")Date beginDate,@Param(value = "endDate")Date endDate);
+    public List<Map> conversion(@Param(value = "WindPowerStation") String WindPowerStation,@Param(value = "wtid")String wtid,
+                                @Param(value = "beginDate")Date beginDate,@Param(value = "endDate")Date endDate);
 }

+ 18 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/model/vo/OperationVo.java

@@ -0,0 +1,18 @@
+package com.gyee.benchmarkingimpala.model.vo;
+
+import lombok.Data;
+import java.util.Date;
+
+@Data
+public class OperationVo {
+
+    private long id;
+    private String wtid;
+    private Date time;
+    private int value;
+    private String name;
+    private String windpowerstationid;
+
+
+
+}

+ 11 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/BenchmarkingService.java

@@ -687,6 +687,17 @@ public class BenchmarkingService  {
     }
 
     /**
+     * GF场站列表
+     * @return
+     */
+    public List<Windpowerstation> wpGFList() {
+
+        List<Windpowerstation> wplist = CacheContext.wplist.stream().filter(i->i.getId().endsWith("GDC") && i.getCompanyid().equals("NXGD_GS")).collect(Collectors.toList());
+        return wplist;
+
+    }
+
+    /**
      * 根据场站查询风机列表
      * @param wpid
      * @return

+ 2 - 0
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/auto/IOperationrecordService.java

@@ -20,4 +20,6 @@ public interface IOperationrecordService extends IService<Operationrecord> {
 
     public List<Map> listBy (String WindPowerStation,String wtid,Date beginDate, Date endDate);
 
+    public List<Map> conversion (String WindPowerStation,String wtid,Date beginDate, Date endDate);
+
 }

+ 90 - 7
benchmarking-impala/src/main/java/com/gyee/benchmarkingimpala/service/auto/impl/OperationrecordServiceImpl.java

@@ -1,18 +1,13 @@
 package com.gyee.benchmarkingimpala.service.auto.impl;
 
-import com.gyee.benchmarkingimpala.model.auto.Benchmarkingbetween;
 import com.gyee.benchmarkingimpala.model.auto.Operationrecord;
 import com.gyee.benchmarkingimpala.mapper.auto.OperationrecordMapper;
-import com.gyee.benchmarkingimpala.model.auto.Windpowerstation;
 import com.gyee.benchmarkingimpala.service.auto.IOperationrecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -32,7 +27,95 @@ public class OperationrecordServiceImpl extends ServiceImpl<OperationrecordMappe
     }
 
     public List<Map> listBy (String WindPowerStation,String wtid,Date beginDate, Date endDate) {
-        return operationrecordMapper.listBy(WindPowerStation,wtid,beginDate,endDate);
+        List<Map> map = operationrecordMapper.listBy(WindPowerStation,wtid,beginDate,endDate);
+
+        List<Map> conversiontype = new ArrayList<Map>();
+
+        for (int i = 0;i<map.size();i++) {
+            Map<String, String> maps = new HashMap<>();
+            maps.put("zhsj",map.get(i).get("TIME").toString());//时间
+            maps.put("ConversionName", stateDescriPtion(map.get(i).get("VALUE").toString()));//状态描述
+            maps.put("wtid",map.get(i).get("WTID").toString());
+            maps.put("name",map.get(i).get("NAME").toString());
+            maps.put("id",map.get(i).get("ID").toString());
+            maps.put("windpowerstationid",map.get(i).get("WINDPOWERSTATIONID").toString());
+            conversiontype.add(maps);
+        }
+        return conversiontype;
+
+    }
+
+    public List<Map> conversion (String WindPowerStation,String wtid,Date beginDate, Date endDate) {
+        List<Map> map = operationrecordMapper.listBy(WindPowerStation,wtid,beginDate,endDate);
+
+        List<Map> conversiontype = new ArrayList<Map>();
+
+        for (int i = 0;i<map.size()-1;i++) {
+            Map<String, String> maps = new HashMap<>();
+            maps.put("zhsj",map.get(i).get("TIME").toString());//转换时间
+            maps.put("beforeConversion",map.get(i).get("VALUE").toString());//转换前状态
+            maps.put("beforeConversionName", stateDescriPtion(map.get(i).get("VALUE").toString()));//转换前状态描述
+            maps.put("AfterConversion",map.get(i+1).get("VALUE").toString());//转换后状态
+            maps.put("AfterConversionName", stateDescriPtion(map.get(i+1).get("VALUE").toString()));//转换后状态描述
+            maps.put("wtid",map.get(i).get("WTID").toString());
+            maps.put("name",map.get(i).get("NAME").toString());
+            maps.put("id",map.get(i).get("ID").toString());
+            maps.put("windpowerstationid",map.get(i).get("WINDPOWERSTATIONID").toString());
+            conversiontype.add(maps);
+        }
+
+        return conversiontype;
     }
 
+
+    public  static String stateDescriPtion(String code) {
+
+
+        String  name = "VALUE";
+
+        switch (code) {
+            case "1":
+                name = "启动";
+                break;
+            case "2":
+                name = "停机";
+                break;
+            case "3":
+                name = "复位";
+                break;
+            case "4":
+                name = "维护";
+                break;
+            case "5":
+                name = "取消维护";
+                break;
+            case "6":
+                name = "挂牌检修";
+                break;
+            case "7":
+                name = "挂牌故障维修";
+                break;
+            case "8":
+                name = "挂牌场内受累检修";
+                break;
+            case "9":
+                name = "挂牌场内受累故障";
+                break;
+            case "10":
+                name = "挂牌场外受累电网";
+                break;
+            case "11":
+                name = "挂牌场外受累天气";
+                break;
+            case "12":
+                name = "取消挂牌";
+                break;
+            default:
+                break;
+
+        }
+        return name;
+    }
+
+
 }

+ 2 - 1
cache/src/main/resources/application.yml

@@ -9,8 +9,8 @@ spring:
     allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
   #redis集群
   redis:
+#    host: 49.4.50.80
     host: 10.155.32.4
-#    host: 127.0.0.1
     port: 6379
     timeout: 100000
     #    集群环境打开下面注释,单机不需要打开
@@ -36,6 +36,7 @@ spring:
     driver-class-name: oracle.jdbc.OracleDriver
     #外网
     url: jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd
+#    url: jdbc:oracle:thin:@49.4.50.80:1521:gdnxfd
     #    url: jdbc:oracle:thin:@172.168.1.14:1521:gdnxfd
     username: nxfdprod
     password: gdnxfd123

+ 33 - 3
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/BenchmarkController.java

@@ -1,13 +1,22 @@
 package com.gyee.gradeevaluation.controller.auto;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.gradeevaluation.config.R;
+import com.gyee.gradeevaluation.model.auto.Benchmark;
+import com.gyee.gradeevaluation.model.auto.Windpowerinfoday;
+import com.gyee.gradeevaluation.service.auto.IBenchmarkService;
+import com.gyee.gradeevaluation.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author 谢生杰
@@ -17,4 +26,25 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("//benchmark")
 public class BenchmarkController {
 
+
+    @Autowired
+    private IBenchmarkService benchmarkService;
+
+    /**
+     * 主要指标
+     * @param windPowerStation
+     * @return
+     */
+    @GetMapping("/zyzb")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R zyzb(@RequestParam(value = "windPowerStation", required = false) String windPowerStation) {
+
+        List<Map> resultlist = benchmarkService.zyzb(windPowerStation);
+
+        return R.ok().data(resultlist);
+
+    }
+
+
 }

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportdangerController.java

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

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportdeviationController.java

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

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportpowerfittingController.java

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

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/ReportpowerpartweatherController.java

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

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/WinddeviationrateController.java

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

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/controller/auto/WindpowerdeviationrateController.java

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

+ 24 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportdangerMapper.java

@@ -0,0 +1,24 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportdanger;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface ReportdangerMapper extends BaseMapper<Reportdanger> {
+    @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);
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportdeviationMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportdeviation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface ReportdeviationMapper extends BaseMapper<Reportdeviation> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportpowerfittingMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportpowerfitting;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface ReportpowerfittingMapper extends BaseMapper<Reportpowerfitting> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/ReportpowerpartweatherMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportpowerpartweather;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-17
+ */
+public interface ReportpowerpartweatherMapper extends BaseMapper<Reportpowerpartweather> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/WinddeviationrateMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Winddeviationrate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface WinddeviationrateMapper extends BaseMapper<Winddeviationrate> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/mapper/auto/WindpowerdeviationrateMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.mapper.auto;
+
+import com.gyee.gradeevaluation.model.auto.Windpowerdeviationrate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface WindpowerdeviationrateMapper extends BaseMapper<Windpowerdeviationrate> {
+
+}

+ 55 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportdanger.java

@@ -0,0 +1,55 @@
+package com.gyee.gradeevaluation.model.auto;
+
+import java.math.BigDecimal;
+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 com.gyee.gradeevaluation.util.DoubleUtils;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("REPORTDANGER")
+public class Reportdanger extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("WPID")
+    private String wpid;
+
+    @TableField("PART")
+    private String part;
+
+    @TableField("DANGER")
+    private String danger;
+
+    @TableField("COUNT")
+    private Integer count;
+
+    @TableField("COUNTAVG")
+    private Integer countavg;
+
+    @TableField("TIMES")
+    private Double times;
+
+    @TableField("TIMESAVG")
+    private Double timesavg;
+
+
+}

+ 45 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportdeviation.java

@@ -0,0 +1,45 @@
+package com.gyee.gradeevaluation.model.auto;
+
+import java.math.BigDecimal;
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("REPORTDEVIATION")
+public class Reportdeviation extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("RECORDDATE")
+    private Date recorddate;
+
+    @TableField("PCL")
+    private Double pcl;
+
+    @TableField("JZZ")
+    private Double jzz;
+
+
+}

+ 48 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportpowerfitting.java

@@ -0,0 +1,48 @@
+package com.gyee.gradeevaluation.model.auto;
+
+import java.math.BigDecimal;
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("REPORTPOWERFITTING")
+public class Reportpowerfitting extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("YEAR")
+    private Integer year;
+
+    @TableField("MONTH")
+    private Integer month;
+
+    @TableField("SPEED")
+    private Integer speed;
+
+    @TableField("NHGL")
+    private Double nhgl;
+
+    @TableField("BZGL")
+    private Double bzgl;
+
+
+}

+ 48 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Reportpowerpartweather.java

@@ -0,0 +1,48 @@
+package com.gyee.gradeevaluation.model.auto;
+
+import java.math.BigDecimal;
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("REPORTPOWERPARTWEATHER")
+public class Reportpowerpartweather extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("PARTNAME")
+    private String partname;
+
+    @TableField("NAME")
+    private String name;
+
+    @TableField("POWER")
+    private String power;
+
+    @TableField("DATAVALUE")
+    private Double datavalue;
+
+    @TableField("EARLYWARNINGVALUE")
+    private Double earlywarningvalue;
+
+
+}

+ 40 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Winddeviationrate.java

@@ -0,0 +1,40 @@
+package com.gyee.gradeevaluation.model.auto;
+
+import java.math.BigDecimal;
+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 io.swagger.models.auth.In;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDDEVIATIONRATE")
+public class Winddeviationrate extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("TYPE")
+    private String type;
+
+    @TableField("COUNT")
+    private Integer count;
+
+
+}

+ 42 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/auto/Windpowerdeviationrate.java

@@ -0,0 +1,42 @@
+package com.gyee.gradeevaluation.model.auto;
+
+import java.math.BigDecimal;
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("WINDPOWERDEVIATIONRATE")
+public class Windpowerdeviationrate extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private String id;
+
+    @TableField("WTID")
+    private String wtid;
+
+    @TableField("TYPEVALUE")
+    private Double typevalue;
+
+    @TableField("VALUE")
+    private Double value;
+
+    @TableField("TYPE")
+    private Integer type;
+
+
+}

+ 1 - 1
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/healthreport/DfpclSpeedVo.java

@@ -14,6 +14,6 @@ import java.io.Serializable;
 public class DfpclSpeedVo implements Serializable {
     private static final long serialVersionUID = -2971071084255391957L;
     //风速不合格率曲线(风速,不合格率)
-    private Integer speed;
+    private Double speed;
     private Double dfpcl;
 }

+ 1 - 1
gradeevaluation/src/main/java/com/gyee/gradeevaluation/model/healthreport/NhglVo.java

@@ -14,7 +14,7 @@ import java.io.Serializable;
 public class NhglVo implements Serializable {
     private static final long serialVersionUID = -684477821231671554L;
     //拟合功率曲线(风速,拟合功率,保证功率,点值)
-    private Double speed;
+    private Integer speed;
     private Double nhgl;
     private Double bzgl;
     private Double pointvalue;

+ 6 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IBenchmarkService.java

@@ -3,6 +3,9 @@ package com.gyee.gradeevaluation.service.auto;
 import com.gyee.gradeevaluation.model.auto.Benchmark;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IBenchmarkService extends IService<Benchmark> {
 
+
+    public List<Map> zyzb(String windPowerStation);
+
 }

+ 21 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportdangerService.java

@@ -0,0 +1,21 @@
+package com.gyee.gradeevaluation.service.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportdanger;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface IReportdangerService extends IService<Reportdanger> {
+
+    List<Reportdanger> getBjyhdb(String id);
+
+    List<Reportdanger> getBjyhdbBywt(String id);
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportdeviationService.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.service.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportdeviation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface IReportdeviationService extends IService<Reportdeviation> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportpowerfittingService.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.service.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportpowerfitting;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface IReportpowerfittingService extends IService<Reportpowerfitting> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IReportpowerpartweatherService.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.service.auto;
+
+import com.gyee.gradeevaluation.model.auto.Reportpowerpartweather;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-17
+ */
+public interface IReportpowerpartweatherService extends IService<Reportpowerpartweather> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IWinddeviationrateService.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.service.auto;
+
+import com.gyee.gradeevaluation.model.auto.Winddeviationrate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface IWinddeviationrateService extends IService<Winddeviationrate> {
+
+}

+ 16 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/IWindpowerdeviationrateService.java

@@ -0,0 +1,16 @@
+package com.gyee.gradeevaluation.service.auto;
+
+import com.gyee.gradeevaluation.model.auto.Windpowerdeviationrate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+public interface IWindpowerdeviationrateService extends IService<Windpowerdeviationrate> {
+
+}

+ 43 - 1
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/BenchmarkServiceImpl.java

@@ -1,14 +1,21 @@
 package com.gyee.gradeevaluation.service.auto.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.gradeevaluation.config.R;
 import com.gyee.gradeevaluation.model.auto.Benchmark;
 import com.gyee.gradeevaluation.mapper.auto.BenchmarkMapper;
 import com.gyee.gradeevaluation.service.auto.IBenchmarkService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.gradeevaluation.util.BigDecimalUtils;
+import com.gyee.gradeevaluation.util.DateUtils;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.*;
+
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author 谢生杰
@@ -17,4 +24,39 @@ import org.springframework.stereotype.Service;
 @Service
 public class BenchmarkServiceImpl extends ServiceImpl<BenchmarkMapper, Benchmark> implements IBenchmarkService {
 
+    @Override
+    public List<Map> zyzb(String windPowerStation) {
+        Date monthFirst = DateUtils.getMonthFirst(new Date());
+        Date monthLast = DateUtils.getMonthLast(new Date());
+        QueryWrapper<Benchmark> wrapper = new QueryWrapper<>();
+        wrapper.select("foreignkeyid, sum(actualpower) actualpower," +
+                "sum(theoreticalpower) theoreticalpower," +
+                "avg(comprehensiverate) comprehensiverate," +
+                "sum(utilizationhours) utilizationhours," +
+                "avg(availability) availability," +
+                " sum(mtbf) mtbf,sum(mttr) mttr");
+        if (null != windPowerStation && !"".equals(windPowerStation)) {
+            wrapper.eq("foreignkeyid", windPowerStation);
+        }
+        wrapper.ge("recorddate", monthFirst).le("recorddate", monthLast);
+        wrapper.groupBy("foreignkeyid");
+        List<Benchmark> resultlist = this.list(wrapper);
+        List<Map> list = new ArrayList<>();
+        resultlist.stream().forEach(i -> {
+            Map m = new HashMap();
+            m.put("foreignkeyid", i.getForeignkeyid());
+            if (i.getTheoreticalpower().compareTo(BigDecimal.ZERO) != 0) {
+                m.put("actualpower", (BigDecimalUtils.divide(i.getActualpower(), i.getTheoreticalpower(), 2).multiply(new BigDecimal(100))));
+            } else {
+                m.put("actualpower", 0.00);
+            }
+            m.put("comprehensiverate", BigDecimalUtils.add(i.getComprehensiverate(), new BigDecimal(0), 2));//综合厂用电率
+            m.put("utilizationhours", i.getUtilizationhours());//利用小时
+            m.put("availability", BigDecimalUtils.add(i.getAvailability(), new BigDecimal(0), 2));//设备可利用率
+            m.put("mtbf", i.getMtbf());
+            m.put("mttr", i.getMttr());
+            list.add(m);
+        });
+        return list;
+    }
 }

+ 33 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportdangerServiceImpl.java

@@ -0,0 +1,33 @@
+package com.gyee.gradeevaluation.service.auto.impl;
+
+import com.gyee.gradeevaluation.model.auto.Reportdanger;
+import com.gyee.gradeevaluation.mapper.auto.ReportdangerMapper;
+import com.gyee.gradeevaluation.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>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Service
+public class ReportdangerServiceImpl extends ServiceImpl<ReportdangerMapper, Reportdanger> implements IReportdangerService {
+    @Resource
+    private ReportdangerMapper reportdangerMapper;
+    @Override
+    public List<Reportdanger> getBjyhdb(String id) {
+        return reportdangerMapper.getBjyhdb(id);
+    }
+
+    @Override
+    public List<Reportdanger> getBjyhdbBywt(String id) {
+        return reportdangerMapper.getBjyhdbBywt(id);
+    }
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportdeviationServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.service.auto.impl;
+
+import com.gyee.gradeevaluation.model.auto.Reportdeviation;
+import com.gyee.gradeevaluation.mapper.auto.ReportdeviationMapper;
+import com.gyee.gradeevaluation.service.auto.IReportdeviationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Service
+public class ReportdeviationServiceImpl extends ServiceImpl<ReportdeviationMapper, Reportdeviation> implements IReportdeviationService {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportpowerfittingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.service.auto.impl;
+
+import com.gyee.gradeevaluation.model.auto.Reportpowerfitting;
+import com.gyee.gradeevaluation.mapper.auto.ReportpowerfittingMapper;
+import com.gyee.gradeevaluation.service.auto.IReportpowerfittingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Service
+public class ReportpowerfittingServiceImpl extends ServiceImpl<ReportpowerfittingMapper, Reportpowerfitting> implements IReportpowerfittingService {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/ReportpowerpartweatherServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.service.auto.impl;
+
+import com.gyee.gradeevaluation.model.auto.Reportpowerpartweather;
+import com.gyee.gradeevaluation.mapper.auto.ReportpowerpartweatherMapper;
+import com.gyee.gradeevaluation.service.auto.IReportpowerpartweatherService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-17
+ */
+@Service
+public class ReportpowerpartweatherServiceImpl extends ServiceImpl<ReportpowerpartweatherMapper, Reportpowerpartweather> implements IReportpowerpartweatherService {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/WinddeviationrateServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.service.auto.impl;
+
+import com.gyee.gradeevaluation.model.auto.Winddeviationrate;
+import com.gyee.gradeevaluation.mapper.auto.WinddeviationrateMapper;
+import com.gyee.gradeevaluation.service.auto.IWinddeviationrateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Service
+public class WinddeviationrateServiceImpl extends ServiceImpl<WinddeviationrateMapper, Winddeviationrate> implements IWinddeviationrateService {
+
+}

+ 20 - 0
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/auto/impl/WindpowerdeviationrateServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.gradeevaluation.service.auto.impl;
+
+import com.gyee.gradeevaluation.model.auto.Windpowerdeviationrate;
+import com.gyee.gradeevaluation.mapper.auto.WindpowerdeviationrateMapper;
+import com.gyee.gradeevaluation.service.auto.IWindpowerdeviationrateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2021-10-15
+ */
+@Service
+public class WindpowerdeviationrateServiceImpl extends ServiceImpl<WindpowerdeviationrateMapper, Windpowerdeviationrate> implements IWindpowerdeviationrateService {
+
+}

+ 4 - 3
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/gradeevaluation/QuartService.java

@@ -337,7 +337,8 @@ public class QuartService {
                         List<Windturbine> windturbines = wtmap.get(wpid);
                         if (StringUtils.isNotNull(dayTargets)) {
                             if (timetypes.contains("日")){
-                                List<Windturbineinfodaytop3> windturbineinfodaytop3s = map.get(wpid).stream().filter(i->i.getType()==1).collect(Collectors.toList());
+                                List<Windturbineinfodaytop3> windturbineinfodaytop3s1 = map.get(wpid);
+                                List<Windturbineinfodaytop3> windturbineinfodaytop3s = windturbineinfodaytop3s1.stream().filter(i->String.valueOf(i.getType()).equals("1")).collect(Collectors.toList());
                                 if (StringUtils.isNotEmpty(windturbineinfodaytop3s)){
                                     for (Evaluationdatasource dayTarget : dayTargets) {
                                         if (dayTarget.getSort().equals("升序")) {
@@ -390,7 +391,7 @@ public class QuartService {
                                 }
                             }
                             if (timetypes.contains("月")){
-                                List<Windturbineinfodaytop3> windturbineinfodaytop3s = map.get(wpid).stream().filter(i->i.getType()==3).collect(Collectors.toList());
+                                List<Windturbineinfodaytop3> windturbineinfodaytop3s = map.get(wpid).stream().filter(i->String.valueOf(i.getType()).equals("2")).collect(Collectors.toList());
                                 if(StringUtils.isNotEmpty(windturbineinfodaytop3s)){
                                     for (Evaluationdatasource dayTarget : dayTargets) {
                                         if (dayTarget.getSort().equals("升序")) {
@@ -446,7 +447,7 @@ public class QuartService {
                                 }
                             }
                             if (timetypes.contains("年")){
-                                List<Windturbineinfodaytop3> windturbineinfodaytop3s = map.get(wpid).stream().filter(i->i.getType()==3).collect(Collectors.toList());
+                                List<Windturbineinfodaytop3> windturbineinfodaytop3s = map.get(wpid).stream().filter(i->String.valueOf(i.getType()).equals("3")).collect(Collectors.toList());
                                 if(StringUtils.isNotEmpty(windturbineinfodaytop3s)){
                                     for (Evaluationdatasource dayTarget : dayTargets) {
                                         if (dayTarget.getSort().equals("升序")) {

+ 171 - 116
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/health/HealthReportService.java

@@ -11,6 +11,7 @@ import com.gyee.gradeevaluation.model.auto.*;
 import com.gyee.gradeevaluation.model.healthreport.*;
 import com.gyee.gradeevaluation.service.auto.*;
 import com.gyee.gradeevaluation.util.*;
+import com.gyee.gradeevaluation.util.golden.timeseries.StringUtil;
 import io.lettuce.core.GeoArgs;
 import org.springframework.stereotype.Service;
 
@@ -72,6 +73,18 @@ public class HealthReportService {
     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;
 
     /**
      * 保存风机报告
@@ -201,14 +214,21 @@ public class HealthReportService {
 
         }
         //功率曲线拟合
-        List<Windturbinecurvefittingmonth> glqxnhlist = windturbinecurvefittingmonthService.glqxnhlist(wt.getId(),year,month);
+        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.getActualpower());
+//                vo.setBzgl(i.getOptimalpower());
+                vo.setNhgl(i.getNhgl());
+                vo.setBzgl(i.getBzgl());
                 list.add(vo);
             });
             SortUtils.sort(list,"speed",SortUtils.ASC);
@@ -216,14 +236,21 @@ public class HealthReportService {
         }
 
         //曲线偏差率
-        List<Wtreportsub> wtreportsub = wtreportsubService.qxpcllist(wt.getId(),day);
+        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.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);
@@ -255,7 +282,7 @@ public class HealthReportService {
         //对风偏差第三段
         QueryWrapper<Windturbinepoweryaw> windturbinepoweryawQueryWrapper = new QueryWrapper<>();
         windturbinepoweryawQueryWrapper.eq("windturbineid",wt.getId());
-        windturbinepoweryawQueryWrapper.ge("recorddate",monthFirst).le("recorddate",yestday);
+        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());
@@ -271,76 +298,98 @@ public class HealthReportService {
         }
 
         //对风偏差图
-        List<Windturbinepoweryaw> glqxts =windturbinepoweryawService.getPowerDraw(wt.getId(),day);
+        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.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<Windturbinewindyaw> fsqxts =windturbinewindyawService.getPowerDraw(wt.getId(),day);
+        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(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);
         }
-
-        List<Windturbinewindyaw> nzs =windturbinewindyawService.getnzt(wt.getId(),day);
-        if(nzs.get(0)!=null){
-            Windturbinewindyaw windturbinewindyaw = nzs.get(0);
-            Field[] field = windturbinewindyaw.getClass().getDeclaredFields(); // 获取实体类的所有属性,返回Field数组
+        QueryWrapper<Winddeviationrate> winddeviationrateQueryWrapper = new QueryWrapper<>();
+        winddeviationrateQueryWrapper.eq("wtid",wt.getId());
+        List<Winddeviationrate> winddeviationrates = winddeviationrateService.list(winddeviationrateQueryWrapper);
+        if (winddeviationrates!=null){
             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);
+            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);
-            } 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<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);
@@ -368,73 +417,73 @@ public class HealthReportService {
         healthReportVo.setQrqcs(qrqcVos);
 
         //可靠性
-        List<Jkbgbjyh> jkbgbjyhs = jkbgbjyhService.getBjyhdb(wt.getId(),day);
-
+//        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.getType()).collect(Collectors.toList());
+            List<String> types = jkbgbjyhs.stream().map(i -> i.getPart()).collect(Collectors.toList());
             BjyhdbVo sj = new BjyhdbVo();
             sj.setForeignkeyid(wt.getId());
             if (types.contains("传动链")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("传动链")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("传动链")).findFirst().get();
                 sj.setCdlcount(cdl.getCount());
-                sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setCdlcount(0);
                 sj.setCdltimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("测风系统")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("测风系统")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("测风系统")).findFirst().get();
                 sj.setCfxtcount(cdl.getCount());
-                sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setCfxtcount(0);
                 sj.setCfxttimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("齿轮箱")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("齿轮箱")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("齿轮箱")).findFirst().get();
                 sj.setClxcount(cdl.getCount());
-                sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setClxcount(0);
                 sj.setClxtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("发电机")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("发电机")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("发电机")).findFirst().get();
                 sj.setFdjcount(cdl.getCount());
-                sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setFdjcount(0);
                 sj.setFdjtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("变桨")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("变桨")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("变桨")).findFirst().get();
                 sj.setBjcount(cdl.getCount());
-                sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setBjcount(0);
                 sj.setBjtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("机舱")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("机舱")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("机舱")).findFirst().get();
                 sj.setJccount(cdl.getCount());
-                sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setJccount(0);
                 sj.setJctimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("偏航")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("偏航")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("偏航")).findFirst().get();
                 sj.setPhcount(cdl.getCount());
-                sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
             }else {
                 sj.setPhcount(0);
                 sj.setPhtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("塔底柜")){
-                Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("塔底柜")).findFirst().get();
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("塔底柜")).findFirst().get();
                 sj.setTdgcount(cdl.getCount());
-                sj.setTdgtimes(cdl.getTime());
+                sj.setTdgtimes(cdl.getTimes());
             }else {
                 sj.setTdgcount(0);
                 sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
@@ -462,71 +511,71 @@ public class HealthReportService {
                 sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
             bjyhdbs.add(sj);
         }
-        List<Jkbgbjyh> jkbgbjyhsjz = jkbgbjyhService.getBjyhdbjz(wt.getWindpowerstationid(),day);
-        if (jkbgbjyhsjz!=null && jkbgbjyhsjz.size()>0){
-            List<String> types = jkbgbjyhsjz.stream().map(i -> i.getType()).collect(Collectors.toList());
+//        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("平均值");
             if (types.contains("传动链")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("传动链")).findFirst().get();
-                sj.setCdlcount(cdl.getCount());
-                sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("传动链")).findFirst().get();
+                sj.setCdlcount(cdl.getCountavg());
+                sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setCdlcount(0);
                 sj.setCdltimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("测风系统")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("测风系统")).findFirst().get();
-                sj.setCfxtcount(cdl.getCount());
-                sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("测风系统")).findFirst().get();
+                sj.setCfxtcount(cdl.getCountavg());
+                sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setCfxtcount(0);
                 sj.setCfxttimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("齿轮箱")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("齿轮箱")).findFirst().get();
-                sj.setClxcount(cdl.getCount());
-                sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("齿轮箱")).findFirst().get();
+                sj.setClxcount(cdl.getCountavg());
+                sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setClxcount(0);
                 sj.setClxtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("发电机")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("发电机")).findFirst().get();
-                sj.setFdjcount(cdl.getCount());
-                sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("发电机")).findFirst().get();
+                sj.setFdjcount(cdl.getCountavg());
+                sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setFdjcount(0);
                 sj.setFdjtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("变桨")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("变桨")).findFirst().get();
-                sj.setBjcount(cdl.getCount());
-                sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("变桨")).findFirst().get();
+                sj.setBjcount(cdl.getCountavg());
+                sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setBjcount(0);
                 sj.setBjtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("机舱")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("机舱")).findFirst().get();
-                sj.setJccount(cdl.getCount());
-                sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("机舱")).findFirst().get();
+                sj.setJccount(cdl.getCountavg());
+                sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setJccount(0);
                 sj.setJctimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("偏航")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("偏航")).findFirst().get();
-                sj.setPhcount(cdl.getCount());
-                sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("偏航")).findFirst().get();
+                sj.setPhcount(cdl.getCountavg());
+                sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setPhcount(0);
                 sj.setPhtimes(DoubleUtils.getRoundingNum(0.0,0));
             }
             if (types.contains("塔底柜")){
-                Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("塔底柜")).findFirst().get();
-                sj.setTdgcount(cdl.getCount());
-                sj.setTdgtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
+                Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("塔底柜")).findFirst().get();
+                sj.setTdgcount(cdl.getCountavg());
+                sj.setTdgtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
             }else {
                 sj.setTdgcount(0);
                 sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
@@ -557,23 +606,25 @@ public class HealthReportService {
             bjyhdbs.add(sj);
         }
         healthReportVo.setBjyhdbs(bjyhdbs);
-
-        List<Jkbgbjyh> yht2sj = jkbgbjyhService.getBjyhdbBywt(wt.getId(),day);
-        List<Jkbgbjyh> yht2jz = jkbgbjyhService.getBjyhdbBywp(wt.getWindpowerstationid(),day);
+        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.getType());
-                vo.setYhmx(i.getAlerttext());
+                vo.setPart(i.getPart());
+                vo.setYhmx(i.getDanger());
                 vo.setCount(i.getCount());
-                vo.setTimes(DoubleUtils.getRoundingNum(i.getTime(),0));
+                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));
-            });
+//            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);
 
         }
@@ -587,17 +638,21 @@ public class HealthReportService {
         SortUtils.sort(faultstatisticwindturbines,"monthwarningnum",SortUtils.DESC);
         healthReportVo.setFaultclass(faultstatisticwindturbines);
         //功率对部件温度影响
-        List<Bjgltjb> bjgltjbs = bjgltjbService.getpartwds(wt.getId(),day);
+
+        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.getPartid());
+                vo.setPart(i.getPartname());
                 vo.setType(i.getName());
                 vo.setPower(i.getPower());
                 vo.setValue(i.getDatavalue());
-                vo.setMeanvalue(0.0);
+                vo.setMeanvalue(i.getEarlywarningvalue());
                 partwds.add(vo);
             });
             SortUtils.sort(partwds,"part",SortUtils.DESC);

+ 57 - 43
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/mttrmtbf/MTTRMTBFTaskService.java

@@ -250,24 +250,29 @@ public class MTTRMTBFTaskService {
             infodayQw.le("recorddate",monthLast);
             List<Windpowerinfoday> indodayList = windpowerinfodayService.list(infodayQw);
 
-            //取出所有故障的snapid
-            QueryWrapper<Faultsnap> snapQw = new QueryWrapper<>();
-            snapQw.eq("category1","FJ").eq("category2","GZ");
-            List<Faultsnap> snapList = faultsnapService.list(snapQw);
-            Map<BigDecimal,Faultsnap> snapMap = new HashMap<>();
-            snapList.stream().forEach(i->{
-                snapMap.put(i.getId(),i);
-            });
-
-            List<BigDecimal> snapids = faultsnapService.list(snapQw).stream().map(i -> i.getId()).collect(Collectors.toList());
-
-            //取出一月故障流水记录
-            QueryWrapper<Faulthistory> historyQw = new QueryWrapper<>();
-//            historyQw.like("faulttime",date);
-//            Date addDay = DateUtils.addDays(date, 1);
-            historyQw.ge("faulttime",monthFirst).le("faulttime",monthLast);
-            historyQw.in("snapid",snapids);
-            List<Faulthistory> historyList = faulthistoryService.list(historyQw);
+            QueryWrapper<Shutdownevent> shutdowneventQueryWrapper = new QueryWrapper<>();
+            Date addDay = DateUtils.addDays(date, 1);
+            shutdowneventQueryWrapper.ge("stoptime",monthFirst).lt("stoptime",addDay);
+            List<Shutdownevent> historyList = shutdowneventService.list(shutdowneventQueryWrapper);
+
+//            //取出所有故障的snapid
+//            QueryWrapper<Faultsnap> snapQw = new QueryWrapper<>();
+//            snapQw.eq("category1","FJ").eq("category2","GZ");
+//            List<Faultsnap> snapList = faultsnapService.list(snapQw);
+//            Map<BigDecimal,Faultsnap> snapMap = new HashMap<>();
+//            snapList.stream().forEach(i->{
+//                snapMap.put(i.getId(),i);
+//            });
+//
+//            List<BigDecimal> snapids = faultsnapService.list(snapQw).stream().map(i -> i.getId()).collect(Collectors.toList());
+//
+//            //取出一月故障流水记录
+//            QueryWrapper<Faulthistory> historyQw = new QueryWrapper<>();
+////            historyQw.like("faulttime",date);
+////            Date addDay = DateUtils.addDays(date, 1);
+//            historyQw.ge("faulttime",monthFirst).le("faulttime",monthLast);
+//            historyQw.in("snapid",snapids);
+//            List<Faulthistory> historyList = faulthistoryService.list(historyQw);
             double fdFaulttime = 0;
             long fdFaultcount = 0;
             double fdWthours = 0;
@@ -284,7 +289,7 @@ public class MTTRMTBFTaskService {
                 if (StringUtils.isNotNull(windpowerinfodayList)){
                     faulttime = windpowerinfodayList.stream().mapToDouble(Windpowerinfoday::getFaulttime).sum();
                 }
-                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getStationid().equals(windpowerstation.getId())).count();
+                long faultcount = historyList.stream().filter(i -> i.getWindpowerstationid().equals(windpowerstation.getId())).count();
                 zFaulttime += faulttime;
                 zFaultcount += faultcount;
                 zWthours += BigDecimalUtils.multiply(BigDecimalUtils.multiply(windpowerstation.getQuantity(),new BigDecimal(24),2),new BigDecimal(getDays(DateUtils.toDate1(monthFirst),DateUtils.toDate1(monthLast)).size()),2).doubleValue();
@@ -315,7 +320,7 @@ public class MTTRMTBFTaskService {
                 if (StringUtils.isNotNull(windpowerinfodayList)){
                     faulttime = windpowerinfodayList.stream().mapToDouble(Windpowerinfoday::getFaulttime).sum();
                 }
-                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getProjectid().equals(project.getId())).count();
+                long faultcount = historyList.stream().filter(i -> i.getProjectid().equals(project.getId())).count();
 
                 Wpmttrandmtbmonth w = new Wpmttrandmtbmonth();
                 w.setId(StringUtils.getUUID());
@@ -336,7 +341,8 @@ public class MTTRMTBFTaskService {
                 if (StringUtils.isNotNull(windpowerinfodayList)){
                     faulttime = windpowerinfodayList.stream().mapToDouble(Windpowerinfoday::getFaulttime).sum();
                 }
-                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getLineid().equals(line.getId())).count();
+//                long faultcount = historyList.stream().filter(i -> i.().equals(line.getId())).count();
+                long faultcount = historyList.stream().filter(i -> CacheContext.wmap.get(i.getWindturbineid()).getLineid().equals(line.getId())).count();
 
 
                 Wpmttrandmtbmonth w = new Wpmttrandmtbmonth();
@@ -367,7 +373,8 @@ public class MTTRMTBFTaskService {
                 if (first.isPresent()){
                     faulttime = first.get().getFaulttime();
                 }
-                double faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getWindturbineid().equals(windturbine.getId())).count();
+//                double faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getWindturbineid().equals(windturbine.getId())).count();
+                double faultcount = historyList.stream().filter(i -> i.getWindturbineid().equals(windturbine.getId())).count();
                 Wtmttrandmtbfmonth w = new Wtmttrandmtbfmonth();
                 w.setId(StringUtils.getUUID());
                 w.setWtid(windturbine.getId());
@@ -440,24 +447,30 @@ public class MTTRMTBFTaskService {
             infodayQw.le("recorddate",yearLast);
             List<Windpowerinfoday> indodayList = windpowerinfodayService.list(infodayQw);
 
-            //取出所有故障的snapid
-            QueryWrapper<Faultsnap> snapQw = new QueryWrapper<>();
-            snapQw.eq("category1","FJ").eq("category2","GZ");
-            List<Faultsnap> snapList = faultsnapService.list(snapQw);
-            Map<BigDecimal,Faultsnap> snapMap = new HashMap<>();
-            snapList.stream().forEach(i->{
-                snapMap.put(i.getId(),i);
-            });
 
-            List<BigDecimal> snapids = faultsnapService.list(snapQw).stream().map(i -> i.getId()).collect(Collectors.toList());
+            QueryWrapper<Shutdownevent> shutdowneventQueryWrapper = new QueryWrapper<>();
+            Date addDay = DateUtils.addDays(date, 1);
+            shutdowneventQueryWrapper.ge("stoptime",yearFirst).lt("stoptime",addDay);
+            List<Shutdownevent> historyList = shutdowneventService.list(shutdowneventQueryWrapper);
 
-            //取出一年故障流水记录
-            QueryWrapper<Faulthistory> historyQw = new QueryWrapper<>();
-//            historyQw.like("faulttime",date);
-//            Date addDay = DateUtils.addDays(date, 1);
-            historyQw.ge("faulttime",yearFirst).le("faulttime",yearLast);
-            historyQw.in("snapid",snapids);
-            List<Faulthistory> historyList = faulthistoryService.list(historyQw);
+//            //取出所有故障的snapid
+//            QueryWrapper<Faultsnap> snapQw = new QueryWrapper<>();
+//            snapQw.eq("category1","FJ").eq("category2","GZ");
+//            List<Faultsnap> snapList = faultsnapService.list(snapQw);
+//            Map<BigDecimal,Faultsnap> snapMap = new HashMap<>();
+//            snapList.stream().forEach(i->{
+//                snapMap.put(i.getId(),i);
+//            });
+//
+//            List<BigDecimal> snapids = faultsnapService.list(snapQw).stream().map(i -> i.getId()).collect(Collectors.toList());
+//
+//            //取出一年故障流水记录
+//            QueryWrapper<Faulthistory> historyQw = new QueryWrapper<>();
+////            historyQw.like("faulttime",date);
+////            Date addDay = DateUtils.addDays(date, 1);
+//            historyQw.ge("faulttime",yearFirst).le("faulttime",yearLast);
+//            historyQw.in("snapid",snapids);
+//            List<Faulthistory> historyList = faulthistoryService.list(historyQw);
             double fdFaulttime = 0;
             long fdFaultcount = 0;
             double fdWthours = 0;
@@ -476,7 +489,7 @@ public class MTTRMTBFTaskService {
                 if (StringUtils.isNotNull(windpowerinfodayList)){
                     faulttime = windpowerinfodayList.stream().mapToDouble(Windpowerinfoday::getFaulttime).sum();
                 }
-                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getStationid().equals(windpowerstation.getId())).count();
+                long faultcount = historyList.stream().filter(i -> i.getWindpowerstationid().equals(windpowerstation.getId())).count();
                 zFaulttime += faulttime;
                 zFaultcount += faultcount;
                 zWthours += BigDecimalUtils.multiply(BigDecimalUtils.multiply(windpowerstation.getQuantity(),new BigDecimal(24),2),new BigDecimal(size),2).doubleValue();
@@ -506,7 +519,7 @@ public class MTTRMTBFTaskService {
                 if (StringUtils.isNotNull(windpowerinfodayList)){
                     faulttime = windpowerinfodayList.stream().mapToDouble(Windpowerinfoday::getFaulttime).sum();
                 }
-                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getProjectid().equals(project.getId())).count();
+                long faultcount = historyList.stream().filter(i -> i.getProjectid().equals(project.getId())).count();
 
                 Wpmttrandmtbfyear w = new Wpmttrandmtbfyear();
                 w.setId(StringUtils.getUUID());
@@ -526,8 +539,8 @@ public class MTTRMTBFTaskService {
                 if (StringUtils.isNotNull(windpowerinfodayList)){
                     faulttime = windpowerinfodayList.stream().mapToDouble(Windpowerinfoday::getFaulttime).sum();
                 }
-                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getLineid().equals(line.getId())).count();
-
+//                long faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getLineid().equals(line.getId())).count();
+                long faultcount = historyList.stream().filter(i -> CacheContext.wmap.get(i.getWindturbineid()).getLineid().equals(line.getId())).count();
 
                 Wpmttrandmtbfyear w = new Wpmttrandmtbfyear();
                 w.setId(StringUtils.getUUID());
@@ -558,7 +571,8 @@ public class MTTRMTBFTaskService {
                 if (first.isPresent()){
                     faulttime = first.get().getFaulttime();
                 }
-                double faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getWindturbineid().equals(windturbine.getId())).count();
+//                double faultcount = historyList.stream().filter(i -> snapMap.get(i.getSnapid()).getWindturbineid().equals(windturbine.getId())).count();
+                double faultcount = historyList.stream().filter(i -> i.getWindturbineid().equals(windturbine.getId())).count();
                 Wtmttrandmtbfyear w = new Wtmttrandmtbfyear();
                 w.setId(StringUtils.getUUID());
                 w.setWtid(windturbine.getId());

+ 0 - 15
gradeevaluation/src/main/java/com/gyee/gradeevaluation/service/threerate/ThreeRateService.java

@@ -54,9 +54,7 @@ public class ThreeRateService {
 //        qw.groupBy("windpwoerid");
         List<Statetransitionrates> list = statetransitionratesService.listZdy(beginDate,endDate);
         getData(resultList, list);
-
         SortUtils.sort(resultList,"ordernum",SortUtils.ASC);
-
         return resultList;
     }
 
@@ -109,9 +107,7 @@ public class ThreeRateService {
             esfz.updateAndGet(v -> new Double((double) (v + i.getTimerate19())));
             yfwcs.updateAndGet(v -> new Double((double) (v + i.getTimerate20())));
             FwjslVo vo = new FwjslVo();
-
             vo.setOrdernum(station.get(i.getWindpwoerid()));
-
             vo.setWpid(CacheContext.wpmap.get(i.getWindpwoerid()).getName());
             vo.setYfwcs(i.getTimerate20());
 
@@ -159,9 +155,7 @@ public class ThreeRateService {
             esfz.updateAndGet(v -> new Double((double) (v + i.getTimerate4())));
             yfwcs.updateAndGet(v -> new Double((double) (v + i.getTimerate13())));
             FwjslVo vo = new FwjslVo();
-
             vo.setOrdernum(station.get(i.getWindpwoerid()));
-
             vo.setWpid(CacheContext.wpmap.get(i.getWindpwoerid()).getName());
             vo.setYfwcs(i.getTimerate13());
 
@@ -180,7 +174,6 @@ public class ThreeRateService {
         vo.setWpid("合计");
 
         vo.setOrdernum(BigDecimal.valueOf(station.size()+1));
-
         vo.setYfwcs(yfwcs.get());
         vo.setWfz(wfz.get());
         vo.setSfz(sfz.get());
@@ -198,8 +191,6 @@ public class ThreeRateService {
 
         Map<String, BigDecimal> station =  windpowerstationService.list()
                 .stream().collect(Collectors.toMap(Windpowerstation::getId,Windpowerstation::getOrdernum));
-
-
         AtomicReference<Double> wfz = new AtomicReference<>((double) 0);
         AtomicReference<Double> sfz = new AtomicReference<>((double) 0);
         AtomicReference<Double> swfz = new AtomicReference<>((double) 0);
@@ -215,8 +206,6 @@ public class ThreeRateService {
 
 
             vo.setOrdernum(station.get(i.getWindpwoerid()));
-
-
             vo.setWpid(CacheContext.wpmap.get(i.getWindpwoerid()).getName());
             vo.setYfwcs(i.getTimerate14());
 
@@ -288,11 +277,7 @@ public class ThreeRateService {
         });
         FwjslVo vo = new FwjslVo();
         vo.setWpid("合计");
-
-
         vo.setOrdernum(BigDecimal.valueOf(station.size()+1));
-
-
         vo.setYfwcs(yfwcs.get());
         vo.setWfz(wfz.get());
         vo.setSfz(sfz.get());

+ 1 - 1
gradeevaluation/src/main/java/com/gyee/gradeevaluation/util/DateUtils.java

@@ -478,7 +478,7 @@ public class DateUtils {
         int month = getMonth(date);
         int year = getYear(date);
         calendar.set(Calendar.YEAR, year);
-        calendar.set(Calendar.MONTH, month);
+        calendar.set(Calendar.MONTH, month-1);
         calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
         Date currYearFirst = calendar.getTime();
         return currYearFirst;

+ 6 - 3
gradeevaluation/src/main/java/com/gyee/gradeevaluation/variable/MainConstant.java

@@ -60,9 +60,10 @@ public class MainConstant {
     // 马场湖日照强度
 
 
-    public static final String JSFW_HZJRFDLB = "HZJGDCJSFW.NX_GD_HZJG_XX_XX_XXX_XXX_CI0088"; //
-    public static final String JSFW_HZJSSFS = "HZJGDCJSFW.NX_GD_HZJG_XX_XX_XXX_XXX_CI0134"; //
-    public static final String JSFW_HZJSSZGL = "HZJGDCJSFW.NX_GD_HZJG_XX_XX_XXX_XXX_CI0135"; //
+    public static final String JSFW_HZJRFDLB = "HZJGDCJSFW.NX_GD_HZJG_XX_XX_XXX_XXX_CI0088"; //海子井日发电量
+    public static final String JSFW_HZJSSFS = "HZJGDCJSFW.NX_GD_HZJG_XX_XX_XXX_XXX_CI0134"; //海子井日照强度
+    public static final String JSFW_HZJSSZGL = "HZJDQ.NX_GD_HZJG_DQ_P1_L1_001_AI0052"; //海子井总功率
+
 
 
     public static final String JSFW_XHRFDLB = "XHGDCJSFW.NX_GD_XHG_XX_XX_XXX_XXX_CI0088"; // 宣和日发电量
@@ -156,4 +157,6 @@ public class MainConstant {
     public static final String XHFS = "XHGGL.NX_GD_XHG_YC_P1_L1_001_QXZ001"; // 宣和日照强度
     public static final String MCHFS = "MCHGGL.NX_GD_MCHG_YC_P1_L1_001_QXZ001"; // 马场湖日照强度
     public static final String HZJFS = "HZJGGL.NX_GD_HZJG_YC_P1_L1_001_QXZ001"; // 海子井日照强度
+
+
 }

+ 11 - 5
gradeevaluation/src/test/java/com/gyee/gradeevaluation/GradeevaluationApplicationTests.java

@@ -46,9 +46,12 @@ class GradeevaluationApplicationTests {
         String date = DateUtils.toDate1(yestday);
 
 //        specificService.saveWindpowerspecificinfoday("2021-08-01","2021-08-04");
-        mttrmtbfTaskService.saveWpMttrAndMtbfDay("2021-08-01","2021-08-04");
-//        mttrmtbfTaskService.saveWpMttrAndMtbMonth(date,date);
-//        mttrmtbfTaskService.saveWpMttrAndMtbfYear(date,date);
+//        quartService.saveWindturbineinfodaytop3("2021-10-01","2021-10-13");
+//        quartService.saveEvaluationSub("2021-10-01","2021-10-13");
+//        quartService.saveEvaluationMain("2021-10-01","2021-10-13");
+        mttrmtbfTaskService.saveWpMttrAndMtbfDay(date,date);
+        mttrmtbfTaskService.saveWpMttrAndMtbMonth(date,date);
+        mttrmtbfTaskService.saveWpMttrAndMtbfYear(date,date);
     }
 
     @Test
@@ -56,8 +59,11 @@ class GradeevaluationApplicationTests {
 
         Date yestday = DateUtils.getYestday(new Date());
         String date = DateUtils.toDate1(yestday);
-
-        healthReportService.saveHealthReport("2021-08-03","2021-08-03","MHS_FDC");
+        healthReportService.saveHealthReport(date,date,"MHS_FDC");
+        healthReportService.saveHealthReport(date,date,"NSS_FDC");
+        healthReportService.saveHealthReport(date,date,"SBQ_FDC");
+        healthReportService.saveHealthReport(date,date,"QS_FDC");
+        healthReportService.saveHealthReport(date,date,"XS_FDC");
 
        // specificService.saveWindpowerspecificinfoday("2020-05-02","2020-06-01");
     }