Browse Source

cloud 获取修正数据

yuanhao 3 years ago
parent
commit
16dff25480

+ 14 - 0
in-cloud/pom.xml

@@ -111,6 +111,20 @@
             <artifactId>minio</artifactId>
             <artifactId>minio</artifactId>
             <version>${minio.version}</version>
             <version>${minio.version}</version>
         </dependency>
         </dependency>
+
+
+        <!--<dependency>
+
+            <groupId>org.springframework.boot</groupId>
+
+            <artifactId>spring-boot-starter-velocity</artifactId>
+            <version>1.4.1.RELEASE</version>
+        </dependency>-->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity</artifactId>
+            <version>1.7</version>
+        </dependency>
     </dependencies>
     </dependencies>
 
 
     <build>
     <build>

+ 2 - 2
in-cloud/src/main/java/com/jiayue/insu/incloud/compermisson/QNHLComPermisson.java

@@ -6,7 +6,7 @@ import cn.hutool.http.HttpRequest;
 import cn.hutool.json.JSON;
 import cn.hutool.json.JSON;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.jiayue.insu.incloud.constants.StatusConstant;
+import com.jiayue.insu.incloud.constants.enums.QNHLEnum;
 import com.jiayue.insu.incloud.constants.vo.ResponseVo;
 import com.jiayue.insu.incloud.constants.vo.ResponseVo;
 import com.jiayue.insu.incloud.entity.IntegrationCompany;
 import com.jiayue.insu.incloud.entity.IntegrationCompany;
 import com.jiayue.insu.incloud.entity.Station;
 import com.jiayue.insu.incloud.entity.Station;
@@ -64,7 +64,7 @@ public class QNHLComPermisson implements GeneratePermisson{
                     if(isJson){
                     if(isJson){
                         JSON resultJson = JSONUtil.parse(response);
                         JSON resultJson = JSONUtil.parse(response);
                         ResponseVo responseVo = JSONUtil.toBean(response,ResponseVo.class);
                         ResponseVo responseVo = JSONUtil.toBean(response,ResponseVo.class);
-                        if(responseVo.getRetCode().equals(StatusConstant.REQUEST_SUCCESS)){
+                        if(responseVo.getRetCode().equals(QNHLEnum.REQUEST_SUCCESS.getCode())){
                             token = responseVo.getData();
                             token = responseVo.getData();
                             station.setKey(token);
                             station.setKey(token);
                             station.setKeyTime(expirationTime);
                             station.setKeyTime(expirationTime);

+ 40 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/config/VelocityConfig.java

@@ -0,0 +1,40 @@
+package com.jiayue.insu.incloud.config;
+
+import org.apache.velocity.app.Velocity;
+import org.apache.velocity.app.VelocityEngine;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Properties;
+
+/**
+ * @description:
+ * @author: yuanhao
+ * @createDate: 2021/9/29
+ * @version: 1.0
+ */
+@Configuration
+public class VelocityConfig {
+
+
+    @Bean
+    public VelocityEngine velocityEngine() {
+
+
+
+        VelocityEngine ve = new VelocityEngine();
+        Properties properties = new Properties();
+        //    String vmsPath = BaseService.class.getClassLoader().getResource("vms").getPath();
+        //设置velocity资源加载方式为file
+        properties.setProperty("resource.loader", "file");
+        //设置velocity资源加载方式为file时的处理类
+        properties
+                .setProperty("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
+        properties.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, "");
+        properties.setProperty(Velocity.ENCODING_DEFAULT, "UTF-8");
+        properties.setProperty(Velocity.INPUT_ENCODING, "UTF-8");
+        properties.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");
+        ve.init(properties);
+        return ve;
+    }
+}

+ 41 - 4
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/CommonStant.java

@@ -3,11 +3,48 @@ package com.jiayue.insu.incloud.constants;
 public interface CommonStant {
 public interface CommonStant {
 
 
     /**
     /**
-     * 日志类型:下拉
+     * 日志类型:下拉原始数据
      */
      */
-    String RECORD_TYPE_PULL = "PULL";
+    String RECORD_TYPE_PULL_INIT = "PULL_INIT";
+
+    /**
+     * 日志类型:推送原始
+     */
+    String RECORD_TYPE_PUSH_INIT = "PUSH_INIT";
+
+
+    /**
+     * 日志类型:下拉修正数据
+     */
+    String RECORD_TYPE_PULL_CORRECT = "PULL_CORRECT";
+
+
+
+
+
     /**
     /**
-     * 日志类型:推送
+     * 换行
      */
      */
-    String RECORD_TYPE_PUSH = "PUSH";
+    String LINE_CONSTANT ="\n";
+    /**
+     * 空格1
+     */
+    String SPACE1_CONSTANT = " ";
+    /**
+     * 空格2
+     */
+    String SPACE2_CONSTANT = "  ";
+    /**
+     * 空格3
+     */
+    String SPACE3_CONSTANT = "   ";
+    /**
+     * 空格4
+     */
+    String SPACE4_CONSTANT = "    ";
+
+
+    String ET_PHOTOVOLTAIC = "E1";
+
+    String ET_WIND = "E2";
 }
 }

+ 0 - 46
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/ConnectConstant.java

@@ -1,46 +0,0 @@
-package com.jiayue.insu.incloud.constants;
-
-/**
- * @description: 交互常量
- * @author: yuanhao
- * @createDate: 2021/8/20
- * @version: 1.0
- */
-public interface ConnectConstant {
-
-    /**
-     * 数据传输类型:功率预测主站下发
-     */
-    String  TRANSFER_TYPE_DOWNLOAD = "download";
-    /**
-     * 数据传输类型:功率预测子站回传
-     */
-    String  TRANSFER_TYPE_UPLOAD = "upload";
-    /**
-     * 数据传输类型:一体化平台修正下发
-     */
-    String  TRANSFER_TYPE_CORRECT = "correct";
-
-    /**
-     * 换行
-     */
-    String LINE_CONSTANT ="\n";
-    /**
-     * 空格1
-     */
-    String SPACE1_CONSTANT = " ";
-    /**
-     * 空格2
-     */
-    String SPACE2_CONSTANT = "  ";
-    /**
-     * 空格3
-     */
-    String SPACE3_CONSTANT = "   ";
-    /**
-     * 空格4
-     */
-    String SPACE4_CONSTANT = "    ";
-
-
-}

+ 0 - 119
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/StatusConstant.java

@@ -1,119 +0,0 @@
-package com.jiayue.insu.incloud.constants;
-
-/**
- * @description: 状态常量
- * @author: yuanhao
- * @createDate: 2021/8/20
- * @version: 1.0
- */
-public interface StatusConstant {
-
-    /**
-     *  请求成功
-     */
-    String REQUEST_SUCCESS = "T200";
-    /**
-     * token已过期
-     */
-    String TOKEN_EXPIRE = "I101";
-    /**
-     * 无效token
-     */
-    String TOKEN_INVALID = "I102";
-
-    /**
-     * 签名失败
-     */
-    String AUTOGRAPH_FAIL ="I103";
-
-    /**
-     * 用户未登录,请先登录
-     */
-    String LOGIN_NOT ="I104";
-
-    /**
-     * 返回非json格式
-     */
-    String RESPONSE_ERROR1="E500";
-    /**
-     * 返回空
-     */
-    String RESPONSE_ERROR2="E600";
-    /**
-     * 链接超时断开
-     */
-    String RESPONSE_ERROR3="E700";
-    /**
-     * 未请求到token
-     */
-    String RESPONSE_ERROR4="E800";
-
-
-
-    /**
-     * 上午
-     */
-    String AM_DAY ="AM";
-    /**
-     * 下午
-     */
-    String PM_DAY = "PM";
-
-    /**
-     * 初始化数据下载成功
-     */
-    String INIT_STATUS_SUCCESS ="SUCCESS";
-    /**
-     * 请求初始化文件失败
-     */
-    String INIT_STATUS_REQUEST_FAIL="REQUEST_FAIL";
-    /**
-     * 请求初始化文件返回响应失败
-     */
-    String INIT_STATUS_RESPONSE_FAIL="RESPONSE_FAIL";
-    /**
-     * 查无初始化文件
-     */
-    String INIT_STATUS_FILE_NULL ="FILE_NULL";
-    /**
-     * 请求初始化文件列表失败
-     */
-    String INIT_STATUS_FAIL = "FAIL";
-
-
-
-    /**
-     * 下载初始化文件错误
-     */
-    String INIT_STATUS_FILE_FAIL ="FILE_NULL_ERROE";
-
-
-    /**
-     * 上送数据缺少
-     */
-    String UPLOAD_STATUS_DATA_LACK="DATA_LACK";
-    /**
-     * 修正数据缺少
-     */
-    String Correct_STATUS_DATA_LACK="DATA_LACK";
-
-    /**
-     * 解析失败或没有修正完成
-     */
-    String Correct_STATUS_DATA_FAIL="DATA_FAIL";
-
-
-    String AMEND_GEN_FILE_SUCCESS="SUCCESS";
-
-    String AMEND_GEN_FILE_ERROE="GEN_ERROR";
-
-    String AMEND_FILE_MONIL_ERROR="UPLOAD_ERROR";
-
-    String ET_PHOTOVOLTAIC = "E1";
-
-    String ET_WIND = "E2";
-
-
-
-
-}

+ 0 - 42
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/enums/DataTypeEnum.java

@@ -1,42 +0,0 @@
-package com.jiayue.insu.incloud.constants.enums;
-
-public enum DataTypeEnum {
-
-    PUSH_QNHL_DQ("DQ","FORE","短期预测"),
-    PUSH_QNHL_NWP("NWP","FORE","气象预测");
-
-
-    private  String type;
-    private  String sign;
-    private  String des;
-
-    DataTypeEnum(String type, String sign, String des) {
-        this.type = type;
-        this.sign = sign;
-        this.des = des;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getSign() {
-        return sign;
-    }
-
-    public void setSign(String sign) {
-        this.sign = sign;
-    }
-
-    public String getDes() {
-        return des;
-    }
-
-    public void setDes(String des) {
-        this.des = des;
-    }
-}

+ 18 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/constants/enums/QNHLEnum.java

@@ -3,11 +3,29 @@ package com.jiayue.insu.incloud.constants.enums;
 public enum QNHLEnum {
 public enum QNHLEnum {
 
 
     REQUEST_SUCCESS("T200","REQUEST_SUCCESS","请求成功"),
     REQUEST_SUCCESS("T200","REQUEST_SUCCESS","请求成功"),
+
     PERMISSON_TOKEN_EXPIRE("I101","TOKEN_EXPIRE","token已过期"),
     PERMISSON_TOKEN_EXPIRE("I101","TOKEN_EXPIRE","token已过期"),
     PERMISSON_TOKEN_INVALID("I102","TOKEN_INVALID","无效token"),
     PERMISSON_TOKEN_INVALID("I102","TOKEN_INVALID","无效token"),
     PERMISSON_AUTOGRAPH_FAIL("I103","AUTOGRAPH_FAIL","签名失败"),
     PERMISSON_AUTOGRAPH_FAIL("I103","AUTOGRAPH_FAIL","签名失败"),
     PERMISSON_LOGIN_NOT("I104","LOGIN_NOT","用户未登录"),
     PERMISSON_LOGIN_NOT("I104","LOGIN_NOT","用户未登录"),
 
 
+    /**
+     * 传输类型
+     */
+    TRANSFER_TYPE_DOWNLOAD("download","download","数据传输类型:功率预测主站下发"),
+    TRANSFER_TYPE_UPLOAD("upload","upload","数据传输类型:功率预测子站回传"),
+    TRANSFER_TYPE_CORRECT("correct","correct","数据传输类型:一体化平台修正下发"),
+
+    /**
+     * 数据类型
+     */
+    DATA_FORE_TYPE("FORE","FORE","预测"),
+    DATA_PROBDIST_TYPE("PROBDIST","PROBDIST","概率分布"),
+    DATA_STAT_TYPE("STAT","STAT","统计"),
+    DATA_CORRFORE_TYPE("CORRFORE","CORRFORE","优化后预测"),
+    DATA_TODAYFORE_TYPE("TODAYFORE","TODAYFORE","优化后当日预测"),
+    DATA_CORRULTRSHOR_TYPE("CORRULTRSHOR","CORRULTRSHOR","超短期修正"),
+    DATA_REPAPLAN_TYPE("REPAPLAN","REPAPLAN","检修计划"),
             ;
             ;
 
 
     private String code;
     private String code;

+ 11 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/entity/ForecastData.java

@@ -37,6 +37,8 @@ public class ForecastData {
 
 
     //上送时间
     //上送时间
     private LocalDateTime uploadTime;
     private LocalDateTime uploadTime;
+    //修正时间
+    private LocalDateTime correctTime;
 
 
     //预测时间
     //预测时间
     private Long forecastTime;
     private Long forecastTime;
@@ -44,43 +46,52 @@ public class ForecastData {
      * 预测功率(MW)
      * 预测功率(MW)
      */
      */
     private BigDecimal fpValue;
     private BigDecimal fpValue;
+    private BigDecimal fpValueCorrect;
 
 
 
 
     /**
     /**
      * 总辐射
      * 总辐射
      */
      */
     private BigDecimal swr;
     private BigDecimal swr;
+    private BigDecimal swrCorrect;
 
 
 
 
     /**
     /**
      * 直辐射
      * 直辐射
      */
      */
     private BigDecimal directRadiation;
     private BigDecimal directRadiation;
+    private BigDecimal directRadiationCorrect;
 
 
     /**
     /**
      * 散辐射
      * 散辐射
      */
      */
     private BigDecimal diffuseRadiation;
     private BigDecimal diffuseRadiation;
+    private BigDecimal diffuseRadiationCorrect;
 
 
 
 
     //风速
     //风速
     private BigDecimal windSpeed;
     private BigDecimal windSpeed;
+    private BigDecimal windSpeedCorrect;
 
 
 
 
     //风向
     //风向
     private BigDecimal windDir;
     private BigDecimal windDir;
+    private BigDecimal windDirCorrect;
 
 
 
 
     //气温
     //气温
     private BigDecimal temperature;
     private BigDecimal temperature;
+    private BigDecimal temperatureCorrect;
 
 
 
 
     //相对湿度
     //相对湿度
     private BigDecimal humidity;
     private BigDecimal humidity;
+    private BigDecimal humidityCorrect;
 
 
 
 
     //压力
     //压力
     private BigDecimal pressure;
     private BigDecimal pressure;
+    private BigDecimal pressureCorrect;
 
 
 
 
 
 

+ 1 - 3
in-cloud/src/main/java/com/jiayue/insu/incloud/job/data/pull/PullInitDataJob.java

@@ -19,9 +19,7 @@ public class PullInitDataJob implements Job {
     @Override
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         String stationCode  = jobExecutionContext.getTrigger().getJobKey().getName();
         String stationCode  = jobExecutionContext.getTrigger().getJobKey().getName();
-        LambdaQueryWrapper<Station> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        lambdaQueryWrapper.eq(Station::getStationCode,stationCode);
-        Station one = stationService.getOne(lambdaQueryWrapper);
+        Station one = stationService.findByStationCode(stationCode);
         if (one != null) {
         if (one != null) {
             pullInitData.pullDQAndNWPData(one);
             pullInitData.pullDQAndNWPData(one);
         }
         }

+ 0 - 12
in-cloud/src/main/java/com/jiayue/insu/incloud/job/data/push/QNHLPushData.java

@@ -1,12 +0,0 @@
-package com.jiayue.insu.incloud.job.data.push;
-
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-public class QNHLPushData implements Job {
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-
-    }
-}

+ 29 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/job/data/push/QNHLPushInitDqData.java

@@ -0,0 +1,29 @@
+package com.jiayue.insu.incloud.job.data.push;
+
+import com.jiayue.insu.incloud.entity.Station;
+import com.jiayue.insu.incloud.pushdata.PushDataForQNHL;
+import com.jiayue.insu.incloud.service.StationService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+/**
+ * 清能推送原始短期数据定时任务
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+public class QNHLPushInitDqData implements Job {
+
+    @Autowired
+    private PushDataForQNHL pushDataForQNHL;
+    @Autowired
+    private StationService stationService;
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        String stationCode  = jobExecutionContext.getTrigger().getJobKey().getName();
+        Station one = stationService.findByStationCode(stationCode);
+        pushDataForQNHL.pushDQAndNWPData(one);
+    }
+}

+ 30 - 0
in-cloud/src/main/java/com/jiayue/insu/incloud/pulldata/IPullInitCorrectData.java

@@ -0,0 +1,30 @@
+package com.jiayue.insu.incloud.pulldata;
+
+import com.jiayue.insu.incloud.entity.Station;
+
+/**
+ * 拉取预测修正数据接口
+ *
+ * @author yh
+ * @version 1.0
+ * @since 2022/5/22 11:29
+ */
+public interface IPullInitCorrectData {
+
+    /**
+     * 推送短期预测原始数据
+     * @return 是否成功
+     */
+    Boolean pullDQAndNWPData(Station station);
+
+    /**
+     * 推送短期预测原始数据
+     * @return 是否成功
+     */
+    Boolean pullDQData(Station station);
+    /**
+     * 推送NWP预测原始数据
+     * @return 是否成功
+     */
+    Boolean pullNWPData(Station station);
+}

+ 1 - 5
in-cloud/src/main/java/com/jiayue/insu/incloud/pulldata/PullInitData.java

@@ -9,7 +9,6 @@ import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.json.JSONUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.jiayue.insu.incloud.constants.CommonStant;
 import com.jiayue.insu.incloud.constants.CommonStant;
 import com.jiayue.insu.incloud.constants.enums.StatusEnum;
 import com.jiayue.insu.incloud.constants.enums.StatusEnum;
 import com.jiayue.insu.incloud.constants.vo.FileCreateLog;
 import com.jiayue.insu.incloud.constants.vo.FileCreateLog;
@@ -27,10 +26,7 @@ import java.io.*;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.Date;
@@ -60,7 +56,7 @@ public class PullInitData implements IPullInitForecastData{
         record.setInCode(station.getInCode());
         record.setInCode(station.getInCode());
         record.setTime(localDateTime);
         record.setTime(localDateTime);
         record.setCreateTime(LocalDateTime.now());
         record.setCreateTime(LocalDateTime.now());
-        record.setType(CommonStant.RECORD_TYPE_PULL);
+        record.setType(CommonStant.RECORD_TYPE_PULL_INIT);
         log.info("下载minio原始RB文件 --> {}"+station.getStationCode());
         log.info("下载minio原始RB文件 --> {}"+station.getStationCode());
         try {
         try {
             HttpRequest httpRequest = HttpRequest.get(url + station.getStationCode());
             HttpRequest httpRequest = HttpRequest.get(url + station.getStationCode());

+ 45 - 47
in-cloud/src/main/java/com/jiayue/insu/incloud/pushdata/PushDataForQNHL.java

@@ -12,9 +12,6 @@ import cn.hutool.json.JSONUtil;
 import com.jiayue.insu.incloud.compermisson.QNHLComPermisson;
 import com.jiayue.insu.incloud.compermisson.QNHLComPermisson;
 import com.jiayue.insu.incloud.constants.CommonStant;
 import com.jiayue.insu.incloud.constants.CommonStant;
 import com.jiayue.insu.incloud.constants.CompanyConstant;
 import com.jiayue.insu.incloud.constants.CompanyConstant;
-import com.jiayue.insu.incloud.constants.ConnectConstant;
-import com.jiayue.insu.incloud.constants.StatusConstant;
-import com.jiayue.insu.incloud.constants.enums.DataTypeEnum;
 import com.jiayue.insu.incloud.constants.enums.QNHLEnum;
 import com.jiayue.insu.incloud.constants.enums.QNHLEnum;
 import com.jiayue.insu.incloud.constants.enums.StatusEnum;
 import com.jiayue.insu.incloud.constants.enums.StatusEnum;
 import com.jiayue.insu.incloud.constants.vo.RequestVo;
 import com.jiayue.insu.incloud.constants.vo.RequestVo;
@@ -63,7 +60,7 @@ public class PushDataForQNHL implements IPushInitForecastData {
         Record record = new Record();
         Record record = new Record();
         record.setStationCode(station.getStationCode());
         record.setStationCode(station.getStationCode());
         record.setInCode(station.getInCode());
         record.setInCode(station.getInCode());
-        record.setType(CommonStant.RECORD_TYPE_PUSH);
+        record.setType(CommonStant.RECORD_TYPE_PUSH_INIT);
         LocalDateTime localDateTime = LocalDateTimeUtil.beginOfDay(LocalDateTime.now());
         LocalDateTime localDateTime = LocalDateTimeUtil.beginOfDay(LocalDateTime.now());
         record.setTime(localDateTime);
         record.setTime(localDateTime);
         record.setCreateTime(LocalDateTime.now());
         record.setCreateTime(LocalDateTime.now());
@@ -122,7 +119,7 @@ public class PushDataForQNHL implements IPushInitForecastData {
                 //如果数据小于961条 不上送数据
                 //如果数据小于961条 不上送数据
                 if (aList.size() >= 961) {
                 if (aList.size() >= 961) {
 
 
-                    if (StatusConstant.ET_PHOTOVOLTAIC.equals(station.getType())) {
+                    if (CommonStant.ET_PHOTOVOLTAIC.equals(station.getType())) {
                         requestVo = generatePhotovoltaicRequest(station.getSignCode(), aList, startTime, endTime);
                         requestVo = generatePhotovoltaicRequest(station.getSignCode(), aList, startTime, endTime);
                     } else {
                     } else {
                         requestVo = generateWindRequest(station.getSignCode(), aList, startTime, endTime);
                         requestVo = generateWindRequest(station.getSignCode(), aList, startTime, endTime);
@@ -213,6 +210,7 @@ public class PushDataForQNHL implements IPushInitForecastData {
             log.error("=========={}:{} ==>上送短期原始数据失败 无token ==========",integrationCompany.getName(),st.getStationCode());
             log.error("=========={}:{} ==>上送短期原始数据失败 无token ==========",integrationCompany.getName(),st.getStationCode());
         }
         }
 
 
+        recordService.save(record);
 
 
         return result;
         return result;
     }
     }
@@ -225,35 +223,35 @@ public class PushDataForQNHL implements IPushInitForecastData {
 
 
         DateTime dateTime = DateUtil.parse(DateUtil.now());
         DateTime dateTime = DateUtil.parse(DateUtil.now());
 
 
-        String fileName = el + "_" + dateTime.toString("yyyyMMdd_HHmm") + "_" + DataTypeEnum.PUSH_QNHL_DQ.getSign() + ".CIME";
+        String fileName = el + "_" + dateTime.toString("yyyyMMdd_HHmm") + "_" + QNHLEnum.DATA_FORE_TYPE.getSign() + ".CIME";
 
 
         String content = "";
         String content = "";
 
 
         Long momentTime = 900000L; // 15分钟一个时刻
         Long momentTime = 900000L; // 15分钟一个时刻
 
 
-        String header = "<! Entity=" + el + "  time='" + dateTime.toString("yyyy-MM-dd HH:mm:ss") + "' !>" + ConnectConstant.LINE_CONSTANT;
-        String labelStart = "<ForecastPower>" + ConnectConstant.LINE_CONSTANT;
-        String labelEnd = "</ForecastPower>" + ConnectConstant.LINE_CONSTANT;
-        String title = "@" + ConnectConstant.SPACE1_CONSTANT + "序号" + ConnectConstant.SPACE4_CONSTANT + "时间"
-                + ConnectConstant.SPACE4_CONSTANT + "功率预测" + ConnectConstant.SPACE4_CONSTANT + "总辐照度"
-                + ConnectConstant.SPACE4_CONSTANT + "直射辐照度" + ConnectConstant.SPACE4_CONSTANT + "散射辐照度"
-                + ConnectConstant.SPACE4_CONSTANT + "温度" + ConnectConstant.SPACE4_CONSTANT + "湿度" + ConnectConstant.SPACE4_CONSTANT
-                + "气压" + ConnectConstant.SPACE4_CONSTANT + "风速" + ConnectConstant.SPACE4_CONSTANT + " 风向" + ConnectConstant.LINE_CONSTANT;
+        String header = "<! Entity=" + el + "  time='" + dateTime.toString("yyyy-MM-dd HH:mm:ss") + "' !>" + CommonStant.LINE_CONSTANT;
+        String labelStart = "<ForecastPower>" + CommonStant.LINE_CONSTANT;
+        String labelEnd = "</ForecastPower>" + CommonStant.LINE_CONSTANT;
+        String title = "@" + CommonStant.SPACE1_CONSTANT + "序号" + CommonStant.SPACE4_CONSTANT + "时间"
+                + CommonStant.SPACE4_CONSTANT + "功率预测" + CommonStant.SPACE4_CONSTANT + "总辐照度"
+                + CommonStant.SPACE4_CONSTANT + "直射辐照度" + CommonStant.SPACE4_CONSTANT + "散射辐照度"
+                + CommonStant.SPACE4_CONSTANT + "温度" + CommonStant.SPACE4_CONSTANT + "湿度" + CommonStant.SPACE4_CONSTANT
+                + "气压" + CommonStant.SPACE4_CONSTANT + "风速" + CommonStant.SPACE4_CONSTANT + " 风向" + CommonStant.LINE_CONSTANT;
         content += header;
         content += header;
         content += labelStart;
         content += labelStart;
         content += title;
         content += title;
-        String template = "#" + ConnectConstant.SPACE1_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.LINE_CONSTANT;
+        String template = "#" + CommonStant.SPACE1_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.LINE_CONSTANT;
 
 
 
 
         Map<Long, List<ForecastData>> forecastMap =
         Map<Long, List<ForecastData>> forecastMap =
@@ -308,9 +306,9 @@ public class PushDataForQNHL implements IPushInitForecastData {
         content += labelEnd;
         content += labelEnd;
 
 
         RequestVo requestVo = RequestVo.builder()
         RequestVo requestVo = RequestVo.builder()
-                .transferType(ConnectConstant.TRANSFER_TYPE_DOWNLOAD)
+                .transferType(QNHLEnum.TRANSFER_TYPE_DOWNLOAD.getCode())
                 .date(dateTime.toString("yyyyMMdd"))
                 .date(dateTime.toString("yyyyMMdd"))
-                .dataType(DataTypeEnum.PUSH_QNHL_DQ.getSign())
+                .dataType(QNHLEnum.DATA_FORE_TYPE.getSign())
                 .fileName(fileName)
                 .fileName(fileName)
                 .data(content).build();
                 .data(content).build();
 
 
@@ -327,31 +325,31 @@ public class PushDataForQNHL implements IPushInitForecastData {
 
 
         DateTime dateTime = DateUtil.parse(DateUtil.now());
         DateTime dateTime = DateUtil.parse(DateUtil.now());
 
 
-        String fileName = el + "_" + dateTime.toString("yyyyMMdd_HHmm") + "_" + DataTypeEnum.PUSH_QNHL_DQ.getSign() + ".CIME";
+        String fileName = el + "_" + dateTime.toString("yyyyMMdd_HHmm") + "_" + QNHLEnum.DATA_FORE_TYPE.getSign() + ".CIME";
 
 
         StringBuilder content = new StringBuilder();
         StringBuilder content = new StringBuilder();
 
 
         long momentTime = 900000L; // 15分钟一个时刻
         long momentTime = 900000L; // 15分钟一个时刻
 
 
-        String header = "<! Entity=" + el + "  time='" + dateTime.toString("yyyy-MM-dd HH:mm:ss") + "' !>" + ConnectConstant.LINE_CONSTANT;
-        String labelStart = "<ForecastPower>" + ConnectConstant.LINE_CONSTANT;
-        String labelEnd = "</ForecastPower>" + ConnectConstant.LINE_CONSTANT;
-        String title = "@" + ConnectConstant.SPACE1_CONSTANT + "序号" + ConnectConstant.SPACE4_CONSTANT + "时间"
-                + ConnectConstant.SPACE4_CONSTANT + "功率预测" + ConnectConstant.SPACE4_CONSTANT + "风速"
-                + ConnectConstant.SPACE4_CONSTANT + "风向" + ConnectConstant.SPACE4_CONSTANT + "温度"
-                + ConnectConstant.SPACE4_CONSTANT + "湿度" + ConnectConstant.SPACE4_CONSTANT + "气压" + ConnectConstant.LINE_CONSTANT;
+        String header = "<! Entity=" + el + "  time='" + dateTime.toString("yyyy-MM-dd HH:mm:ss") + "' !>" + CommonStant.LINE_CONSTANT;
+        String labelStart = "<ForecastPower>" + CommonStant.LINE_CONSTANT;
+        String labelEnd = "</ForecastPower>" + CommonStant.LINE_CONSTANT;
+        String title = "@" + CommonStant.SPACE1_CONSTANT + "序号" + CommonStant.SPACE4_CONSTANT + "时间"
+                + CommonStant.SPACE4_CONSTANT + "功率预测" + CommonStant.SPACE4_CONSTANT + "风速"
+                + CommonStant.SPACE4_CONSTANT + "风向" + CommonStant.SPACE4_CONSTANT + "温度"
+                + CommonStant.SPACE4_CONSTANT + "湿度" + CommonStant.SPACE4_CONSTANT + "气压" + CommonStant.LINE_CONSTANT;
         content.append(header);
         content.append(header);
         content.append(labelStart);
         content.append(labelStart);
         content.append(title);
         content.append(title);
-        String template = "#" + ConnectConstant.SPACE1_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.SPACE4_CONSTANT + "{}"
-                + ConnectConstant.LINE_CONSTANT;
+        String template = "#" + CommonStant.SPACE1_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.SPACE4_CONSTANT + "{}"
+                + CommonStant.LINE_CONSTANT;
 
 
 
 
         Map<Long, List<ForecastData>> forecastMap =
         Map<Long, List<ForecastData>> forecastMap =
@@ -400,9 +398,9 @@ public class PushDataForQNHL implements IPushInitForecastData {
         content.append(labelEnd);
         content.append(labelEnd);
 
 
         RequestVo requestVo = RequestVo.builder()
         RequestVo requestVo = RequestVo.builder()
-                .transferType(ConnectConstant.TRANSFER_TYPE_DOWNLOAD)
+                .transferType(QNHLEnum.TRANSFER_TYPE_DOWNLOAD.getCode())
                 .date(dateTime.toString("yyyyMMdd"))
                 .date(dateTime.toString("yyyyMMdd"))
-                .dataType(DataTypeEnum.PUSH_QNHL_DQ.getSign())
+                .dataType(QNHLEnum.DATA_FORE_TYPE.getSign())
                 .fileName(fileName)
                 .fileName(fileName)
                 .data(content.toString()).build();
                 .data(content.toString()).build();