yuanhao 2 years ago
parent
commit
20301bfe15

+ 5 - 1
in-client-qn-ui/src/views/record/index.vue

@@ -110,7 +110,11 @@
           {label:"推送原始数据",value:"PUSH_INIT"},
           {label:"拉取修正数据",value:"PULL_CORRECT"},
           {label:"交互权限",value:"COM_PERMISSON"},
-          {label:"拉取修正文件",value:"PULL_CORRECT_JY"},],
+          {label:"拉取修正文件",value:"PULL_CORRECT_JY"},
+          {label:"修正数据",value:"CORRECT_DATA"},
+          {label:"回传数据",value:"BACK_DATA"},
+          {label:"回传文件解析",value:"BACK_DATA_FILE"},
+        ],
         searchForm: {},
         times: [
           this.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date().setHours(0, 0, 0, 0))),

+ 3 - 1
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/constant/CommonStant.java

@@ -45,7 +45,9 @@ public interface CommonStant {
      * 日志类型:回传数据
      */
     String RECORD_TYPE_BACK_DATA = "BACK_DATA";
-
+    /**
+     * 日志类型:修正数据
+     */
     String RECORD_TYPE_CORRECT_DATA = "CORRECT_DATA";
     /**
      * 换行

+ 0 - 47
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/BackDataForecastPowerJob.java

@@ -1,47 +0,0 @@
-package com.jiayue.insu.inclientqn.job;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.jiayue.insu.inclientqn.constant.CommonStant;
-import com.jiayue.insu.inclientqn.entity.Record;
-import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
-import com.jiayue.insu.inclientqn.inenum.StatusEnum;
-import com.jiayue.insu.inclientqn.service.RecordService;
-import com.jiayue.insu.inclientqn.service.client.RequestDataService;
-import com.jiayue.insu.inclientqn.util.DateTimeUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.time.LocalDateTime;
-
-/**
- * @description: 回传短期数据定时任务
- * @author: yuanhao
- * @createDate: 2022/6/17
- * @version: 1.0
- */
-public class BackDataForecastPowerJob implements Job {
-
-
-    @Autowired
-    private RequestDataService requestDataService;
-    @Autowired
-    private RecordService recordService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        //生成请求时间
-        long time = DateTimeUtils.get15min(DateUtil.date().getTime());
-        //查询记录时间
-        LocalDateTime beginDay = LocalDateTimeUtil.beginOfDay(LocalDateTime.now());
-
-        Record record = recordService.findTimeAndTypeAndContentAndState(beginDay, CommonStant.RECORD_TYPE_BACK_DATA, QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode(), StatusEnum.SUCCESS.getSign());
-
-        if (record == null) {
-            requestDataService.requestBackForeData(QNHLEnum.DATA_FORE_TYPE_ForecastPower,time);
-        }
-
-    }
-}

+ 0 - 44
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/BackDataForecastPowerReportJob.java

@@ -1,44 +0,0 @@
-package com.jiayue.insu.inclientqn.job;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.jiayue.insu.inclientqn.constant.CommonStant;
-import com.jiayue.insu.inclientqn.entity.Record;
-import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
-import com.jiayue.insu.inclientqn.inenum.StatusEnum;
-import com.jiayue.insu.inclientqn.service.RecordService;
-import com.jiayue.insu.inclientqn.service.client.RequestDataService;
-import com.jiayue.insu.inclientqn.util.DateTimeUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.time.LocalDateTime;
-
-/**
- * @description: 回传短期上报定时任务
- * @author: yuanhao
- * @createDate: 2022/6/17
- * @version: 1.0
- */
-public class BackDataForecastPowerReportJob implements Job {
-
-
-    @Autowired
-    private RequestDataService requestDataService;
-    @Autowired
-    private RecordService recordService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        long time = DateTimeUtils.get15min(DateUtil.date().getTime());
-        LocalDateTime localDateTime = LocalDateTimeUtil.of(time);
-        Record record = recordService.findTimeAndTypeAndContentAndState(localDateTime, CommonStant.RECORD_TYPE_BACK_DATA, QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode(), StatusEnum.SUCCESS.getSign());
-
-        if (record == null) {
-            requestDataService.requestBackStatData(QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport,time);
-        }
-
-    }
-}

+ 0 - 44
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/BackDataRealPowerJob.java

@@ -1,44 +0,0 @@
-package com.jiayue.insu.inclientqn.job;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.jiayue.insu.inclientqn.constant.CommonStant;
-import com.jiayue.insu.inclientqn.entity.Record;
-import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
-import com.jiayue.insu.inclientqn.inenum.StatusEnum;
-import com.jiayue.insu.inclientqn.service.RecordService;
-import com.jiayue.insu.inclientqn.service.client.RequestDataService;
-import com.jiayue.insu.inclientqn.util.DateTimeUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.time.LocalDateTime;
-
-/**
- * @description: 回传实际功率定时任务
- * @author: yuanhao
- * @createDate: 2022/6/17
- * @version: 1.0
- */
-public class BackDataRealPowerJob implements Job {
-
-
-    @Autowired
-    private RequestDataService requestDataService;
-    @Autowired
-    private RecordService recordService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        long time = DateTimeUtils.get15min(DateUtil.date().getTime());
-        LocalDateTime localDateTime = LocalDateTimeUtil.of(time);
-        Record record = recordService.findTimeAndTypeAndContentAndState(localDateTime, CommonStant.RECORD_TYPE_BACK_DATA, QNHLEnum.DATA_STAT_TYPE_RealPower.getCode(), StatusEnum.SUCCESS.getSign());
-
-        if (record == null) {
-            requestDataService.requestBackStatData(QNHLEnum.DATA_STAT_TYPE_RealPower,time);
-        }
-
-    }
-}

+ 0 - 44
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/BackDataRealWeatherJob.java

@@ -1,44 +0,0 @@
-package com.jiayue.insu.inclientqn.job;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.jiayue.insu.inclientqn.constant.CommonStant;
-import com.jiayue.insu.inclientqn.entity.Record;
-import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
-import com.jiayue.insu.inclientqn.inenum.StatusEnum;
-import com.jiayue.insu.inclientqn.service.RecordService;
-import com.jiayue.insu.inclientqn.service.client.RequestDataService;
-import com.jiayue.insu.inclientqn.util.DateTimeUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.time.LocalDateTime;
-
-/**
- * @description: 回传实际气象定时任务
- * @author: yuanhao
- * @createDate: 2022/6/17
- * @version: 1.0
- */
-public class BackDataRealWeatherJob implements Job {
-
-
-    @Autowired
-    private RequestDataService requestDataService;
-    @Autowired
-    private RecordService recordService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        long time = DateTimeUtils.get15min(DateUtil.date().getTime());
-        LocalDateTime localDateTime = LocalDateTimeUtil.of(time);
-        Record record = recordService.findTimeAndTypeAndContentAndState(localDateTime, CommonStant.RECORD_TYPE_BACK_DATA, QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode(), StatusEnum.SUCCESS.getSign());
-
-        if (record == null) {
-            requestDataService.requestBackStatData(QNHLEnum.DATA_STAT_TYPE_RealWeather,time);
-        }
-
-    }
-}

+ 0 - 44
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/BackDataUsForecastPowerJob.java

@@ -1,44 +0,0 @@
-package com.jiayue.insu.inclientqn.job;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.jiayue.insu.inclientqn.constant.CommonStant;
-import com.jiayue.insu.inclientqn.entity.Record;
-import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
-import com.jiayue.insu.inclientqn.inenum.StatusEnum;
-import com.jiayue.insu.inclientqn.service.RecordService;
-import com.jiayue.insu.inclientqn.service.client.RequestDataService;
-import com.jiayue.insu.inclientqn.util.DateTimeUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.time.LocalDateTime;
-
-/**
- * @description: 回传超短期数据定时任务
- * @author: yuanhao
- * @createDate: 2022/6/17
- * @version: 1.0
- */
-public class BackDataUsForecastPowerJob implements Job {
-
-
-    @Autowired
-    private RequestDataService requestDataService;
-    @Autowired
-    private RecordService recordService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        long time = DateTimeUtils.get15min(DateUtil.date().getTime());
-        LocalDateTime localDateTime = LocalDateTimeUtil.of(time);
-        Record record = recordService.findTimeAndTypeAndContentAndState(localDateTime, CommonStant.RECORD_TYPE_BACK_DATA, QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode(), StatusEnum.SUCCESS.getSign());
-
-        if (record == null) {
-            requestDataService.requestBackForeUsData(QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast,time);
-        }
-
-    }
-}

+ 0 - 44
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/BackDataUsForecastPowerReportJob.java

@@ -1,44 +0,0 @@
-package com.jiayue.insu.inclientqn.job;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.date.LocalDateTimeUtil;
-import com.jiayue.insu.inclientqn.constant.CommonStant;
-import com.jiayue.insu.inclientqn.entity.Record;
-import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
-import com.jiayue.insu.inclientqn.inenum.StatusEnum;
-import com.jiayue.insu.inclientqn.service.RecordService;
-import com.jiayue.insu.inclientqn.service.client.RequestDataService;
-import com.jiayue.insu.inclientqn.util.DateTimeUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.time.LocalDateTime;
-
-/**
- * @description: 回传超短期上报状态定时任务
- * @author: yuanhao
- * @createDate: 2022/6/17
- * @version: 1.0
- */
-public class BackDataUsForecastPowerReportJob implements Job {
-
-
-    @Autowired
-    private RequestDataService requestDataService;
-    @Autowired
-    private RecordService recordService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        long time = DateTimeUtils.get15min(DateUtil.date().getTime());
-        LocalDateTime localDateTime = LocalDateTimeUtil.of(time);
-        Record record = recordService.findTimeAndTypeAndContentAndState(localDateTime, CommonStant.RECORD_TYPE_BACK_DATA, QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode(), StatusEnum.SUCCESS.getSign());
-
-        if (record == null) {
-            requestDataService.requestBackStatData(QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport,time);
-        }
-
-    }
-}

+ 1 - 1
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/CorrectUsJob.java

@@ -18,7 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import java.time.LocalDateTime;
 
 /**
- * @description: 回传超短期数定时任务
+ * @description: 超短期修正系数定时任务
  * @author: yuanhao
  * @createDate: 2022/6/17
  * @version: 1.0

+ 1 - 1
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/job/RepairPlanJob.java

@@ -17,7 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import java.time.LocalDateTime;
 
 /**
- * @description: 回传超短期数据定时任务
+ * @description: 检修计划定时下载任务
  * @author: yuanhao
  * @createDate: 2022/6/17
  * @version: 1.0

+ 1 - 1
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/model/RequestVo.java

@@ -52,7 +52,7 @@ public class RequestVo {
                 .transferType(QNHLEnum.TRANSFER_TYPE_CORRECT.getCode())
                 .date(dateTime.toString("yyyyMMdd"))
                 .dataType(QNHLEnum.DATA_CORRULTRSHOR_TYPE.getSign())
-                .fileName(fileName)
+                //.fileName(fileName)
                 .data(data).build();
     }
 

+ 109 - 95
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/service/client/BackDataAnalysisService.java

@@ -3,6 +3,7 @@ package com.jiayue.insu.inclientqn.service.client;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileReader;
@@ -15,7 +16,9 @@ import com.jiayue.insu.inclientqn.constant.CommonStant;
 import com.jiayue.insu.inclientqn.entity.*;
 import com.jiayue.insu.inclientqn.inenum.ElectricFieldTypeEnum;
 import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
+import com.jiayue.insu.inclientqn.inenum.StatusEnum;
 import com.jiayue.insu.inclientqn.service.*;
+import com.jiayue.insu.inclientqn.util.DateTimeUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
@@ -56,44 +59,43 @@ public class BackDataAnalysisService {
     private final BackForeForecastDataService backForeForecastDataService;
 
 
+    private static Map<String, Map<String, Object>> labelMap = new HashMap<>();
 
-    private static Map<String ,Map<String,Object>> labelMap = new HashMap<>();
+    static {
+        Map<String, Object> rp = new HashMap<>();
+        rp.put("label_start", "<" + QNHLEnum.DATA_STAT_TYPE_RealPower.getCode() + ">");
+        rp.put("label_end", "</" + QNHLEnum.DATA_STAT_TYPE_RealPower.getCode() + ">");
 
-    static{
-        Map<String,Object> rp = new HashMap<>();
-        rp.put("label_start","<" + QNHLEnum.DATA_STAT_TYPE_RealPower.getCode() + ">");
-        rp.put("label_end","</" + QNHLEnum.DATA_STAT_TYPE_RealPower.getCode() + ">");
+        labelMap.put(QNHLEnum.DATA_STAT_TYPE_RealPower.getCode(), rp);
 
-        labelMap.put(QNHLEnum.DATA_STAT_TYPE_RealPower.getCode(), rp );
 
+        Map<String, Object> rw = new HashMap<>();
+        rw.put("label_start", "<" + QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode() + ">");
+        rw.put("label_end", "</" + QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode() + ">");
+        labelMap.put(QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode(), rw);
 
-        Map<String,Object> rw = new HashMap<>();
-        rw.put("label_start","<" + QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode() + ">");
-        rw.put("label_end","</" + QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode() + ">");
-        labelMap.put(QNHLEnum.DATA_STAT_TYPE_RealWeather.getCode(), rw );
 
+        Map<String, Object> fpr = new HashMap<>();
+        fpr.put("label_start", "<" + QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode() + ">");
+        fpr.put("label_end", "</" + QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode() + ">");
+        labelMap.put(QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode(), fpr);
 
-        Map<String,Object> fpr = new HashMap<>();
-        fpr.put("label_start","<" + QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode() + ">");
-        fpr.put("label_end","</" + QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode() + ">");
-        labelMap.put(QNHLEnum.DATA_STAT_TYPE_ForecastPowerReport.getCode(), fpr );
 
+        Map<String, Object> ufpr = new HashMap<>();
+        ufpr.put("label_start", "<" + QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode() + ">");
+        ufpr.put("label_end", "</" + QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode() + ">");
+        labelMap.put(QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode(), ufpr);
 
-        Map<String,Object> ufpr = new HashMap<>();
-        ufpr.put("label_start","<" + QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode() + ">");
-        ufpr.put("label_end","</" + QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode() + ">");
-        labelMap.put(QNHLEnum.DATA_STAT_TYPE_UltraShortTermForecastReport.getCode(), ufpr );
 
+        Map<String, Object> fp = new HashMap<>();
+        fp.put("label_start", "<" + QNHLEnum.DATA_FORE_TYPE_ForecastPower.getCode() + ">");
+        fp.put("label_end", "</" + QNHLEnum.DATA_FORE_TYPE_ForecastPower.getCode() + ">");
+        labelMap.put(QNHLEnum.DATA_FORE_TYPE_ForecastPower.getCode(), fp);
 
-        Map<String,Object> fp = new HashMap<>();
-        fp.put("label_start","<" + QNHLEnum.DATA_FORE_TYPE_ForecastPower.getCode() + ">");
-        fp.put("label_end","</" + QNHLEnum.DATA_FORE_TYPE_ForecastPower.getCode() + ">");
-        labelMap.put(QNHLEnum.DATA_FORE_TYPE_ForecastPower.getCode(), fp );
-
-        Map<String,Object> ufp = new HashMap<>();
-        ufp.put("label_start","<" + QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode() + ">");
-        ufp.put("label_end","</" + QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode() + ">");
-        labelMap.put(QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode(), ufp );
+        Map<String, Object> ufp = new HashMap<>();
+        ufp.put("label_start", "<" + QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode() + ">");
+        ufp.put("label_end", "</" + QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode() + ">");
+        labelMap.put(QNHLEnum.DATA_FORE_TYPE_UltraShortTermForecast.getCode(), ufp);
 
 
     }
@@ -105,12 +107,17 @@ public class BackDataAnalysisService {
 
         Record record = new Record();
         record.setType(CommonStant.RECORD_TYPE_BACK_DATA_FILE);
+        record.setState(StatusEnum.FILE_NULL.getCode());
+        record.setStateContent(StatusEnum.FILE_NULL.getMsg());
+        LocalDateTime localDateTime = LocalDateTimeUtil.of(DateTimeUtils.get15min(DateUtil.date().getTime()));
+        record.setTime(localDateTime);
+        record.setCreateTime(LocalDateTime.now());
         //获取扫描文件路径
         if (StrUtil.isEmpty(backFilePath)) {
             backFilePath = stationService.findThis().getBackFilePath();
         }
 
-        //TODO 文件解析
+
         File file = FileUtil.file(backFilePath);
 
         if (!file.exists()) {// 判断目录是否存在
@@ -121,19 +128,38 @@ public class BackDataAnalysisService {
         watchMonitor.setWatcher(new DelayWatcher(new Watcher() {
             @Override
             public void onCreate(WatchEvent<?> event, Path currentPath) {
-                Object obj = event.context();
-                System.out.println();
-                Console.log("创建:{}-> {}", currentPath, obj);
+                File file = null;
+                try {
+                    Object obj = event.context();
+                    System.out.println();
+                    Console.log("创建:{}-> {}", currentPath, obj);
+                    if (obj.toString().startsWith(CommonStant.RECORD_TYPE_BACK_DATA_FILE)) {
+
+                        file = FileUtil.file(currentPath.toString() + File.separatorChar + obj.toString());
+
+                        if (file.exists()) {// 判断目录是否存在
+                            FileReader fileReader = new FileReader(currentPath.toString() + File.separatorChar + obj.toString());
+                            List<String> contents = fileReader.readLines();
+                            if (CollectionUtil.isNotEmpty(contents)) {
+                                String s = fileAnalysis(contents);
+                                if (StrUtil.isNotEmpty(s)) {
+                                    record.setStateContent(s);
+                                    record.setState(StatusEnum.SUCCESS.getCode());
+                                }
 
-                File file = FileUtil.file(currentPath.toString() + File.separatorChar + obj.toString());
+                            }
+                        } else {
+                            file.mkdirs();
+                        }
 
-                if (file.exists()) {// 判断目录是否存在
-                    FileReader fileReader = new FileReader(currentPath.toString() + File.separatorChar + obj.toString());
-                    List<String> contents = fileReader.readLines();
-                    if(CollectionUtil.isNotEmpty(contents)){
-                        fileAnalysis(contents);
                     }
-
+                } catch (Exception e) {
+                    e.printStackTrace();
+                } finally {
+                    record.setCreateTime(LocalDateTime.now());
+                    LocalDateTime localDateTime = LocalDateTimeUtil.of(DateTimeUtils.get15min(DateUtil.date().getTime()));
+                    record.setTime(localDateTime);
+                    recordService.save(record);
                 }
 
 
@@ -164,17 +190,18 @@ public class BackDataAnalysisService {
         //启动监听
         watchMonitor.start();
 
-        record.setCreateTime(LocalDateTime.now());
+
     }
 
 
-    public boolean fileAnalysis(List<String> contents) {
-        boolean status =true;
+    public String fileAnalysis(List<String> contents) {
+        String result = "";
+
         String[] fileTime = contents.get(0).split("\\s+")[2].split("=");
-        LocalDateTime signTime = LocalDateTimeUtil.parse(fileTime[1].substring(1,fileTime[1].length()-1), DatePattern.PURE_DATETIME_PATTERN);
+        LocalDateTime signTime = LocalDateTimeUtil.parse(fileTime[1].substring(1, fileTime[1].length() - 1), DatePattern.PURE_DATETIME_PATTERN);
         LocalDateTime now = LocalDateTime.now();
 
-        Map<String,List<String>> contentMap = new HashMap<>();
+        Map<String, List<String>> contentMap = new HashMap<>();
 
         BackStatData backStatData = new BackStatData();
         backStatData.setSignTime(signTime);
@@ -188,44 +215,42 @@ public class BackDataAnalysisService {
 
         for (Map.Entry<String, Map<String, Object>> entry : labelMap.entrySet()) {
             Map<String, Object> map = entry.getValue();
-            String label_start = (String)map.get("label_start");
-            String label_end = (String)map.get("label_end");
-            int start_index =0;
-            int end_index =0;
+            String label_start = (String) map.get("label_start");
+            String label_end = (String) map.get("label_end");
+            int start_index = 0;
+            int end_index = 0;
             for (int i = 0; i < contents.size(); i++) {
-                if(contents.get(i).equals(label_start)){
+                if (contents.get(i).equals(label_start)) {
                     start_index = i;
                 }
-                if(contents.get(i).equals(label_end)){
+                if (contents.get(i).equals(label_end)) {
                     end_index = i;
                 }
 
             }
             //标签头和标签尾相减大于2  说明除了表头 至少还有1行数据
-            if(end_index-start_index >2){
-                contentMap.put(entry.getKey(), ListUtil.sub(contents, start_index+2, end_index));
+            if (end_index - start_index > 2) {
+                contentMap.put(entry.getKey(), ListUtil.sub(contents, start_index + 2, end_index));
             }
 
         }
 
 
-        for (Map.Entry<String, List<String>> entry:contentMap.entrySet()){
+        for (Map.Entry<String, List<String>> entry : contentMap.entrySet()) {
 
             List<String> value = entry.getValue();
 
-            switch (entry.getKey()){
+            switch (entry.getKey()) {
                 case "RealPower":
                     try {
                         String[] rpData = value.get(0).split("\\s+");
-                        if(rpData.length==3){
-                            backStatData.setRealPower( new BigDecimal(rpData[2]));
+                        if (rpData.length == 3) {
+                            backStatData.setRealPower(new BigDecimal(rpData[2]));
+                            result += "RealPower,";
 
-                        }else{
-                            status = false;
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
                         e.printStackTrace();
-                        status = false;
                     }
 
                     break;
@@ -234,18 +259,18 @@ public class BackDataAnalysisService {
 
                     try {
                         String[] rwData = value.get(0).split("\\s+");
-                        if(station.getType().equals(ElectricFieldTypeEnum.E2.name())){
-                            if(rwData.length==7){
+                        if (station.getType().equals(ElectricFieldTypeEnum.E2.name())) {
+                            if (rwData.length == 7) {
                                 backStatData.setWs(new BigDecimal(rwData[2]));
                                 backStatData.setWd(new BigDecimal(rwData[3]));
                                 backStatData.setTemperature(new BigDecimal(rwData[4]));
                                 backStatData.setHumidity(new BigDecimal(rwData[5]));
                                 backStatData.setPressure(new BigDecimal(rwData[6]));
-                            }else{
-                                status = false;
+                                result += "RealWeather,";
+
                             }
-                        }else{
-                            if(rwData.length==11){
+                        } else {
+                            if (rwData.length == 11) {
                                 backStatData.setGlobalR(new BigDecimal(rwData[2]));
                                 backStatData.setDirectR(new BigDecimal(rwData[3]));
                                 backStatData.setDiffuseR(new BigDecimal(rwData[4]));
@@ -255,13 +280,11 @@ public class BackDataAnalysisService {
                                 backStatData.setPressure(new BigDecimal(rwData[8]));
                                 backStatData.setWs(new BigDecimal(rwData[9]));
                                 backStatData.setWd(new BigDecimal(rwData[10]));
-                            }else{
-                                status = false;
+                                result += "RealWeather,";
                             }
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
                         e.printStackTrace();
-                        status = false;
                     }
 
                     break;
@@ -270,15 +293,12 @@ public class BackDataAnalysisService {
 
                     try {
                         String[] fpr = value.get(0).split("\\s+");
-                        if(fpr.length==3){
+                        if (fpr.length == 3) {
                             backStatData.setReportStateForecast(new BigDecimal(fpr[2]));
-
-                        }else{
-                            status = false;
+                            result += "fReport,";
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
                         e.printStackTrace();
-                        status = false;
                     }
 
                     break;
@@ -287,22 +307,20 @@ public class BackDataAnalysisService {
 
                     try {
                         String[] ufpr = value.get(0).split("\\s+");
-                        if(ufpr.length==3){
+                        if (ufpr.length == 3) {
                             backStatData.setReportStateForecastshort(new BigDecimal(ufpr[2]));
-                        }else{
-                            status = false;
+                            result += "usfReport,";
                         }
-                    }catch (Exception e){
+                    } catch (Exception e) {
                         e.printStackTrace();
-                        status = false;
                     }
 
                     break;
 
                 case "UltraShortTermForecast":
 
-                    try{
-                        for (String content: value) {
+                    try {
+                        for (String content : value) {
                             String[] datas = content.split("\\s+");
                             BackForeUsForecastData backForeUsForecastData = new BackForeUsForecastData();
                             backForeUsForecastData.setSignTime(signTime);
@@ -312,19 +330,16 @@ public class BackDataAnalysisService {
                             backForeUsForecastData.setForecastOpenCap(new BigDecimal(datas[4]));
                             usList.add(backForeUsForecastData);
                         }
-                    }catch (Exception e){
+                        result += "usf,";
+                    } catch (Exception e) {
                         e.printStackTrace();
-                        status = false;
                     }
-
-
                     break;
 
-
                 case "ForecastPower":
 
-                    try{
-                        for (String content: value) {
+                    try {
+                        for (String content : value) {
                             String[] datas = content.split("\\s+");
                             BackForeForecastData backForeForecastData = new BackForeForecastData();
                             backForeForecastData.setSignTime(signTime);
@@ -334,9 +349,9 @@ public class BackDataAnalysisService {
                             backForeForecastData.setForecastOpenCap(new BigDecimal(datas[4]));
                             list.add(backForeForecastData);
                         }
-                    }catch (Exception e){
-                      e.printStackTrace();
-                        status = false;
+                        result += "fp,";
+                    } catch (Exception e) {
+                        e.printStackTrace();
                     }
 
 
@@ -345,14 +360,13 @@ public class BackDataAnalysisService {
         }
 
 
-
         backStatDataService.save(backStatData);
         backForeUsForecastDataService.saveBatch(usList);
         backForeForecastDataService.saveBatch(list);
 
 
-        return status;
+        return result;
     }
-    
+
 
 }

+ 3 - 3
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/service/client/CorrforeService.java

@@ -471,7 +471,6 @@ public class CorrforeService extends ServiceImpl<CorrforeStMapper, CorrforeSt> {
                 list.add(cus);
             }
 
-
             correctUltraShortTermService.saveBatch(list);
         }catch (Exception e){
             e.printStackTrace();
@@ -645,8 +644,9 @@ public class CorrforeService extends ServiceImpl<CorrforeStMapper, CorrforeSt> {
             }
 
             String fileName = jsonObject.get("fileName").toString() ;
-
-            file = new File(station.getLocalFilePath() + File.separatorChar + fileName);
+            String[] s = fileName.split("_");
+            String fn = "CDQ_"+s[1]+s[2]+"00.CIME";
+            file = new File(station.getLocalFilePath() + File.separatorChar + fn);
 
 
             FileOutputStream os = null;

+ 0 - 3
in-client-qn/src/main/java/com/jiayue/insu/inclientqn/service/client/RequestDataService.java

@@ -165,9 +165,6 @@ public class RequestDataService {
         if (stringBuilder != null && comPermisson.isToken(station)) {
             JSONObject json = JSONUtil.parseObj(requestVo, true);
             String body = json.toString();
-            System.out.println("----------------------------------------------------------------------");
-            System.out.println(body);
-            System.out.println("----------------------------------------------------------------------");
             String response = RequestUtils.post(station.getBackurl(), body, station.getComKey());
 
             if (RequestUtils.checkResponse(response, record)) {

+ 30 - 4
in-client-qn/src/test/java/com/jiayue/insu/inclientqn/service/BackDataGenServiceTest.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.RandomUtil;
 import com.jiayue.insu.inclientqn.BaseTest;
 import com.jiayue.insu.inclientqn.entity.BackForeForecastData;
 import com.jiayue.insu.inclientqn.entity.BackForeUsForecastData;
+import com.jiayue.insu.inclientqn.entity.BackStatData;
 import com.jiayue.insu.inclientqn.inenum.QNHLEnum;
 import com.jiayue.insu.inclientqn.service.client.BackDataAnalysisService;
 import com.jiayue.insu.inclientqn.service.client.BackDataGenService;
@@ -31,6 +32,8 @@ public class BackDataGenServiceTest extends BaseTest {
     private BackForeForecastDataService backForeForecastDataService;
     @Autowired
     private BackDataAnalysisService backDataAnalysisService;
+    @Autowired
+    private BackStatDataService backStatDataService;
     @Test
     void test() {
         try {
@@ -66,6 +69,20 @@ public class BackDataGenServiceTest extends BaseTest {
 
     @Test
     void test3() {
+        cdq();
+
+    }
+
+
+
+
+    @Test
+    void test4() {
+        dq();
+
+    }
+
+    private void cdq() {
         try {
             LocalDateTime signTime = LocalDateTimeUtil.of(DateTimeUtils.get15min(DateTime.now().getTime()));
             List<BackForeUsForecastData> list = new ArrayList<>();
@@ -82,14 +99,24 @@ public class BackDataGenServiceTest extends BaseTest {
         } catch (Exception e) {
             e.printStackTrace();
         }
-
     }
 
 
-    @Test
-    void test4() {
+    private void stat() {
         try {
+            LocalDateTime signTime = LocalDateTimeUtil.of(DateTimeUtils.get15min(DateTime.now().getTime()));
+            BackStatData backStatData =new BackStatData();
+            backStatData.setSignTime(signTime);
+
+
+            backStatDataService.save(backStatData);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
+    private void dq() {
+        try {
             LocalDateTime beginOfDay = LocalDateTimeUtil.beginOfDay(LocalDateTime.now());
             LocalDateTime forecastTime = beginOfDay.plusDays(1);
             List<BackForeForecastData> list = new ArrayList<>();
@@ -106,7 +133,6 @@ public class BackDataGenServiceTest extends BaseTest {
         } catch (Exception e) {
             e.printStackTrace();
         }
-
     }