补水雨情数据逻辑优化

master
cxw 2024-10-18 11:35:04 +08:00
parent 957d07efb1
commit 2d6cbfd0cb
3 changed files with 21 additions and 5 deletions

View File

@ -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)

View File

@ -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);

View File

@ -18,7 +18,7 @@
</select>
<select id="getStcdFirstRsvrData" resultType="com.gunshi.project.xyt.model.StRsvrR">
SELECT stb.stcd,
case UPPER(stb.sttp) when 'RR' then r.tm when 'ZZ' then r2.tm end stm,
case UPPER(stb.sttp) when 'RR' then r.tm when 'ZZ' then r2.tm end etm,
stb.source,
stb.sttp
FROM public.st_stbprp_b stb