fanxiaoyu 13 годин тому
батько
коміт
2c5442d4a4
24 змінених файлів з 1545 додано та 21 видалено
  1. 0 1
      ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ConfigTask.java
  2. 1 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ParsingJob.java
  3. 39 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0051.java
  4. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0051.java
  5. 38 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0051.java
  6. 32 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0051Mapper.java
  7. 30 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/GenerateBackPassDataService.java
  8. 54 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0051Service.java
  9. 64 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0051Service.java
  10. 53 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerNwpResultCoverGF0051Service.java
  11. 52 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/PvPowerReal15MinGF0051Service.java
  12. 10 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/an/DownloadService.java
  13. 3 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/ElectricFieldServiceImpl.java
  14. 18 1
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0007ServiceImpl.java
  15. 413 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0051ServiceImpl.java
  16. 95 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerDqResultGF0051CoverServiceImpl.java
  17. 74 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerNwpResultGF0051CoverServiceImpl.java
  18. 63 0
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/PvPowerReal15MinGF0051ServiceImpl.java
  19. 32 17
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/an/ParsingDqInfoServiceImpl.java
  20. 14 2
      ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/an/ParsingNwpInfoServiceImpl.java
  21. 82 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerCdqResultCoverGF0051.java
  22. 84 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerDqResultCoverGF0051.java
  23. 180 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/JiaYueWindPowerNwpResultCoverGF0051.java
  24. 62 0
      ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/PvPowerReal15MinGF0051.java

+ 0 - 1
ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ConfigTask.java

@@ -1,6 +1,5 @@
 package com.jiayue.ipfcst.client.Schedule;
 
-import cn.hutool.http.HttpUtil;
 import com.jiayue.ipfcst.client.utils.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Configuration;

Різницю між файлами не показано, бо вона завелика
+ 1 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/Schedule/ParsingJob.java


+ 39 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerCdqResultCoverMapperGF0051.java

@@ -0,0 +1,39 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0019;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerCdqResultCoverGF0051;
+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 JiaYueWindPowerCdqResultCoverMapperGF0051 extends BaseMapper<JiaYueWindPowerCdqResultCoverGF0051> {
+
+    @Delete("DELETE FROM jiayue_GF0051_zdata_wind_power_cdq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0051_zdata_wind_power_cdq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerCdqResultCoverGF0051> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Delete("DELETE FROM jiayue_GF0051_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_GF0051_zdata_wind_power_cdq_result WHERE DATA_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerCdqResultCoverGF0051> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+    @Select("SELECT * FROM jiayue_GF0051_zdata_wind_power_cdq_result WHERE PRE_DATE_TIME = #{dateSubString} ORDER BY CREATE_TIME DESC LIMIT 1")
+    JiaYueWindPowerCdqResultCoverGF0051 selectByDataDate(@Param("dateSubString") String dateSubString);
+
+}

+ 52 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerDqResultCoverMapperGF0051.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.JiaYueWindPowerDqResultCoverGF0051;
+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 JiaYueWindPowerDqResultCoverMapperGF0051 extends BaseMapper<JiaYueWindPowerDqResultCoverGF0051> {
+
+    @Delete("DELETE FROM jiayue_GF0051_zdata_wind_power_dq_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0051_zdata_wind_power_dq_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerDqResultCoverGF0051> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0051_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_GF0051_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<JiaYueWindPowerDqResultCoverGF0051> selectByTimeAndObjId(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("objId") String objId);
+
+
+    @Select("SELECT * FROM jiayue_GF0051_zdata_wind_power_dq_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerDqResultCoverGF0051> 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<JiaYueWindPowerDqResultCoverGF0051> selectByDataDate(@Param("date") String date);
+
+}

+ 38 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/JiaYueWindPowerNwpResultCoverMapperGF0051.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.JiaYueWindPowerNwpResultCoverGF0019;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerNwpResultCoverGF0051;
+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 JiaYueWindPowerNwpResultCoverMapperGF0051 extends BaseMapper<JiaYueWindPowerNwpResultCoverGF0051> {
+
+    @Delete("DELETE FROM jiayue_GF0051_zdata_nwp_result")
+    int deleteAll();
+
+    @Select("SELECT * FROM jiayue_GF0051_zdata_nwp_result WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<JiaYueWindPowerNwpResultCoverGF0051> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+
+    @Delete("DELETE FROM jiayue_GF0051_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_GF0051_zdata_nwp_result WHERE DATA_DATE = #{fileDate} AND DATA_TIME = #{fileTime} AND OBJ_ID = #{objId}")
+    List<JiaYueWindPowerNwpResultCoverGF0051> selectByDataDateDateTime(@Param("fileDate") String fileDate, @Param("fileTime") String fileTime,@Param("objId") String objId);
+
+}

+ 32 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/mapper/PvPowerReal15MinGF0051Mapper.java

@@ -0,0 +1,32 @@
+package com.jiayue.ipfcst.client.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0019;
+import com.jiayue.ipp.common.data.entity.PvPowerReal15MinGF0051;
+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_GF0051_pv_power_real_15min
+ *
+ * @author fxy
+ * @date 2023-08-01 15:48:48
+ */
+@Mapper
+public interface PvPowerReal15MinGF0051Mapper extends BaseMapper<PvPowerReal15MinGF0051> {
+
+    @Delete("DELETE FROM zdata_GF0051_pv_power_real_15min")
+    int deleteAll();
+
+    @Select("SELECT * FROM zdata_GF0051_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime}")
+    List<PvPowerReal15MinGF0051> selectByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    @Select("SELECT * FROM zdata_GF0051_pv_power_real_15min WHERE DATE_TIME BETWEEN #{startTime} AND #{endTime} AND OBJ_ID = #{objId}")
+    List<PvPowerReal15MinGF0051> selectByTimeAndObjId(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("objId") String objId);
+
+}

+ 30 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/GenerateBackPassDataService.java

@@ -109,6 +109,8 @@ public class GenerateBackPassDataService {
 
     private final PvPowerReal15MinGF0019Service pvPowerReal15MinGF0019Service;
 
+    private final PvPowerReal15MinGF0051Service pvPowerReal15MinGF0051Service;
+
     private static final String IMAGE_TYPE = "jpg";
     private static final String PLACE = "-0.99|";
     private static final Long oneDay = 3600 * 24 * 1000L - 1000L;
@@ -188,6 +190,7 @@ public class GenerateBackPassDataService {
                                        PvPowerReal15MinGF0007Service pvPowerReal15MinGF0007Service,
                                        PvPowerReal15MinGF0008Service pvPowerReal15MinGF0008Service,
                                        PvPowerReal15MinGF0016Service pvPowerReal15MinGF0016Service,
+                                       PvPowerReal15MinGF0051Service pvPowerReal15MinGF0051Service,
                                        WindPowerReal15MinFD0056Service windPowerReal15MinFD0056Service){
         this.windPowerReal15MinFD0001Service = windPowerReal15MinFD0001Service;
         this.windPowerReal15MinFD0002Service = windPowerReal15MinFD0002Service;
@@ -224,6 +227,7 @@ public class GenerateBackPassDataService {
         this.pvPowerReal15MinGF0013Service = pvPowerReal15MinGF0013Service;
         this.pvPowerReal15MinGF0016Service = pvPowerReal15MinGF0016Service;
         this.pvPowerReal15MinGF0019Service = pvPowerReal15MinGF0019Service;
+        this.pvPowerReal15MinGF0051Service = pvPowerReal15MinGF0051Service;
         this.jiaYueWindPowerDqResultCoverFD0001Service = jiaYueWindPowerDqResultCoverFD0001Service;
         this.jiaYueWindPowerDqResultCoverFD0002Service = jiaYueWindPowerDqResultCoverFD0002Service;
         this.jiaYueWindPowerDqResultCoverFD0003Service = jiaYueWindPowerDqResultCoverFD0003Service;
@@ -409,6 +413,10 @@ public class GenerateBackPassDataService {
             electricFieldGF0019.setStationCode("J01175");
             electricFieldGF0019.setSign("GF0019");
 
+            ElectricField electricFieldGF0051 = new ElectricField();
+            electricFieldGF0051.setStationCode("J01462");
+            electricFieldGF0051.setSign("GF0051");
+
             electricFieldList.add(electricField);
             electricFieldList.add(electricField2);
             electricFieldList.add(electricField3);
@@ -444,6 +452,7 @@ public class GenerateBackPassDataService {
             electricFieldList.add(electricFieldGF0013);
             electricFieldList.add(electricFieldGF0016);
             electricFieldList.add(electricFieldGF0019);
+            electricFieldList.add(electricFieldGF0051);
 //
 //            // 开始日期和结束日期
 //            LocalDate startDate = LocalDate.of(2024, 1, 2);
@@ -616,6 +625,7 @@ public class GenerateBackPassDataService {
         List<PvPowerReal15MinGF0013> pvPowerReal15MinGF0013List = new ArrayList<>();
         List<PvPowerReal15MinGF0016> pvPowerReal15MinGF0016List = new ArrayList<>();
         List<PvPowerReal15MinGF0019> pvPowerReal15MinGF0019List = new ArrayList<>();
+        List<PvPowerReal15MinGF0051> pvPowerReal15MinGF0051List = new ArrayList<>();
 
         switch (electricField.getSign()){
             case "FD0001":
@@ -723,6 +733,10 @@ public class GenerateBackPassDataService {
             case "GF0019":
                 pvPowerReal15MinGF0019List = pvPowerReal15MinGF0019Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
                 break;
+                // todo 暂时还没有实际功率表 先注释掉代码
+//            case "GF0051":
+//                pvPowerReal15MinGF0051List = pvPowerReal15MinGF0051Service.getAll(new Date(startTime), new Date(startTime + 24 * 60 * 60 * 1000L - 1000));
+//                break;
 
             default:
                 break;
@@ -1255,6 +1269,22 @@ public class GenerateBackPassDataService {
                     instContent.append(PLACE);
                 }
             }
+            // TODO
+//            if (electricField.getSign().equals("GF0051")) {
+//                List<PvPowerReal15MinGF0051> filterList = pvPowerReal15MinGF0051List.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 (PvPowerReal15MinGF0051 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);

+ 54 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerCdqResultCoverGF0051Service.java

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

+ 64 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/JiaYueWindPowerDqResultCoverGF0051Service.java

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

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

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

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

@@ -370,6 +370,15 @@ public class DownloadService {
         parsingUrlGF19.setId("722af308253fcd6eff67959c7f76eaf7");
         parsingUrlGF19.setDelFlag("0");
 
+        ParsingUrl parsingUrlGF51 = new ParsingUrl();
+        parsingUrlGF51.setCId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF51.setForecastManufactor("SYJY");
+        parsingUrlGF51.setUrl("/home/syjy/F_data/new/J01462");
+        parsingUrlGF51.setUrlStatus("1");
+        parsingUrlGF51.setStationCode("J01462");
+        parsingUrlGF51.setId("722af308253fcd6eff67959c7f76eaf7");
+        parsingUrlGF51.setDelFlag("0");
+
 
 
         parsingUrls.add(parsingUrl1);
@@ -407,6 +416,7 @@ public class DownloadService {
         parsingUrls.add(parsingUrlGF13);
         parsingUrls.add(parsingUrlGF16);
         parsingUrls.add(parsingUrlGF19);
+        parsingUrls.add(parsingUrlGF51);
 
         String dateDir = DateFormatUtils.format(new Date(), "yyyyMMdd");
         String dayStr = new SimpleDateFormat("yyyyMMdd").format(new Date());

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

@@ -175,6 +175,9 @@ public class ElectricFieldServiceImpl extends ServiceImpl<ElectricFieldMapper, E
             case "J01175":
                 sign = "GF0019";
                 break;
+            case "J01462":
+                sign = "GF0051";
+                break;
             default:
                 break;
         }

+ 18 - 1
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverFD0007ServiceImpl.java

@@ -201,7 +201,24 @@ public class JiaYueWindPowerCdqResultCoverFD0007ServiceImpl extends ServiceImpl<
         // 场站编号转换为FD000?
         String objId = electricFieldService.numberToIdentification(stationCode);
         List<WindPowerReal15MinFD0007> windPowerReal15MinList = windPowerReal15MinFD0007Service.findByObjIdAndDateTime(objId, startTime, endTime);
-        List<WindPowerReal15MinFD0007> filterList = windPowerReal15MinList.stream().filter(t -> Float.compare(Float.valueOf(t.getValue()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+//        List<WindPowerReal15MinFD0007> filterList = windPowerReal15MinList.stream().filter(t -> Float.compare(Float.valueOf(t.getValue()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        List<WindPowerReal15MinFD0007> filterList = Optional.ofNullable(windPowerReal15MinList)
+                .orElse(Collections.emptyList()) // 如果原List为null,返回空List
+                .stream()
+                .filter(Objects::nonNull)
+                .filter(t -> {
+                    Float value = t.getValue();
+                    if (value == null) {
+                        return false;
+                    }
+                    try {
+                        float floatValue = value;
+                        return floatValue > -1.0f;
+                    } catch (NumberFormatException e) {
+                        return false;
+                    }
+                })
+                .collect(Collectors.toList());
         String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
 
         if (filterList.size() > 0) {

+ 413 - 0
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverGF0051ServiceImpl.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.JiaYueWindPowerCdqResultCoverMapperGF0051;
+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.*;
+
+@Service
+@Slf4j
+public class JiaYueWindPowerCdqResultCoverGF0051ServiceImpl extends ServiceImpl<JiaYueWindPowerCdqResultCoverMapperGF0051, JiaYueWindPowerCdqResultCoverGF0051> implements JiaYueWindPowerCdqResultCoverGF0051Service {
+    private final JiaYueWindPowerCdqResultCoverMapperGF0051 jiaYueWindPowerCdqResultCoverMapperGF0051;
+
+    private final ElectricFieldService electricFieldService;
+
+    private final SysParameterService sysParameterService;
+
+    private final PvPowerReal15MinGF0051Service pvPowerReal15MinGF0051Service;
+
+    private final JiaYueWindPowerDqResultCoverGF0051Service jiaYueWindPowerDqResultCoverGF0051Service;
+
+    private final WindFarmInfoEncryptionService windFarmInfoEncryptionService;
+
+    private final OverhaulPlanService overhaulPlanService;
+
+    private final PhotovoltaicFarmInfoService photovoltaicFarmInfoService;
+
+
+    public JiaYueWindPowerCdqResultCoverGF0051ServiceImpl(OverhaulPlanService overhaulPlanService, WindFarmInfoEncryptionService windFarmInfoEncryptionService, JiaYueWindPowerCdqResultCoverMapperGF0051 jiaYueWindPowerCdqResultCoverMapperGF0051, ElectricFieldService electricFieldService, SysParameterService sysParameterService, PvPowerReal15MinGF0051Service pvPowerReal15MinGF0051Service, JiaYueWindPowerDqResultCoverGF0051Service jiaYueWindPowerDqResultCoverGF0051Service, PhotovoltaicFarmInfoService photovoltaicFarmInfoService) {
+        this.jiaYueWindPowerCdqResultCoverMapperGF0051 = jiaYueWindPowerCdqResultCoverMapperGF0051;
+        this.electricFieldService = electricFieldService;
+        this.sysParameterService = sysParameterService;
+        this.pvPowerReal15MinGF0051Service = pvPowerReal15MinGF0051Service;
+        this.jiaYueWindPowerDqResultCoverGF0051Service = jiaYueWindPowerDqResultCoverGF0051Service;
+        this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
+        this.overhaulPlanService = overhaulPlanService;
+        this.photovoltaicFarmInfoService = photovoltaicFarmInfoService;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerCdqResultCoverGF0051> get() {
+        List<JiaYueWindPowerCdqResultCoverGF0051> jiaYueWindPowerCdqResultCovers = jiaYueWindPowerCdqResultCoverMapperGF0051.selectList(null);
+        return jiaYueWindPowerCdqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerCdqResultCoverGF0051> jiaYueWindPowerCdqResultCoverGF0051List) {
+        if (jiaYueWindPowerCdqResultCoverGF0051List != null && jiaYueWindPowerCdqResultCoverGF0051List.size() > 0) {
+            this.saveBatch(jiaYueWindPowerCdqResultCoverGF0051List, jiaYueWindPowerCdqResultCoverGF0051List.size());
+        }
+        return jiaYueWindPowerCdqResultCoverGF0051List.size();
+    }
+
+//    @Override
+//    public List<JiaYueWindPowerCdqResultCover> getAll() {
+//        List<JiaYueWindPowerCdqResultCover> jiaYueWindPowerCdqResultCovers =  jiaYueWindPowerCdqResultCoverMapper.selectList(null);
+//        return  jiaYueWindPowerCdqResultCovers;
+//    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+
+        return jiaYueWindPowerCdqResultCoverMapperGF0051.deleteAll();
+    }
+
+
+    /**
+     * 执行超短期预测
+     */
+    public void executeForecast() {
+
+        List<ElectricField> electricFieldList = new ArrayList<>();
+        ElectricField electricField3 = new ElectricField();
+        electricField3.setBelongForecastManufactor("SYJY");
+        electricField3.setCapacity(new BigDecimal(49.8));
+        electricField3.setElectricFieldTypeEnum("1");
+        electricField3.setForecastManufactor("SYJY");
+        electricField3.setId("d712c1ef348714a5afafcf130c256cc9");
+        electricField3.setName("天津市宁河区马连庄村49.8MW光伏电站");
+        electricField3.setStationCode("J01462");
+        electricField3.setSign("GF0051");
+        electricField3.setNetSubstationName("J01462");
+
+        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<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCoverGF0051List = jiaYueWindPowerDqResultCoverGF0051Service.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(jiaYueWindPowerDqResultCoverGF0051List, e.getCapacity(), e.getStationCode());
+//                } else {
+//                    log.error("场站类型非法!");
+//                }
+
+            } catch (Exception ex) {
+                log.error("系统运行错误!", ex);
+            }
+        });
+    }
+
+
+    /**
+     * 执行风电场超短期预测
+     *
+     * @param jiaYueWindPowerDqResultCoverList 短期预测结果集
+     * @param capacity                         装机容量
+     */
+    @WR("W")
+    public void executeForecastForWind(final List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCoverList, final BigDecimal capacity, String stationCode) {
+
+        List<JiaYueWindPowerCdqResultCoverGF0051> jiaYueWindPowerCdqResultCoverGF0051List = new ArrayList<>();
+        JiaYueWindPowerCdqResultCoverGF0051 jiaYueWindPowerCdqResultCoverGF0051;
+        //获取系统参数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<PvPowerReal15MinGF0051> pvPowerReal15MinGF0051List = pvPowerReal15MinGF0051Service.findByObjIdAndDateTime(objId, startTime, endTime);
+//        List<PvPowerReal15MinGF0051> filterList = pvPowerReal15MinGF0051List.stream().filter(t -> Float.compare(Float.valueOf(t.getActivePower()), Float.valueOf("-1")) > 0).collect(Collectors.toList());
+        // todo 因数据库暂时没有这个表,所以直接new一个,让该超短期使用短期*系数来计算
+        List<PvPowerReal15MinGF0051> filterList = new ArrayList<>();
+        String coe = sysParameterService.getSysParameterAndStationCode("CDQ_COE", "1.05", stationCode);
+
+        if (filterList.size() > 0) {
+            // 获取当前时刻对应的短期
+            List<JiaYueWindPowerDqResultCoverGF0051> currentForecastPowerShortTermList;
+            Float currentForecastPowerValue = 0f;
+            try {
+                Long currentMoment = DateMomentUtil.getMomentTime(currentTime.getTime(), 1, 15 * 60 * 1000L);
+                currentForecastPowerShortTermList = jiaYueWindPowerDqResultCoverGF0051Service.findByObjIdAndStartTimeAndEndTime(stationCode, new Date(currentMoment), new Date(currentMoment));
+                if (currentForecastPowerShortTermList.size() > 0) {
+                    currentForecastPowerValue = currentForecastPowerShortTermList.get(0).getActivePower();
+                } else {
+                    // 当前时间没有对应的短期,用实际功率最近的一个替换
+                    filterList.sort(Comparator.comparing(PvPowerReal15MinGF0051::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++) {
+                jiaYueWindPowerCdqResultCoverGF0051 = new JiaYueWindPowerCdqResultCoverGF0051();
+                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) {
+                    jiaYueWindPowerCdqResultCoverGF0051.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0051.setDataDate(new Date());
+                }
+
+                Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
+                Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
+                jiaYueWindPowerCdqResultCoverGF0051.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0051.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setOpenCap(jiaYueWindPowerDqResultCoverList.get(i).getOpenCap());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0051.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0051.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) {
+                    jiaYueWindPowerCdqResultCoverGF0051.setActivePower(0.0f);
+                } else {
+
+                    if (new BigDecimal(value[0]).doubleValue() > capacity.doubleValue()) {
+                        // 如果超短期结果超出装机容量,则超短期结果为装机容量
+                        jiaYueWindPowerCdqResultCoverGF0051.setActivePower(capacity.floatValue());
+                    } else if (new BigDecimal(value[0]).doubleValue() < 0) {
+                        // 如果超短期结果小于0,则超短期结果为0
+                        jiaYueWindPowerCdqResultCoverGF0051.setActivePower(0f);
+                    } else {
+                        if (cdqjsfs.equals("1")) {
+                            jiaYueWindPowerCdqResultCoverGF0051.setActivePower(new BigDecimal(value[0]).floatValue());
+                        } else {
+                            jiaYueWindPowerCdqResultCoverGF0051.setActivePower(new BigDecimal(aa[0]).floatValue());
+                        }
+                    }
+                }
+                jiaYueWindPowerCdqResultCoverGF0051.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0051List.add(jiaYueWindPowerCdqResultCoverGF0051);
+            }
+        } 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);
+                jiaYueWindPowerCdqResultCoverGF0051 = new JiaYueWindPowerCdqResultCoverGF0051();
+                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) {
+                    jiaYueWindPowerCdqResultCoverGF0051.setDataDate(this.nextDay(new Date()));
+                } else {
+                    jiaYueWindPowerCdqResultCoverGF0051.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);
+                jiaYueWindPowerCdqResultCoverGF0051.setDataTime(nowTime);
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataType(jiaYueWindPowerDqResultCoverList.get(i).getDataType());
+                jiaYueWindPowerCdqResultCoverGF0051.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
+//                jiaYueWindPowerCdqResultCoverFD0007.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
+                jiaYueWindPowerCdqResultCoverGF0051.setActivePower(new BigDecimal(value[0]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0051.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCoverGF0051.setOpenCap(new BigDecimal(value[1]).floatValue());
+                jiaYueWindPowerCdqResultCoverGF0051.setCreateTime(LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
+                jiaYueWindPowerCdqResultCoverGF0051List.add(jiaYueWindPowerCdqResultCoverGF0051);
+            }
+        }
+
+        if (jiaYueWindPowerCdqResultCoverGF0051List.size() > 0) {
+            this.saveCdq(jiaYueWindPowerCdqResultCoverGF0051List, stationCode);
+        }
+    }
+
+    @Override
+    @WR("W")
+    public void saveCdq(List<JiaYueWindPowerCdqResultCoverGF0051> jiaYueWindPowerCdqResultCoverList, String stationCode) {
+        this.saveBatch(jiaYueWindPowerCdqResultCoverList, jiaYueWindPowerCdqResultCoverList.size());
+    }
+
+    @Override
+    public void deleteByDateTime(LocalDateTime startTime, LocalDateTime endTime, String stationCode) {
+        jiaYueWindPowerCdqResultCoverMapperGF0051.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<JiaYueWindPowerCdqResultCoverGF0051> findByDataDate(Date startTime) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        List<JiaYueWindPowerCdqResultCoverGF0051> jiaYueWindPowerCdqResultCoverGF0051List = 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);
+            JiaYueWindPowerCdqResultCoverGF0051 jiaYueWindPowerCdqResultCoverGF0051 = jiaYueWindPowerCdqResultCoverMapperGF0051.selectByDataDate(dateSubString);
+            if (null != jiaYueWindPowerCdqResultCoverGF0051) {
+                jiaYueWindPowerCdqResultCoverGF0051List.add(jiaYueWindPowerCdqResultCoverGF0051);
+            }
+        }
+        return jiaYueWindPowerCdqResultCoverGF0051List;
+    }
+
+
+    /**
+     * 判断时间戳是否是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/JiaYueWindPowerDqResultGF0051CoverServiceImpl.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.JiaYueWindPowerDqResultCoverMapperGF0051;
+import com.jiayue.ipfcst.client.service.JiaYueWindPowerDqResultCoverGF0051Service;
+import com.jiayue.ipp.common.data.entity.JiaYueWindPowerDqResultCoverGF0051;
+import org.springframework.stereotype.Service;
+
+import java.sql.Time;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@Service
+public class JiaYueWindPowerDqResultGF0051CoverServiceImpl extends ServiceImpl<JiaYueWindPowerDqResultCoverMapperGF0051, JiaYueWindPowerDqResultCoverGF0051> implements JiaYueWindPowerDqResultCoverGF0051Service {
+    private final JiaYueWindPowerDqResultCoverMapperGF0051 jiaYueWindPowerDqResultCoverMapperGF0051;
+
+    public JiaYueWindPowerDqResultGF0051CoverServiceImpl(JiaYueWindPowerDqResultCoverMapperGF0051 jiaYueWindPowerDqResultCoverMapperGF0051){
+        this.jiaYueWindPowerDqResultCoverMapperGF0051 = jiaYueWindPowerDqResultCoverMapperGF0051;
+    }
+
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0051> get() {
+        List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0051.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+    @WR("W")
+    public List<JiaYueWindPowerDqResultCoverGF0051> getByDataDateAndDateTime(String fileDate, String fileTime, String objId) {
+        List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0051.selectByDataDateDateTime(fileDate, fileTime, objId);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+//    @WR("R")
+    public int put(List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCovers) {
+        if (jiaYueWindPowerDqResultCovers != null && jiaYueWindPowerDqResultCovers.size() > 0) {
+            this.saveBatch(jiaYueWindPowerDqResultCovers, jiaYueWindPowerDqResultCovers.size());
+        }
+        return jiaYueWindPowerDqResultCovers.size();
+    }
+
+    @Override
+//    @WR("R")
+    public List<JiaYueWindPowerDqResultCoverGF0051> getAll() {
+        List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverMapperGF0051.selectList(null);
+        return jiaYueWindPowerDqResultCovers;
+    }
+
+    @Override
+//    @WR("R")
+    public int deleteAll() {
+        return jiaYueWindPowerDqResultCoverMapperGF0051.deleteAll();
+    }
+
+
+    @Override
+    @WR("W")
+    public void saveDq(List<JiaYueWindPowerDqResultCoverGF0051> 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<JiaYueWindPowerDqResultCoverGF0051> 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<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0051.selectByTimeAndObjId(startTimeStr, endTimeStr, stationCode);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+    @Override
+    public List<JiaYueWindPowerDqResultCoverGF0051> findByDataDate(Date startTime) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String startTimeStr = simpleDateFormat.format(startTime);
+        List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverMapperGF0051.selectByDataDate(startTimeStr);
+        return jiaYueWindPowerDqResultCoverList;
+    }
+
+}

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

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

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

@@ -117,6 +117,8 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
 
     private final JiaYueWindPowerDqResultCoverGF0019Service jiaYueWindPowerDqResultCoverGF0019Service;
 
+    private final JiaYueWindPowerDqResultCoverGF0051Service jiaYueWindPowerDqResultCoverGF0051Service;
+
     private final ElectricFieldService electricFieldService;
 
     private final JiaYueWindPowerDqResultCoverMapper jiaYueWindPowerDqResultCoverMapper;
@@ -126,8 +128,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,JiaYueWindPowerDqResultCoverFD0040Service jiaYueWindPowerDqResultCoverFD0040Service,
-                                    ElectricFieldService electricFieldService,JiaYueWindPowerDqResultCoverMapper jiaYueWindPowerDqResultCoverMapper,WindFarmInfoEncryptionService windFarmInfoEncryptionService,JiaYueWindPowerDqResultCoverGF0001Service jiaYueWindPowerDqResultCoverGF0001Service,JiaYueWindPowerDqResultCoverGF0002Service jiaYueWindPowerDqResultCoverGF0002Service,JiaYueWindPowerDqResultCoverGF0012Service jiaYueWindPowerDqResultCoverGF0012Service,JiaYueWindPowerDqResultCoverGF0013Service jiaYueWindPowerDqResultCoverGF0013Service,PhotovoltaicFarmInfoService photovoltaicFarmInfoService,JiaYueWindPowerDqResultCoverGF0019Service jiaYueWindPowerDqResultCoverGF0019Service,
+    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,
                                     JiaYueWindPowerDqResultCoverGF0003Service jiaYueWindPowerDqResultCoverGF0003Service,
                                     JiaYueWindPowerDqResultCoverGF0004Service jiaYueWindPowerDqResultCoverGF0004Service,
                                     JiaYueWindPowerDqResultCoverGF0005Service jiaYueWindPowerDqResultCoverGF0005Service,
@@ -135,7 +137,8 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                     JiaYueWindPowerDqResultCoverGF0007Service jiaYueWindPowerDqResultCoverGF0007Service,
                                     JiaYueWindPowerDqResultCoverGF0008Service jiaYueWindPowerDqResultCoverGF0008Service,
                                     JiaYueWindPowerDqResultCoverGF0016Service jiaYueWindPowerDqResultCoverGF0016Service,
-                                    JiaYueWindPowerDqResultCoverFD0056Service jiaYueWindPowerDqResultCoverFD0056Service){
+                                    JiaYueWindPowerDqResultCoverFD0056Service jiaYueWindPowerDqResultCoverFD0056Service,
+                                    JiaYueWindPowerDqResultCoverGF0051Service jiaYueWindPowerDqResultCoverGF0051Service) {
         this.overhaulPlanService = overhaulPlanService;
         this.jiaYueWindPowerDqResultCoverFD0001Service = jiaYueWindPowerDqResultCoverFD0001Service;
         this.jiaYueWindPowerDqResultCoverFD0002Service = jiaYueWindPowerDqResultCoverFD0002Service;
@@ -172,6 +175,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
         this.jiaYueWindPowerDqResultCoverGF0013Service = jiaYueWindPowerDqResultCoverGF0013Service;
         this.jiaYueWindPowerDqResultCoverGF0016Service = jiaYueWindPowerDqResultCoverGF0016Service;
         this.jiaYueWindPowerDqResultCoverGF0019Service = jiaYueWindPowerDqResultCoverGF0019Service;
+        this.jiaYueWindPowerDqResultCoverGF0051Service = jiaYueWindPowerDqResultCoverGF0051Service;
         this.electricFieldService = electricFieldService;
         this.jiaYueWindPowerDqResultCoverMapper = jiaYueWindPowerDqResultCoverMapper;
         this.windFarmInfoEncryptionService = windFarmInfoEncryptionService;
@@ -228,6 +232,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
             List<JiaYueWindPowerDqResultCoverGF0013> jiaYueWindPowerDqResultCoverGF0013List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverGF0016> jiaYueWindPowerDqResultCoverGF0016List = new ArrayList<>();
             List<JiaYueWindPowerDqResultCoverGF0019> jiaYueWindPowerDqResultCoverGF0019List = new ArrayList<>();
+            List<JiaYueWindPowerDqResultCoverGF0051> jiaYueWindPowerDqResultCoverGF0051List = new ArrayList<>();
 
             ParsingDqInfo parsingDqInfo = new ParsingDqInfo();
             parsingDqInfo.setId("a6bef32fab9fb298528851f1d85c77f2");
@@ -235,7 +240,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,J01166,J01175,J01203,J01204,J01205,J01206,J01207,J01208,J01231,J01233");
+            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,J01203,J01204,J01205,J01206,J01207,J01208,J01231,J01233,J01462");
             parsingDqInfo.setDelFlag("0");
             parsingDqInfo.setForecastTime("1<=>2<=>date=<=>yyyy-MM-dd");
             parsingDqInfo.setFpValue("3-1538<=>5");
@@ -258,7 +263,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
 
             if (hour >= 0 && hour < 13) {
                 fileNameHour = "05";
-            }  else if (hour >= 13) {
+            } else if (hour >= 13) {
                 fileNameHour = "17";
             }
 
@@ -377,19 +382,22 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                 if (parsingUrl.getStationCode().equals("J01175")) {
                     jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverGF0019Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
+                if (parsingUrl.getStationCode().equals("J01462")) {
+                    jiaYueWindPowerDqResultCovers = jiaYueWindPowerDqResultCoverGF0051Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                }
 
                 if (jiaYueWindPowerDqResultCovers == null || jiaYueWindPowerDqResultCovers.size() == 0) {
                     List<String> fileContent = FileUtil.getFileContent(file);
                     if (parsingDqInfo.getDataType().equals(FieldUtil.MULTI)) {
                         List<BigDecimal> bigDecimals;
                         if (parsingDqInfo.getFpValue() != null) ;
-                        if (fileContent.size()<=1443){
+                        if (fileContent.size() <= 1443) {
                             parsingDqInfo.setFpValue("3-1442<=>5");
                         }
-                        if (fileContent.size() <= 1347){
+                        if (fileContent.size() <= 1347) {
                             parsingDqInfo.setFpValue("3-1346<=>5");
                         }
-                        if (fileContent.size() == 1457){
+                        if (fileContent.size() == 1457) {
                             parsingDqInfo.setFpValue("3-1456<=>5");
                         }
                         bigDecimals = parsingFpValue(parsingDqInfo.getFpValue(), fileContent);
@@ -397,7 +405,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                         if (bigDecimals.size() > 0) {
 
 //                                LocalDate genDate = parsingGenDate(parsingDqInfo.getGenDate(), fileContent);
-                            Long forecastTime = parsingForecastTime(parsingDqInfo.getForecastTime(), fileContent,timeConfig);
+                            Long forecastTime = parsingForecastTime(parsingDqInfo.getForecastTime(), fileContent, timeConfig);
 
                             if (forecastTime != 0l) {
 
@@ -559,6 +567,10 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                         jiaYueWindPowerDqResultCoverGF0019List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
                                                 new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverGF0019()));
                                     }
+                                    if (parsingUrl.getStationCode().equals("J01462")) {
+                                        jiaYueWindPowerDqResultCoverGF0051List.add(this.jiaYueWindPowerDqResultCover(combinedDateTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()), bigDecimal.floatValue(),
+                                                new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(), da, timeString, new JiaYueWindPowerDqResultCoverGF0051()));
+                                    }
 
 
                                 }
@@ -673,6 +685,9 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                                 if (parsingUrl.getStationCode().equals("J01175")) {
                                     jiaYueWindPowerDqResultCoverGF0019Service.saveDq(jiaYueWindPowerDqResultCoverGF0019List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                                 }
+                                if (parsingUrl.getStationCode().equals("J01462")) {
+                                    jiaYueWindPowerDqResultCoverGF0051Service.saveDq(jiaYueWindPowerDqResultCoverGF0051List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                                }
                                 log.info("解析DQ文件:{} 成功! O(∩_∩)O", file.getName());
                                 parsingStatus = FileTypeEnum.DQ.name();
                             } else {
@@ -737,7 +752,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
         }
     }
 
-    protected Long parsingForecastTime(String sign, List<String> fileContent,String time) {
+    protected Long parsingForecastTime(String sign, List<String> fileContent, String time) {
         Long forecastTime = 0l;
         try {
             FileParsingConfig config = FieldUtil.getConfig(sign);
@@ -766,7 +781,7 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
 
                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
-                forecastTime = simpleDateFormat.parse(result+" "+resultTime).getTime();
+                forecastTime = simpleDateFormat.parse(result + " " + resultTime).getTime();
 
                 log.info("解析短期【预测时间】成功==》开始时间为:{}", result);
             } else {
@@ -838,9 +853,9 @@ 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("GF0003") || objId.equals("GF0004") || objId.equals("GF0005") || objId.equals("GF0006") || objId.equals("GF0007") || objId.equals("GF0008")|| objId.equals("GF0012")|| objId.equals("GF0013") || objId.equals("GF0016") || objId.equals("GF0019")){
+        if (objId.equals("GF0001") || objId.equals("GF0002") || objId.equals("GF0003") || objId.equals("GF0004") || objId.equals("GF0005") || objId.equals("GF0006") || objId.equals("GF0007") || objId.equals("GF0008") || objId.equals("GF0012") || objId.equals("GF0013") || objId.equals("GF0016") || objId.equals("GF0019") || objId.equals("GF0051")) {
             cap = photovoltaicFarmInfo.getCapReport();
-        }else {
+        } else {
             cap = windFarmInfoEncryption.getCap();
         }
         BigDecimal capValue = new BigDecimal(cap);
@@ -854,14 +869,14 @@ public class ParsingDqInfoServiceImpl extends ServiceImpl<ParsingDqInfoMapper, P
                 // 判断手动停止时间是否在预测数据时间之后
                 if (null != overhaulPlan.getMcTime()) {
                     queryTime = overhaulPlan.getMcTime().atZone(ZoneId.systemDefault()).toInstant();
-                    if (queryTime.isAfter(incomingTime)){
+                    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();
+                        bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
                         cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
                     }
-                }else {
+                } 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();
+                    bigDecimal = new BigDecimal(bigDecimal).subtract(bigDecimal1.multiply(new BigDecimal(bigDecimal))).setScale(2, RoundingMode.HALF_UP).floatValue();
                     cap = cap - overhaulPlan.getOverhaulCapactity().floatValue();
                 }
             }

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

@@ -120,6 +120,8 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
 
     private final JiaYueWindPowerNwpResultCoverGF0019Service jiaYueWindPowerNwpResultCoverGF0019Service;
 
+    private final JiaYueWindPowerNwpResultCoverGF0051Service jiaYueWindPowerNwpResultCoverGF0051Service;
+
 
     private final ElectricFieldService electricFieldService;
 
@@ -146,8 +148,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,J01166,J01175,J01203,J01204,J01205,J01206,J01207,J01208,J01231,J01233");
+            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,J01203,J01204,J01205,J01206,J01207,J01208,J01231,J01233,J01462");
             parsingNwpInfo1.setDelFlag("0");
             parsingNwpInfo1.setPreTime("1<=>2<=>date=<=>yyyy-MM-dd");
 //            parsingNwpInfo1.setScDate();
@@ -214,6 +215,7 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
             List<JiaYueWindPowerNwpResultCoverGF0013> jiaYueWindPowerNwpResultCoverGF0013List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverGF0016> jiaYueWindPowerNwpResultCoverGF0016List = new ArrayList<>();
             List<JiaYueWindPowerNwpResultCoverGF0019> jiaYueWindPowerNwpResultCoverGF0019List = new ArrayList<>();
+            List<JiaYueWindPowerNwpResultCoverGF0051> jiaYueWindPowerNwpResultCoverGF0051List = new ArrayList<>();
 
             String dayStr = new SimpleDateFormat("yyyyMMdd").format(new Date());
 
@@ -354,6 +356,9 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                 if (parsingUrl.getStationCode().equals("J01175")) {
                     jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverGF0019Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                 }
+                if (parsingUrl.getStationCode().equals("J01462")) {
+                    jiaYueWindPowerNwpResultCovers = jiaYueWindPowerNwpResultCoverGF0051Service.getByDataDateAndDateTime(fileDate, fileTime, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
+                }
                 if (jiaYueWindPowerNwpResultCovers == null || jiaYueWindPowerNwpResultCovers.size() == 0) {
 
                     List<String> fileContent = FileUtil.getFileContent(file);
@@ -545,6 +550,10 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                                     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()));
                                 }
+                                if (parsingUrl.getStationCode().equals("J01462")) {
+                                    jiaYueWindPowerNwpResultCoverGF0051List.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 JiaYueWindPowerNwpResultCoverGF0051()));
+                                }
                                 time += Constant.INTERVALTIME;
                             }
                             if (parsingUrl.getStationCode().equals("J00770")) {
@@ -652,6 +661,9 @@ public class ParsingNwpInfoServiceImpl extends ServiceImpl<ParsingNwpInfoMapper,
                             if (parsingUrl.getStationCode().equals("J01175")) {
                                 jiaYueWindPowerNwpResultCoverGF0019Service.saveNwp(jiaYueWindPowerNwpResultCoverGF0019List, electricFieldService.numberToIdentification(parsingUrl.getStationCode()));
                             }
+                            if (parsingUrl.getStationCode().equals("J01462")) {
+                                jiaYueWindPowerNwpResultCoverGF0051Service.saveNwp(jiaYueWindPowerNwpResultCoverGF0051List, 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/JiaYueWindPowerCdqResultCoverGF0051.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_GF0051_zdata_wind_power_cdq_result")
+public class JiaYueWindPowerCdqResultCoverGF0051 {
+    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/JiaYueWindPowerDqResultCoverGF0051.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_GF0051_zdata_wind_power_dq_result")
+public class JiaYueWindPowerDqResultCoverGF0051 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/JiaYueWindPowerNwpResultCoverGF0051.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_GF0051_zdata_nwp_result")
+public class JiaYueWindPowerNwpResultCoverGF0051 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;
+
+}

+ 62 - 0
ipp-common/ipp-common-data/src/main/java/com/jiayue/ipp/common/data/entity/PvPowerReal15MinGF0051.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_GF0051_pv_power_real_15min")
+public class PvPowerReal15MinGF0051 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;
+
+}

Деякі файли не було показано, через те що забагато файлів було змінено