浏览代码

修改超短期提前5分钟生成

fanxiaoyu 1 年之前
父节点
当前提交
3ff4479952

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

@@ -59,7 +59,7 @@ public class ParsingJob {
     /**
      * 超短期生成定时任务
      */
-    @Scheduled(cron = "30 0,15,30,45 * * * ? ")
+    @Scheduled(cron = "30 10,25,40,55 * * * ? ")
 //    @Scheduled(fixedRate = 60000)
     public void ultraShortTermApi(){
         jiaYueWindPowerCdqResultCoverService.executeForecast();

+ 17 - 5
ipp-client/src/main/java/com/jiayue/ipfcst/client/service/impl/JiaYueWindPowerCdqResultCoverServiceImpl.java

@@ -124,13 +124,13 @@ public class JiaYueWindPowerCdqResultCoverServiceImpl extends ServiceImpl<JiaYue
             try {
                 // 获取查询时间,从当前时间所处时间点标记时间开始查询,截至到96个时间点对应的标记时间
                 String cdqUpMin = sysParameterService.getSysParameterAndStationCode("CDQ_UP_MIN", "0", stationCode);
-                Long calTime = DateMomentUtil.getMomentTime(System.currentTimeMillis() + Integer.parseInt(cdqUpMin) * 1000 * 60, 1, 15 * 60 * 1000L);
+                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).getTime();
+                Long endTime = DateUtils.addMinutes(new Date(startTime), forecastMinutes+1).getTime();
 
                 // 查询该时间段内的短期预测功率
                 List<JiaYueWindPowerDqResultCover> jiaYueWindPowerDqResultCoverList = jiaYueWindPowerDqResultCoverService.findByObjIdAndStartTimeAndEndTime(stationCode,new Date(startTime), new Date(endTime));
@@ -227,7 +227,13 @@ public class JiaYueWindPowerCdqResultCoverServiceImpl extends ServiceImpl<JiaYue
             for (int i = 0; i < jiaYueWindPowerDqResultCoverList.size(); i++) {
                 jiaYueWindPowerCdqResultCover = new JiaYueWindPowerCdqResultCover();
                 jiaYueWindPowerCdqResultCover.setDataDate(DateMomentUtil.convertLocalDateTimeToDate(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime()));
-                Long date = new Date().getTime();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
                 Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
                 Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
                 jiaYueWindPowerCdqResultCover.setDataTime(nowTime);
@@ -235,7 +241,7 @@ public class JiaYueWindPowerCdqResultCoverServiceImpl extends ServiceImpl<JiaYue
                 jiaYueWindPowerCdqResultCover.setPreDateTime(jiaYueWindPowerDqResultCoverList.get(i).getPreDateTime());
                 jiaYueWindPowerCdqResultCover.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
                 jiaYueWindPowerCdqResultCover.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
-                //短期
+                jiaYueWindPowerCdqResultCover.setCreateTime( LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));                //短期
                 stPower = new BigDecimal(jiaYueWindPowerDqResultCoverList.get(i).getValue());
                 //短期*系数
                 ustPowers = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
@@ -273,7 +279,12 @@ public class JiaYueWindPowerCdqResultCoverServiceImpl extends ServiceImpl<JiaYue
                 ustPower = stPower.multiply(new BigDecimal(coe)).setScale(2, BigDecimal.ROUND_HALF_UP);
                 jiaYueWindPowerCdqResultCover = new JiaYueWindPowerCdqResultCover();
                 jiaYueWindPowerCdqResultCover.setDataDate(new Date());
-                Long date = new Date().getTime();
+                Long date = null;
+                try {
+                    date = DateMomentUtil.getMomentTime(System.currentTimeMillis(), 2, 15 * 60 * 1000L);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
                 Date nowDate = DateTimeUtil.getMomentTimeFor15Minute(date);
                 Time nowTime = this.convertUtilDateToMySQLTime(nowDate);
                 jiaYueWindPowerCdqResultCover.setDataTime(nowTime);
@@ -282,6 +293,7 @@ public class JiaYueWindPowerCdqResultCoverServiceImpl extends ServiceImpl<JiaYue
                 jiaYueWindPowerCdqResultCover.setDataFlg(jiaYueWindPowerDqResultCoverList.get(i).getDataFlg());
                 jiaYueWindPowerCdqResultCover.setValue(ustPower.floatValue());
                 jiaYueWindPowerCdqResultCover.setObjId(jiaYueWindPowerDqResultCoverList.get(i).getObjId());
+                jiaYueWindPowerCdqResultCover.setCreateTime( LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()));
                 jiaYueWindPowerCdqResultCoverList.add(jiaYueWindPowerCdqResultCover);
             }
         }