Parcourir la source

中能融合新增8个场站

fanxiaoyu il y a 6 mois
Parent
commit
506ff542b7
100 fichiers modifiés avec 8534 ajouts et 15 suppressions
  1. 9 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ParsingJob.java
  2. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperFD0056.java
  3. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0003.java
  4. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0004.java
  5. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0005.java
  6. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0006.java
  7. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0007.java
  8. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0008.java
  9. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0016.java
  10. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperFD0056.java
  11. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0003.java
  12. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0004.java
  13. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0005.java
  14. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0006.java
  15. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0007.java
  16. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0008.java
  17. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0016.java
  18. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperFD0056.java
  19. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0003.java
  20. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0004.java
  21. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0005.java
  22. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0006.java
  23. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0007.java
  24. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0008.java
  25. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0016.java
  26. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0003Mapper.java
  27. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0004Mapper.java
  28. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0005Mapper.java
  29. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0006Mapper.java
  30. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0007Mapper.java
  31. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0008Mapper.java
  32. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0016Mapper.java
  33. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/WindPowerReal15MinFD0056Mapper.java
  34. 239 15
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/GenerateBackPassDataService.java
  35. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverFD0056Service.java
  36. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0003Service.java
  37. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0004Service.java
  38. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0005Service.java
  39. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0006Service.java
  40. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0007Service.java
  41. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0008Service.java
  42. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0016Service.java
  43. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverFD0056Service.java
  44. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0003Service.java
  45. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0004Service.java
  46. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0005Service.java
  47. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0006Service.java
  48. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0007Service.java
  49. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0008Service.java
  50. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0016Service.java
  51. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverFD0056Service.java
  52. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0003Service.java
  53. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0004Service.java
  54. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0005Service.java
  55. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0006Service.java
  56. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0007Service.java
  57. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0008Service.java
  58. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0016Service.java
  59. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0003Service.java
  60. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0004Service.java
  61. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0005Service.java
  62. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0006Service.java
  63. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0007Service.java
  64. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0008Service.java
  65. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0016Service.java
  66. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/WindPowerReal15MinFD0056Service.java
  67. 86 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/an/DownloadService.java
  68. 24 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/ElectricFieldServiceImpl.java
  69. 409 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0056ServiceImpl.java
  70. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0003ServiceImpl.java
  71. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0004ServiceImpl.java
  72. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0005ServiceImpl.java
  73. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0006ServiceImpl.java
  74. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0007ServiceImpl.java
  75. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0008ServiceImpl.java
  76. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0016ServiceImpl.java
  77. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultFD0056CoverServiceImpl.java
  78. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0003CoverServiceImpl.java
  79. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0004CoverServiceImpl.java
  80. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0005CoverServiceImpl.java
  81. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0006CoverServiceImpl.java
  82. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0007CoverServiceImpl.java
  83. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0008CoverServiceImpl.java
  84. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0016CoverServiceImpl.java
  85. 76 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultFD0056CoverServiceImpl.java
  86. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0003CoverServiceImpl.java
  87. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0004CoverServiceImpl.java
  88. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0005CoverServiceImpl.java
  89. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0006CoverServiceImpl.java
  90. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0007CoverServiceImpl.java
  91. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0008CoverServiceImpl.java
  92. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0016CoverServiceImpl.java
  93. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0003ServiceImpl.java
  94. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0004ServiceImpl.java
  95. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0005ServiceImpl.java
  96. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0006ServiceImpl.java
  97. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0007ServiceImpl.java
  98. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0008ServiceImpl.java
  99. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0016ServiceImpl.java
  100. 65 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/WindPowerReal15MinFD0056ServiceImpl.java

Fichier diff supprimé car celui-ci est trop grand
+ 9 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ParsingJob.java


+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperFD0056.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverFD0056;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_FD0056_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperFD0056 extends BaseMapper<JiaYueWindPowerCdqResultCoverFD0056> {
+
+    @Delete("DELETE FROM jiayue_FD0056_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverFD0056> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_FD0056_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverFD0056> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverFD0056 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0003.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0003;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0003_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0003 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0003> {
+
+    @Delete("DELETE FROM jiayue_GF0003_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0003> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0003_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0003> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0003 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0004.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0004;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0004_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0004 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0004> {
+
+    @Delete("DELETE FROM jiayue_GF0004_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0004> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0004_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0004> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0004 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0005.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0005;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0005_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0005 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0005> {
+
+    @Delete("DELETE FROM jiayue_GF0005_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0005> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0005_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0005> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0005 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0006.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0006;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0006_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0006 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0006> {
+
+    @Delete("DELETE FROM jiayue_GF0006_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0006> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0006_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0006> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0006 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0007.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0007;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0007_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0007 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0007> {
+
+    @Delete("DELETE FROM jiayue_GF0007_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0007> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0007_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0007> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0007 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0008.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0008;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0008_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0008 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0008> {
+
+    @Delete("DELETE FROM jiayue_GF0008_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0008> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0008_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0008> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0008 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0016.java

@@ -0,0 +1,38 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0016;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_zdata_wind_power_cdq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerCdqResultCoverMapperGF0016 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0016> {
+
+    @Delete("DELETE FROM jiayue_GF0016_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0016> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0016_zdata_wind_power_cdq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    int deleteByDateTime(@Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0016> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0016 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperFD0056.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverFD0056;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_FD0056_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperFD0056 extends BaseMapper<JiaYueWindPowerDqResultCoverFD0056> {
+
+    @Delete("DELETE FROM jiayue_FD0056_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverFD0056> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_FD0056_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_FD0056_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverFD0056> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverFD0056> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverFD0056> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0003.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0003;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0003_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0003 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0003> {
+
+    @Delete("DELETE FROM jiayue_GF0003_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0003> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0003_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0003_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0003> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0003> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0003> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0004.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0004;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0004_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0004 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0004> {
+
+    @Delete("DELETE FROM jiayue_GF0004_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0004> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0004_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0004_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0004> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0004> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0004> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0005.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0005;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0005_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0005 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0005> {
+
+    @Delete("DELETE FROM jiayue_GF0005_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0005> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0005_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0005_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0005> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0005> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0005> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0006.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0006;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0006_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0006 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0006> {
+
+    @Delete("DELETE FROM jiayue_GF0006_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0006> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0006_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0006_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0006> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0006> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0006> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0007.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0007;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0007_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0007 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0007> {
+
+    @Delete("DELETE FROM jiayue_GF0007_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0007> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0007_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0007_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0007> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0007> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0007> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0008.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0008;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0008_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0008 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0008> {
+
+    @Delete("DELETE FROM jiayue_GF0008_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0008> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0008_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0008_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0008> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0008> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0008> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0016.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0016;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_zdata_wind_power_dq_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerDqResultCoverMapperGF0016 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0016> {
+
+    @Delete("DELETE FROM jiayue_GF0016_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0016> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0016_zdata_wind_power_dq_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+    @Select("SELECT *\n" +
+            "FROM (\n" +
+            "    SELECT *\n" +
+            "    FROM jiayue_GF0016_zdata_wind_power_dq_result\n" +
+            "    WHERE PRE_DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}\n" +
+            "    ORDER BY CREATE_TIME DESC\n" +
+            "    LIMIT 40\n" +
+            ") AS subquery\n" +
+            "ORDER BY PRE_DATE_TIME ASC;")
+    List<JiaYueWindPowerDqResultCoverGF0016> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0016> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0016> selectByDataDate(@Param("date") String date);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperFD0056.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverFD0056;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_FD0056_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperFD0056 extends BaseMapper<JiaYueWindPowerNwpResultCoverFD0056> {
+
+    @Delete("DELETE FROM jiayue_FD0056_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverFD0056> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_FD0056_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_FD0056_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverFD0056> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0003.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0003;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0003_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0003 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0003> {
+
+    @Delete("DELETE FROM jiayue_GF0003_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0003> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0003_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0003_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0003> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0004.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0004;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0004_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0004 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0004> {
+
+    @Delete("DELETE FROM jiayue_GF0004_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0004> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0004_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0004_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0004> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0005.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0005;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0005_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0005 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0005> {
+
+    @Delete("DELETE FROM jiayue_GF0005_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0005> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0005_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0005_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0005> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0006.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0006;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0006_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0006 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0006> {
+
+    @Delete("DELETE FROM jiayue_GF0006_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0006> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0006_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0006_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0006> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0007.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0007;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0007_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0007 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0007> {
+
+    @Delete("DELETE FROM jiayue_GF0007_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0007> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0007_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0007_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0007> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0008.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0008;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_GF0008_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0008 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0008> {
+
+    @Delete("DELETE FROM jiayue_GF0008_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0008> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0008_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0008_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0008> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0016.java

@@ -0,0 +1,37 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0016;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * jiayue_FD0030_zdata_nwp_result
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface JiaYueWindPowerNwpResultCoverMapperGF0016 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0016> {
+
+    @Delete("DELETE FROM jiayue_GF0016_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0016> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0016_zdata_nwp_result where DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId} AND DATA_DATE BETWEEN #{dateDateStart} AND #{dateDateEnd}")
+    int deleteByDateTime(@Param("startTime") Time startTime, @Param("endTime") Time endTime, @Param("objId") String objId,@Param("dateDateStart") Date dateDateStart, @Param("dateDateEnd") Date dateDateEnd);
+
+
+    @Select("SELECT * FROM jiayue_GF0016_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0016> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0003Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0003;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0003_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0003Mapper extends BaseMapper<PvPowerReal15MinGF0003> {
+
+    @Delete("DELETE FROM zdata_GF0003_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0003_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0003> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0003_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0003> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0004Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0004;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0004_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0004Mapper extends BaseMapper<PvPowerReal15MinGF0004> {
+
+    @Delete("DELETE FROM zdata_GF0004_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0004_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0004> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0004_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0004> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0005Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0005;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0005_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0005Mapper extends BaseMapper<PvPowerReal15MinGF0005> {
+
+    @Delete("DELETE FROM zdata_GF0005_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0005_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0005> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0005_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0005> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0006Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0006;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0006_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0006Mapper extends BaseMapper<PvPowerReal15MinGF0006> {
+
+    @Delete("DELETE FROM zdata_GF0006_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0006_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0006> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0006_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0006> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0007Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0007;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0007_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0007Mapper extends BaseMapper<PvPowerReal15MinGF0007> {
+
+    @Delete("DELETE FROM zdata_GF0007_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0007_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0007> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0007_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0007> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0008Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0008;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0008_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0008Mapper extends BaseMapper<PvPowerReal15MinGF0008> {
+
+    @Delete("DELETE FROM zdata_GF0008_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0008_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0008> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0008_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0008> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0016Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0016;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_GF0016_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0016Mapper extends BaseMapper<PvPowerReal15MinGF0016> {
+
+    @Delete("DELETE FROM zdata_GF0016_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0016_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0016> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0016_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0016> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 31 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/WindPowerReal15MinFD0056Mapper.java

@@ -0,0 +1,31 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.WindPowerReal15MinFD0056;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zdata_wind_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface WindPowerReal15MinFD0056Mapper extends BaseMapper<WindPowerReal15MinFD0056> {
+
+    @Delete("DELETE FROM zdata_FD0056_wind_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_FD0056_wind_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<WindPowerReal15MinFD0056> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_FD0056_wind_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<WindPowerReal15MinFD0056> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 239 - 15
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/GenerateBackPassDataService.java

@@ -83,14 +83,30 @@ public class GenerateBackPassDataService {
 
     private final WindPowerReal15MinFD0040Service windPowerReal15MinFD0040Service;
 
+    private final WindPowerReal15MinFD0056Service windPowerReal15MinFD0056Service;
+
     private final PvPowerReal15MinGF0001Service pvPowerReal15MinGF0001Service;
 
     private final PvPowerReal15MinGF0002Service pvPowerReal15MinGF0002Service;
 
+    private final PvPowerReal15MinGF0003Service pvPowerReal15MinGF0003Service;
+
+    private final PvPowerReal15MinGF0004Service pvPowerReal15MinGF0004Service;
+
+    private final PvPowerReal15MinGF0005Service pvPowerReal15MinGF0005Service;
+
+    private final PvPowerReal15MinGF0006Service pvPowerReal15MinGF0006Service;
+
+    private final PvPowerReal15MinGF0007Service pvPowerReal15MinGF0007Service;
+
+    private final PvPowerReal15MinGF0008Service pvPowerReal15MinGF0008Service;
+
     private final PvPowerReal15MinGF0012Service pvPowerReal15MinGF0012Service;
 
     private final PvPowerReal15MinGF0013Service pvPowerReal15MinGF0013Service;
 
+    private final PvPowerReal15MinGF0016Service pvPowerReal15MinGF0016Service;
+
     private final PvPowerReal15MinGF0019Service pvPowerReal15MinGF0019Service;
 
     private static final String IMAGE_TYPE = "jpg";
@@ -164,7 +180,15 @@ public class GenerateBackPassDataService {
                                        JiaYueWindPowerDqResultCoverFD0003Service jiaYueWindPowerDqResultCoverFD0003Service,JiaYueWindPowerDqResultCoverFD0004Service jiaYueWindPowerDqResultCoverFD0004Service,JiaYueWindPowerDqResultCoverFD0005Service jiaYueWindPowerDqResultCoverFD0005Service,JiaYueWindPowerDqResultCoverFD0006Service jiaYueWindPowerDqResultCoverFD0006Service,
                                        JiaYueWindPowerDqResultCoverFD0007Service jiaYueWindPowerDqResultCoverFD0007Service,JiaYueWindPowerDqResultCoverFD0029Service jiaYueWindPowerDqResultCoverFD0029Service,JiaYueWindPowerDqResultCoverFD0030Service jiaYueWindPowerDqResultCoverFD0030Service,JiaYueWindPowerDqResultCoverFD0031Service jiaYueWindPowerDqResultCoverFD0031Service,JiaYueWindPowerCdqResultCoverFD0040Service jiaYueWindPowerCdqResultCoverFD0040Service,JiaYueWindPowerCdqResultCoverGF0001Service jiaYueWindPowerCdqResultCoverGF0001Service,JiaYueWindPowerCdqResultCoverGF0002Service jiaYueWindPowerCdqResultCoverGF0002Service,JiaYueWindPowerCdqResultCoverGF0012Service jiaYueWindPowerCdqResultCoverGF0012Service,JiaYueWindPowerCdqResultCoverGF0013Service jiaYueWindPowerCdqResultCoverGF0013Service,JiaYueWindPowerCdqResultCoverFD0001Service jiaYueWindPowerCdqResultCoverFD0001Service,JiaYueWindPowerCdqResultCoverFD0002Service jiaYueWindPowerCdqResultCoverFD0002Service,
                                        JiaYueWindPowerCdqResultCoverFD0003Service jiaYueWindPowerCdqResultCoverFD0003Service,JiaYueWindPowerCdqResultCoverFD0004Service jiaYueWindPowerCdqResultCoverFD0004Service,JiaYueWindPowerCdqResultCoverFD0005Service jiaYueWindPowerCdqResultCoverFD0005Service,JiaYueWindPowerCdqResultCoverFD0006Service jiaYueWindPowerCdqResultCoverFD0006Service,
-                                       JiaYueWindPowerCdqResultCoverFD0007Service jiaYueWindPowerCdqResultCoverFD0007Service,JiaYueWindPowerCdqResultCoverFD0029Service jiaYueWindPowerCdqResultCoverFD0029Service,JiaYueWindPowerCdqResultCoverFD0030Service jiaYueWindPowerCdqResultCoverFD0030Service,JiaYueWindPowerCdqResultCoverFD0031Service jiaYueWindPowerCdqResultCoverFD0031Service){
+                                       JiaYueWindPowerCdqResultCoverFD0007Service jiaYueWindPowerCdqResultCoverFD0007Service,JiaYueWindPowerCdqResultCoverFD0029Service jiaYueWindPowerCdqResultCoverFD0029Service,JiaYueWindPowerCdqResultCoverFD0030Service jiaYueWindPowerCdqResultCoverFD0030Service,JiaYueWindPowerCdqResultCoverFD0031Service jiaYueWindPowerCdqResultCoverFD0031Service,
+                                       PvPowerReal15MinGF0003Service pvPowerReal15MinGF0003Service,
+                                       PvPowerReal15MinGF0004Service pvPowerReal15MinGF0004Service,
+                                       PvPowerReal15MinGF0005Service pvPowerReal15MinGF0005Service,
+                                       PvPowerReal15MinGF0006Service pvPowerReal15MinGF0006Service,
+                                       PvPowerReal15MinGF0007Service pvPowerReal15MinGF0007Service,
+                                       PvPowerReal15MinGF0008Service pvPowerReal15MinGF0008Service,
+                                       PvPowerReal15MinGF0016Service pvPowerReal15MinGF0016Service,
+                                       WindPowerReal15MinFD0056Service windPowerReal15MinFD0056Service){
         this.windPowerReal15MinFD0001Service = windPowerReal15MinFD0001Service;
         this.windPowerReal15MinFD0002Service = windPowerReal15MinFD0002Service;
         this.windPowerReal15MinFD0003Service = windPowerReal15MinFD0003Service;
@@ -187,10 +211,18 @@ public class GenerateBackPassDataService {
         this.windPowerReal15MinFD0030Service = windPowerReal15MinFD0030Service;
         this.windPowerReal15MinFD0031Service = windPowerReal15MinFD0031Service;
         this.windPowerReal15MinFD0040Service = windPowerReal15MinFD0040Service;
+        this.windPowerReal15MinFD0056Service = windPowerReal15MinFD0056Service;
         this.pvPowerReal15MinGF0001Service = pvPowerReal15MinGF0001Service;
         this.pvPowerReal15MinGF0002Service = pvPowerReal15MinGF0002Service;
+        this.pvPowerReal15MinGF0003Service = pvPowerReal15MinGF0003Service;
+        this.pvPowerReal15MinGF0004Service = pvPowerReal15MinGF0004Service;
+        this.pvPowerReal15MinGF0005Service = pvPowerReal15MinGF0005Service;
+        this.pvPowerReal15MinGF0006Service = pvPowerReal15MinGF0006Service;
+        this.pvPowerReal15MinGF0007Service = pvPowerReal15MinGF0007Service;
+        this.pvPowerReal15MinGF0008Service = pvPowerReal15MinGF0008Service;
         this.pvPowerReal15MinGF0012Service = pvPowerReal15MinGF0012Service;
         this.pvPowerReal15MinGF0013Service = pvPowerReal15MinGF0013Service;
+        this.pvPowerReal15MinGF0016Service = pvPowerReal15MinGF0016Service;
         this.pvPowerReal15MinGF0019Service = pvPowerReal15MinGF0019Service;
         this.jiaYueWindPowerDqResultCoverFD0001Service = jiaYueWindPowerDqResultCoverFD0001Service;
         this.jiaYueWindPowerDqResultCoverFD0002Service = jiaYueWindPowerDqResultCoverFD0002Service;
@@ -270,16 +302,16 @@ public class GenerateBackPassDataService {
             electricField9.setSign("FD0009");
 
             ElectricField electricField10 = new ElectricField();
-            electricField9.setStationCode("J01138");
-            electricField9.setSign("FD0010");
+            electricField10.setStationCode("J01138");
+            electricField10.setSign("FD0010");
 
             ElectricField electricField15 = new ElectricField();
-            electricField9.setStationCode("J01139");
-            electricField9.setSign("FD0015");
+            electricField15.setStationCode("J01139");
+            electricField15.setSign("FD0015");
 
             ElectricField electricField16 = new ElectricField();
-            electricField9.setStationCode("J01140");
-            electricField9.setSign("FD0016");
+            electricField16.setStationCode("J01140");
+            electricField16.setSign("FD0016");
 
             ElectricField electricField17 = new ElectricField();
             electricField17.setStationCode("J01123");
@@ -302,12 +334,12 @@ public class GenerateBackPassDataService {
             electricField21.setSign("FD0021");
 
             ElectricField electricField22 = new ElectricField();
-            electricField21.setStationCode("J01141");
-            electricField21.setSign("FD0022");
+            electricField22.setStationCode("J01141");
+            electricField22.setSign("FD0022");
 
             ElectricField electricField25 = new ElectricField();
-            electricField21.setStationCode("J01142");
-            electricField21.setSign("FD0025");
+            electricField25.setStationCode("J01142");
+            electricField25.setSign("FD0025");
 
             ElectricField electricField29 = new ElectricField();
             electricField29.setStationCode("J01034");
@@ -318,12 +350,16 @@ public class GenerateBackPassDataService {
             electricField30.setSign("FD0030");
 
             ElectricField electricField31 = new ElectricField();
-            electricField30.setStationCode("J01043");
-            electricField30.setSign("FD0031");
+            electricField31.setStationCode("J01043");
+            electricField31.setSign("FD0031");
 
             ElectricField electricField40 = new ElectricField();
-            electricField30.setStationCode("J01166");
-            electricField30.setSign("FD0040");
+            electricField40.setStationCode("J01166");
+            electricField40.setSign("FD0040");
+
+            ElectricField electricField56 = new ElectricField();
+            electricField56.setStationCode("J01233");
+            electricField56.setSign("FD0056");
             // 光伏电站
             ElectricField electricFieldGF0001 = new ElectricField();
             electricFieldGF0001.setStationCode("J01056");
@@ -333,6 +369,30 @@ public class GenerateBackPassDataService {
             electricFieldGF0002.setStationCode("J01057");
             electricFieldGF0002.setSign("GF0002");
 
+            ElectricField electricFieldGF0003 = new ElectricField();
+            electricFieldGF0003.setStationCode("J01203");
+            electricFieldGF0003.setSign("GF0003");
+
+            ElectricField electricFieldGF0004 = new ElectricField();
+            electricFieldGF0004.setStationCode("J01208");
+            electricFieldGF0004.setSign("GF0004");
+
+            ElectricField electricFieldGF0005 = new ElectricField();
+            electricFieldGF0005.setStationCode("J01206");
+            electricFieldGF0005.setSign("GF0005");
+
+            ElectricField electricFieldGF0006 = new ElectricField();
+            electricFieldGF0006.setStationCode("J01205");
+            electricFieldGF0006.setSign("GF0006");
+
+            ElectricField electricFieldGF0007 = new ElectricField();
+            electricFieldGF0007.setStationCode("J01207");
+            electricFieldGF0007.setSign("GF0007");
+
+            ElectricField electricFieldGF0008 = new ElectricField();
+            electricFieldGF0008.setStationCode("J01204");
+            electricFieldGF0008.setSign("GF0008");
+
             ElectricField electricFieldGF0012 = new ElectricField();
             electricFieldGF0012.setStationCode("J01061");
             electricFieldGF0012.setSign("GF0012");
@@ -341,6 +401,10 @@ public class GenerateBackPassDataService {
             electricFieldGF0013.setStationCode("J01062");
             electricFieldGF0013.setSign("GF0013");
 
+            ElectricField electricFieldGF0016 = new ElectricField();
+            electricFieldGF0016.setStationCode("J01231");
+            electricFieldGF0016.setSign("GF0016");
+
             ElectricField electricFieldGF0019 = new ElectricField();
             electricFieldGF0019.setStationCode("J01175");
             electricFieldGF0019.setSign("GF0019");
@@ -367,10 +431,18 @@ public class GenerateBackPassDataService {
             electricFieldList.add(electricField30);
             electricFieldList.add(electricField31);
             electricFieldList.add(electricField40);
+            electricFieldList.add(electricField56);
             electricFieldList.add(electricFieldGF0001);
             electricFieldList.add(electricFieldGF0002);
+            electricFieldList.add(electricFieldGF0003);
+            electricFieldList.add(electricFieldGF0004);
+            electricFieldList.add(electricFieldGF0005);
+            electricFieldList.add(electricFieldGF0006);
+            electricFieldList.add(electricFieldGF0007);
+            electricFieldList.add(electricFieldGF0008);
             electricFieldList.add(electricFieldGF0012);
             electricFieldList.add(electricFieldGF0013);
+            electricFieldList.add(electricFieldGF0016);
             electricFieldList.add(electricFieldGF0019);
 //
 //            // 开始日期和结束日期
@@ -531,10 +603,18 @@ public class GenerateBackPassDataService {
         List<WindPowerReal15MinFD0030> windPowerReal15MinFD0030List = new ArrayList<>();
         List<WindPowerReal15MinFD0031> windPowerReal15MinFD0031List = new ArrayList<>();
         List<WindPowerReal15MinFD0040> windPowerReal15MinFD0040List = new ArrayList<>();
+        List<WindPowerReal15MinFD0056> windPowerReal15MinFD0056List = new ArrayList<>();
         List<PvPowerReal15MinGF0001> pvPowerReal15MinGF0001List = new ArrayList<>();
         List<PvPowerReal15MinGF0002> pvPowerReal15MinGF0002List = new ArrayList<>();
+        List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List = new ArrayList<>();
+        List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List = new ArrayList<>();
+        List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List = new ArrayList<>();
+        List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List = new ArrayList<>();
+        List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List = new ArrayList<>();
+        List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List = new ArrayList<>();
         List<PvPowerReal15MinGF0012> pvPowerReal15MinGF0012List = new ArrayList<>();
         List<PvPowerReal15MinGF0013> pvPowerReal15MinGF0013List = new ArrayList<>();
+        List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List = new ArrayList<>();
         List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List = new ArrayList<>();
 
         switch (electricField.getSign()){
@@ -604,18 +684,42 @@ public class GenerateBackPassDataService {
             case "FD0040":
                 windPowerReal15MinFD0040List = windPowerReal15MinFD0040Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
+            case "FD0056":
+                windPowerReal15MinFD0056List = windPowerReal15MinFD0056Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
             case "GF0001":
                 pvPowerReal15MinGF0001List = pvPowerReal15MinGF0001Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
             case "GF0002":
                 pvPowerReal15MinGF0002List = pvPowerReal15MinGF0002Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
+            case "GF0003":
+                pvPowerReal15MinGF0003List = pvPowerReal15MinGF0003Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
+            case "GF0004":
+                pvPowerReal15MinGF0004List = pvPowerReal15MinGF0004Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
+            case "GF0005":
+                pvPowerReal15MinGF0005List = pvPowerReal15MinGF0005Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
+            case "GF0006":
+                pvPowerReal15MinGF0006List = pvPowerReal15MinGF0006Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
+            case "GF0007":
+                pvPowerReal15MinGF0007List = pvPowerReal15MinGF0007Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
+            case "GF0008":
+                pvPowerReal15MinGF0008List = pvPowerReal15MinGF0008Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
             case "GF0012":
                 pvPowerReal15MinGF0012List = pvPowerReal15MinGF0012Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
             case "GF0013":
                 pvPowerReal15MinGF0013List = pvPowerReal15MinGF0013Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
+            case "GF0016":
+                pvPowerReal15MinGF0016List = pvPowerReal15MinGF0016Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+                break;
             case "GF0019":
                 pvPowerReal15MinGF0019List = pvPowerReal15MinGF0019Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
@@ -956,6 +1060,21 @@ public class GenerateBackPassDataService {
                     instContent.append(PLACE);
                 }
             }
+            if (electricField.getSign().equals("FD0056")) {
+                List<WindPowerReal15MinFD0056> filterList = windPowerReal15MinFD0056List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (WindPowerReal15MinFD0056 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
             if (electricField.getSign().equals("GF0001")) {
                 List<PvPowerReal15MinGF0001> filterList = pvPowerReal15MinGF0001List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
                 BigDecimal avg = new BigDecimal(0);
@@ -986,6 +1105,96 @@ public class GenerateBackPassDataService {
                     instContent.append(PLACE);
                 }
             }
+            if (electricField.getSign().equals("GF0003")) {
+                List<PvPowerReal15MinGF0003> filterList = pvPowerReal15MinGF0003List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0003 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
+            if (electricField.getSign().equals("GF0004")) {
+                List<PvPowerReal15MinGF0004> filterList = pvPowerReal15MinGF0004List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0004 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
+            if (electricField.getSign().equals("GF0005")) {
+                List<PvPowerReal15MinGF0005> filterList = pvPowerReal15MinGF0005List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0005 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
+            if (electricField.getSign().equals("GF0006")) {
+                List<PvPowerReal15MinGF0006> filterList = pvPowerReal15MinGF0006List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0006 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
+            if (electricField.getSign().equals("GF0007")) {
+                List<PvPowerReal15MinGF0007> filterList = pvPowerReal15MinGF0007List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0007 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
+            if (electricField.getSign().equals("GF0008")) {
+                List<PvPowerReal15MinGF0008> filterList = pvPowerReal15MinGF0008List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0008 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
             if (electricField.getSign().equals("GF0012")) {
                 List<PvPowerReal15MinGF0012> filterList = pvPowerReal15MinGF0012List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
                 BigDecimal avg = new BigDecimal(0);
@@ -1016,6 +1225,21 @@ public class GenerateBackPassDataService {
                     instContent.append(PLACE);
                 }
             }
+            if (electricField.getSign().equals("GF0016")) {
+                List<PvPowerReal15MinGF0016> filterList = pvPowerReal15MinGF0016List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
+                BigDecimal avg = new BigDecimal(0);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0016 p : filterList) {
+                    avg = avg.add(new BigDecimal(p.getActivePower()));
+                }
+                if (!filterList.isEmpty()) {
+                    content.append(avg.divide(new BigDecimal(filterList.size()), 2, RoundingMode.HALF_UP)).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
             if (electricField.getSign().equals("GF0019")) {
                 List<PvPowerReal15MinGF0019> filterList = pvPowerReal15MinGF0019List.stream().filter(p -> p.getDateTime().atZone(ZoneId.systemDefault()).toEpochSecond() * 1000L == finalTime).collect(Collectors.toList());
                 BigDecimal avg = new BigDecimal(0);

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverFD0056Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverFD0056;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverFD0056Service extends IService<JiaYueWindPowerCdqResultCoverFD0056> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverFD0056> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverFD0056> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0003Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0003;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0003Service extends IService<JiaYueWindPowerCdqResultCoverGF0003> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0003> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0003> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0004Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0004;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0004Service extends IService<JiaYueWindPowerCdqResultCoverGF0004> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0004> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0004> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0005Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0005;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0005Service extends IService<JiaYueWindPowerCdqResultCoverGF0005> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0005> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0005> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0006Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0006;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0006Service extends IService<JiaYueWindPowerCdqResultCoverGF0006> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0006> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0006> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0007Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0007;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0007Service extends IService<JiaYueWindPowerCdqResultCoverGF0007> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0007> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0007> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0008Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0008;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0008Service extends IService<JiaYueWindPowerCdqResultCoverGF0008> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0008> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0008> findByDataDate(Date startTime);
+
+}

+ 53 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0016Service.java

@@ -0,0 +1,53 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0016;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerCdqResultCoverGF0016Service extends IService<JiaYueWindPowerCdqResultCoverGF0016> {
+     /**
+      * 查询所有数据(远端)
+      * @return
+      */
+     List<JiaYueWindPowerCdqResultCoverGF0016> get();
+
+    /**
+     * 查询所有数据插入到本地
+      * @param jiaYueWindPowerCdqResultCovers
+     * @return
+     */
+     int put(List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCovers);
+
+//    /**
+//     * 查询所有数据(本地)
+//     * @return
+//     */
+//    List<JiaYueWindPowerCdqResultCover> getAll();
+
+    /**
+     *  删除所有数据(本地)
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     *  储存解析超短期数据
+     */
+
+    void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCoverList, String stationCode);
+
+    /**
+     *  执行超短期数据预测
+     */
+    void executeForecast();
+
+    void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode);
+
+    List<JiaYueWindPowerCdqResultCoverGF0016> findByDataDate(Date startTime);
+
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverFD0056Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverFD0056;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverFD0056Service extends IService<JiaYueWindPowerDqResultCoverFD0056> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverFD0056> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverFD0056> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverFD0056> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverFD0056> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverFD0056> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0003Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0003;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0003Service extends IService<JiaYueWindPowerDqResultCoverGF0003> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0003> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0003> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0003> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0003> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0003> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0004Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0004;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0004Service extends IService<JiaYueWindPowerDqResultCoverGF0004> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0004> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0004> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0004> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0004> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0004> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0005Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0005;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0005Service extends IService<JiaYueWindPowerDqResultCoverGF0005> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0005> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0005> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0005> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0005> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0005> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0006Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0006;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0006Service extends IService<JiaYueWindPowerDqResultCoverGF0006> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0006> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0006> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0006> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0006> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0006> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0007Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0007;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0007Service extends IService<JiaYueWindPowerDqResultCoverGF0007> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0007> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0007> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0007> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0007> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0007> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0008Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0008;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0008Service extends IService<JiaYueWindPowerDqResultCoverGF0008> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0008> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0008> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0008> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0008> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0008> findByDataDate(Date startTime);
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0016Service.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0016;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerDqResultCoverGF0016Service extends IService<JiaYueWindPowerDqResultCoverGF0016> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0016> get();
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0016> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerDqResultCovers
+     * @return
+     */
+    int put(List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCovers);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0016> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析短期数据
+     */
+
+    void saveDq(List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverList, String stationCode);
+
+    /**
+     * @param stationCode
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<JiaYueWindPowerDqResultCoverGF0016> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime);
+
+    List<JiaYueWindPowerDqResultCoverGF0016> findByDataDate(Date startTime);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverFD0056Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverFD0056;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverFD0056Service extends IService<JiaYueWindPowerNwpResultCoverFD0056> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverFD0056> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverFD0056> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverFD0056> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0003Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0003;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0003Service extends IService<JiaYueWindPowerNwpResultCoverGF0003> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0003> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0003> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0003> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0004Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0004;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0004Service extends IService<JiaYueWindPowerNwpResultCoverGF0004> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0004> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0004> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0004> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0005Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0005;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0005Service extends IService<JiaYueWindPowerNwpResultCoverGF0005> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0005> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0005> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0005> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0006Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0006;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0006Service extends IService<JiaYueWindPowerNwpResultCoverGF0006> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0006> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0006> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0006> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0007Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0007;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0007Service extends IService<JiaYueWindPowerNwpResultCoverGF0007> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0007> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0007> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0007> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0008Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0008;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0008Service extends IService<JiaYueWindPowerNwpResultCoverGF0008> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0008> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0008> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0008> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0016Service.java

@@ -0,0 +1,52 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0016;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0016Service extends IService<JiaYueWindPowerNwpResultCoverGF0016> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0016> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0016> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0016> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0003Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0003;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0003Service extends IService<PvPowerReal15MinGF0003> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0003> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0003> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0003> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0003> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0003> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0004Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0004;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0004Service extends IService<PvPowerReal15MinGF0004> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0004> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0004> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0004> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0004> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0004> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0005Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0005;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0005Service extends IService<PvPowerReal15MinGF0005> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0005> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0005> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0005> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0005> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0005> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0006Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0006;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0006Service extends IService<PvPowerReal15MinGF0006> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0006> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0006> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0006> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0006> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0006> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0007Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0007;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0007Service extends IService<PvPowerReal15MinGF0007> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0007> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0007> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0007> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0007> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0007> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0008Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0008;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0008Service extends IService<PvPowerReal15MinGF0008> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0008> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0008> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0008> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0008> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0008> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0016Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0016;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0016Service extends IService<PvPowerReal15MinGF0016> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0016> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0016> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0016> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0016> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0016> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/WindPowerReal15MinFD0056Service.java

@@ -0,0 +1,51 @@
+package com.jiayue.ipfcst.client.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.ipp.common.data.entity.WindPowerReal15MinFD0056;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface WindPowerReal15MinFD0056Service extends IService<WindPowerReal15MinFD0056> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<WindPowerReal15MinFD0056> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<WindPowerReal15MinFD0056> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<WindPowerReal15MinFD0056> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<WindPowerReal15MinFD0056> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<WindPowerReal15MinFD0056> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 86 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/an/DownloadService.java

@@ -246,6 +246,15 @@ public class DownloadService {
         parsingUrl40.setId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrl40.setDelFlag("0");
 
+        ParsingUrl parsingUrl56 = new ParsingUrl();
+        parsingUrl56.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrl56.setForecastManufactor("SYJY");
+        parsingUrl56.setUrl("/home/syjy/F_data/new/J01233");
+        parsingUrl56.setUrlStatus("1");
+        parsingUrl56.setStationCode("J01233");
+        parsingUrl56.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrl56.setDelFlag("0");
+
         ParsingUrl parsingUrlGF01 = new ParsingUrl();
         parsingUrlGF01.setCId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrlGF01.setForecastManufactor("SYJY");
@@ -264,6 +273,66 @@ public class DownloadService {
         parsingUrlGF02.setId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrlGF02.setDelFlag("0");
 
+        ParsingUrl parsingUrlGF03 = new ParsingUrl();
+        parsingUrlGF03.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF03.setForecastManufactor("SYJY");
+        parsingUrlGF03.setUrl("/home/syjy/F_data/new/J01203");
+        parsingUrlGF03.setUrlStatus("1");
+        parsingUrlGF03.setStationCode("J01203");
+        parsingUrlGF03.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF03.setDelFlag("0");
+
+
+        ParsingUrl parsingUrlGF04 = new ParsingUrl();
+        parsingUrlGF04.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF04.setForecastManufactor("SYJY");
+        parsingUrlGF04.setUrl("/home/syjy/F_data/new/J01208");
+        parsingUrlGF04.setUrlStatus("1");
+        parsingUrlGF04.setStationCode("J01208");
+        parsingUrlGF04.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF04.setDelFlag("0");
+
+
+        ParsingUrl parsingUrlGF05 = new ParsingUrl();
+        parsingUrlGF05.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF05.setForecastManufactor("SYJY");
+        parsingUrlGF05.setUrl("/home/syjy/F_data/new/J01206");
+        parsingUrlGF05.setUrlStatus("1");
+        parsingUrlGF05.setStationCode("J01206");
+        parsingUrlGF05.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF05.setDelFlag("0");
+
+
+        ParsingUrl parsingUrlGF06 = new ParsingUrl();
+        parsingUrlGF06.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF06.setForecastManufactor("SYJY");
+        parsingUrlGF06.setUrl("/home/syjy/F_data/new/J01205");
+        parsingUrlGF06.setUrlStatus("1");
+        parsingUrlGF06.setStationCode("J01205");
+        parsingUrlGF06.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF06.setDelFlag("0");
+
+
+        ParsingUrl parsingUrlGF07 = new ParsingUrl();
+        parsingUrlGF07.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF07.setForecastManufactor("SYJY");
+        parsingUrlGF07.setUrl("/home/syjy/F_data/new/J01207");
+        parsingUrlGF07.setUrlStatus("1");
+        parsingUrlGF07.setStationCode("J01207");
+        parsingUrlGF07.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF07.setDelFlag("0");
+
+
+        ParsingUrl parsingUrlGF08 = new ParsingUrl();
+        parsingUrlGF08.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF08.setForecastManufactor("SYJY");
+        parsingUrlGF08.setUrl("/home/syjy/F_data/new/J01204");
+        parsingUrlGF08.setUrlStatus("1");
+        parsingUrlGF08.setStationCode("J01204");
+        parsingUrlGF08.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF08.setDelFlag("0");
+
+
         ParsingUrl parsingUrlGF12 = new ParsingUrl();
         parsingUrlGF12.setCId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrlGF12.setForecastManufactor("SYJY");
@@ -282,6 +351,15 @@ public class DownloadService {
         parsingUrlGF13.setId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrlGF13.setDelFlag("0");
 
+        ParsingUrl parsingUrlGF16 = new ParsingUrl();
+        parsingUrlGF16.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF16.setForecastManufactor("SYJY");
+        parsingUrlGF16.setUrl("/home/syjy/F_data/new/J01231");
+        parsingUrlGF16.setUrlStatus("1");
+        parsingUrlGF16.setStationCode("J01231");
+        parsingUrlGF16.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF16.setDelFlag("0");
+
 
         ParsingUrl parsingUrlGF19 = new ParsingUrl();
         parsingUrlGF19.setCId("722af308253fcd6eff67959c7f76eaf7");
@@ -316,10 +394,18 @@ public class DownloadService {
         parsingUrls.add(parsingUrl30);
         parsingUrls.add(parsingUrl31);
         parsingUrls.add(parsingUrl40);
+        parsingUrls.add(parsingUrl56);
         parsingUrls.add(parsingUrlGF01);
         parsingUrls.add(parsingUrlGF02);
+        parsingUrls.add(parsingUrlGF03);
+        parsingUrls.add(parsingUrlGF04);
+        parsingUrls.add(parsingUrlGF05);
+        parsingUrls.add(parsingUrlGF06);
+        parsingUrls.add(parsingUrlGF07);
+        parsingUrls.add(parsingUrlGF08);
         parsingUrls.add(parsingUrlGF12);
         parsingUrls.add(parsingUrlGF13);
+        parsingUrls.add(parsingUrlGF16);
         parsingUrls.add(parsingUrlGF19);
 
         String dateDir = DateFormatUtils.format(new Date(), "yyyyMMdd");

+ 24 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/ElectricFieldServiceImpl.java

@@ -136,18 +136,42 @@ public class ElectricFieldServiceImpl extends ServiceImpl<ElectricFieldMapper, E
             case "J01166":
                 sign = "FD0040";
                 break;
+            case "J01233":
+                sign = "FD0056";
+                break;
             case "J01056":
                 sign = "GF0001";
                 break;
             case "J01057":
                 sign = "GF0002";
                 break;
+            case "J01203":
+                sign = "GF0003";
+                break;
+            case "J01208":
+                sign = "GF0004";
+                break;
+            case "J01206":
+                sign = "GF0005";
+                break;
+            case "J01205":
+                sign = "GF0006";
+                break;
+            case "J01207":
+                sign = "GF0007";
+                break;
+            case "J01204":
+                sign = "GF0008";
+                break;
             case "J01061":
                 sign = "GF0012";
                 break;
             case "J01062":
                 sign = "GF0013";
                 break;
+            case "J01231":
+                sign = "GF0016";
+                break;
             case "J01175":
                 sign = "GF0019";
                 break;

+ 409 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0056ServiceImpl.java

@@ -0,0 +1,409 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperFD0056;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverFD0056ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperFD0056, JiaYueWindPowerCdqResultCoverFD0056> implements JiaYueWindPowerCdqResultCoverFD0056Service {
+    private final JiaYueWindPowerCdqResultCoverMapperFD0056 jiaYueWindPowerCdqResultCoverMapperFD0056;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final WindPowerReal15MinFD0056Service windPowerReal15MinFD0056Service;
+
+    private final JiaYueWindPowerDqResultCoverFD0056Service jiaYueWindPowerDqResultCoverFD0056Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+
+    public JiaYueWindPowerCdqResultCoverFD0056ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperFD0056 jiaYueWindPowerCdqResultCoverMapperFD0056, ElectricFieldService electricFieldService, SysParameterService sysParameterService, WindPowerReal15MinFD0056Service windPowerReal15MinFD0056Service, JiaYueWindPowerDqResultCoverFD0056Service jiaYueWindPowerDqResultCoverFD0056Service){
+        this.jiaYueWindPowerCdqResultCoverMapperFD0056 = jiaYueWindPowerCdqResultCoverMapperFD0056;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.windPowerReal15MinFD0056Service = windPowerReal15MinFD0056Service;
+        this.jiaYueWindPowerDqResultCoverFD0056Service = jiaYueWindPowerDqResultCoverFD0056Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverFD0056> get() {
+        List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperFD0056.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCoverFD0056List) {
+        if (jiaYueWindPowerCdqResultCoverFD0056List != null && jiaYueWindPowerCdqResultCoverFD0056List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverFD0056List, jiaYueWindPowerCdqResultCoverFD0056List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverFD0056List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperFD0056.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(80));
+        electricField3.setElectricFieldTypeEnum("2");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("广西壮族自治区桂林市资源县双江口村80MW风电场");
+
+        electricField3.setStationCode("J01233");
+        electricField3.setSign("FD0056");
+        electricField3.setNetSubstationName("J01233");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverFD0056List = jiaYueWindPowerDqResultCoverFD0056Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverFD0056List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCoverFD0056List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverFD0056 jiaYueWindPowerCdqResultCoverFD0056;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<WindPowerReal15MinFD0056> windPowerReal15MinList = windPowerReal15MinFD0056Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<WindPowerReal15MinFD0056> filterList = windPowerReal15MinList.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverFD0056> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverFD0056Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(WindPowerReal15MinFD0056::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverFD0056 = new JiaYueWindPowerCdqResultCoverFD0056();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverFD0056.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverFD0056.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverFD0056.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverFD0056.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverFD0056.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverFD0056.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverFD0056.setActivePower(0.0f);
+                } else {
+                    BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                    log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                    String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                    log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                    ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                    String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(),objId,ustPower.floatValue()).split(":");
+                    String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(),objId,ustPowers.floatValue()).split(":");
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverFD0056.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue()< 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverFD0056.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverFD0056.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverFD0056.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                    jiaYueWindPowerCdqResultCoverFD0056.setOpenCap(new BigDecimal(value[1]).floatValue());
+                }
+
+                jiaYueWindPowerCdqResultCoverFD0056List.add(jiaYueWindPowerCdqResultCoverFD0056);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverFD0056 = new JiaYueWindPowerCdqResultCoverFD0056();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverFD0056.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverFD0056.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(),objId,ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverFD0056.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverFD0056.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverFD0056.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverFD0056.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverFD0056.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverFD0056.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverFD0056List.add(jiaYueWindPowerCdqResultCoverFD0056);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverFD0056List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverFD0056List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperFD0056.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverFD0056> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverFD0056> jiaYueWindPowerCdqResultCoverFD0056List = new ArrayList<>();
+
+        for ( long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000;  time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverFD0056 jiaYueWindPowerCdqResultCoverFD0056 = jiaYueWindPowerCdqResultCoverMapperFD0056.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverFD0056){
+                jiaYueWindPowerCdqResultCoverFD0056List.add(jiaYueWindPowerCdqResultCoverFD0056);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverFD0056List;
+    }
+
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0&&
+                calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date){
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime,String objId,float bigDecimal){
+        // 查询场站并网容量
+        WindFarmInfoEncryption windFarmInfoEncryption = windFarmInfoEncryptionService.getCap(objId);
+        float cap = windFarmInfoEncryption.getCap();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)){
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal =  new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2,RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                }else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal =  new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2,RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0003ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0003;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0003ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0003, JiaYueWindPowerCdqResultCoverGF0003> implements JiaYueWindPowerCdqResultCoverGF0003Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0003 jiaYueWindPowerCdqResultCoverMapperGF0003;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0003Service pvPowerReal15MinGF0003Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0003Service jiaYueWindPowerDqResultCoverGF0003Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0003ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0003 jiaYueWindPowerCdqResultCoverMapperGF0003, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0003Service pvPowerReal15MinGF0003Service, JiaYueWindPowerDqResultCoverGF0003Service jiaYueWindPowerDqResultCoverGF0003Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0003 = jiaYueWindPowerCdqResultCoverMapperGF0003;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0003Service = pvPowerReal15MinGF0003Service;
+        this.jiaYueWindPowerDqResultCoverGF0003Service = jiaYueWindPowerDqResultCoverGF0003Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0003> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0003.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCoverGF0003List) {
+        if (jiaYueWindPowerCdqResultCoverGF0003List != null && jiaYueWindPowerCdqResultCoverGF0003List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0003List, jiaYueWindPowerCdqResultCoverGF0003List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0003List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0003.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(50));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("甘子村50MW光伏电站");
+        electricField3.setStationCode("J01203");
+        electricField3.setSign("GF0003");
+        electricField3.setNetSubstationName("J01203");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverGF0003List = jiaYueWindPowerDqResultCoverGF0003Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0003List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCoverGF0003List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0003 jiaYueWindPowerCdqResultCoverGF0003;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List = pvPowerReal15MinGF0003Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0003> filterList = pvPowerReal15MinGF0003List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0003> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0003Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0003::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0003 = new JiaYueWindPowerCdqResultCoverGF0003();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0003.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0003.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0003.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0003.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0003.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0003.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0003.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0003.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0003.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0003.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0003.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0003.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0003List.add(jiaYueWindPowerCdqResultCoverGF0003);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0003 = new JiaYueWindPowerCdqResultCoverGF0003();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0003.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0003.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0003.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0003.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0003.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0003.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0003.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0003.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0003List.add(jiaYueWindPowerCdqResultCoverGF0003);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0003List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0003List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0003.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0003> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0003> jiaYueWindPowerCdqResultCoverGF0003List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0003 jiaYueWindPowerCdqResultCoverGF0003 = jiaYueWindPowerCdqResultCoverMapperGF0003.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0003) {
+                jiaYueWindPowerCdqResultCoverGF0003List.add(jiaYueWindPowerCdqResultCoverGF0003);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0003List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0004ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0004;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0004ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0004, JiaYueWindPowerCdqResultCoverGF0004> implements JiaYueWindPowerCdqResultCoverGF0004Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0004 jiaYueWindPowerCdqResultCoverMapperGF0004;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0004Service pvPowerReal15MinGF0004Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0004Service jiaYueWindPowerDqResultCoverGF0004Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0004ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0004 jiaYueWindPowerCdqResultCoverMapperGF0004, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0004Service pvPowerReal15MinGF0004Service, JiaYueWindPowerDqResultCoverGF0004Service jiaYueWindPowerDqResultCoverGF0004Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0004 = jiaYueWindPowerCdqResultCoverMapperGF0004;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0004Service = pvPowerReal15MinGF0004Service;
+        this.jiaYueWindPowerDqResultCoverGF0004Service = jiaYueWindPowerDqResultCoverGF0004Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0004> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0004.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCoverGF0004List) {
+        if (jiaYueWindPowerCdqResultCoverGF0004List != null && jiaYueWindPowerCdqResultCoverGF0004List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0004List, jiaYueWindPowerCdqResultCoverGF0004List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0004List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0004.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(28));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("陆良县30MW光伏电站");
+        electricField3.setStationCode("J01208");
+        electricField3.setSign("GF0004");
+        electricField3.setNetSubstationName("J01208");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverGF0004List = jiaYueWindPowerDqResultCoverGF0004Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0004List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCoverGF0004List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0004 jiaYueWindPowerCdqResultCoverGF0004;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List = pvPowerReal15MinGF0004Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0004> filterList = pvPowerReal15MinGF0004List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0004> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0004Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0004::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0004 = new JiaYueWindPowerCdqResultCoverGF0004();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0004.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0004.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0004.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0004.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0004.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0004.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0004.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0004.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0004.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0004.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0004.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0004.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0004List.add(jiaYueWindPowerCdqResultCoverGF0004);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0004 = new JiaYueWindPowerCdqResultCoverGF0004();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0004.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0004.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0004.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0004.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0004.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0004.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0004.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0004.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0004List.add(jiaYueWindPowerCdqResultCoverGF0004);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0004List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0004List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0004.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0004> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0004> jiaYueWindPowerCdqResultCoverGF0004List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0004 jiaYueWindPowerCdqResultCoverGF0004 = jiaYueWindPowerCdqResultCoverMapperGF0004.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0004) {
+                jiaYueWindPowerCdqResultCoverGF0004List.add(jiaYueWindPowerCdqResultCoverGF0004);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0004List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0005ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0005;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0005ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0005, JiaYueWindPowerCdqResultCoverGF0005> implements JiaYueWindPowerCdqResultCoverGF0005Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0005 jiaYueWindPowerCdqResultCoverMapperGF0005;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0005Service pvPowerReal15MinGF0005Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0005Service jiaYueWindPowerDqResultCoverGF0005Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0005ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0005 jiaYueWindPowerCdqResultCoverMapperGF0005, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0005Service pvPowerReal15MinGF0005Service, JiaYueWindPowerDqResultCoverGF0005Service jiaYueWindPowerDqResultCoverGF0005Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0005 = jiaYueWindPowerCdqResultCoverMapperGF0005;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0005Service = pvPowerReal15MinGF0005Service;
+        this.jiaYueWindPowerDqResultCoverGF0005Service = jiaYueWindPowerDqResultCoverGF0005Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0005> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0005.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCoverGF0005List) {
+        if (jiaYueWindPowerCdqResultCoverGF0005List != null && jiaYueWindPowerCdqResultCoverGF0005List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0005List, jiaYueWindPowerCdqResultCoverGF0005List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0005List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0005.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(50));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("元谋县50MW光伏电站");
+        electricField3.setStationCode("J01206");
+        electricField3.setSign("GF0005");
+        electricField3.setNetSubstationName("J01206");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverGF0005List = jiaYueWindPowerDqResultCoverGF0005Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0005List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCoverGF0005List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0005 jiaYueWindPowerCdqResultCoverGF0005;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List = pvPowerReal15MinGF0005Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0005> filterList = pvPowerReal15MinGF0005List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0005> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0005Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0005::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0005 = new JiaYueWindPowerCdqResultCoverGF0005();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0005.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0005.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0005.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0005.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0005.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0005.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0005.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0005.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0005.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0005.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0005.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0005.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0005List.add(jiaYueWindPowerCdqResultCoverGF0005);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0005 = new JiaYueWindPowerCdqResultCoverGF0005();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0005.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0005.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0005.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0005.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0005.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0005.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0005.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0005.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0005List.add(jiaYueWindPowerCdqResultCoverGF0005);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0005List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0005List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0005.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0005> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0005> jiaYueWindPowerCdqResultCoverGF0005List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0005 jiaYueWindPowerCdqResultCoverGF0005 = jiaYueWindPowerCdqResultCoverMapperGF0005.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0005) {
+                jiaYueWindPowerCdqResultCoverGF0005List.add(jiaYueWindPowerCdqResultCoverGF0005);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0005List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0006ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0006;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0006ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0006, JiaYueWindPowerCdqResultCoverGF0006> implements JiaYueWindPowerCdqResultCoverGF0006Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0006 jiaYueWindPowerCdqResultCoverMapperGF0006;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0006Service pvPowerReal15MinGF0006Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0006Service jiaYueWindPowerDqResultCoverGF0006Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0006ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0006 jiaYueWindPowerCdqResultCoverMapperGF0006, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0006Service pvPowerReal15MinGF0006Service, JiaYueWindPowerDqResultCoverGF0006Service jiaYueWindPowerDqResultCoverGF0006Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0006 = jiaYueWindPowerCdqResultCoverMapperGF0006;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0006Service = pvPowerReal15MinGF0006Service;
+        this.jiaYueWindPowerDqResultCoverGF0006Service = jiaYueWindPowerDqResultCoverGF0006Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0006> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0006.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCoverGF0006List) {
+        if (jiaYueWindPowerCdqResultCoverGF0006List != null && jiaYueWindPowerCdqResultCoverGF0006List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0006List, jiaYueWindPowerCdqResultCoverGF0006List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0006List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0006.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(50));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("永仁县50MW光伏电站");
+        electricField3.setStationCode("J01205");
+        electricField3.setSign("GF0006");
+        electricField3.setNetSubstationName("J01205");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverGF0006List = jiaYueWindPowerDqResultCoverGF0006Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0006List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCoverGF0006List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0006 jiaYueWindPowerCdqResultCoverGF0006;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List = pvPowerReal15MinGF0006Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0006> filterList = pvPowerReal15MinGF0006List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0006> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0006Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0006::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0006 = new JiaYueWindPowerCdqResultCoverGF0006();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0006.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0006.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0006.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0006.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0006.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0006.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0006.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0006.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0006.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0006.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0006.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0006.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0006List.add(jiaYueWindPowerCdqResultCoverGF0006);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0006 = new JiaYueWindPowerCdqResultCoverGF0006();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0006.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0006.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0006.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0006.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0006.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0006.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0006.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0006.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0006List.add(jiaYueWindPowerCdqResultCoverGF0006);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0006List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0006List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0006.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0006> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0006> jiaYueWindPowerCdqResultCoverGF0006List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0006 jiaYueWindPowerCdqResultCoverGF0006 = jiaYueWindPowerCdqResultCoverMapperGF0006.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0006) {
+                jiaYueWindPowerCdqResultCoverGF0006List.add(jiaYueWindPowerCdqResultCoverGF0006);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0006List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0007ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0007;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0007ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0007, JiaYueWindPowerCdqResultCoverGF0007> implements JiaYueWindPowerCdqResultCoverGF0007Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0007 jiaYueWindPowerCdqResultCoverMapperGF0007;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0007Service pvPowerReal15MinGF0007Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0007Service jiaYueWindPowerDqResultCoverGF0007Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0007ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0007 jiaYueWindPowerCdqResultCoverMapperGF0007, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0007Service pvPowerReal15MinGF0007Service, JiaYueWindPowerDqResultCoverGF0007Service jiaYueWindPowerDqResultCoverGF0007Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0007 = jiaYueWindPowerCdqResultCoverMapperGF0007;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0007Service = pvPowerReal15MinGF0007Service;
+        this.jiaYueWindPowerDqResultCoverGF0007Service = jiaYueWindPowerDqResultCoverGF0007Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0007> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0007.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCoverGF0007List) {
+        if (jiaYueWindPowerCdqResultCoverGF0007List != null && jiaYueWindPowerCdqResultCoverGF0007List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0007List, jiaYueWindPowerCdqResultCoverGF0007List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0007List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0007.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(46));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("弥渡县46MW光伏电站");
+        electricField3.setStationCode("J01207");
+        electricField3.setSign("GF0007");
+        electricField3.setNetSubstationName("J01207");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverGF0007List = jiaYueWindPowerDqResultCoverGF0007Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0007List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCoverGF0007List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0007 jiaYueWindPowerCdqResultCoverGF0007;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List = pvPowerReal15MinGF0007Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0007> filterList = pvPowerReal15MinGF0007List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0007> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0007Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0007::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0007 = new JiaYueWindPowerCdqResultCoverGF0007();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0007.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0007.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0007.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0007.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0007.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0007.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0007.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0007.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0007.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0007.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0007.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0007.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0007List.add(jiaYueWindPowerCdqResultCoverGF0007);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0007 = new JiaYueWindPowerCdqResultCoverGF0007();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0007.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0007.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0007.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0007.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0007.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0007.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0007.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0007.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0007List.add(jiaYueWindPowerCdqResultCoverGF0007);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0007List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0007List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0007.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0007> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0007> jiaYueWindPowerCdqResultCoverGF0007List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0007 jiaYueWindPowerCdqResultCoverGF0007 = jiaYueWindPowerCdqResultCoverMapperGF0007.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0007) {
+                jiaYueWindPowerCdqResultCoverGF0007List.add(jiaYueWindPowerCdqResultCoverGF0007);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0007List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0008ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0008;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0008ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0008, JiaYueWindPowerCdqResultCoverGF0008> implements JiaYueWindPowerCdqResultCoverGF0008Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0008 jiaYueWindPowerCdqResultCoverMapperGF0008;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0008Service pvPowerReal15MinGF0008Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0008Service jiaYueWindPowerDqResultCoverGF0008Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0008ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0008 jiaYueWindPowerCdqResultCoverMapperGF0008, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0008Service pvPowerReal15MinGF0008Service, JiaYueWindPowerDqResultCoverGF0008Service jiaYueWindPowerDqResultCoverGF0008Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0008 = jiaYueWindPowerCdqResultCoverMapperGF0008;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0008Service = pvPowerReal15MinGF0008Service;
+        this.jiaYueWindPowerDqResultCoverGF0008Service = jiaYueWindPowerDqResultCoverGF0008Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0008> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0008.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCoverGF0008List) {
+        if (jiaYueWindPowerCdqResultCoverGF0008List != null && jiaYueWindPowerCdqResultCoverGF0008List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0008List, jiaYueWindPowerCdqResultCoverGF0008List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0008List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0008.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(20));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("下海稍村20MW光伏电站");
+        electricField3.setStationCode("J01204");
+        electricField3.setSign("GF0008");
+        electricField3.setNetSubstationName("J01204");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverGF0008List = jiaYueWindPowerDqResultCoverGF0008Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0008List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCoverGF0008List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0008 jiaYueWindPowerCdqResultCoverGF0008;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List = pvPowerReal15MinGF0008Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0008> filterList = pvPowerReal15MinGF0008List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0008> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0008Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0008::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0008 = new JiaYueWindPowerCdqResultCoverGF0008();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0008.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0008.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0008.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0008.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0008.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0008.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0008.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0008.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0008.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0008.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0008.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0008.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0008List.add(jiaYueWindPowerCdqResultCoverGF0008);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0008 = new JiaYueWindPowerCdqResultCoverGF0008();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0008.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0008.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0008.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0008.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0008.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0008.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0008.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0008.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0008List.add(jiaYueWindPowerCdqResultCoverGF0008);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0008List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0008List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0008.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0008> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0008> jiaYueWindPowerCdqResultCoverGF0008List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0008 jiaYueWindPowerCdqResultCoverGF0008 = jiaYueWindPowerCdqResultCoverMapperGF0008.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0008) {
+                jiaYueWindPowerCdqResultCoverGF0008List.add(jiaYueWindPowerCdqResultCoverGF0008);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0008List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0016ServiceImpl.java

@@ -0,0 +1,413 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerCdqResultCoverMapperGF0016;
+import com.jiayue.ipfcst.client.service.*;
+import com.jiayue.ipfcst.common.core.util.DateMomentUtil;
+import com.jiayue.ipfcst.common.core.util.DateTimeUtil;
+import com.jiayue.ipp.common.data.entity.*;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0016ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0016, JiaYueWindPowerCdqResultCoverGF0016> implements JiaYueWindPowerCdqResultCoverGF0016Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0016 jiaYueWindPowerCdqResultCoverMapperGF0016;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0016Service pvPowerReal15MinGF0016Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0016Service jiaYueWindPowerDqResultCoverGF0016Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0016ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0016 jiaYueWindPowerCdqResultCoverMapperGF0016, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0016Service pvPowerReal15MinGF0016Service, JiaYueWindPowerDqResultCoverGF0016Service jiaYueWindPowerDqResultCoverGF0016Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0016 = jiaYueWindPowerCdqResultCoverMapperGF0016;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0016Service = pvPowerReal15MinGF0016Service;
+        this.jiaYueWindPowerDqResultCoverGF0016Service = jiaYueWindPowerDqResultCoverGF0016Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0016> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0016.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCoverGF0016List) {
+        if (jiaYueWindPowerCdqResultCoverGF0016List != null && jiaYueWindPowerCdqResultCoverGF0016List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0016List, jiaYueWindPowerCdqResultCoverGF0016List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0016List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0016.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(120));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("广西壮族自治区钦州市钦南区屯窝村120MW光伏电站");
+        electricField3.setStationCode("J01231");
+        electricField3.setSign("GF0016");
+        electricField3.setNetSubstationName("GF0016");
+
+        electricFieldList.add(electricField3);
+
+        electricFieldList.forEach(e -> {
+            String stationCode = e.getSign();
+            // 根据场站类型执行相应超短期预测
+            try {
+                // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
+                String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
+                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 2, 15 * 60 * 1000L);
+                Long startTime = calTime + 15 * 1000 * 60L;
+                String llcdq_point = sysParameterService.getSysParameterAndStationCode("FILE_LLCDQ_POINT", "40", stationCode);
+                Integer forecastPoints = Integer.parseInt(llcdq_point);
+                Integer forecastMinutes = (forecastPoints - 1) * 15;
+                // 结束时间增加15分钟为了防止文件先生成,实时表中最后一个时间点没有点位的问题
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes + 1).getTime();
+
+                // 查询该时间段内的短期预测功率
+                List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverGF0016List = jiaYueWindPowerDqResultCoverGF0016Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(startTime), new Date(endTime));
+
+
+//            List<ForecastPowerShortTerm> addForecastPowerShortTermList = new ArrayList<>();
+//            // 判断短期数据是否缺点
+//            for (Long tempTime = startTime; tempTime <= endTime; tempTime = tempTime + 15 * 60 * 1000L) {
+//                if (forecastPowerShortTermsMap.get(tempTime) == null) {
+//                    // 缺失时间点
+//                    ForecastPowerShortTerm forecastPowerShortTerms = null;
+//                    if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateSolarPowerShortTerm(tempTime, openCapacityMap.get(tempTime), electricField);
+//                    } else {
+//                        forecastPowerShortTerms = forecastPowerShortTermService.generateWindPowerShortTerm(tempTime, openCapacityMap.get(tempTime));
+//                    }
+//                    addForecastPowerShortTermList.add(forecastPowerShortTerms);
+//                }
+//            }
+//            if (!addForecastPowerShortTermList.isEmpty()) {
+//                // 保存短期预测
+//                this.forecastPowerShortTermRepository.saveAll(addForecastPowerShortTermList);
+//                // 将补齐的预测功率追加到查询预测功率结果集中
+//                forecastPowerShortTermList.addAll(addForecastPowerShortTermList);
+//            }
+
+                log.info("执行超短期预测生成。。。。。。{}", stationCode);
+//                if (ElectricFieldTypeEnum.E1.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+//                    // 光伏电站
+//                    this.executeForecastForlight(forecastPowerShortTermList, electricField.getCapacity());
+//                } else if (ElectricFieldTypeEnum.E2.compareTo(electricField.getElectricFieldTypeEnum()) == 0) {
+                // 风力电场
+                this.executeForecastForWind(jiaYueWindPowerDqResultCoverGF0016List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCoverGF0016List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0016 jiaYueWindPowerCdqResultCoverGF0016;
+        //获取系统参数cdqjsfs,超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式
+        String cdqjsfs = sysParameterService.getSysParameterAndStationCode("cdqjsfs", "1", stationCode);
+        log.info("参数cdqjsfs值为:" + cdqjsfs + ",超短期计算方式,0为默认乘系数的方式,1为根据可用功率计算的方式。");
+        BigDecimal stPower, ustPower, ustPowers;
+        // 查询当前时间点标记时间前10分钟的可用功率
+        Date currentTime = new Date(System.currentTimeMillis());
+        Date startTime = DateUtils.addMinutes(currentTime, -10);
+        Date endTime = DateUtils.addMinutes(currentTime, 1);
+        // 场站编号转换为FD000?
+        String objId = electricFieldService.numberToIdentification(stationCode);
+        List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List = pvPowerReal15MinGF0016Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0016> filterList = pvPowerReal15MinGF0016List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0016> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0016Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0016::getDateTime).reversed());
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getActivePower())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal averageAbleValue = sumAbleValue.divide(new BigDecimal(filterList.size()), 2, BigDecimal.ROUND_HALF_UP);
+            //可用-短期差值
+            BigDecimal deviationValue = averageAbleValue.subtract(new BigDecimal(currentForecastPowerValue));
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                jiaYueWindPowerCdqResultCoverGF0016 = new JiaYueWindPowerCdqResultCoverGF0016();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0016.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0016.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0016.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0016.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0016.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0016.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                //短期*系数
+                ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+
+                BigDecimal xzjdq = deviationValue.add(stPower).setScale(2, BigDecimal.ROUND_HALF_UP);
+                String cdqjsfsZbxz = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbxz", "0.4", stationCode);
+                log.debug("参数cdqjsfsZbxz值为:" + cdqjsfsZbxz + ",超短期计算方式,可用和短期的差值加短期占比。");
+                String cdqjsfsZbdq = sysParameterService.getSysParameterAndStationCode("cdqjsfsZbdq", "0.6", stationCode);
+                log.debug("参数cdqjsfsZbdq值为:" + cdqjsfsZbdq + ",超短期计算方式,短期占比。");
+                ustPower = xzjdq.multiply(new BigDecimal(cdqjsfsZbxz)).setScale(2, BigDecimal.ROUND_HALF_UP).add(stPower.multiply(new BigDecimal(cdqjsfsZbdq)).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+                String[] aa = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPowers.floatValue()).split(":");
+
+                // 如果短期预测小于等于0,则超短期为0
+                if (stPower.floatValue() <= 0) {
+                    jiaYueWindPowerCdqResultCoverGF0016.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0016.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0016.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0016.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0016.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0016.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0016List.add(jiaYueWindPowerCdqResultCoverGF0016);
+            }
+        } else {
+            log.info("库中没有可用,本次可用计算数据采用短期*系数的方式生成数据");
+            // 短期乘以系数
+            for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
+                stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getActivePower());
+                ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
+                jiaYueWindPowerCdqResultCoverGF0016 = new JiaYueWindPowerCdqResultCoverGF0016();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                Boolean is = this.isMidnight(date);
+
+                if (is == true) {
+                    jiaYueWindPowerCdqResultCoverGF0016.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0016.setDataDate(new Date());
+                }
+                String[] value = this.openCap(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime(), objId, ustPower.floatValue()).split(":");
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0016.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0016.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0016.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0016.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0016.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0016.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0016List.add(jiaYueWindPowerCdqResultCoverGF0016);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0016List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0016List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0016.deleteByDateTime(startTime, endTime, stationCode);
+    }
+
+    /**
+     * 将Date格式转换为Time格式
+     *
+     * @param utilDate
+     * @return
+     */
+    public static Time convertUtilDateToMySQLTime(Date utilDate) {
+        // 使用 SimpleDateFormat 提取时间部分
+        SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+        String timeString = timeFormat.format(utilDate);
+        // 将提取的时间部分转换为 MySQL TIME 类型
+        return Time.valueOf(timeString);
+    }
+
+    @Override
+    public List<JiaYueWindPowerCdqResultCoverGF0016> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0016> jiaYueWindPowerCdqResultCoverGF0016List = new ArrayList<>();
+
+        for (long time = startTime.getTime(); time < startTime.getTime() + 24 * 60 * 60 * 1000L - 1000; time = time + 15 * 60 * 1000L) {
+            Date date = new Date(time);
+            String dateSubString = simpleDateFormat.format(date);
+            JiaYueWindPowerCdqResultCoverGF0016 jiaYueWindPowerCdqResultCoverGF0016 = jiaYueWindPowerCdqResultCoverMapperGF0016.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0016) {
+                jiaYueWindPowerCdqResultCoverGF0016List.add(jiaYueWindPowerCdqResultCoverGF0016);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0016List;
+    }
+
+
+    /**
+     * 判断时间戳是否是0点0分
+     *
+     * @param timestamp
+     * @return
+     */
+    public boolean isMidnight(long timestamp) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("Asia/Shanghai"));
+        calendar.setTimeInMillis(timestamp);
+
+        boolean isMidnight = // 小时为0
+                calendar.get(Calendar.HOUR_OF_DAY) == 0 &&
+                        calendar.get(Calendar.MINUTE) == 0 // 分钟为0
+                        && calendar.get(Calendar.SECOND) == 0; // 秒为0
+        return isMidnight;
+    }
+
+    public Date nextDay(Date date) {
+        Calendar calendar = new GregorianCalendar();
+        calendar.setTime(date);
+        calendar.add(calendar.DATE, 1);
+        date = calendar.getTime();
+        return date;
+    }
+
+    public String openCap(LocalDateTime localDateTime, String objId, float bigDecimal) {
+        // 查询场站并网容量
+        PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
+        // 跟任总沟通取报备侧容量
+        float cap = photovoltaicFarmInfo.getCapReport();
+        BigDecimal capValue = new BigDecimal(cap);
+        Instant incomingTime = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
+        Instant queryTime = null;
+
+        // 查询检修计划
+        List<OverhaulPlan> overhaulPlanList = overhaulPlanService.getOverhaulPlan(localDateTime, objId);
+        if (null != overhaulPlanList && overhaulPlanList.size() > 0) {
+            for (OverhaulPlan overhaulPlan : overhaulPlanList) {
+                // 判断手动停止时间是否在预测数据时间之后
+                if (null != overhaulPlan.getMcTime()) {
+                    queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
+                    if (queryTime.isAfter(incomingTime)) {
+                        BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                        cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                    }
+                } else {
+                    BigDecimal bigDecimal1 = overhaulPlan.getOverhaulCapactity().divide(capValue, 2, RoundingMode.HALF_UP);
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
+                    cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
+                }
+            }
+        }
+        String str = bigDecimal + ":" + cap;
+        return str;
+    }
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultFD0056CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperFD0056;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverFD0056Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverFD0056;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultFD0056CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperFD0056, JiaYueWindPowerDqResultCoverFD0056> implements JiaYueWindPowerDqResultCoverFD0056Service {
+    private final JiaYueWindPowerDqResultCoverMapperFD0056 jiaYueWindPowerDqResultCoverMapperFD0056;
+
+    public JiaYueWindPowerDqResultFD0056CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperFD0056 jiaYueWindPowerDqResultCoverMapperFD0056){
+        this.jiaYueWindPowerDqResultCoverMapperFD0056 = jiaYueWindPowerDqResultCoverMapperFD0056;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverFD0056> get() {
+        List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperFD0056.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverFD0056> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperFD0056.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverFD0056> getAll() {
+        List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperFD0056.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperFD0056.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverFD0056> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperFD0056.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverFD0056> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverFD0056> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperFD0056.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0003CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0003;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0003Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0003;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0003CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0003, JiaYueWindPowerDqResultCoverGF0003> implements JiaYueWindPowerDqResultCoverGF0003Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0003 jiaYueWindPowerDqResultCoverMapperGF0003;
+
+    public JiaYueWindPowerDqResultGF0003CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0003 jiaYueWindPowerDqResultCoverMapperGF0003){
+        this.jiaYueWindPowerDqResultCoverMapperGF0003 = jiaYueWindPowerDqResultCoverMapperGF0003;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0003> get() {
+        List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0003.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0003> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0003.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0003> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0003.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0003.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0003> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0003.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0003> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0003> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0003.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0004CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0004;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0004Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0004;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0004CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0004, JiaYueWindPowerDqResultCoverGF0004> implements JiaYueWindPowerDqResultCoverGF0004Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0004 jiaYueWindPowerDqResultCoverMapperGF0004;
+
+    public JiaYueWindPowerDqResultGF0004CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0004 jiaYueWindPowerDqResultCoverMapperGF0004){
+        this.jiaYueWindPowerDqResultCoverMapperGF0004 = jiaYueWindPowerDqResultCoverMapperGF0004;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0004> get() {
+        List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0004.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0004> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0004.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0004> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0004.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0004.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0004> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0004.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0004> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0004> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0004.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0005CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0005;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0005Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0005;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0005CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0005, JiaYueWindPowerDqResultCoverGF0005> implements JiaYueWindPowerDqResultCoverGF0005Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0005 jiaYueWindPowerDqResultCoverMapperGF0005;
+
+    public JiaYueWindPowerDqResultGF0005CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0005 jiaYueWindPowerDqResultCoverMapperGF0005){
+        this.jiaYueWindPowerDqResultCoverMapperGF0005 = jiaYueWindPowerDqResultCoverMapperGF0005;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0005> get() {
+        List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0005.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0005> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0005.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0005> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0005.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0005.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0005> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0005.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0005> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0005> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0005.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0006CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0006;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0006Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0006;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0006CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0006, JiaYueWindPowerDqResultCoverGF0006> implements JiaYueWindPowerDqResultCoverGF0006Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0006 jiaYueWindPowerDqResultCoverMapperGF0006;
+
+    public JiaYueWindPowerDqResultGF0006CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0006 jiaYueWindPowerDqResultCoverMapperGF0006){
+        this.jiaYueWindPowerDqResultCoverMapperGF0006 = jiaYueWindPowerDqResultCoverMapperGF0006;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0006> get() {
+        List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0006.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0006> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0006.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0006> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0006.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0006.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0006> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0006.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0006> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0006> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0006.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0007CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0007;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0007Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0007;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0007CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0007, JiaYueWindPowerDqResultCoverGF0007> implements JiaYueWindPowerDqResultCoverGF0007Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0007 jiaYueWindPowerDqResultCoverMapperGF0007;
+
+    public JiaYueWindPowerDqResultGF0007CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0007 jiaYueWindPowerDqResultCoverMapperGF0007){
+        this.jiaYueWindPowerDqResultCoverMapperGF0007 = jiaYueWindPowerDqResultCoverMapperGF0007;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0007> get() {
+        List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0007.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0007> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0007.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0007> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0007.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0007.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0007> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0007.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0007> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0007> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0007.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0008CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0008;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0008Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0008;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0008CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0008, JiaYueWindPowerDqResultCoverGF0008> implements JiaYueWindPowerDqResultCoverGF0008Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0008 jiaYueWindPowerDqResultCoverMapperGF0008;
+
+    public JiaYueWindPowerDqResultGF0008CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0008 jiaYueWindPowerDqResultCoverMapperGF0008){
+        this.jiaYueWindPowerDqResultCoverMapperGF0008 = jiaYueWindPowerDqResultCoverMapperGF0008;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0008> get() {
+        List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0008.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0008> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0008.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0008> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0008.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0008.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0008> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0008.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0008> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0008> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0008.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0016CoverServiceImpl.java

@@ -0,0 +1,95 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerDqResultCoverMapperGF0016;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0016Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0016;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0016CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0016, JiaYueWindPowerDqResultCoverGF0016> implements JiaYueWindPowerDqResultCoverGF0016Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0016 jiaYueWindPowerDqResultCoverMapperGF0016;
+
+    public JiaYueWindPowerDqResultGF0016CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0016 jiaYueWindPowerDqResultCoverMapperGF0016){
+        this.jiaYueWindPowerDqResultCoverMapperGF0016 = jiaYueWindPowerDqResultCoverMapperGF0016;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0016> get() {
+        List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0016.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0016> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0016.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0016> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0016.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0016.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverList, String stationCode) {
+        Time startTime = jiaYueWindPowerDqResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerDqResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerDqResultCoverList.get(jiaYueWindPowerDqResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerDqResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerDqResultCoverList, jiaYueWindPowerDqResultCoverList.size());
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0016> findByObjIdAndStartTimeAndEndTime(String stationCode, Date startTime, Date endTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        String endTimeStr = simpleDateFormat.format(endTime);
+
+
+        List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0016.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0016> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0016.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 76 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultFD0056CoverServiceImpl.java

@@ -0,0 +1,76 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperFD0040;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperFD0056;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverFD0056Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverFD0040;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverFD0056;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultFD0056CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperFD0056, JiaYueWindPowerNwpResultCoverFD0056> implements JiaYueWindPowerNwpResultCoverFD0056Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperFD0056 jiaYueWindPowerNwpResultCoverMapperFD0056;
+
+    public JiaYueWindPowerNwpResultFD0056CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperFD0056 jiaYueWindPowerNwpResultCoverMapperFD0056){
+        this.jiaYueWindPowerNwpResultCoverMapperFD0056 = jiaYueWindPowerNwpResultCoverMapperFD0056;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverFD0056> get() {
+        List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperFD0056.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverFD0056> getAll() {
+        List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperFD0056.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperFD0056.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverFD0056> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverFD0056> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperFD0056.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0003CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0003;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0003Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0003;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0003CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0003, JiaYueWindPowerNwpResultCoverGF0003> implements JiaYueWindPowerNwpResultCoverGF0003Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0003 jiaYueWindPowerNwpResultCoverMapperGF0003;
+
+    public JiaYueWindPowerNwpResultGF0003CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0003 jiaYueWindPowerNwpResultCoverMapperGF0003){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0003 = jiaYueWindPowerNwpResultCoverMapperGF0003;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0003> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0003.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0003> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0003.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0003.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0003> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0003> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0003.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0004CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0004;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0004Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0004;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0004CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0004, JiaYueWindPowerNwpResultCoverGF0004> implements JiaYueWindPowerNwpResultCoverGF0004Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0004 jiaYueWindPowerNwpResultCoverMapperGF0004;
+
+    public JiaYueWindPowerNwpResultGF0004CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0004 jiaYueWindPowerNwpResultCoverMapperGF0004){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0004 = jiaYueWindPowerNwpResultCoverMapperGF0004;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0004> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0004.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0004> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0004.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0004.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0004> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0004> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0004.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0005CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0005;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0005Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0005;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0005CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0005, JiaYueWindPowerNwpResultCoverGF0005> implements JiaYueWindPowerNwpResultCoverGF0005Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0005 jiaYueWindPowerNwpResultCoverMapperGF0005;
+
+    public JiaYueWindPowerNwpResultGF0005CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0005 jiaYueWindPowerNwpResultCoverMapperGF0005){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0005 = jiaYueWindPowerNwpResultCoverMapperGF0005;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0005> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0005.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0005> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0005.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0005.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0005> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0005> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0005.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0006CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0006;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0006Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0006;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0006CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0006, JiaYueWindPowerNwpResultCoverGF0006> implements JiaYueWindPowerNwpResultCoverGF0006Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0006 jiaYueWindPowerNwpResultCoverMapperGF0006;
+
+    public JiaYueWindPowerNwpResultGF0006CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0006 jiaYueWindPowerNwpResultCoverMapperGF0006){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0006 = jiaYueWindPowerNwpResultCoverMapperGF0006;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0006> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0006.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0006> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0006.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0006.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0006> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0006> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0006.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0007CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0007;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0007Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0007;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0007CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0007, JiaYueWindPowerNwpResultCoverGF0007> implements JiaYueWindPowerNwpResultCoverGF0007Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0007 jiaYueWindPowerNwpResultCoverMapperGF0007;
+
+    public JiaYueWindPowerNwpResultGF0007CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0007 jiaYueWindPowerNwpResultCoverMapperGF0007){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0007 = jiaYueWindPowerNwpResultCoverMapperGF0007;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0007> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0007.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0007> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0007.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0007.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0007> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0007> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0007.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0008CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0008;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0008Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0008;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0008CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0008, JiaYueWindPowerNwpResultCoverGF0008> implements JiaYueWindPowerNwpResultCoverGF0008Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0008 jiaYueWindPowerNwpResultCoverMapperGF0008;
+
+    public JiaYueWindPowerNwpResultGF0008CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0008 jiaYueWindPowerNwpResultCoverMapperGF0008){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0008 = jiaYueWindPowerNwpResultCoverMapperGF0008;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0008> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0008.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0008> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0008.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0008.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0008> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0008> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0008.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0016CoverServiceImpl.java

@@ -0,0 +1,74 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.JiaYueWindPowerNwpResultCoverMapperGF0016;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0016Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0016;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0016CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0016, JiaYueWindPowerNwpResultCoverGF0016> implements JiaYueWindPowerNwpResultCoverGF0016Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0016 jiaYueWindPowerNwpResultCoverMapperGF0016;
+
+    public JiaYueWindPowerNwpResultGF0016CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0016 jiaYueWindPowerNwpResultCoverMapperGF0016){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0016 = jiaYueWindPowerNwpResultCoverMapperGF0016;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0016> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0016.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0016> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0016.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0016.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverList, String stationCode) {
+
+        Time startTime = jiaYueWindPowerNwpResultCoverList.get(0).getDataTime();
+        Time endTime = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataTime();
+
+        Date dateDateStart = jiaYueWindPowerNwpResultCoverList.get(0).getDataDate();
+        Date dateDateEnd = jiaYueWindPowerNwpResultCoverList.get(jiaYueWindPowerNwpResultCoverList.size() - 1).getDataDate();
+
+//        jiaYueWindPowerNwpResultCoverMapper.deleteByDateTime(startTime,endTime,stationCode,dateDateStart,dateDateEnd);
+        this.saveBatch(jiaYueWindPowerNwpResultCoverList, jiaYueWindPowerNwpResultCoverList.size());
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0016> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0016.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0003ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0003Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0003Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0003;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0003ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0003Mapper, PvPowerReal15MinGF0003> implements PvPowerReal15MinGF0003Service {
+    private final PvPowerReal15MinGF0003Mapper pvPowerReal15MinGF0003Mapper;
+
+    public PvPowerReal15MinGF0003ServiceImpl(PvPowerReal15MinGF0003Mapper pvPowerReal15MinGF0003Mapper){
+        this.pvPowerReal15MinGF0003Mapper = pvPowerReal15MinGF0003Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0003> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List =  pvPowerReal15MinGF0003Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0003List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List) {
+        if (pvPowerReal15MinGF0003List != null && pvPowerReal15MinGF0003List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0003List,pvPowerReal15MinGF0003List.size());
+        }
+        return pvPowerReal15MinGF0003List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0003> getAll() {
+        List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List =  pvPowerReal15MinGF0003Mapper.selectList(null);
+        return  pvPowerReal15MinGF0003List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0003> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List =  pvPowerReal15MinGF0003Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0003List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0003Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0003> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0003> pvPowerReal15MinGF0003List = pvPowerReal15MinGF0003Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0003List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0004ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0004Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0004Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0004;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0004ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0004Mapper, PvPowerReal15MinGF0004> implements PvPowerReal15MinGF0004Service {
+    private final PvPowerReal15MinGF0004Mapper pvPowerReal15MinGF0004Mapper;
+
+    public PvPowerReal15MinGF0004ServiceImpl(PvPowerReal15MinGF0004Mapper pvPowerReal15MinGF0004Mapper){
+        this.pvPowerReal15MinGF0004Mapper = pvPowerReal15MinGF0004Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0004> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List =  pvPowerReal15MinGF0004Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0004List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List) {
+        if (pvPowerReal15MinGF0004List != null && pvPowerReal15MinGF0004List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0004List,pvPowerReal15MinGF0004List.size());
+        }
+        return pvPowerReal15MinGF0004List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0004> getAll() {
+        List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List =  pvPowerReal15MinGF0004Mapper.selectList(null);
+        return  pvPowerReal15MinGF0004List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0004> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List =  pvPowerReal15MinGF0004Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0004List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0004Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0004> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0004> pvPowerReal15MinGF0004List = pvPowerReal15MinGF0004Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0004List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0005ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0005Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0005Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0005;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0005ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0005Mapper, PvPowerReal15MinGF0005> implements PvPowerReal15MinGF0005Service {
+    private final PvPowerReal15MinGF0005Mapper pvPowerReal15MinGF0005Mapper;
+
+    public PvPowerReal15MinGF0005ServiceImpl(PvPowerReal15MinGF0005Mapper pvPowerReal15MinGF0005Mapper){
+        this.pvPowerReal15MinGF0005Mapper = pvPowerReal15MinGF0005Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0005> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List =  pvPowerReal15MinGF0005Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0005List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List) {
+        if (pvPowerReal15MinGF0005List != null && pvPowerReal15MinGF0005List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0005List,pvPowerReal15MinGF0005List.size());
+        }
+        return pvPowerReal15MinGF0005List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0005> getAll() {
+        List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List =  pvPowerReal15MinGF0005Mapper.selectList(null);
+        return  pvPowerReal15MinGF0005List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0005> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List =  pvPowerReal15MinGF0005Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0005List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0005Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0005> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0005> pvPowerReal15MinGF0005List = pvPowerReal15MinGF0005Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0005List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0006ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0006Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0006Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0006;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0006ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0006Mapper, PvPowerReal15MinGF0006> implements PvPowerReal15MinGF0006Service {
+    private final PvPowerReal15MinGF0006Mapper pvPowerReal15MinGF0006Mapper;
+
+    public PvPowerReal15MinGF0006ServiceImpl(PvPowerReal15MinGF0006Mapper pvPowerReal15MinGF0006Mapper){
+        this.pvPowerReal15MinGF0006Mapper = pvPowerReal15MinGF0006Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0006> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List =  pvPowerReal15MinGF0006Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0006List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List) {
+        if (pvPowerReal15MinGF0006List != null && pvPowerReal15MinGF0006List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0006List,pvPowerReal15MinGF0006List.size());
+        }
+        return pvPowerReal15MinGF0006List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0006> getAll() {
+        List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List =  pvPowerReal15MinGF0006Mapper.selectList(null);
+        return  pvPowerReal15MinGF0006List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0006> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List =  pvPowerReal15MinGF0006Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0006List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0006Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0006> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0006> pvPowerReal15MinGF0006List = pvPowerReal15MinGF0006Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0006List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0007ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0007Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0007Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0007;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0007ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0007Mapper, PvPowerReal15MinGF0007> implements PvPowerReal15MinGF0007Service {
+    private final PvPowerReal15MinGF0007Mapper pvPowerReal15MinGF0007Mapper;
+
+    public PvPowerReal15MinGF0007ServiceImpl(PvPowerReal15MinGF0007Mapper pvPowerReal15MinGF0007Mapper){
+        this.pvPowerReal15MinGF0007Mapper = pvPowerReal15MinGF0007Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0007> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List =  pvPowerReal15MinGF0007Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0007List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List) {
+        if (pvPowerReal15MinGF0007List != null && pvPowerReal15MinGF0007List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0007List,pvPowerReal15MinGF0007List.size());
+        }
+        return pvPowerReal15MinGF0007List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0007> getAll() {
+        List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List =  pvPowerReal15MinGF0007Mapper.selectList(null);
+        return  pvPowerReal15MinGF0007List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0007> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List =  pvPowerReal15MinGF0007Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0007List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0007Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0007> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0007> pvPowerReal15MinGF0007List = pvPowerReal15MinGF0007Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0007List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0008ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0008Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0008Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0008;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0008ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0008Mapper, PvPowerReal15MinGF0008> implements PvPowerReal15MinGF0008Service {
+    private final PvPowerReal15MinGF0008Mapper pvPowerReal15MinGF0008Mapper;
+
+    public PvPowerReal15MinGF0008ServiceImpl(PvPowerReal15MinGF0008Mapper pvPowerReal15MinGF0008Mapper){
+        this.pvPowerReal15MinGF0008Mapper = pvPowerReal15MinGF0008Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0008> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List =  pvPowerReal15MinGF0008Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0008List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List) {
+        if (pvPowerReal15MinGF0008List != null && pvPowerReal15MinGF0008List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0008List,pvPowerReal15MinGF0008List.size());
+        }
+        return pvPowerReal15MinGF0008List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0008> getAll() {
+        List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List =  pvPowerReal15MinGF0008Mapper.selectList(null);
+        return  pvPowerReal15MinGF0008List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0008> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List =  pvPowerReal15MinGF0008Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0008List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0008Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0008> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0008> pvPowerReal15MinGF0008List = pvPowerReal15MinGF0008Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0008List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0016ServiceImpl.java

@@ -0,0 +1,63 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.PvPowerReal15MinGF0016Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0016Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0016;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0016ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0016Mapper, PvPowerReal15MinGF0016> implements PvPowerReal15MinGF0016Service {
+    private final PvPowerReal15MinGF0016Mapper pvPowerReal15MinGF0016Mapper;
+
+    public PvPowerReal15MinGF0016ServiceImpl(PvPowerReal15MinGF0016Mapper pvPowerReal15MinGF0016Mapper){
+        this.pvPowerReal15MinGF0016Mapper = pvPowerReal15MinGF0016Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0016> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List =  pvPowerReal15MinGF0016Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0016List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List) {
+        if (pvPowerReal15MinGF0016List != null && pvPowerReal15MinGF0016List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0016List, pvPowerReal15MinGF0016List.size());
+        }
+        return pvPowerReal15MinGF0016List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0016> getAll() {
+        List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List =  pvPowerReal15MinGF0016Mapper.selectList(null);
+        return  pvPowerReal15MinGF0016List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0016> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List =  pvPowerReal15MinGF0016Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0016List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0016Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0016> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List = pvPowerReal15MinGF0016Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0016List;
+    }
+}

+ 65 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/WindPowerReal15MinFD0056ServiceImpl.java

@@ -0,0 +1,65 @@
+package com.jiayue.ipfcst.client.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jiayue.ipfcst.client.aop.WR;
+import com.jiayue.ipfcst.client.mapper.WindPowerReal15MinFD0040Mapper;
+import com.jiayue.ipfcst.client.mapper.WindPowerReal15MinFD0056Mapper;
+import com.jiayue.ipfcst.client.service.WindPowerReal15MinFD0056Service;
+import com.jiayue.ipp.common.data.entity.WindPowerReal15MinFD0040;
+import com.jiayue.ipp.common.data.entity.WindPowerReal15MinFD0056;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class WindPowerReal15MinFD0056ServiceImpl extends ServiceImpl<WindPowerReal15MinFD0056Mapper, WindPowerReal15MinFD0056> implements WindPowerReal15MinFD0056Service {
+    private final WindPowerReal15MinFD0056Mapper windPowerReal15MinFD0056Mapper;
+
+    public WindPowerReal15MinFD0056ServiceImpl(WindPowerReal15MinFD0056Mapper windPowerReal15MinFD0056Mapper){
+        this.windPowerReal15MinFD0056Mapper = windPowerReal15MinFD0056Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<WindPowerReal15MinFD0056> get(Date startTime, Date endTime) {
+     List<WindPowerReal15MinFD0056> windPowerReal15MinList =  windPowerReal15MinFD0056Mapper.selectByTime(startTime, endTime);
+         return  windPowerReal15MinList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<WindPowerReal15MinFD0056> windPowerReal15MinList) {
+        if (windPowerReal15MinList != null && windPowerReal15MinList.size() > 0){
+            this.saveBatch(windPowerReal15MinList,windPowerReal15MinList.size());
+        }
+        return windPowerReal15MinList.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<WindPowerReal15MinFD0056> getAll() {
+        List<WindPowerReal15MinFD0056> windPowerReal15MinList =  windPowerReal15MinFD0056Mapper.selectList(null);
+        return  windPowerReal15MinList;
+    }
+
+    @Override
+//    @WR("R")
+    public List<WindPowerReal15MinFD0056> getAll(Date startTime, Date endTime) {
+        List<WindPowerReal15MinFD0056> windPowerReal15MinList =  windPowerReal15MinFD0056Mapper.selectByTime(startTime,endTime);
+        return  windPowerReal15MinList;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return windPowerReal15MinFD0056Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<WindPowerReal15MinFD0056> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<WindPowerReal15MinFD0056> windPowerReal15MinList = windPowerReal15MinFD0056Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return windPowerReal15MinList;
+    }
+}

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff