|
@@ -36,6 +36,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.text.ParseException;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
@@ -421,8 +422,8 @@ public class RyTask
|
|
|
//2024年6月23日17:01:30 预警时间改成当前时间
|
|
|
showValueChartBasic.setB(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM ,DateUtils.getNowDate()));
|
|
|
showValueChartBasic.setC(date + " " + yjHour);//预计超标时间
|
|
|
- showValueChartBasic.setD(tXinyiWarningRecord.getWarningVal());
|
|
|
- showValueChartBasic.setE(tXinyiWarningRecord.getForecastVal());
|
|
|
+ showValueChartBasic.setD(tXinyiWarningRecord.getWarningVal());//改成现在值 不是报警时候的值(在发现存在告警记录的时候更新)
|
|
|
+ showValueChartBasic.setE(tXinyiWarningRecord.getForecastVal());//改成预测值 不是报警时候的值(在发现存在告警记录的时候更新)
|
|
|
showValueChartBasic.setF(tXinyiWarningRecord.getControlVal());
|
|
|
showValueChartBasic.setG(tXinyiWarningRecord.getDesignVal());
|
|
|
// showValueChartBasic.setH(Math.min(count, MAX_COUNT));
|
|
@@ -1111,7 +1112,6 @@ public class RyTask
|
|
|
tXinyiWarningRecord.setStatus(0);
|
|
|
tXinyiWarningRecord.setType(2);
|
|
|
tXinyiWarningRecord.setCategory(category);
|
|
|
- tXinyiWarningRecord.setTime(DateUtils.getNowDate());
|
|
|
tXinyiWarningRecord.setWarningVal(currentVal);//当前值
|
|
|
tXinyiWarningRecord.setForecastVal(forecastVal);
|
|
|
tXinyiWarningRecord.setDesignVal(csBzz);
|
|
@@ -1140,6 +1140,12 @@ public class RyTask
|
|
|
log.info("预测报警中出现了超标的情况,循环可以退出了");
|
|
|
yjHour = hour.split(",")[i];
|
|
|
date = date.split(",")[i];//2024年6月23日18:34:49 日期也是多个了
|
|
|
+ //预计超标时间 不是当前值,是预测超标的时间。
|
|
|
+ try {
|
|
|
+ tXinyiWarningRecord.setTime(DateUtils.parseDate(date + " " + yjHour, DateUtils.YYYY_MM_DD_HH));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ log.error("处理语句的预计超标时间是,异常,异常信息为{}", e.getMessage());
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -1175,6 +1181,14 @@ public class RyTask
|
|
|
//只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
|
|
|
this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
}else {
|
|
|
+ //2024年6月25日11:32:13 预测的相对特殊:因为前端不展示次数,所以这里把 超标时间+现在值+预测值更新一下
|
|
|
+ xinyiWarningRecord.setForecastVal(tXinyiWarningRecord.getForecastVal());
|
|
|
+ xinyiWarningRecord.setWarningVal(currentVal);
|
|
|
+ xinyiWarningRecord.setTime(tXinyiWarningRecord.getTime());
|
|
|
+ xinyiWarningRecord.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ xinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ //更新数据库
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
|
|
|
//继续调用决策
|
|
|
this.askBigModelForYC(xinyiWarningRecord, tXinyiIndustry, normConfig, chartsDataList, date, yjHour);
|
|
|
}
|
|
@@ -1493,7 +1507,7 @@ public class RyTask
|
|
|
return sb;
|
|
|
}
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
+ public static void main(String[] args) throws ParseException {
|
|
|
/*LocalDateTime endTime = LocalDateTime.now();
|
|
|
System.out.println("endTime = " + endTime);
|
|
|
endTime = endTime.plusMinutes(60);
|
|
@@ -1549,6 +1563,8 @@ public class RyTask
|
|
|
splitNew[1] = "1";
|
|
|
splitNew[2] = "2";
|
|
|
System.out.println(Arrays.toString(splitNew));
|
|
|
+
|
|
|
+ System.out.println(DateUtils.parseDate("2024-06-25 10", DateUtils.YYYY_MM_DD_HH));
|
|
|
}
|
|
|
|
|
|
|