|
@@ -655,7 +655,11 @@ public class RyTask
|
|
|
tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
|
- if(currentVal.compareTo(multiply) > 0){//一级
|
|
|
+ //2024年5月25日17:52:33 如果工业库获取不到数据,也触发报警,但是不调用决策接口
|
|
|
+ if(Objects.isNull(currentVal)){
|
|
|
+ tXinyiWarningRecord.setReason(category + EXCEPTION_WARNING);
|
|
|
+ tXinyiWarningRecord.setLevel(WARNING_LEVEL_NO_DATE);
|
|
|
+ }else if(currentVal.compareTo(multiply) > 0){//一级
|
|
|
tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING);
|
|
|
tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
|
|
|
}else if(currentVal.compareTo(csBzz) >= 0 && currentVal.compareTo(multiply) <= 0){//二级
|
|
@@ -685,13 +689,23 @@ public class RyTask
|
|
|
if(CollectionUtils.isEmpty(tXinyiWarningRecords)){//之前没有告警记录
|
|
|
//保存到数据库中
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
- //继续调用决策
|
|
|
- this.handleDecision(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
|
|
|
+ //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
|
|
|
+ this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }else {
|
|
|
+ //继续调用决策
|
|
|
+ this.handleDecision(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
}else{
|
|
|
log.info("{}:之前已经有过告警记录了,且还是继续报警,无需重复添加报警,但是决策仍然要调用", category);
|
|
|
for (TXinyiWarningRecord xinyiWarningRecord : tXinyiWarningRecords) {//理论上只有一个的
|
|
|
- //继续调用决策
|
|
|
- this.handleDecision(xinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
|
|
|
+ //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
|
|
|
+ this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }else {
|
|
|
+ //继续调用决策
|
|
|
+ this.handleDecision(xinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -723,7 +737,11 @@ public class RyTask
|
|
|
tXinyiWarningRecord.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
tXinyiWarningRecord.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
|
- if(currentVal.compareTo(multiply) > 0){//一级
|
|
|
+ //2024年5月25日17:52:33 如果工业库获取不到数据,也触发报警,但是不调用决策接口
|
|
|
+ if(Objects.isNull(currentVal)){
|
|
|
+ tXinyiWarningRecord.setReason(category + EXCEPTION_WARNING);
|
|
|
+ tXinyiWarningRecord.setLevel(WARNING_LEVEL_NO_DATE);
|
|
|
+ }else if(currentVal.compareTo(multiply) > 0){//一级
|
|
|
tXinyiWarningRecord.setReason(category + CHAOBIAO_WARNING);
|
|
|
tXinyiWarningRecord.setLevel(WARNING_LEVEL_ONE);
|
|
|
}else if(currentVal.compareTo(jsBzz) >= 0 && currentVal.compareTo(multiply) <= 0){//二级
|
|
@@ -754,19 +772,49 @@ public class RyTask
|
|
|
if(CollectionUtils.isEmpty(tXinyiWarningRecords)){//之前没有告警记录
|
|
|
//保存到数据库中
|
|
|
this.xinyiWarningRecordMapper.insertTXinyiWarningRecord(tXinyiWarningRecord);
|
|
|
- //继续调用决策
|
|
|
- this.handleDecision(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
|
|
|
+ //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
|
|
|
+ this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }else {
|
|
|
+ //继续调用决策
|
|
|
+ this.handleDecision(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
}else{
|
|
|
log.info("{}:之前已经有过告警记录了,且还是继续报警,无需重复添加报警,但是决策仍然要调用", category);
|
|
|
for (TXinyiWarningRecord xinyiWarningRecord : tXinyiWarningRecords) {//理论上只有一个的
|
|
|
- //继续调用决策
|
|
|
- this.handleDecision(xinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ if(WARNING_LEVEL_NO_DATE.equals(tXinyiWarningRecord.getLevel())){
|
|
|
+ //只保存一个普通的问答记录 不需要调用决策信息,但是实时数据还是要记录的
|
|
|
+ this.addChatRecordByWarning(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }else {
|
|
|
+ //继续调用决策
|
|
|
+ this.handleDecision(xinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ private void addChatRecordByWarning(TXinyiWarningRecord tXinyiWarningRecord, TXinyiIndustry tXinyiIndustry, TXinyiNormConfig normConfig) {
|
|
|
+ ChatReq chatReq = new ChatReq();
|
|
|
+ //保存聊天记录
|
|
|
+ //将问答更新到数据库中
|
|
|
+ chatReq.setSessionId(IdUtils.simpleUUID());
|
|
|
+ chatReq.setType(2);//0问答 1决策 2本地
|
|
|
+ chatReq.setModule(3);
|
|
|
+ /*String userId = SecurityUtils.getUserId().toString();
|
|
|
+ String username = SecurityUtils.getUsername();*/
|
|
|
+ chatReq.setUserId(WARNING_DEFAULT_CREATE);
|
|
|
+ String showVal = this.buildShowValue(tXinyiWarningRecord, tXinyiIndustry, normConfig);
|
|
|
+ chatReq.setShowVal(showVal);//前端展示的数据和提问的数据不一致
|
|
|
+ chatReq.setQuestion(WARNING_DEFAULT_QUESTION);//本地问题
|
|
|
+ chatReq.setAnswer(tXinyiWarningRecord.getReason() + ",请检查设备是否正常运行");
|
|
|
+ chatReq.setWarningId(String.valueOf(tXinyiWarningRecord.getId()));
|
|
|
+ chatReq.setCounts(1);//问答次数
|
|
|
+
|
|
|
+ chatReq.setCreateBy(WARNING_DEFAULT_CREATE);
|
|
|
+ chatReq.setCreateTime(DateUtils.getNowDate());
|
|
|
+ this.xinyiChatRecordMapper.insertTXinyiChatRecord(chatReq);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|