Browse Source

中能融合新增2个场站

fanxiaoyu 8 months ago
parent
commit
8a49b39911
44 changed files with 3024 additions and 27 deletions
  1. 2 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ParsingJob.java
  2. 4 4
      ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/Task.java
  3. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperFD0040.java
  4. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0019.java
  5. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperFD0040.java
  6. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0019.java
  7. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperFD0040.java
  8. 37 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0019.java
  9. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0019Mapper.java
  10. 31 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/WindPowerReal15MinFD0040Mapper.java
  11. 67 7
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/GenerateBackPassDataService.java
  12. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverFD0040Service.java
  13. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0019Service.java
  14. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverFD0040Service.java
  15. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0019Service.java
  16. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverFD0040Service.java
  17. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0019Service.java
  18. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0019Service.java
  19. 51 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/WindPowerReal15MinFD0040Service.java
  20. 21 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/an/DownloadService.java
  21. 6 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/ElectricFieldServiceImpl.java
  22. 3 3
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0030ServiceImpl.java
  23. 3 3
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0031ServiceImpl.java
  24. 409 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0040ServiceImpl.java
  25. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0019ServiceImpl.java
  26. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultFD0040CoverServiceImpl.java
  27. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0019CoverServiceImpl.java
  28. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultFD0040CoverServiceImpl.java
  29. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0019CoverServiceImpl.java
  30. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0019ServiceImpl.java
  31. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/WindPowerReal15MinFD0040ServiceImpl.java
  32. 32 4
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/an/ParsingDqInfoServiceImpl.java
  33. 27 3
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/an/ParsingNwpInfoServiceImpl.java
  34. 82 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerCdqResultCoverFD0040.java
  35. 82 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerCdqResultCoverGF0019.java
  36. 84 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerDqResultCoverFD0040.java
  37. 84 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerDqResultCoverGF0019.java
  38. 180 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerNwpResultCoverFD0040.java
  39. 180 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerNwpResultCoverGF0019.java
  40. 1 1
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/PvPowerReal15MinGF0013.java
  41. 62 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/PvPowerReal15MinGF0019.java
  42. 1 1
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindPowerReal15MinFD0030.java
  43. 1 1
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindPowerReal15MinFD0031.java
  44. 62 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindPowerReal15MinFD0040.java

File diff suppressed because it is too large
+ 2 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ParsingJob.java


+ 4 - 4
ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/Task.java

@@ -119,10 +119,10 @@ public class Task {
     /**
      *  初始化执行
      */
-    @PostConstruct
-    void init(){
-        v3DataFilesDownload();
-    }
+//    @PostConstruct
+//    void init(){
+//        v3DataFilesDownload();
+//    }
 
 
     /**

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperFD0040.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.JiaYueWindPowerCdqResultCoverFD0040;
+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 JiaYueWindPowerCdqResultCoverMapperFD0040 extends BaseMapper<JiaYueWindPowerCdqResultCoverFD0040> {
+
+    @Delete("DELETE FROM jiayue_FD0040_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_FD0040_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverFD0040> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_FD0040_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_FD0040_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverFD0040> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_FD0040_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverFD0040 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0019.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.JiaYueWindPowerCdqResultCoverGF0019;
+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 JiaYueWindPowerCdqResultCoverMapperGF0019 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0019> {
+
+    @Delete("DELETE FROM jiayue_GF0019_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0019_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0019> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0019_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_GF0019_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0019> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0019_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0019 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperFD0040.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.JiaYueWindPowerDqResultCoverFD0040;
+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 JiaYueWindPowerDqResultCoverMapperFD0040 extends BaseMapper<JiaYueWindPowerDqResultCoverFD0040> {
+
+    @Delete("DELETE FROM jiayue_FD0040_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_FD0040_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverFD0040> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_FD0040_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_FD0040_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<JiaYueWindPowerDqResultCoverFD0040> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_FD0040_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverFD0040> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_FD0040_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverFD0040> selectByDataDate(@Param("date") String date);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0019.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.JiaYueWindPowerDqResultCoverGF0019;
+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 JiaYueWindPowerDqResultCoverMapperGF0019 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0019> {
+
+    @Delete("DELETE FROM jiayue_GF0019_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0019_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0019> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0019_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_GF0019_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<JiaYueWindPowerDqResultCoverGF0019> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0019_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0019> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0019_zdata_wind_power_dq_result WHERE DATA_TIME = '05:00:00' AND  DATA_DATE = #{date} ORDER BY CREATE_TIME LIMIT 96")
+    List<JiaYueWindPowerDqResultCoverGF0019> selectByDataDate(@Param("date") String date);
+
+}

+ 37 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperFD0040.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.JiaYueWindPowerNwpResultCoverFD0040;
+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 JiaYueWindPowerNwpResultCoverMapperFD0040 extends BaseMapper<JiaYueWindPowerNwpResultCoverFD0040> {
+
+    @Delete("DELETE FROM jiayue_FD0040_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_FD0040_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverFD0040> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_FD0040_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_FD0040_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverFD0040> 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/JiaYueWindPowerNwpResultCoverMapperGF0019.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.JiaYueWindPowerNwpResultCoverGF0019;
+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 JiaYueWindPowerNwpResultCoverMapperGF0019 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0019> {
+
+    @Delete("DELETE FROM jiayue_GF0019_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0019_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0019> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0019_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_GF0019_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0019> 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/PvPowerReal15MinGF0019Mapper.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.PvPowerReal15MinGF0019;
+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_GF0002_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0019Mapper extends BaseMapper<PvPowerReal15MinGF0019> {
+
+    @Delete("DELETE FROM zdata_GF0019_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0019_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0019> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0019_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0019> 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/WindPowerReal15MinFD0040Mapper.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.WindPowerReal15MinFD0040;
+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 WindPowerReal15MinFD0040Mapper extends BaseMapper<WindPowerReal15MinFD0040> {
+
+    @Delete("DELETE FROM zdata_FD0040_wind_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_FD0040_wind_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<WindPowerReal15MinFD0040> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_FD0040_wind_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<WindPowerReal15MinFD0040> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 67 - 7
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/GenerateBackPassDataService.java

@@ -81,6 +81,8 @@ public class GenerateBackPassDataService {
 
     private final WindPowerReal15MinFD0031Service windPowerReal15MinFD0031Service;
 
+    private final WindPowerReal15MinFD0040Service windPowerReal15MinFD0040Service;
+
     private final PvPowerReal15MinGF0001Service pvPowerReal15MinGF0001Service;
 
     private final PvPowerReal15MinGF0002Service pvPowerReal15MinGF0002Service;
@@ -89,6 +91,8 @@ public class GenerateBackPassDataService {
 
     private final PvPowerReal15MinGF0013Service pvPowerReal15MinGF0013Service;
 
+    private final PvPowerReal15MinGF0019Service pvPowerReal15MinGF0019Service;
+
     private static final String IMAGE_TYPE = "jpg";
     private static final String PLACE = "-0.99|";
     private static final Long oneDay = 3600 * 24 * 1000L - 1000L;
@@ -114,6 +118,8 @@ public class GenerateBackPassDataService {
 
     private final JiaYueWindPowerDqResultCoverFD0031Service jiaYueWindPowerDqResultCoverFD0031Service;
 
+    private final JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service;
+
     private final JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service;
 
     private final JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service;
@@ -142,6 +148,8 @@ public class GenerateBackPassDataService {
 
     private final JiaYueWindPowerCdqResultCoverFD0031Service jiaYueWindPowerCdqResultCoverFD0031Service;
 
+    private final JiaYueWindPowerCdqResultCoverFD0040Service jiaYueWindPowerCdqResultCoverFD0040Service;
+
     private final JiaYueWindPowerCdqResultCoverGF0001Service jiaYueWindPowerCdqResultCoverGF0001Service;
 
     private final JiaYueWindPowerCdqResultCoverGF0002Service jiaYueWindPowerCdqResultCoverGF0002Service;
@@ -151,10 +159,10 @@ public class GenerateBackPassDataService {
     private final JiaYueWindPowerCdqResultCoverGF0013Service jiaYueWindPowerCdqResultCoverGF0013Service;
 
     public GenerateBackPassDataService(PvPowerReal15MinGF0001Service pvPowerReal15MinGF0001Service,PvPowerReal15MinGF0002Service pvPowerReal15MinGF0002Service,PvPowerReal15MinGF0012Service pvPowerReal15MinGF0012Service,PvPowerReal15MinGF0013Service pvPowerReal15MinGF0013Service,WindPowerReal15MinFD0001Service windPowerReal15MinFD0001Service,WindPowerReal15MinFD0002Service windPowerReal15MinFD0002Service,WindPowerReal15MinFD0003Service windPowerReal15MinFD0003Service,WindPowerReal15MinFD0004Service windPowerReal15MinFD0004Service,WindPowerReal15MinFD0005Service windPowerReal15MinFD0005Service,
-                                       WindPowerReal15MinFD0006Service windPowerReal15MinFD0006Service,WindPowerReal15MinFD0007Service windPowerReal15MinFD0007Service,WindPowerReal15MinFD0009Service windPowerReal15MinFD0009Service,WindPowerReal15MinFD0017Service windPowerReal15MinFD0017Service,WindPowerReal15MinFD0018Service windPowerReal15MinFD0018Service,WindPowerReal15MinFD0019Service windPowerReal15MinFD0019Service,WindPowerReal15MinFD0020Service windPowerReal15MinFD0020Service,WindPowerReal15MinFD0021Service windPowerReal15MinFD0021Service,WindPowerReal15MinFD0029Service windPowerReal15MinFD0029Service,WindPowerReal15MinFD0030Service windPowerReal15MinFD0030Service,WindPowerReal15MinFD0031Service windPowerReal15MinFD0031Service,WindPowerReal15MinFD0010Service windPowerReal15MinFD0010Service,WindPowerReal15MinFD0015Service windPowerReal15MinFD0015Service,WindPowerReal15MinFD0016Service windPowerReal15MinFD0016Service,WindPowerReal15MinFD0022Service windPowerReal15MinFD0022Service,WindPowerReal15MinFD0025Service windPowerReal15MinFD0025Service,
-                                       JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service,JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service,JiaYueWindPowerDqResultCoverGF0012Service jiaYueWindPowerDqResultCoverGF0012Service,JiaYueWindPowerDqResultCoverGF0013Service jiaYueWindPowerDqResultCoverGF0013Service,JiaYueWindPowerDqResultCoverFD0001Service jiaYueWindPowerDqResultCoverFD0001Service,JiaYueWindPowerDqResultCoverFD0002Service jiaYueWindPowerDqResultCoverFD0002Service,
+                                       WindPowerReal15MinFD0006Service windPowerReal15MinFD0006Service,WindPowerReal15MinFD0007Service windPowerReal15MinFD0007Service,WindPowerReal15MinFD0009Service windPowerReal15MinFD0009Service,WindPowerReal15MinFD0017Service windPowerReal15MinFD0017Service,WindPowerReal15MinFD0018Service windPowerReal15MinFD0018Service,WindPowerReal15MinFD0019Service windPowerReal15MinFD0019Service,WindPowerReal15MinFD0020Service windPowerReal15MinFD0020Service,WindPowerReal15MinFD0021Service windPowerReal15MinFD0021Service,WindPowerReal15MinFD0029Service windPowerReal15MinFD0029Service,WindPowerReal15MinFD0030Service windPowerReal15MinFD0030Service,WindPowerReal15MinFD0031Service windPowerReal15MinFD0031Service,WindPowerReal15MinFD0010Service windPowerReal15MinFD0010Service,WindPowerReal15MinFD0015Service windPowerReal15MinFD0015Service,WindPowerReal15MinFD0016Service windPowerReal15MinFD0016Service,WindPowerReal15MinFD0022Service windPowerReal15MinFD0022Service,WindPowerReal15MinFD0025Service windPowerReal15MinFD0025Service,WindPowerReal15MinFD0040Service windPowerReal15MinFD0040Service,
+                                       JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service,JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service,JiaYueWindPowerDqResultCoverGF0012Service jiaYueWindPowerDqResultCoverGF0012Service,JiaYueWindPowerDqResultCoverGF0013Service jiaYueWindPowerDqResultCoverGF0013Service,JiaYueWindPowerDqResultCoverFD0001Service jiaYueWindPowerDqResultCoverFD0001Service,JiaYueWindPowerDqResultCoverFD0002Service jiaYueWindPowerDqResultCoverFD0002Service,JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service,PvPowerReal15MinGF0019Service pvPowerReal15MinGF0019Service,
                                        JiaYueWindPowerDqResultCoverFD0003Service jiaYueWindPowerDqResultCoverFD0003Service,JiaYueWindPowerDqResultCoverFD0004Service jiaYueWindPowerDqResultCoverFD0004Service,JiaYueWindPowerDqResultCoverFD0005Service jiaYueWindPowerDqResultCoverFD0005Service,JiaYueWindPowerDqResultCoverFD0006Service jiaYueWindPowerDqResultCoverFD0006Service,
-                                       JiaYueWindPowerDqResultCoverFD0007Service jiaYueWindPowerDqResultCoverFD0007Service,JiaYueWindPowerDqResultCoverFD0029Service jiaYueWindPowerDqResultCoverFD0029Service,JiaYueWindPowerDqResultCoverFD0030Service jiaYueWindPowerDqResultCoverFD0030Service,JiaYueWindPowerDqResultCoverFD0031Service jiaYueWindPowerDqResultCoverFD0031Service,JiaYueWindPowerCdqResultCoverGF0001Service jiaYueWindPowerCdqResultCoverGF0001Service,JiaYueWindPowerCdqResultCoverGF0002Service jiaYueWindPowerCdqResultCoverGF0002Service,JiaYueWindPowerCdqResultCoverGF0012Service jiaYueWindPowerCdqResultCoverGF0012Service,JiaYueWindPowerCdqResultCoverGF0013Service jiaYueWindPowerCdqResultCoverGF0013Service,JiaYueWindPowerCdqResultCoverFD0001Service jiaYueWindPowerCdqResultCoverFD0001Service,JiaYueWindPowerCdqResultCoverFD0002Service jiaYueWindPowerCdqResultCoverFD0002Service,
+                                       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){
         this.windPowerReal15MinFD0001Service = windPowerReal15MinFD0001Service;
@@ -178,10 +186,12 @@ public class GenerateBackPassDataService {
         this.windPowerReal15MinFD0029Service = windPowerReal15MinFD0029Service;
         this.windPowerReal15MinFD0030Service = windPowerReal15MinFD0030Service;
         this.windPowerReal15MinFD0031Service = windPowerReal15MinFD0031Service;
+        this.windPowerReal15MinFD0040Service = windPowerReal15MinFD0040Service;
         this.pvPowerReal15MinGF0001Service = pvPowerReal15MinGF0001Service;
         this.pvPowerReal15MinGF0002Service = pvPowerReal15MinGF0002Service;
         this.pvPowerReal15MinGF0012Service = pvPowerReal15MinGF0012Service;
         this.pvPowerReal15MinGF0013Service = pvPowerReal15MinGF0013Service;
+        this.pvPowerReal15MinGF0019Service = pvPowerReal15MinGF0019Service;
         this.jiaYueWindPowerDqResultCoverFD0001Service = jiaYueWindPowerDqResultCoverFD0001Service;
         this.jiaYueWindPowerDqResultCoverFD0002Service = jiaYueWindPowerDqResultCoverFD0002Service;
         this.jiaYueWindPowerDqResultCoverFD0003Service = jiaYueWindPowerDqResultCoverFD0003Service;
@@ -192,6 +202,7 @@ public class GenerateBackPassDataService {
         this.jiaYueWindPowerDqResultCoverFD0029Service = jiaYueWindPowerDqResultCoverFD0029Service;
         this.jiaYueWindPowerDqResultCoverFD0030Service = jiaYueWindPowerDqResultCoverFD0030Service;
         this.jiaYueWindPowerDqResultCoverFD0031Service = jiaYueWindPowerDqResultCoverFD0031Service;
+        this.jiaYueWindPowerDqResultCoverFD0040Service = jiaYueWindPowerDqResultCoverFD0040Service;
         this.jiaYueWindPowerDqResultCoverGF0001Service = jiaYueWindPowerDqResultCoverGF0001Service;
         this.jiaYueWindPowerDqResultCoverGF0002Service = jiaYueWindPowerDqResultCoverGF0002Service;
         this.jiaYueWindPowerDqResultCoverGF0012Service = jiaYueWindPowerDqResultCoverGF0012Service;
@@ -206,6 +217,7 @@ public class GenerateBackPassDataService {
         this.jiaYueWindPowerCdqResultCoverFD0029Service = jiaYueWindPowerCdqResultCoverFD0029Service;
         this.jiaYueWindPowerCdqResultCoverFD0030Service = jiaYueWindPowerCdqResultCoverFD0030Service;
         this.jiaYueWindPowerCdqResultCoverFD0031Service = jiaYueWindPowerCdqResultCoverFD0031Service;
+        this.jiaYueWindPowerCdqResultCoverFD0040Service = jiaYueWindPowerCdqResultCoverFD0040Service;
         this.jiaYueWindPowerCdqResultCoverGF0001Service = jiaYueWindPowerCdqResultCoverGF0001Service;
         this.jiaYueWindPowerCdqResultCoverGF0002Service = jiaYueWindPowerCdqResultCoverGF0002Service;
         this.jiaYueWindPowerCdqResultCoverGF0012Service = jiaYueWindPowerCdqResultCoverGF0012Service;
@@ -308,6 +320,10 @@ public class GenerateBackPassDataService {
             ElectricField electricField31 = new ElectricField();
             electricField30.setStationCode("J01043");
             electricField30.setSign("FD0031");
+
+            ElectricField electricField40 = new ElectricField();
+            electricField30.setStationCode("J01166");
+            electricField30.setSign("FD0040");
             // 光伏电站
             ElectricField electricFieldGF0001 = new ElectricField();
             electricFieldGF0001.setStationCode("J01056");
@@ -325,6 +341,10 @@ public class GenerateBackPassDataService {
             electricFieldGF0013.setStationCode("J01062");
             electricFieldGF0013.setSign("GF0013");
 
+            ElectricField electricFieldGF0019 = new ElectricField();
+            electricFieldGF0019.setStationCode("J01175");
+            electricFieldGF0019.setSign("GF0019");
+
             electricFieldList.add(electricField);
             electricFieldList.add(electricField2);
             electricFieldList.add(electricField3);
@@ -346,10 +366,12 @@ public class GenerateBackPassDataService {
             electricFieldList.add(electricField29);
             electricFieldList.add(electricField30);
             electricFieldList.add(electricField31);
+            electricFieldList.add(electricField40);
             electricFieldList.add(electricFieldGF0001);
             electricFieldList.add(electricFieldGF0002);
             electricFieldList.add(electricFieldGF0012);
             electricFieldList.add(electricFieldGF0013);
+            electricFieldList.add(electricFieldGF0019);
 //
 //            // 开始日期和结束日期
 //            LocalDate startDate = LocalDate.of(2024, 1, 2);
@@ -508,10 +530,12 @@ public class GenerateBackPassDataService {
         List<WindPowerReal15MinFD0029> windPowerReal15MinFD0029List = new ArrayList<>();
         List<WindPowerReal15MinFD0030> windPowerReal15MinFD0030List = new ArrayList<>();
         List<WindPowerReal15MinFD0031> windPowerReal15MinFD0031List = new ArrayList<>();
+        List<WindPowerReal15MinFD0040> windPowerReal15MinFD0040List = new ArrayList<>();
         List<PvPowerReal15MinGF0001> pvPowerReal15MinGF0001List = new ArrayList<>();
         List<PvPowerReal15MinGF0002> pvPowerReal15MinGF0002List = new ArrayList<>();
         List<PvPowerReal15MinGF0012> pvPowerReal15MinGF0012List = new ArrayList<>();
         List<PvPowerReal15MinGF0013> pvPowerReal15MinGF0013List = new ArrayList<>();
+        List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List = new ArrayList<>();
 
         switch (electricField.getSign()){
             case "FD0001":
@@ -577,6 +601,9 @@ public class GenerateBackPassDataService {
             case "FD0031":
                 windPowerReal15MinFD0031List = windPowerReal15MinFD0031Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
+            case "FD0040":
+                windPowerReal15MinFD0040List = windPowerReal15MinFD0040Service.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;
@@ -589,6 +616,9 @@ public class GenerateBackPassDataService {
             case "GF0013":
                 pvPowerReal15MinGF0013List = pvPowerReal15MinGF0013Service.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;
 
             default:
                 break;
@@ -886,11 +916,11 @@ public class GenerateBackPassDataService {
                 BigDecimal avg = new BigDecimal(0);
                 //取前15分钟的平均值 13:30取13:16-13:30的平均值
                 for (WindPowerReal15MinFD0030 p : filterList) {
-                    avg = avg.add(new BigDecimal(p.getValue()));
+                    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).getValue()).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
                 } else {
                     content.append(PLACE);
                     instContent.append(PLACE);
@@ -901,11 +931,26 @@ public class GenerateBackPassDataService {
                 BigDecimal avg = new BigDecimal(0);
                 //取前15分钟的平均值 13:30取13:16-13:30的平均值
                 for (WindPowerReal15MinFD0031 p : filterList) {
-                    avg = avg.add(new BigDecimal(p.getValue()));
+                    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).getValue()).append("|");
+                    instContent.append(filterList.get(0).getActivePower()).append("|");
+                } else {
+                    content.append(PLACE);
+                    instContent.append(PLACE);
+                }
+            }
+            if (electricField.getSign().equals("FD0040")) {
+                List<WindPowerReal15MinFD0040> filterList = windPowerReal15MinFD0040List.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 (WindPowerReal15MinFD0040 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);
@@ -971,6 +1016,21 @@ public class GenerateBackPassDataService {
                     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);
+                //取前15分钟的平均值 13:30取13:16-13:30的平均值
+                for (PvPowerReal15MinGF0019 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);
+                }
+            }
         }
 
         stringBuilder.append(content);

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

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

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

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

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverFD0040Service.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.JiaYueWindPowerNwpResultCoverFD0040;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverFD0040Service extends IService<JiaYueWindPowerNwpResultCoverFD0040> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverFD0040> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverFD0040> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverFD0040> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0019Service.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.JiaYueWindPowerNwpResultCoverGF0019;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public interface JiaYueWindPowerNwpResultCoverGF0019Service extends IService<JiaYueWindPowerNwpResultCoverGF0019> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0019> get();
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param jiaYueWindPowerNwpResultCoverList
+     * @return
+     */
+    int put(List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0019> getAll();
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    /**
+     * 储存解析nwp数据
+     */
+
+    void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverList, String stationCode);
+
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<JiaYueWindPowerNwpResultCoverGF0019> getByDataDateAndDateTime(String fileDate, String fileTime, String objId);
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0019Service.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.PvPowerReal15MinGF0019;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface PvPowerReal15MinGF0019Service extends IService<PvPowerReal15MinGF0019> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0019> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<PvPowerReal15MinGF0019> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0019> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<PvPowerReal15MinGF0019> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<PvPowerReal15MinGF0019> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

+ 51 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/WindPowerReal15MinFD0040Service.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.WindPowerReal15MinFD0040;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public interface WindPowerReal15MinFD0040Service extends IService<WindPowerReal15MinFD0040> {
+    /**
+     * 查询所有数据(远端)
+     *
+     * @return
+     */
+    List<WindPowerReal15MinFD0040> get(Date startTime, Date endTime);
+
+    /**
+     * 查询所有数据插入到本地
+     *
+     * @param windPowerReal15MinList
+     * @return
+     */
+    int put(List<WindPowerReal15MinFD0040> windPowerReal15MinList);
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<WindPowerReal15MinFD0040> getAll();
+
+    /**
+     * 查询所有数据(本地)
+     *
+     * @return
+     */
+    List<WindPowerReal15MinFD0040> getAll(Date startTime, Date endTime);
+
+    /**
+     * 删除所有数据(本地)
+     *
+     * @return
+     */
+    int deleteAll();
+
+    List<WindPowerReal15MinFD0040> findByObjIdAndDateTime(String ObjId, Date startTime, Date endTime);
+
+
+}

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

@@ -237,6 +237,15 @@ public class DownloadService {
         parsingUrl31.setId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrl31.setDelFlag("0");
 
+        ParsingUrl parsingUrl40 = new ParsingUrl();
+        parsingUrl40.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrl40.setForecastManufactor("SYJY");
+        parsingUrl40.setUrl("/home/syjy/F_data/new/J01166");
+        parsingUrl40.setUrlStatus("1");
+        parsingUrl40.setStationCode("J01166");
+        parsingUrl40.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrl40.setDelFlag("0");
+
         ParsingUrl parsingUrlGF01 = new ParsingUrl();
         parsingUrlGF01.setCId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrlGF01.setForecastManufactor("SYJY");
@@ -274,6 +283,16 @@ public class DownloadService {
         parsingUrlGF13.setDelFlag("0");
 
 
+        ParsingUrl parsingUrlGF19 = new ParsingUrl();
+        parsingUrlGF19.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF19.setForecastManufactor("SYJY");
+        parsingUrlGF19.setUrl("/home/syjy/F_data/new/J01175");
+        parsingUrlGF19.setUrlStatus("1");
+        parsingUrlGF19.setStationCode("J01175");
+        parsingUrlGF19.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF19.setDelFlag("0");
+
+
 
         parsingUrls.add(parsingUrl1);
         parsingUrls.add(parsingUrl2);
@@ -296,10 +315,12 @@ public class DownloadService {
         parsingUrls.add(parsingUrl29);
         parsingUrls.add(parsingUrl30);
         parsingUrls.add(parsingUrl31);
+        parsingUrls.add(parsingUrl40);
         parsingUrls.add(parsingUrlGF01);
         parsingUrls.add(parsingUrlGF02);
         parsingUrls.add(parsingUrlGF12);
         parsingUrls.add(parsingUrlGF13);
+        parsingUrls.add(parsingUrlGF19);
 
         String dateDir = DateFormatUtils.format(new Date(), "yyyyMMdd");
         String dayStr = new SimpleDateFormat("yyyyMMdd").format(new Date());

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

@@ -133,6 +133,9 @@ public class ElectricFieldServiceImpl extends ServiceImpl<ElectricFieldMapper, E
             case "J01043":
                 sign = "FD0031";
                 break;
+            case "J01166":
+                sign = "FD0040";
+                break;
             case "J01056":
                 sign = "GF0001";
                 break;
@@ -145,6 +148,9 @@ public class ElectricFieldServiceImpl extends ServiceImpl<ElectricFieldMapper, E
             case "J01062":
                 sign = "GF0013";
                 break;
+            case "J01175":
+                sign = "GF0019";
+                break;
             default:
                 break;
         }

+ 3 - 3
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0030ServiceImpl.java

@@ -179,7 +179,7 @@ public class JiaYueWindPowerCdqResultCoverFD0030ServiceImpl extends ServiceImpl<
         // 场站编号转换为FD000?
         String objId = electricFieldService.numberToIdentification(stationCode);
         List<WindPowerReal15MinFD0030> windPowerReal15MinList = windPowerReal15MinFD0030Service.findByObjIdAndDateTime(objId, startTime, endTime);
-        List<WindPowerReal15MinFD0030> filterList = windPowerReal15MinList.stream().filter(t -> Float.compare(Float.valueOf(t.getValue()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        List<WindPowerReal15MinFD0030> 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) {
@@ -194,13 +194,13 @@ public class JiaYueWindPowerCdqResultCoverFD0030ServiceImpl extends ServiceImpl<
                 } else {
                     // 当前时间没有对应的短期,用实际功率最近的一个替换
                     filterList.sort(Comparator.comparing(WindPowerReal15MinFD0030::getDateTime).reversed());
-                    currentForecastPowerValue = filterList.get(0).getValue().floatValue();
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
                 }
             } catch (Exception e) {
                 e.printStackTrace();
             }
 
-            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getValue())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            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));

+ 3 - 3
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0031ServiceImpl.java

@@ -179,7 +179,7 @@ public class JiaYueWindPowerCdqResultCoverFD0031ServiceImpl extends ServiceImpl<
         // 场站编号转换为FD000?
         String objId = electricFieldService.numberToIdentification(stationCode);
         List<WindPowerReal15MinFD0031> windPowerReal15MinList = windPowerReal15MinFD0031Service.findByObjIdAndDateTime(objId, startTime, endTime);
-        List<WindPowerReal15MinFD0031> filterList = windPowerReal15MinList.stream().filter(t -> Float.compare(Float.valueOf(t.getValue()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        List<WindPowerReal15MinFD0031> 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) {
@@ -194,13 +194,13 @@ public class JiaYueWindPowerCdqResultCoverFD0031ServiceImpl extends ServiceImpl<
                 } else {
                     // 当前时间没有对应的短期,用实际功率最近的一个替换
                     filterList.sort(Comparator.comparing(WindPowerReal15MinFD0031::getDateTime).reversed());
-                    currentForecastPowerValue = filterList.get(0).getValue().floatValue();
+                    currentForecastPowerValue = filterList.get(0).getActivePower().floatValue();
                 }
             } catch (Exception e) {
                 e.printStackTrace();
             }
 
-            BigDecimal sumAbleValue = filterList.stream().map(s -> new BigDecimal(s.getValue())).reduce(BigDecimal.ZERO, BigDecimal::add);
+            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));

+ 409 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0040ServiceImpl.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.JiaYueWindPowerCdqResultCoverMapperFD0040;
+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 JiaYueWindPowerCdqResultCoverFD0040ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperFD0040, JiaYueWindPowerCdqResultCoverFD0040> implements JiaYueWindPowerCdqResultCoverFD0040Service {
+    private final JiaYueWindPowerCdqResultCoverMapperFD0040 jiaYueWindPowerCdqResultCoverMapperFD0040;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final WindPowerReal15MinFD0040Service windPowerReal15MinFD0040Service;
+
+    private final JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+
+    public JiaYueWindPowerCdqResultCoverFD0040ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperFD0040 jiaYueWindPowerCdqResultCoverMapperFD0040, ElectricFieldService electricFieldService, SysParameterService sysParameterService, WindPowerReal15MinFD0040Service windPowerReal15MinFD0040Service, JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service){
+        this.jiaYueWindPowerCdqResultCoverMapperFD0040 = jiaYueWindPowerCdqResultCoverMapperFD0040;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.windPowerReal15MinFD0040Service = windPowerReal15MinFD0040Service;
+        this.jiaYueWindPowerDqResultCoverFD0040Service = jiaYueWindPowerDqResultCoverFD0040Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverFD0040> get() {
+        List<JiaYueWindPowerCdqResultCoverFD0040> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperFD0040.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverFD0040> jiaYueWindPowerCdqResultCoverFD0040List) {
+        if (jiaYueWindPowerCdqResultCoverFD0040List != null && jiaYueWindPowerCdqResultCoverFD0040List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverFD0040List, jiaYueWindPowerCdqResultCoverFD0040List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverFD0040List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperFD0040.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(49.5));
+        electricField3.setElectricFieldTypeEnum("2");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("宁夏回族自治区石嘴山市平罗县49.5MW风电场");
+
+        electricField3.setStationCode("J01166");
+        electricField3.setSign("FD0040");
+        electricField3.setNetSubstationName("J01166");
+
+        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<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCoverFD0040List = jiaYueWindPowerDqResultCoverFD0040Service.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(jiaYueWindPowerDqResultCoverFD0040List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverFD0040> jiaYueWindPowerCdqResultCoverFD0040List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverFD0040 jiaYueWindPowerCdqResultCoverFD0040;
+        //获取系统参数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<WindPowerReal15MinFD0040> windPowerReal15MinList = windPowerReal15MinFD0040Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<WindPowerReal15MinFD0040> 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<JiaYueWindPowerDqResultCoverFD0040> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverFD0040Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(WindPowerReal15MinFD0040::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++) {
+                jiaYueWindPowerCdqResultCoverFD0040 = new JiaYueWindPowerCdqResultCoverFD0040();
+                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) {
+                    jiaYueWindPowerCdqResultCoverFD0040.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverFD0040.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverFD0040.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverFD0040.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverFD0040.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverFD0040.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) {
+                    jiaYueWindPowerCdqResultCoverFD0040.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()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverFD0040.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue()< 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverFD0040.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverFD0040.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverFD0040.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                    jiaYueWindPowerCdqResultCoverFD0040.setOpenCap(new BigDecimal(value[1]).floatValue());
+                }
+
+                jiaYueWindPowerCdqResultCoverFD0040List.add(jiaYueWindPowerCdqResultCoverFD0040);
+            }
+        } 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);
+                jiaYueWindPowerCdqResultCoverFD0040 = new JiaYueWindPowerCdqResultCoverFD0040();
+                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) {
+                    jiaYueWindPowerCdqResultCoverFD0040.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverFD0040.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);
+                jiaYueWindPowerCdqResultCoverFD0040.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverFD0040.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverFD0040.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverFD0040.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverFD0040.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverFD0040.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverFD0040List.add(jiaYueWindPowerCdqResultCoverFD0040);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverFD0040List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverFD0040List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverFD0040> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperFD0040.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<JiaYueWindPowerCdqResultCoverFD0040> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverFD0040> jiaYueWindPowerCdqResultCoverFD0040List = 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);
+            JiaYueWindPowerCdqResultCoverFD0040 jiaYueWindPowerCdqResultCoverFD0040 = jiaYueWindPowerCdqResultCoverMapperFD0040.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverFD0040){
+                jiaYueWindPowerCdqResultCoverFD0040List.add(jiaYueWindPowerCdqResultCoverFD0040);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverFD0040List;
+    }
+
+
+
+    /**
+     * 判断时间戳是否是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/JiaYueWindPowerCdqResultCoverGF0019ServiceImpl.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.JiaYueWindPowerCdqResultCoverMapperGF0019;
+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 JiaYueWindPowerCdqResultCoverGF0019ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0019, JiaYueWindPowerCdqResultCoverGF0019> implements JiaYueWindPowerCdqResultCoverGF0019Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0019 jiaYueWindPowerCdqResultCoverMapperGF0019;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0019Service pvPowerReal15MinGF0019Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0019Service jiaYueWindPowerDqResultCoverGF0019Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0019ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0019 jiaYueWindPowerCdqResultCoverMapperGF0019, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0019Service pvPowerReal15MinGF0019Service, JiaYueWindPowerDqResultCoverGF0019Service jiaYueWindPowerDqResultCoverGF0019Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0019 = jiaYueWindPowerCdqResultCoverMapperGF0019;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0019Service = pvPowerReal15MinGF0019Service;
+        this.jiaYueWindPowerDqResultCoverGF0019Service = jiaYueWindPowerDqResultCoverGF0019Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0019> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0019> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0019.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0019> jiaYueWindPowerCdqResultCoverGF0019List) {
+        if (jiaYueWindPowerCdqResultCoverGF0019List != null && jiaYueWindPowerCdqResultCoverGF0019List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0019List, jiaYueWindPowerCdqResultCoverGF0019List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0019List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0019.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+        // todo
+        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("J01175");
+        electricField3.setSign("GF0019");
+        electricField3.setNetSubstationName("J01175");
+
+        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<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverGF0019List = jiaYueWindPowerDqResultCoverGF0019Service.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(jiaYueWindPowerDqResultCoverGF0019List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0019> jiaYueWindPowerCdqResultCoverGF0019List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0019 jiaYueWindPowerCdqResultCoverGF0019;
+        //获取系统参数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<PvPowerReal15MinGF0019> pvPowerReal15MinGF0012List = pvPowerReal15MinGF0019Service.findByObjIdAndDateTime(objId, startTime, endTime);
+        List<PvPowerReal15MinGF0019> filterList = pvPowerReal15MinGF0012List.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<JiaYueWindPowerDqResultCoverGF0019> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0019Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0019::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++) {
+                jiaYueWindPowerCdqResultCoverGF0019 = new JiaYueWindPowerCdqResultCoverGF0019();
+                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) {
+                    jiaYueWindPowerCdqResultCoverGF0019.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0019.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0019.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0019.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0019.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0019.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) {
+                    jiaYueWindPowerCdqResultCoverGF0019.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0019.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0019.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0019.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0019.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0019.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0019List.add(jiaYueWindPowerCdqResultCoverGF0019);
+            }
+        } 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);
+                jiaYueWindPowerCdqResultCoverGF0019 = new JiaYueWindPowerCdqResultCoverGF0019();
+                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) {
+                    jiaYueWindPowerCdqResultCoverGF0019.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0019.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);
+                jiaYueWindPowerCdqResultCoverGF0019.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0019.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0019.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0019.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0019.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0019.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0019List.add(jiaYueWindPowerCdqResultCoverGF0019);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0019List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0019List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0019> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0019.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<JiaYueWindPowerCdqResultCoverGF0019> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0019> jiaYueWindPowerCdqResultCoverGF0019List = 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);
+            JiaYueWindPowerCdqResultCoverGF0019 jiaYueWindPowerCdqResultCoverGF0019 = jiaYueWindPowerCdqResultCoverMapperGF0019.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0019) {
+                jiaYueWindPowerCdqResultCoverGF0019List.add(jiaYueWindPowerCdqResultCoverGF0019);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0019List;
+    }
+
+
+    /**
+     * 判断时间戳是否是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/JiaYueWindPowerDqResultFD0040CoverServiceImpl.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.JiaYueWindPowerDqResultCoverMapperFD0040;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverFD0040Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverFD0040;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultFD0040CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperFD0040, JiaYueWindPowerDqResultCoverFD0040> implements JiaYueWindPowerDqResultCoverFD0040Service {
+    private final JiaYueWindPowerDqResultCoverMapperFD0040 jiaYueWindPowerDqResultCoverMapperFD0040;
+
+    public JiaYueWindPowerDqResultFD0040CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperFD0040 jiaYueWindPowerDqResultCoverMapperFD0040){
+        this.jiaYueWindPowerDqResultCoverMapperFD0040 = jiaYueWindPowerDqResultCoverMapperFD0040;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverFD0040> get() {
+        List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperFD0040.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverFD0040> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperFD0040.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverFD0040> getAll() {
+        List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperFD0040.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperFD0040.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverFD0040> 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<JiaYueWindPowerDqResultCoverFD0040> 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<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperFD0040.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverFD0040> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperFD0040.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 95 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0019CoverServiceImpl.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.JiaYueWindPowerDqResultCoverMapperGF0019;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0019Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0019;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0019CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0019, JiaYueWindPowerDqResultCoverGF0019> implements JiaYueWindPowerDqResultCoverGF0019Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0019 jiaYueWindPowerDqResultCoverMapperGF0019;
+
+    public JiaYueWindPowerDqResultGF0019CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0019 jiaYueWindPowerDqResultCoverMapperGF0019){
+        this.jiaYueWindPowerDqResultCoverMapperGF0019 = jiaYueWindPowerDqResultCoverMapperGF0019;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0019> get() {
+        List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0019.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0019> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0019.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0019> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0019.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0019.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0019> 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<JiaYueWindPowerDqResultCoverGF0019> 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<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0019.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0019> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0019.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultFD0040CoverServiceImpl.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.JiaYueWindPowerNwpResultCoverMapperFD0040;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverFD0040Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverFD0040;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultFD0040CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperFD0040, JiaYueWindPowerNwpResultCoverFD0040> implements JiaYueWindPowerNwpResultCoverFD0040Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperFD0040 jiaYueWindPowerNwpResultCoverMapperFD0040;
+
+    public JiaYueWindPowerNwpResultFD0040CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperFD0040 jiaYueWindPowerNwpResultCoverMapperFD0040){
+        this.jiaYueWindPowerNwpResultCoverMapperFD0040 = jiaYueWindPowerNwpResultCoverMapperFD0040;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverFD0040> get() {
+        List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperFD0040.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverFD0040> getAll() {
+        List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperFD0040.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperFD0040.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverFD0040> 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<JiaYueWindPowerNwpResultCoverFD0040> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperFD0040.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 74 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0019CoverServiceImpl.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.JiaYueWindPowerNwpResultCoverMapperGF0019;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerNwpResultCoverGF0019Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0019;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerNwpResultGF0019CoverServiceImpl extends ServiceImpl<JiaYueWindPowerNwpResultCoverMapperGF0019, JiaYueWindPowerNwpResultCoverGF0019> implements JiaYueWindPowerNwpResultCoverGF0019Service {
+
+    private final JiaYueWindPowerNwpResultCoverMapperGF0019 jiaYueWindPowerNwpResultCoverMapperGF0019;
+
+    public JiaYueWindPowerNwpResultGF0019CoverServiceImpl(JiaYueWindPowerNwpResultCoverMapperGF0019 jiaYueWindPowerNwpResultCoverMapperGF0019){
+        this.jiaYueWindPowerNwpResultCoverMapperGF0019 = jiaYueWindPowerNwpResultCoverMapperGF0019;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerNwpResultCoverGF0019> get() {
+        List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0019.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int put(List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+    @WR("R")
+    public List<JiaYueWindPowerNwpResultCoverGF0019> getAll() {
+        List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0019.selectList(null);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+    @Override
+    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerNwpResultCoverMapperGF0019.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveNwp(List<JiaYueWindPowerNwpResultCoverGF0019> 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<JiaYueWindPowerNwpResultCoverGF0019> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverList = jiaYueWindPowerNwpResultCoverMapperGF0019.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerNwpResultCoverList;
+    }
+
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0019ServiceImpl.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.PvPowerReal15MinGF0019Mapper;
+import com.jiayue.ipfcst.client.service.PvPowerReal15MinGF0019Service;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0019;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class PvPowerReal15MinGF0019ServiceImpl extends ServiceImpl<PvPowerReal15MinGF0019Mapper, PvPowerReal15MinGF0019> implements PvPowerReal15MinGF0019Service {
+    private final PvPowerReal15MinGF0019Mapper pvPowerReal15MinGF0019Mapper;
+
+    public PvPowerReal15MinGF0019ServiceImpl(PvPowerReal15MinGF0019Mapper pvPowerReal15MinGF0019Mapper){
+        this.pvPowerReal15MinGF0019Mapper = pvPowerReal15MinGF0019Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0019> get(Date startTime, Date endTime) {
+     List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List =  pvPowerReal15MinGF0019Mapper.selectByTime(startTime, endTime);
+         return  pvPowerReal15MinGF0019List;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List) {
+        if (pvPowerReal15MinGF0019List != null && pvPowerReal15MinGF0019List.size() > 0){
+            this.saveBatch(pvPowerReal15MinGF0019List, pvPowerReal15MinGF0019List.size());
+        }
+        return pvPowerReal15MinGF0019List.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0019> getAll() {
+        List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List =  pvPowerReal15MinGF0019Mapper.selectList(null);
+        return  pvPowerReal15MinGF0019List;
+    }
+
+    @Override
+//    @WR("R")
+    public List<PvPowerReal15MinGF0019> getAll(Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List =  pvPowerReal15MinGF0019Mapper.selectByTime(startTime,endTime);
+        return  pvPowerReal15MinGF0019List;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return pvPowerReal15MinGF0019Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<PvPowerReal15MinGF0019> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List = pvPowerReal15MinGF0019Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return pvPowerReal15MinGF0019List;
+    }
+}

+ 63 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/WindPowerReal15MinFD0040ServiceImpl.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.WindPowerReal15MinFD0040Mapper;
+import com.jiayue.ipfcst.client.service.WindPowerReal15MinFD0040Service;
+import com.jiayue.ipp.common.data.entity.WindPowerReal15MinFD0040;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class WindPowerReal15MinFD0040ServiceImpl extends ServiceImpl<WindPowerReal15MinFD0040Mapper, WindPowerReal15MinFD0040> implements WindPowerReal15MinFD0040Service {
+    private final WindPowerReal15MinFD0040Mapper windPowerReal15MinFD0040Mapper;
+
+    public WindPowerReal15MinFD0040ServiceImpl(WindPowerReal15MinFD0040Mapper windPowerReal15MinFD0040Mapper){
+        this.windPowerReal15MinFD0040Mapper = windPowerReal15MinFD0040Mapper;
+    }
+    @Override
+    @WR("W")
+    public List<WindPowerReal15MinFD0040> get(Date startTime, Date endTime) {
+     List<WindPowerReal15MinFD0040> windPowerReal15MinList =  windPowerReal15MinFD0040Mapper.selectByTime(startTime, endTime);
+         return  windPowerReal15MinList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<WindPowerReal15MinFD0040> windPowerReal15MinList) {
+        if (windPowerReal15MinList != null && windPowerReal15MinList.size() > 0){
+            this.saveBatch(windPowerReal15MinList,windPowerReal15MinList.size());
+        }
+        return windPowerReal15MinList.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<WindPowerReal15MinFD0040> getAll() {
+        List<WindPowerReal15MinFD0040> windPowerReal15MinList =  windPowerReal15MinFD0040Mapper.selectList(null);
+        return  windPowerReal15MinList;
+    }
+
+    @Override
+//    @WR("R")
+    public List<WindPowerReal15MinFD0040> getAll(Date startTime, Date endTime) {
+        List<WindPowerReal15MinFD0040> windPowerReal15MinList =  windPowerReal15MinFD0040Mapper.selectByTime(startTime,endTime);
+        return  windPowerReal15MinList;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+       return windPowerReal15MinFD0040Mapper.deleteAll();
+    }
+
+    @Override
+    @WR("W")
+    public List<WindPowerReal15MinFD0040> findByObjIdAndDateTime(String objId, Date startTime, Date endTime) {
+        List<WindPowerReal15MinFD0040> windPowerReal15MinList = windPowerReal15MinFD0040Mapper.selectByTimeAndObjId(startTime,endTime,objId);
+        return windPowerReal15MinList;
+    }
+}

+ 32 - 4
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/an/ParsingDqInfoServiceImpl.java

@@ -89,6 +89,8 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
 
     private final JiaYueWindPowerDqResultCoverFD0031Service jiaYueWindPowerDqResultCoverFD0031Service;
 
+    private final JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service;
+
     private final JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service;
 
     private final JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service;
@@ -97,6 +99,8 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
 
     private final JiaYueWindPowerDqResultCoverGF0013Service jiaYueWindPowerDqResultCoverGF0013Service;
 
+    private final JiaYueWindPowerDqResultCoverGF0019Service jiaYueWindPowerDqResultCoverGF0019Service;
+
     private final ElectricFieldService electricFieldService;
 
     private final JiaYueWindPowerDqResultCoverMapper jiaYueWindPowerDqResultCoverMapper;
@@ -106,8 +110,8 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
     private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
 
 
-    public ParsingDqInfoServiceImpl(OverhaulPlanService overhaulPlanService,JiaYueWindPowerDqResultCoverFD0001Service jiaYueWindPowerDqResultCoverFD0001Service,JiaYueWindPowerDqResultCoverFD0002Service jiaYueWindPowerDqResultCoverFD0002Service,JiaYueWindPowerDqResultCoverFD0003Service jiaYueWindPowerDqResultCoverFD0003Service,JiaYueWindPowerDqResultCoverFD0004Service jiaYueWindPowerDqResultCoverFD0004Service,JiaYueWindPowerDqResultCoverFD0005Service jiaYueWindPowerDqResultCoverFD0005Service,JiaYueWindPowerDqResultCoverFD0006Service jiaYueWindPowerDqResultCoverFD0006Service,JiaYueWindPowerDqResultCoverFD0007Service jiaYueWindPowerDqResultCoverFD0007Service,JiaYueWindPowerDqResultCoverFD0009Service jiaYueWindPowerDqResultCoverFD0009Service,JiaYueWindPowerDqResultCoverFD0021Service jiaYueWindPowerDqResultCoverFD0021Service,JiaYueWindPowerDqResultCoverFD0017Service jiaYueWindPowerDqResultCoverFD0017Service,JiaYueWindPowerDqResultCoverFD0018Service jiaYueWindPowerDqResultCoverFD0018Service,JiaYueWindPowerDqResultCoverFD0019Service jiaYueWindPowerDqResultCoverFD0019Service,JiaYueWindPowerDqResultCoverFD0020Service jiaYueWindPowerDqResultCoverFD0020Service,JiaYueWindPowerDqResultCoverFD0029Service jiaYueWindPowerDqResultCoverFD0029Service,JiaYueWindPowerDqResultCoverFD0030Service jiaYueWindPowerDqResultCoverFD0030Service,JiaYueWindPowerDqResultCoverFD0031Service jiaYueWindPowerDqResultCoverFD0031Service,JiaYueWindPowerDqResultCoverFD0010Service jiaYueWindPowerDqResultCoverFD0010Service,JiaYueWindPowerDqResultCoverFD0015Service jiaYueWindPowerDqResultCoverFD0015Service,JiaYueWindPowerDqResultCoverFD0016Service jiaYueWindPowerDqResultCoverFD0016Service,JiaYueWindPowerDqResultCoverFD0022Service jiaYueWindPowerDqResultCoverFD0022Service,JiaYueWindPowerDqResultCoverFD0025Service jiaYueWindPowerDqResultCoverFD0025Service,
-                                    ElectricFieldService electricFieldService,JiaYueWindPowerDqResultCoverMapper jiaYueWindPowerDqResultCoverMapper,WindFarmInfoEncryptionService windFarmInfoEncryptionService,JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service,JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service,JiaYueWindPowerDqResultCoverGF0012Service jiaYueWindPowerDqResultCoverGF0012Service,JiaYueWindPowerDqResultCoverGF0013Service jiaYueWindPowerDqResultCoverGF0013Service,PhotovoltaicFarmInfoService photovoltaicFarmInfoService){
+    public ParsingDqInfoServiceImpl(OverhaulPlanService overhaulPlanService,JiaYueWindPowerDqResultCoverFD0001Service jiaYueWindPowerDqResultCoverFD0001Service,JiaYueWindPowerDqResultCoverFD0002Service jiaYueWindPowerDqResultCoverFD0002Service,JiaYueWindPowerDqResultCoverFD0003Service jiaYueWindPowerDqResultCoverFD0003Service,JiaYueWindPowerDqResultCoverFD0004Service jiaYueWindPowerDqResultCoverFD0004Service,JiaYueWindPowerDqResultCoverFD0005Service jiaYueWindPowerDqResultCoverFD0005Service,JiaYueWindPowerDqResultCoverFD0006Service jiaYueWindPowerDqResultCoverFD0006Service,JiaYueWindPowerDqResultCoverFD0007Service jiaYueWindPowerDqResultCoverFD0007Service,JiaYueWindPowerDqResultCoverFD0009Service jiaYueWindPowerDqResultCoverFD0009Service,JiaYueWindPowerDqResultCoverFD0021Service jiaYueWindPowerDqResultCoverFD0021Service,JiaYueWindPowerDqResultCoverFD0017Service jiaYueWindPowerDqResultCoverFD0017Service,JiaYueWindPowerDqResultCoverFD0018Service jiaYueWindPowerDqResultCoverFD0018Service,JiaYueWindPowerDqResultCoverFD0019Service jiaYueWindPowerDqResultCoverFD0019Service,JiaYueWindPowerDqResultCoverFD0020Service jiaYueWindPowerDqResultCoverFD0020Service,JiaYueWindPowerDqResultCoverFD0029Service jiaYueWindPowerDqResultCoverFD0029Service,JiaYueWindPowerDqResultCoverFD0030Service jiaYueWindPowerDqResultCoverFD0030Service,JiaYueWindPowerDqResultCoverFD0031Service jiaYueWindPowerDqResultCoverFD0031Service,JiaYueWindPowerDqResultCoverFD0010Service jiaYueWindPowerDqResultCoverFD0010Service,JiaYueWindPowerDqResultCoverFD0015Service jiaYueWindPowerDqResultCoverFD0015Service,JiaYueWindPowerDqResultCoverFD0016Service jiaYueWindPowerDqResultCoverFD0016Service,JiaYueWindPowerDqResultCoverFD0022Service jiaYueWindPowerDqResultCoverFD0022Service,JiaYueWindPowerDqResultCoverFD0025Service jiaYueWindPowerDqResultCoverFD0025Service,JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service,
+                                    ElectricFieldService electricFieldService,JiaYueWindPowerDqResultCoverMapper jiaYueWindPowerDqResultCoverMapper,WindFarmInfoEncryptionService windFarmInfoEncryptionService,JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service,JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service,JiaYueWindPowerDqResultCoverGF0012Service jiaYueWindPowerDqResultCoverGF0012Service,JiaYueWindPowerDqResultCoverGF0013Service jiaYueWindPowerDqResultCoverGF0013Service,PhotovoltaicFarmInfoService photovoltaicFarmInfoService,JiaYueWindPowerDqResultCoverGF0019Service jiaYueWindPowerDqResultCoverGF0019Service){
         this.overhaulPlanService = overhaulPlanService;
         this.jiaYueWindPowerDqResultCoverFD0001Service = jiaYueWindPowerDqResultCoverFD0001Service;
         this.jiaYueWindPowerDqResultCoverFD0002Service = jiaYueWindPowerDqResultCoverFD0002Service;
@@ -130,10 +134,12 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
         this.jiaYueWindPowerDqResultCoverFD0029Service = jiaYueWindPowerDqResultCoverFD0029Service;
         this.jiaYueWindPowerDqResultCoverFD0030Service = jiaYueWindPowerDqResultCoverFD0030Service;
         this.jiaYueWindPowerDqResultCoverFD0031Service = jiaYueWindPowerDqResultCoverFD0031Service;
+        this.jiaYueWindPowerDqResultCoverFD0040Service = jiaYueWindPowerDqResultCoverFD0040Service;
         this.jiaYueWindPowerDqResultCoverGF0001Service = jiaYueWindPowerDqResultCoverGF0001Service;
         this.jiaYueWindPowerDqResultCoverGF0002Service = jiaYueWindPowerDqResultCoverGF0002Service;
         this.jiaYueWindPowerDqResultCoverGF0012Service = jiaYueWindPowerDqResultCoverGF0012Service;
         this.jiaYueWindPowerDqResultCoverGF0013Service = jiaYueWindPowerDqResultCoverGF0013Service;
+        this.jiaYueWindPowerDqResultCoverGF0019Service = jiaYueWindPowerDqResultCoverGF0019Service;
         this.electricFieldService = electricFieldService;
         this.jiaYueWindPowerDqResultCoverMapper = jiaYueWindPowerDqResultCoverMapper;
         this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
@@ -176,10 +182,12 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
             List<JiaYueWindPowerDqResultCoverFD0029> jiaYueWindPowerDqResultCoverFD0029List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverFD0030> jiaYueWindPowerDqResultCoverFD0030List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverFD0031> jiaYueWindPowerDqResultCoverFD0031List = new ArrayList<>();
+            List<JiaYueWindPowerDqResultCoverFD0040> jiaYueWindPowerDqResultCoverFD0040List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverGF0001> jiaYueWindPowerDqResultCoverGF0001List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverGF0002> jiaYueWindPowerDqResultCoverGF0002List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverGF0012> jiaYueWindPowerDqResultCoverGF0012List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverGF0013> jiaYueWindPowerDqResultCoverGF0013List = new ArrayList<>();
+            List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverGF0019List = new ArrayList<>();
 
             ParsingDqInfo parsingDqInfo = new ParsingDqInfo();
             parsingDqInfo.setId("a6bef32fab9fb298528851f1d85c77f2");
@@ -187,7 +195,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
             parsingDqInfo.setFileName("DQ_");
             parsingDqInfo.setGenDate("");
 
-            parsingDqInfo.setStationCode("J00770,J00941,J00942,J00988,J00929,J00930,J00931,J01033,J01034,J01043,J01056,J01057,J01061,J01062,J01118,J01123,J01122,J01119,J01120,J01121,J01138,J01139,J01140,J01141,J01142");
+            parsingDqInfo.setStationCode("J00770,J00941,J00942,J00988,J00929,J00930,J00931,J01033,J01034,J01043,J01056,J01057,J01061,J01062,J01118,J01123,J01122,J01119,J01120,J01121,J01138,J01139,J01140,J01141,J01142,J01166,J01175");
             parsingDqInfo.setDelFlag("0");
             parsingDqInfo.setForecastTime("1<=>2<=>date=<=>yyyy-MM-dd");
             parsingDqInfo.setFpValue("3-1538<=>5");
@@ -287,6 +295,9 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                 if (parsingUrl.getStationCode().equals("J01043")) {
                     jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverFD0031Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
+                if (parsingUrl.getStationCode().equals("J01166")) {
+                    jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverFD0040Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                }
                 if (parsingUrl.getStationCode().equals("J01056")) {
                     jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverGF0001Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
@@ -299,6 +310,9 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                 if (parsingUrl.getStationCode().equals("J01062")) {
                     jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverGF0013Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
+                if (parsingUrl.getStationCode().equals("J01175")) {
+                    jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverGF0019Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                }
 
                 if (jiaYueWindPowerDqResultCovers == null || jiaYueWindPowerDqResultCovers.size() == 0) {
                     List<String> fileContent = FileUtil.getFileContent(file);
@@ -425,6 +439,10 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                         jiaYueWindPowerDqResultCoverFD0031List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
                                                 new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverFD0031()));
                                     }
+                                    if (parsingUrl.getStationCode().equals("J01166")) {
+                                        jiaYueWindPowerDqResultCoverFD0040List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
+                                                new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverFD0040()));
+                                    }
                                     if (parsingUrl.getStationCode().equals("J01056")) {
                                         jiaYueWindPowerDqResultCoverGF0001List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
                                                 new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverGF0001()));
@@ -441,6 +459,10 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                         jiaYueWindPowerDqResultCoverGF0013List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
                                                 new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverGF0013()));
                                     }
+                                    if (parsingUrl.getStationCode().equals("J01175")) {
+                                        jiaYueWindPowerDqResultCoverGF0019List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
+                                                new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverGF0019()));
+                                    }
 
 
                                 }
@@ -513,6 +535,9 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                 if (parsingUrl.getStationCode().equals("J01043")) {
                                     jiaYueWindPowerDqResultCoverFD0031Service.saveDq(jiaYueWindPowerDqResultCoverFD0031List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                                 }
+                                if (parsingUrl.getStationCode().equals("J01166")) {
+                                    jiaYueWindPowerDqResultCoverFD0040Service.saveDq(jiaYueWindPowerDqResultCoverFD0040List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                                }
                                 if (parsingUrl.getStationCode().equals("J01056")) {
                                     jiaYueWindPowerDqResultCoverGF0001Service.saveDq(jiaYueWindPowerDqResultCoverGF0001List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                                 }
@@ -525,6 +550,9 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                 if (parsingUrl.getStationCode().equals("J01062")) {
                                     jiaYueWindPowerDqResultCoverGF0013Service.saveDq(jiaYueWindPowerDqResultCoverGF0013List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                                 }
+                                if (parsingUrl.getStationCode().equals("J01175")) {
+                                    jiaYueWindPowerDqResultCoverGF0019Service.saveDq(jiaYueWindPowerDqResultCoverGF0019List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                                }
                                 log.info("解析DQ文件:{} 成功! O(∩_∩)O", file.getName());
                                 parsingStatus = FileTypeEnum.DQ.name();
                             } else {
@@ -678,7 +706,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
         WindFarmInfoEncryption windFarmInfoEncryption = windFarmInfoEncryptionService.getCap(objId);
         PhotovoltaicFarmInfo photovoltaicFarmInfo = photovoltaicFarmInfoService.getCap(objId);
         float cap = 0.0f;
-        if (objId.equals("GF0001") || objId.equals("GF0002")|| objId.equals("GF0012")|| objId.equals("GF0013")){
+        if (objId.equals("GF0001") || objId.equals("GF0002")|| objId.equals("GF0012")|| objId.equals("GF0013") || objId.equals("GF0019")){
             cap = photovoltaicFarmInfo.getCapReport();
         }else {
             cap = windFarmInfoEncryption.getCap();

+ 27 - 3
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/an/ParsingNwpInfoServiceImpl.java

@@ -92,6 +92,8 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
 
     private final JiaYueWindPowerNwpResultCoverFD0031Service jiaYueWindPowerNwpResultCoverFD0031Service;
 
+    private final JiaYueWindPowerNwpResultCoverFD0040Service jiaYueWindPowerNwpResultCoverFD0040Service;
+
     private final JiaYueWindPowerNwpResultCoverGF0001Service jiaYueWindPowerNwpResultCoverGF0001Service;
 
     private final JiaYueWindPowerNwpResultCoverGF0002Service jiaYueWindPowerNwpResultCoverGF0002Service;
@@ -100,6 +102,8 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
 
     private final JiaYueWindPowerNwpResultCoverGF0013Service jiaYueWindPowerNwpResultCoverGF0013Service;
 
+    private final JiaYueWindPowerNwpResultCoverGF0019Service jiaYueWindPowerNwpResultCoverGF0019Service;
+
 
     private final ElectricFieldService electricFieldService;
 
@@ -126,7 +130,7 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
             parsingNwpInfo1.setId("a6bef32fab9fb298528851f1d85c77f2");
             parsingNwpInfo1.setDataType("m");
             parsingNwpInfo1.setFileName("NWP_");
-            parsingNwpInfo1.setStationCode("J00770,J00941,J00942,J00988,J00929,J00930,J00931,J01033,J01034,J01043,J01056,J01057,J01061,J01062,J01118,J01123,J01122,J01119,J01120,J01121,J01138,J01139,J01140,J01141,J01142");
+            parsingNwpInfo1.setStationCode("J00770,J00941,J00942,J00988,J00929,J00930,J00931,J01033,J01034,J01043,J01056,J01057,J01061,J01062,J01118,J01123,J01122,J01119,J01120,J01121,J01138,J01139,J01140,J01141,J01142,J01166,J01175");
             parsingNwpInfo1.setDelFlag("0");
             parsingNwpInfo1.setPreTime("1<=>2<=>date=<=>yyyy-MM-dd");
 //            parsingNwpInfo1.setScDate();
@@ -179,10 +183,12 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
             List<JiaYueWindPowerNwpResultCoverFD0029> jiaYueWindPowerNwpResultCoverFD0029List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverFD0030> jiaYueWindPowerNwpResultCoverFD0030List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverFD0031> jiaYueWindPowerNwpResultCoverFD0031List = new ArrayList<>();
+            List<JiaYueWindPowerNwpResultCoverFD0040> jiaYueWindPowerNwpResultCoverFD0040List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverGF0001> jiaYueWindPowerNwpResultCoverGF0001List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverGF0002> jiaYueWindPowerNwpResultCoverGF0002List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverGF0012> jiaYueWindPowerNwpResultCoverGF0012List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverGF0013> jiaYueWindPowerNwpResultCoverGF0013List = new ArrayList<>();
+            List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverGF0019List = new ArrayList<>();
 
 
             // 获取文件名中的日期时间进行判断
@@ -283,6 +289,9 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                 if (parsingUrl.getStationCode().equals("J01043")) {
                     jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverFD0031Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
+                if (parsingUrl.getStationCode().equals("J01166")) {
+                    jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverFD0040Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                }
                 if (parsingUrl.getStationCode().equals("J01056")) {
                     jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverGF0001Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
@@ -296,8 +305,9 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                 if (parsingUrl.getStationCode().equals("J01062")) {
                     jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverGF0013Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
-
-
+                if (parsingUrl.getStationCode().equals("J01175")) {
+                    jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverGF0019Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                }
                 if (jiaYueWindPowerNwpResultCovers == null || jiaYueWindPowerNwpResultCovers.size() == 0) {
 
                     List<String> fileContent = FileUtil.getFileContent(file);
@@ -433,6 +443,10 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                                     jiaYueWindPowerNwpResultCoverFD0031List.add(this.jiaYueWindPowerNwpResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), da, timeStr, pressures, rhs
                                             , swrs, result, ws10s, wd10s, ws30s, wd30s, ws50s, wd50s, ws70s, wd70s, ws80s, wd80s, ws90s, wd90s, ws100s, wd100s, ws170s, wd170s, i, new JiaYueWindPowerNwpResultCoverFD0031()));
                                 }
+                                if (parsingUrl.getStationCode().equals("J01166")) {
+                                    jiaYueWindPowerNwpResultCoverFD0040List.add(this.jiaYueWindPowerNwpResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), da, timeStr, pressures, rhs
+                                            , swrs, result, ws10s, wd10s, ws30s, wd30s, ws50s, wd50s, ws70s, wd70s, ws80s, wd80s, ws90s, wd90s, ws100s, wd100s, ws170s, wd170s, i, new JiaYueWindPowerNwpResultCoverFD0040()));
+                                }
                                 if (parsingUrl.getStationCode().equals("J01056")) {
                                     jiaYueWindPowerNwpResultCoverGF0001List.add(this.jiaYueWindPowerNwpResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), da, timeStr, pressures, rhs
                                             , swrs, result, ws10s, wd10s, ws30s, wd30s, ws50s, wd50s, ws70s, wd70s, ws80s, wd80s, ws90s, wd90s, ws100s, wd100s, ws170s, wd170s, i, new JiaYueWindPowerNwpResultCoverGF0001()));
@@ -449,6 +463,10 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                                     jiaYueWindPowerNwpResultCoverGF0013List.add(this.jiaYueWindPowerNwpResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), da, timeStr, pressures, rhs
                                             , swrs, result, ws10s, wd10s, ws30s, wd30s, ws50s, wd50s, ws70s, wd70s, ws80s, wd80s, ws90s, wd90s, ws100s, wd100s, ws170s, wd170s, i, new JiaYueWindPowerNwpResultCoverGF0013()));
                                 }
+                                if (parsingUrl.getStationCode().equals("J01175")) {
+                                    jiaYueWindPowerNwpResultCoverGF0019List.add(this.jiaYueWindPowerNwpResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), da, timeStr, pressures, rhs
+                                            , swrs, result, ws10s, wd10s, ws30s, wd30s, ws50s, wd50s, ws70s, wd70s, ws80s, wd80s, ws90s, wd90s, ws100s, wd100s, ws170s, wd170s, i, new JiaYueWindPowerNwpResultCoverGF0019()));
+                                }
                                 time += Constant.INTERVALTIME;
                             }
                             if (parsingUrl.getStationCode().equals("J00770")) {
@@ -514,6 +532,9 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                             if (parsingUrl.getStationCode().equals("J01043")) {
                                 jiaYueWindPowerNwpResultCoverFD0031Service.saveNwp(jiaYueWindPowerNwpResultCoverFD0031List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                             }
+                            if (parsingUrl.getStationCode().equals("J01166")) {
+                                jiaYueWindPowerNwpResultCoverFD0040Service.saveNwp(jiaYueWindPowerNwpResultCoverFD0040List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                            }
                             if (parsingUrl.getStationCode().equals("J01056")) {
                                 jiaYueWindPowerNwpResultCoverGF0001Service.saveNwp(jiaYueWindPowerNwpResultCoverGF0001List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                             }
@@ -526,6 +547,9 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                             if (parsingUrl.getStationCode().equals("J01062")) {
                                 jiaYueWindPowerNwpResultCoverGF0013Service.saveNwp(jiaYueWindPowerNwpResultCoverGF0013List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                             }
+                            if (parsingUrl.getStationCode().equals("J01175")) {
+                                jiaYueWindPowerNwpResultCoverGF0019Service.saveNwp(jiaYueWindPowerNwpResultCoverGF0019List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                            }
                             parsingStatus = FileTypeEnum.NWP72.name();
                             log.info("解析Nwp文件:{} 成功! O(∩_∩)O", file.getName());
                         } else {

+ 82 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerCdqResultCoverFD0040.java

@@ -0,0 +1,82 @@
+package com.jiayue.ipp.common.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.sql.Time;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * jiayue_FD0030_zdata_wind_power_cdq_result
+ *
+ *  @author fxy
+ *  @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("jiayue_FD0040_zdata_wind_power_cdq_result")
+public class JiaYueWindPowerCdqResultCoverFD0040 {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @TableId(value = "id",type = IdType.INPUT)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+//    /**
+//     *  数据类型
+//     */
+//    private String dataType;
+//
+//
+//    /**
+//     *  预测类型
+//     */
+//    private String dataFlg;
+
+    /**
+     *  起报日期
+     */
+    private Date dataDate;
+
+
+    /**
+     *  起报时间
+     */
+    private Time dataTime;
+
+    /**
+     *  预测时间
+     */
+    private LocalDateTime preDateTime;
+
+    /**
+     *  值
+     */
+    private Float activePower;
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     *  开机容量
+     */
+    private Float openCap;
+}

+ 82 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerCdqResultCoverGF0019.java

@@ -0,0 +1,82 @@
+package com.jiayue.ipp.common.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.sql.Time;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * jiayue_FD0030_zdata_wind_power_cdq_result
+ *
+ *  @author fxy
+ *  @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("jiayue_GF0019_zdata_wind_power_cdq_result")
+public class JiaYueWindPowerCdqResultCoverGF0019 {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @TableId(value = "id",type = IdType.INPUT)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+//    /**
+//     *  数据类型
+//     */
+//    private String dataType;
+//
+//
+//    /**
+//     *  预测类型
+//     */
+//    private String dataFlg;
+
+    /**
+     *  起报日期
+     */
+    private Date dataDate;
+
+
+    /**
+     *  起报时间
+     */
+    private Time dataTime;
+
+    /**
+     *  预测时间
+     */
+    private LocalDateTime preDateTime;
+
+    /**
+     *  值
+     */
+    private Float activePower;
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     *  开机容量
+     */
+    private Float openCap;
+}

+ 84 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerDqResultCoverFD0040.java

@@ -0,0 +1,84 @@
+package com.jiayue.ipp.common.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.sql.Time;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * jiayue_FD0030_zdata_wind_power_dq_result
+ *
+ *  @author fxy
+ *  @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("jiayue_FD0040_zdata_wind_power_dq_result")
+public class JiaYueWindPowerDqResultCoverFD0040 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+//    /**
+//     *  数据类型
+//     */
+//    private String dataType;
+//
+//
+//    /**
+//     *  预测类型
+//     */
+//    private String dataFlg;
+
+    /**
+     *  起报日期
+     */
+    private Date dataDate;
+
+
+    /**
+     *  起报时间
+     */
+    private Time dataTime;
+
+    /**
+     *  预测时间
+     */
+    private LocalDateTime preDateTime;
+
+    /**
+     *  值
+     */
+    private Float activePower;
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     *  开机容量
+     */
+    private Float openCap;
+}

+ 84 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerDqResultCoverGF0019.java

@@ -0,0 +1,84 @@
+package com.jiayue.ipp.common.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.sql.Time;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * jiayue_FD0030_zdata_wind_power_dq_result
+ *
+ *  @author fxy
+ *  @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("jiayue_GF0019_zdata_wind_power_dq_result")
+public class JiaYueWindPowerDqResultCoverGF0019 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+//    /**
+//     *  数据类型
+//     */
+//    private String dataType;
+//
+//
+//    /**
+//     *  预测类型
+//     */
+//    private String dataFlg;
+
+    /**
+     *  起报日期
+     */
+    private Date dataDate;
+
+
+    /**
+     *  起报时间
+     */
+    private Time dataTime;
+
+    /**
+     *  预测时间
+     */
+    private LocalDateTime preDateTime;
+
+    /**
+     *  值
+     */
+    private Float activePower;
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     *  开机容量
+     */
+    private Float openCap;
+}

+ 180 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerNwpResultCoverFD0040.java

@@ -0,0 +1,180 @@
+package com.jiayue.ipp.common.data.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Time;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * jiayue_FD0030_zdata_nwp_result
+ *
+ *  @author fxy
+ *  @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("jiayue_FD0040_zdata_nwp_result")
+public class JiaYueWindPowerNwpResultCoverFD0040 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+//    /**
+//     *  数据类型
+//     */
+//    private String dataType;
+
+
+//    /**
+//     *  预测类型
+//     */
+//    private String dataFlg;
+
+    /**
+     *  起报日期
+     */
+    private Date dataDate;
+
+
+    /**
+     *  起报时间
+     */
+    private Time dataTime;
+
+    /**
+     *  预测时间
+     */
+    private LocalDateTime preDateTime;
+
+    /**
+     *  温度
+     */
+    private BigDecimal t;
+
+    /**
+     *  湿度
+     */
+    private BigDecimal h;
+
+    /**
+     *  短波辐射
+     */
+    private BigDecimal swr;
+
+    /**
+     *  气压
+     */
+    private BigDecimal p;
+
+
+    /**
+     *  10米风速
+     */
+    private BigDecimal ws_10;
+
+    /**
+     *  30米风速
+     */
+    private BigDecimal ws_30;
+
+    /**
+     *  50米风速
+     */
+    private BigDecimal ws_50;
+
+    /**
+     *  70米风速
+     */
+    private BigDecimal ws_70;
+
+    /**
+     *  80米风速
+     */
+    private BigDecimal ws_80;
+
+    /**
+     *  90米风速
+     */
+    private BigDecimal ws_90;
+
+    /**
+     *  100米风速
+     */
+    private BigDecimal ws_100;
+
+    /**
+     *  170米风速
+     */
+    private BigDecimal ws_170;
+
+    /**
+     *  10米风向
+     */
+    private BigDecimal wd_10;
+
+    /**
+     *  30米风向
+     */
+    private BigDecimal wd_30;
+
+    /**
+     *  50米风向
+     */
+    private BigDecimal wd_50;
+
+    /**
+     *  70米风向
+     */
+    private BigDecimal wd_70;
+
+    /**
+     *  80米风向
+     */
+    private BigDecimal wd_80;
+
+    /**
+     *  90米风向
+     */
+    private BigDecimal wd_90;
+
+    /**
+     *  100米风向
+     */
+    private BigDecimal wd_100;
+
+    /**
+     *  170米风向
+     */
+    private BigDecimal wd_170;
+
+
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+}

+ 180 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerNwpResultCoverGF0019.java

@@ -0,0 +1,180 @@
+package com.jiayue.ipp.common.data.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Time;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * jiayue_FD0030_zdata_nwp_result
+ *
+ *  @author fxy
+ *  @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("jiayue_GF0019_zdata_nwp_result")
+public class JiaYueWindPowerNwpResultCoverGF0019 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+//    /**
+//     *  数据类型
+//     */
+//    private String dataType;
+
+
+//    /**
+//     *  预测类型
+//     */
+//    private String dataFlg;
+
+    /**
+     *  起报日期
+     */
+    private Date dataDate;
+
+
+    /**
+     *  起报时间
+     */
+    private Time dataTime;
+
+    /**
+     *  预测时间
+     */
+    private LocalDateTime preDateTime;
+
+    /**
+     *  温度
+     */
+    private BigDecimal t;
+
+    /**
+     *  湿度
+     */
+    private BigDecimal h;
+
+    /**
+     *  短波辐射
+     */
+    private BigDecimal swr;
+
+    /**
+     *  气压
+     */
+    private BigDecimal p;
+
+
+    /**
+     *  10米风速
+     */
+    private BigDecimal ws_10;
+
+    /**
+     *  30米风速
+     */
+    private BigDecimal ws_30;
+
+    /**
+     *  50米风速
+     */
+    private BigDecimal ws_50;
+
+    /**
+     *  70米风速
+     */
+    private BigDecimal ws_70;
+
+    /**
+     *  80米风速
+     */
+    private BigDecimal ws_80;
+
+    /**
+     *  90米风速
+     */
+    private BigDecimal ws_90;
+
+    /**
+     *  100米风速
+     */
+    private BigDecimal ws_100;
+
+    /**
+     *  170米风速
+     */
+    private BigDecimal ws_170;
+
+    /**
+     *  10米风向
+     */
+    private BigDecimal wd_10;
+
+    /**
+     *  30米风向
+     */
+    private BigDecimal wd_30;
+
+    /**
+     *  50米风向
+     */
+    private BigDecimal wd_50;
+
+    /**
+     *  70米风向
+     */
+    private BigDecimal wd_70;
+
+    /**
+     *  80米风向
+     */
+    private BigDecimal wd_80;
+
+    /**
+     *  90米风向
+     */
+    private BigDecimal wd_90;
+
+    /**
+     *  100米风向
+     */
+    private BigDecimal wd_100;
+
+    /**
+     *  170米风向
+     */
+    private BigDecimal wd_170;
+
+
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+}

+ 1 - 1
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/PvPowerReal15MinGF0013.java

@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
  * @date 2023-08-01 15:48:48
  */
 @Data
-@TableName("zdata_GF0012_pv_power_real_15min")
+@TableName("zdata_GF0013_pv_power_real_15min")
 public class PvPowerReal15MinGF0013 implements Serializable {
     private static final long serialVersionUID = 1L;
 

+ 62 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/PvPowerReal15MinGF0019.java

@@ -0,0 +1,62 @@
+package com.jiayue.ipp.common.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * zdata_FD0007_wind_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("zdata_GF0019_pv_power_real_15min")
+public class PvPowerReal15MinGF0019 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+    /**
+     *  数据类型
+     */
+    private String dataType;
+
+
+    /**
+     *  日期
+     */
+    private LocalDateTime dateTime;
+
+    /**
+     *  值
+     */
+    private Float activePower;
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+}

+ 1 - 1
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindPowerReal15MinFD0030.java

@@ -46,7 +46,7 @@ public class WindPowerReal15MinFD0030 implements Serializable {
     /**
      *  值
      */
-    private Float value;
+    private Float activePower;
 
     /**
      *  入库时间

+ 1 - 1
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindPowerReal15MinFD0031.java

@@ -46,7 +46,7 @@ public class WindPowerReal15MinFD0031 implements Serializable {
     /**
      *  值
      */
-    private Float value;
+    private Float activePower;
 
     /**
      *  入库时间

+ 62 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/WindPowerReal15MinFD0040.java

@@ -0,0 +1,62 @@
+package com.jiayue.ipp.common.data.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * zdata_FD0007_wind_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Data
+@TableName("zdata_FD0040_wind_power_real_15min")
+public class WindPowerReal15MinFD0040 implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+//    /**
+//     * 主键ID
+//     */
+//    @Id
+//    @GeneratedValue(strategy = GenerationType.IDENTITY)
+//    private BigInteger id;
+
+
+    /**
+     *  对象标识
+     */
+    private String objId;
+
+
+    /**
+     *  数据类型
+     */
+    private String dataType;
+
+
+    /**
+     *  日期
+     */
+    private LocalDateTime dateTime;
+
+    /**
+     *  值
+     */
+    private Float activePower;
+
+    /**
+     *  入库时间
+     */
+    private LocalDateTime createTime;
+
+
+    /**
+     *  更新时间
+     */
+    private LocalDateTime updateTime;
+
+}

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