|
@@ -120,8 +120,8 @@ public class AsyncTask {
|
|
//查询工业库同步任务失败的报警正在进行的数据
|
|
//查询工业库同步任务失败的报警正在进行的数据
|
|
/*TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.INDUSTRY_SYNC_ERROR.getCode()).status(0).build();
|
|
/*TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.INDUSTRY_SYNC_ERROR.getCode()).status(0).build();
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);*/
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);*/
|
|
- int hours = DateUtils.differentHoursByMillisecond(nowDate, warningDate);
|
|
|
|
- if(hours == 0){
|
|
|
|
|
|
+ long hours = DateUtils.differentHoursByLocalDateTime(nowDate, warningDate);
|
|
|
|
+ if(hours == 0L){
|
|
//查看是否有正在进行的同步任务失败的报警
|
|
//查看是否有正在进行的同步任务失败的报警
|
|
/*if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
/*if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
closeWarning(tXinyiWarningRecords.get(0));
|
|
closeWarning(tXinyiWarningRecords.get(0));
|
|
@@ -131,7 +131,7 @@ public class AsyncTask {
|
|
//2025年02月20日10:52:31 在具体的报警类型中增加新的判断 仪表故障 数据异常等
|
|
//2025年02月20日10:52:31 在具体的报警类型中增加新的判断 仪表故障 数据异常等
|
|
this.handleSZWarning(tXinyiIndustry, normConfig);
|
|
this.handleSZWarning(tXinyiIndustry, normConfig);
|
|
//2024年5月28日14:14:26 下面是新增的 生化报警处理
|
|
//2024年5月28日14:14:26 下面是新增的 生化报警处理
|
|
-// this.handleSHWarning(tXinyiIndustry, normConfig, xinyiCalculate);
|
|
|
|
|
|
+ this.handleSHWarning(tXinyiIndustry, normConfig, xinyiCalculate);
|
|
}else{
|
|
}else{
|
|
log.info("同步工业库任务获取最新的数据失败,无法处理报警信息。");
|
|
log.info("同步工业库任务获取最新的数据失败,无法处理报警信息。");
|
|
log.error("同步工业库任务获取最新的数据失败,无法处理报警信息。");
|
|
log.error("同步工业库任务获取最新的数据失败,无法处理报警信息。");
|
|
@@ -1571,9 +1571,9 @@ public class AsyncTask {
|
|
noChangeList.add(warningMoreExceed.getNoChangeWarningRecord());
|
|
noChangeList.add(warningMoreExceed.getNoChangeWarningRecord());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Date nowDate = DateUtils.getNowDate();
|
|
//下面是处理多个指标的 【断点】和 连续不变的报警
|
|
//下面是处理多个指标的 【断点】和 连续不变的报警
|
|
//断点
|
|
//断点
|
|
- Date nowDate = DateUtils.getNowDate();
|
|
|
|
//2025年02月28日13:45:49 逻辑调整:多指标断点/联系不变 也要记录对应的化验类型 所以下面可以查询出来多个
|
|
//2025年02月28日13:45:49 逻辑调整:多指标断点/联系不变 也要记录对应的化验类型 所以下面可以查询出来多个
|
|
TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_GYK.getCode()).status(0).build();
|
|
TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_GYK.getCode()).status(0).build();
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);
|
|
@@ -1599,6 +1599,18 @@ public class AsyncTask {
|
|
addChatRecordByBreakPointsSingle(warningRecordBreakPointOne, tXinyiIndustry, normConfig, category);
|
|
addChatRecordByBreakPointsSingle(warningRecordBreakPointOne, tXinyiIndustry, normConfig, category);
|
|
}else{
|
|
}else{
|
|
log.info("工业库报警的时候,发现存在仪表故障(断点不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
log.info("工业库报警的时候,发现存在仪表故障(断点不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
|
|
+ //2025年03月05日17:49:14 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
|
+ TXinyiWarningRecord xinyiWarningRecord = tXinyiBreakPointSingleWarningRecords.get(0);
|
|
|
|
+ xinyiWarningRecord.setWarningVal(warningRecordBreakPointOne.getWarningVal());
|
|
|
|
+ xinyiWarningRecord.setTime(warningRecordBreakPointOne.getTime());
|
|
|
|
+ xinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
|
+ xinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
|
+ //2024年7月31日09:20:47 报警的原因(超标还是超管控也需要更新)
|
|
|
|
+ xinyiWarningRecord.setReason(warningRecordBreakPointOne.getReason());
|
|
|
|
+ //更新数据库
|
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
|
|
|
|
+ //继续调用决策【本地模拟的决策】
|
|
|
|
+ addChatRecordByBreakPointsSingle(xinyiWarningRecord, tXinyiIndustry, normConfig, category);
|
|
}
|
|
}
|
|
//额外判断当前的异常是哪个指标,并处理标识
|
|
//额外判断当前的异常是哪个指标,并处理标识
|
|
if(BusinessEnum.WarningCategoryEnum.CS_COD.getCode().equals(category)){
|
|
if(BusinessEnum.WarningCategoryEnum.CS_COD.getCode().equals(category)){
|
|
@@ -2304,7 +2316,7 @@ public class AsyncTask {
|
|
endDate = DateUtils.getNowDate();
|
|
endDate = DateUtils.getNowDate();
|
|
else
|
|
else
|
|
endDate = tXinyiWarningRecord.getOffTime();
|
|
endDate = tXinyiWarningRecord.getOffTime();
|
|
- int count = DateUtils.differentHoursByMillisecond(warningTime, endDate) + 1;
|
|
|
|
|
|
+ long count = DateUtils.differentHoursByLocalDateTime(warningTime, endDate) + 1;
|
|
ShowValueSHBasic showValueSHBasic = new ShowValueSHBasic();
|
|
ShowValueSHBasic showValueSHBasic = new ShowValueSHBasic();
|
|
/*if("0".equals(remark)){//水质报警
|
|
/*if("0".equals(remark)){//水质报警
|
|
showValueSHBasic.setH(ZAIXIANYIBIAO);
|
|
showValueSHBasic.setH(ZAIXIANYIBIAO);
|
|
@@ -2357,7 +2369,7 @@ public class AsyncTask {
|
|
endDate = DateUtils.getNowDate();
|
|
endDate = DateUtils.getNowDate();
|
|
else
|
|
else
|
|
endDate = tXinyiWarningRecord.getOffTime();
|
|
endDate = tXinyiWarningRecord.getOffTime();
|
|
- int count = DateUtils.differentHoursByMillisecond(warningTime, endDate) + 1;
|
|
|
|
|
|
+ long count = DateUtils.differentHoursByLocalDateTime(warningTime, endDate) + 1;
|
|
String category = tXinyiWarningRecord.getCategory();
|
|
String category = tXinyiWarningRecord.getCategory();
|
|
/*basic.put("title", tXinyiWarningRecord.getReason());
|
|
/*basic.put("title", tXinyiWarningRecord.getReason());
|
|
basic.put("报警时间", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM ,warningTime));
|
|
basic.put("报警时间", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM ,warningTime));
|
|
@@ -4238,8 +4250,8 @@ public class AsyncTask {
|
|
//2025年03月03日15:05:21 同步任务的报警不需要展示 后期考虑短信或者其他方式报警
|
|
//2025年03月03日15:05:21 同步任务的报警不需要展示 后期考虑短信或者其他方式报警
|
|
/*TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.ROBOT_SYNC_ERROR.getCode()).status(0).build();
|
|
/*TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.ROBOT_SYNC_ERROR.getCode()).status(0).build();
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);*/
|
|
List<TXinyiWarningRecord> tXinyiWarningRecords = this.xinyiWarningRecordMapper.selectTXinyiWarningRecordList(warningRecord);*/
|
|
- int hours = DateUtils.differentHoursByMillisecond(nowDate, warningDate);
|
|
|
|
- if(hours == 0){
|
|
|
|
|
|
+ long hours = DateUtils.differentHoursByLocalDateTime(nowDate, warningDate);
|
|
|
|
+ if(hours == 0L){
|
|
//查看是否有正在进行的同步任务失败的报警
|
|
//查看是否有正在进行的同步任务失败的报警
|
|
/*if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
/*if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
closeWarning(tXinyiWarningRecords.get(0));
|
|
closeWarning(tXinyiWarningRecords.get(0));
|