|
@@ -109,23 +109,25 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
if (triggerResult && endResult) {
|
|
|
log.warn("报警触发条件和报警恢复条件同时满足,请检查,报警定义详情【{}】", alarmDefine.toString());
|
|
|
}
|
|
|
- AlarmState alarmState = alarmInfoCache.getAlarmState(defineId);
|
|
|
- if (Objects.isNull(alarmState)) {
|
|
|
- alarmState = new AlarmState(defineId);
|
|
|
- }
|
|
|
- //报警产生值满足(这里的满足不考虑报警持续时间)
|
|
|
- if (triggerResult) {
|
|
|
- log.info("有一条满足报警条件");
|
|
|
- log.info("--" + alarmDefine.toString());
|
|
|
- log.info("--" + JSONObject.toJSONString(paramMap));
|
|
|
- //报警的时候不考虑报警恢复,因为同时报警和报警恢复是不应该出现的
|
|
|
- handlerNowDataAlarm(alarmDefine, alarmState, dateTime, condition, defineId, paramMap);
|
|
|
- } else {
|
|
|
- log.info("不满足报警条件");
|
|
|
- log.info("--" + alarmDefine.toString());
|
|
|
- log.info("--" + JSONObject.toJSONString(paramMap));
|
|
|
- //当前数据正常
|
|
|
- handlerNowDataNormal(alarmDefine, dateTime, condition, defineId, endResult, alarmState, paramMap);
|
|
|
+ synchronized (defineId.intern()) {
|
|
|
+ AlarmState alarmState = alarmInfoCache.getAlarmState(defineId);
|
|
|
+ if (Objects.isNull(alarmState)) {
|
|
|
+ alarmState = new AlarmState(defineId);
|
|
|
+ }
|
|
|
+ //报警产生值满足(这里的满足不考虑报警持续时间)
|
|
|
+ if (triggerResult) {
|
|
|
+ log.info("有一条满足报警条件");
|
|
|
+ log.info("--" + alarmDefine.toString());
|
|
|
+ log.info("--" + JSONObject.toJSONString(paramMap));
|
|
|
+ //报警的时候不考虑报警恢复,因为同时报警和报警恢复是不应该出现的
|
|
|
+ handlerNowDataAlarm(alarmDefine, alarmState, dateTime, condition, defineId, paramMap);
|
|
|
+ } else {
|
|
|
+ log.info("不满足报警条件");
|
|
|
+ log.info("--" + alarmDefine.toString());
|
|
|
+ log.info("--" + JSONObject.toJSONString(paramMap));
|
|
|
+ //当前数据正常
|
|
|
+ handlerNowDataNormal(alarmDefine, dateTime, condition, defineId, endResult, alarmState, paramMap);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
log.warn("部分信息点没有数值:[{}]", codeDetail);
|