diff --git a/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java b/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java index 0752fc6..4c7aa6c 100644 --- a/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java +++ b/src/main/java/com/gunshi/project/xyt/timetask/DataTaskTSG.java @@ -341,7 +341,7 @@ public class DataTaskTSG { try { if (CollectionUtils.isNotEmpty(stcdLastPptnDatas)) { for (StPptnR stPptnR : stcdLastPptnDatas) { - String stm = "2024-06-01 00:00:00";// 补数据的开始时间 + String stm = "2024-01-01 00:00:00";// 补数据的开始时间 Calendar calendar = Calendar.getInstance(); String url = jcskPath + jcskPathPptnRoute + stPptnR.getSource().toLowerCase(); String stcd = stPptnR.getStcd(); @@ -355,9 +355,17 @@ public class DataTaskTSG { if (stmIsBeforeEtm(etm, stm, "yyyy-MM-dd HH:mm:ss")) { continue; } + // 结束日期往前减4分钟,防止数据重复 + Calendar calendarEtm = Calendar.getInstance(); + calendarEtm.setTime(sdf.parse(etm)); + calendarEtm.add(Calendar.MINUTE, -4); + etm = sdf.format(calendarEtm.getTime()); // 开始时间往后推3天,不超过结束日期 while (stmIsBeforeEtm(stm, etm, "yyyy-MM-dd HH:mm:ss")) { String newEtm = dateManipulation(stm, 3, "yyyy-MM-dd HH:mm:ss"); + if(stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")){ + newEtm = etm; + } Response resp = client.newCall(new Request.Builder().url(url).post(new FormBody.Builder().add("stcd", stcd).add("stm", stm).add("etm", newEtm).build()).header("Token", jcskToken).addHeader("Content-Type", "application/x-www" + "-form-urlencoded").build()).execute(); String respStr = resp.body().string(); @@ -451,7 +459,7 @@ public class DataTaskTSG { for (StRsvrR stRsvrR : stcdLast) { String sttp = stRsvrR.getSttp().toLowerCase(); String source = stRsvrR.getSource().toLowerCase(); - String stm = "2024-06-01 00:00:00";// 补数据的开始时间 + String stm = "2024-01-01 00:00:00";// 补数据的开始时间 Calendar calendar = Calendar.getInstance(); Date etmD = null; if (ObjectUtils.isEmpty(stRsvrR.getEtm())) { @@ -471,8 +479,16 @@ public class DataTaskTSG { } else { continue; } + // 结束日期往前减4分钟,防止数据重复 + Calendar calendarEtm = Calendar.getInstance(); + calendarEtm.setTime(sdf.parse(etm)); + calendarEtm.add(Calendar.MINUTE, -4); + etm = sdf.format(calendarEtm.getTime()); while (stmIsBeforeEtm(stm, etm, "yyyy-MM-dd HH:mm:ss")) { String newEtm = dateManipulation(stm, 3, "yyyy-MM-dd HH:mm:ss"); + if(stmIsBeforeEtm(etm, newEtm, "yyyy-MM-dd HH:mm:ss")){ + newEtm = etm; + } Response resp = client.newCall(new Request.Builder().url(url) .post(new FormBody.Builder().add("stcd", stRsvrR.getStcd()) .add("stm", stm) diff --git a/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java b/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java index afcc169..389b089 100644 --- a/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java +++ b/src/main/java/com/gunshi/project/xyt/timetask/PaDataTask.java @@ -108,8 +108,8 @@ public class PaDataTask { // if(ObjectUtils.isEmpty(forecastPaLast)){ // forecastPaLast = new ForecastPa(); // forecastPaLast.setStcd(skStcd); -// forecastPaLast.setTm("2024-06-01"); -// forecastPaLast.setK(new BigDecimal(0.92)); +// forecastPaLast.setTm("2024-01-01"); +// forecastPaLast.setK(new BigDecimal(0.97)); // forecastPaLast.setPa0(BigDecimal.ZERO); // forecastPaLast.setIm(new BigDecimal(120)); // forecastPaLast.setPt0(BigDecimal.ZERO); diff --git a/src/main/resources/mapper/StRsvrRMapper.xml b/src/main/resources/mapper/StRsvrRMapper.xml index 4832818..771cf4c 100644 --- a/src/main/resources/mapper/StRsvrRMapper.xml +++ b/src/main/resources/mapper/StRsvrRMapper.xml @@ -18,7 +18,7 @@