|
@@ -1599,7 +1599,7 @@ public class AsyncTask {
|
|
|
addChatRecordByBreakPointsSingle(warningRecordBreakPointOne, tXinyiIndustry, normConfig, category);
|
|
|
}else{
|
|
|
log.info("工业库报警的时候,发现存在仪表故障(断点不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
|
- //2025年03月05日17:49:14 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ //2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
TXinyiWarningRecord xinyiWarningRecord = tXinyiBreakPointSingleWarningRecords.get(0);
|
|
|
xinyiWarningRecord.setWarningVal(warningRecordBreakPointOne.getWarningVal());
|
|
|
xinyiWarningRecord.setTime(warningRecordBreakPointOne.getTime());
|
|
@@ -1759,6 +1759,32 @@ public class AsyncTask {
|
|
|
closeWarning(tXinyiWarningRecord);
|
|
|
}
|
|
|
}
|
|
|
+ //2025年03月06日10:56:41 需要额外记录哪些是历史报警,现在仍然报警的,这种的更新部分信息,更新决策内容
|
|
|
+ List<TXinyiWarningRecord> breakPointListContinue = new ArrayList<>(tXinyiWarningRecords);
|
|
|
+ breakPointListContinue.removeAll(breakPointListNew);
|
|
|
+ if(!CollectionUtils.isEmpty(breakPointListContinue)){
|
|
|
+ for (TXinyiWarningRecord tXinyiWarningRecord : breakPointListContinue) {
|
|
|
+ //2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ //需要匹配新的报警中的最新的值
|
|
|
+ String category = tXinyiWarningRecord.getCategory();
|
|
|
+ TXinyiWarningRecord tXinyiWarningRecordContinue = tXinyiWarningRecord;//兜底处理
|
|
|
+ Optional<TXinyiWarningRecord> optional = breakPointListNew.stream().filter(r -> category.equals(r.getCategory())).findAny();
|
|
|
+ if(optional.isPresent()){
|
|
|
+ tXinyiWarningRecordContinue = optional.get();
|
|
|
+ log.info("存在之前多指标断点,现在仍然断点的数据{}", JSON.toJSONString(tXinyiWarningRecordContinue));
|
|
|
+ }
|
|
|
+ tXinyiWarningRecord.setWarningVal(tXinyiWarningRecordContinue.getWarningVal());
|
|
|
+ tXinyiWarningRecord.setTime(tXinyiWarningRecordContinue.getTime());
|
|
|
+ tXinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
+ tXinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ //从单指标变成多指标 这个不可以修改
|
|
|
+// tXinyiWarningRecord.setReason(tXinyiWarningRecordContinue.getReason());
|
|
|
+ //更新数据库
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
+ //继续调用决策【本地模拟的决策】
|
|
|
+ addChatRecordByBreakPointsMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//如果出现多指标问题,后续的报警不再处理
|
|
|
// return;
|
|
@@ -1790,6 +1816,18 @@ public class AsyncTask {
|
|
|
addChatRecordByNoChangeSingle(noChangeWarningRecord, tXinyiIndustry, normConfig, category);
|
|
|
}else{
|
|
|
log.info("工业库报警的时候,发现存在仪表故障(连续不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
|
+ //2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ TXinyiWarningRecord xinyiWarningRecord = tXinyiNoChangeSingleWarningRecords.get(0);
|
|
|
+ xinyiWarningRecord.setWarningVal(noChangeWarningRecord.getWarningVal());
|
|
|
+ xinyiWarningRecord.setTime(noChangeWarningRecord.getTime());
|
|
|
+ xinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
+ xinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ //2024年7月31日09:20:47 报警的原因(超标还是超管控也需要更新)
|
|
|
+ xinyiWarningRecord.setReason(noChangeWarningRecord.getReason());
|
|
|
+ //更新数据库
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(xinyiWarningRecord);
|
|
|
+ //继续调用决策【本地模拟的决策】
|
|
|
+ addChatRecordByNoChangeSingle(xinyiWarningRecord, tXinyiIndustry, normConfig, category);
|
|
|
}
|
|
|
//额外判断当前的异常是哪个指标,并处理标识
|
|
|
if(BusinessEnum.WarningCategoryEnum.CS_COD.getCode().equals(category)){
|
|
@@ -1938,6 +1976,33 @@ public class AsyncTask {
|
|
|
closeWarning(tXinyiWarningRecord);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //2025年03月06日10:56:41 需要额外记录哪些是历史报警,现在仍然报警的,这种的更新部分信息,更新决策内容
|
|
|
+ List<TXinyiWarningRecord> noChangeListContinue = new ArrayList<>(tXinyiWarningRecords);
|
|
|
+ noChangeListContinue.removeAll(noChangeListNew);
|
|
|
+ if(!CollectionUtils.isEmpty(noChangeListContinue)){
|
|
|
+ for (TXinyiWarningRecord tXinyiWarningRecord : noChangeListContinue) {
|
|
|
+ //2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ //需要匹配新的报警中的最新的值
|
|
|
+ String category = tXinyiWarningRecord.getCategory();
|
|
|
+ TXinyiWarningRecord tXinyiWarningRecordContinue = tXinyiWarningRecord;//兜底处理
|
|
|
+ Optional<TXinyiWarningRecord> optional = noChangeListNew.stream().filter(r -> category.equals(r.getCategory())).findAny();
|
|
|
+ if(optional.isPresent()){
|
|
|
+ tXinyiWarningRecordContinue = optional.get();
|
|
|
+ log.info("存在之前多指标连续不变的数据,现在仍然连续不变的数据{}", JSON.toJSONString(tXinyiWarningRecordContinue));
|
|
|
+ }
|
|
|
+ tXinyiWarningRecord.setWarningVal(tXinyiWarningRecordContinue.getWarningVal());
|
|
|
+ tXinyiWarningRecord.setTime(tXinyiWarningRecordContinue.getTime());
|
|
|
+ tXinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
+ tXinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ //从单指标变成多指标 这个不可以修改
|
|
|
+// tXinyiWarningRecord.setReason(tXinyiWarningRecordContinue.getReason());
|
|
|
+ //更新数据库
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
+ //继续调用决策【本地模拟的决策】
|
|
|
+ addChatRecordByBreakPointsMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//如果出现多指标问题,后续的报警不再处理
|
|
|
// return;
|
|
@@ -4524,7 +4589,7 @@ public class AsyncTask {
|
|
|
breakPointList.add(warningMoreExceed.getBreakPointWarningRecord());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ Date nowDate = DateUtils.getNowDate();
|
|
|
//下面是处理多个指标的 【断点】报警
|
|
|
//断点
|
|
|
TXinyiWarningRecord warningRecord = TXinyiWarningRecord.builder().symbol(BusinessEnum.WarningSymbolEnum.YBGZ_DD_MORE_HYS.getCode()).status(0).build();
|
|
@@ -4551,6 +4616,18 @@ public class AsyncTask {
|
|
|
addChatRecordByBreakPointsSingle(warningRecordBreakPointOne, tXinyiIndustry, normConfig, category);
|
|
|
}else{
|
|
|
log.info("化验室报警的时候,发现存在仪表故障(断点不变单个指标)的报警,并且已经有该类型报警了,不做任何处理");
|
|
|
+ //2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ 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(ROBOT_XSY_1.getCode().equals(category))
|
|
@@ -4651,6 +4728,32 @@ public class AsyncTask {
|
|
|
closeWarning(tXinyiWarningRecord);
|
|
|
}
|
|
|
}
|
|
|
+ //2025年03月06日10:56:41 需要额外记录哪些是历史报警,现在仍然报警的,这种的更新部分信息,更新决策内容
|
|
|
+ List<TXinyiWarningRecord> breakPointListContinue = new ArrayList<>(tXinyiWarningRecords);
|
|
|
+ breakPointListContinue.removeAll(breakPointListNew);
|
|
|
+ if(!CollectionUtils.isEmpty(breakPointListContinue)){
|
|
|
+ for (TXinyiWarningRecord tXinyiWarningRecord : breakPointListContinue) {
|
|
|
+ //2025年03月06日10:52:57 逻辑调整:更新一直报警的那条记录的显示值
|
|
|
+ //需要匹配新的报警中的最新的值
|
|
|
+ String category = tXinyiWarningRecord.getCategory();
|
|
|
+ TXinyiWarningRecord tXinyiWarningRecordContinue = tXinyiWarningRecord;//兜底处理
|
|
|
+ Optional<TXinyiWarningRecord> optional = breakPointListNew.stream().filter(r -> category.equals(r.getCategory())).findAny();
|
|
|
+ if(optional.isPresent()){
|
|
|
+ tXinyiWarningRecordContinue = optional.get();
|
|
|
+ log.info("存在之前多指标断点,现在仍然断点的数据{}", JSON.toJSONString(tXinyiWarningRecordContinue));
|
|
|
+ }
|
|
|
+ tXinyiWarningRecord.setWarningVal(tXinyiWarningRecordContinue.getWarningVal());
|
|
|
+ tXinyiWarningRecord.setTime(tXinyiWarningRecordContinue.getTime());
|
|
|
+ tXinyiWarningRecord.setUpdateTime(nowDate);
|
|
|
+ tXinyiWarningRecord.setUpdateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ //从单指标变成多指标 这个不可以修改
|
|
|
+// tXinyiWarningRecord.setReason(tXinyiWarningRecordContinue.getReason());
|
|
|
+ //更新数据库
|
|
|
+ this.xinyiWarningRecordMapper.updateTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
+ //继续调用决策【本地模拟的决策】
|
|
|
+ addChatRecordByBreakPointsMore(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//如果出现多指标问题,后续的报警不再处理
|
|
|
//2025年03月03日17:31:53 只有上述指标出现异常的,才不可以报警,不会让所有的都不报警
|