|
@@ -82,7 +82,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void handleIotMsg(String msg) throws Exception {
|
|
|
- log.info("接收到采集值:[{}]", msg);
|
|
|
+ log.debug("接收到采集值:[{}]", msg);
|
|
|
// 校验采集值
|
|
|
boolean validateIotMsgResult = validateIotMsg(msg);
|
|
|
if (!validateIotMsgResult) {
|
|
@@ -158,7 +158,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
// 获取设备的报警条件
|
|
|
ObjConditionInfo objConditionInfo = alarmInfoCache.getAlarmConditionsByObjId(meterId);
|
|
|
if (objConditionInfo == null || CollectionUtils.isEmpty(objConditionInfo.getConditions())) {
|
|
|
- log.info("未获取到设备{}的报警条件", meterId);
|
|
|
+ log.warn("未获取到设备{}的报警条件", meterId);
|
|
|
return;
|
|
|
}
|
|
|
LinkedList<ItemCodeCondition> itemCodeConditions = objConditionInfo.getConditions();
|
|
@@ -188,21 +188,27 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
log.error("参数:");
|
|
|
log.error(paramMap.toString());
|
|
|
}
|
|
|
- log.info("triggerResult:[{}],endResult:[{}]", triggerResult, endResult);
|
|
|
+ log.debug("triggerResult:[{}],endResult:[{}]", triggerResult, endResult);
|
|
|
if (triggerResult && endResult) {
|
|
|
log.error("报警触发条件和报警恢复条件同时满足,请检查,报警定义详情【{}】", alarmCondition);
|
|
|
}
|
|
|
|
|
|
synchronized (conditionId.intern()) {
|
|
|
- AlarmDefine alarmDefine = AlarmDefine.convert2AlarmDefine(itemCodeCondition.getItemCode(),
|
|
|
- alarmCondition, meterId, objConditionInfo.getProjectId());
|
|
|
+ AlarmDefine alarmDefine = null;
|
|
|
+ try {
|
|
|
+ alarmDefine = AlarmDefine.convert2AlarmDefine(itemCodeCondition.getItemCode(),
|
|
|
+ alarmCondition, meterId, objConditionInfo.getProjectId());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("报警条件转换为报警定义出现异常", e);
|
|
|
+ return;
|
|
|
+ }
|
|
|
//报警产生值满足(这里的满足不考虑报警持续时间)
|
|
|
if (triggerResult) {
|
|
|
- log.info("满足报警条件");
|
|
|
+ log.debug("满足报警条件");
|
|
|
//报警的时候不考虑报警恢复,因为同时报警和报警恢复是不应该出现的
|
|
|
handleAlarmTriggerData(alarmDefine, dataTime, paramMap);
|
|
|
} else {
|
|
|
- log.info("不满足报警条件");
|
|
|
+ log.debug("不满足报警条件");
|
|
|
//当前数据正常
|
|
|
handlerNormalData(alarmDefine, dataTime, endResult, paramMap);
|
|
|
}
|
|
@@ -326,7 +332,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- log.info("alarmDefineState: [{}], ( 0-正常 1-报警)", alarmConditionState.getState());
|
|
|
+ log.debug("alarmDefineState: [{}], ( 0-正常 1-报警)", alarmConditionState.getState());
|
|
|
return alarmConditionState;
|
|
|
}
|
|
|
|
|
@@ -374,7 +380,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
}
|
|
|
|
|
|
/* 超过报警恢复设置的持续时间 */
|
|
|
- log.info("报警恢复持续时间大于设定时间:[{}]>[{}]", alarmSuspendLastTime, uphold);
|
|
|
+ log.debug("报警恢复持续时间大于设定时间:[{}]>[{}]", alarmSuspendLastTime, uphold);
|
|
|
|
|
|
ZktAlarmRecordDO alarmRecordDO = getZktAlarmRecordDOWhenAlarmSuspend(defineId, dataTime, paramMap);
|
|
|
String alarmId = alarmRecordDO.getAlarmId();
|
|
@@ -383,13 +389,13 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
// 如果云端已经完成报警记录的创建,直接发送更新报警状态消息,并删除数据库中的报警信息
|
|
|
if (createdAlarmIdsCache.contains(alarmId)) {
|
|
|
deleteZktAlarmRecordWhenAlarmSuspend(defineId);
|
|
|
- log.info("发送报警恢复消息,报警id: [{}]", alarmId);
|
|
|
+ log.debug("发送报警恢复消息,报警id: [{}]", alarmId);
|
|
|
// 发送报警恢复消息
|
|
|
sendAlarmRecoverMessage(alarmDefine.getProjectId(), dataTime, paramMap, alarmId);
|
|
|
// 报警恢复后,从缓存中移除报警id
|
|
|
createdAlarmIdsCache.remove(alarmId);
|
|
|
} else {
|
|
|
- log.info("已创建的报警id中不包含[{}], 3分钟后重试发送报警恢复消息", alarmId);
|
|
|
+ log.debug("已创建的报警id中不包含[{}], 3分钟后重试发送报警恢复消息", alarmId);
|
|
|
// 创建恢复定时任务
|
|
|
createAlarmRecoverTimingJob(dataTime, paramMap, alarmRecordDO);
|
|
|
}
|
|
@@ -581,7 +587,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
String alarmId = alarmRecordRepository.findById(defineId).orElse(new ZktAlarmRecordDO()).getAlarmId();
|
|
|
if (StringUtils.isNotBlank(alarmId)) {
|
|
|
alarmLastTimeCache.put(alarmId, Integer.valueOf(String.valueOf(lastTime)));
|
|
|
- log.info("开始拼装报警持续消息");
|
|
|
+ log.debug("开始拼装报警持续消息");
|
|
|
initAlarmContinueMsg(alarmId, lastTime, paramMap, alarmDefine.getProjectId());
|
|
|
}
|
|
|
}
|
|
@@ -598,11 +604,11 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
|
|
|
// 获取报警过期时间
|
|
|
LocalDateTime expireDateTime = getExpireLocalDateTime(dataTime, condition);
|
|
|
- log.info("报警持续时间:[{}]", alarmLastTime);
|
|
|
- log.info("设定的持续时间:[{}]", condition.getTriggerUphold());
|
|
|
+ log.debug("报警持续时间:[{}]", alarmLastTime);
|
|
|
+ log.debug("设定的持续时间:[{}]", condition.getTriggerUphold());
|
|
|
if (alarmLastTime >= condition.getTriggerUphold()) {
|
|
|
String alarmId = StringUtil.getUUID();
|
|
|
- log.info("报警持续时间大于设定的持续时间,产生一条报警: [{}]", alarmId);
|
|
|
+ log.debug("报警持续时间大于设定的持续时间,产生一条报警: [{}]", alarmId);
|
|
|
// 有新的报警产生,alarmLastTimeMap中报警标记为可删除
|
|
|
alarmLastTimeCache.setDeleteAvailable(defineId);
|
|
|
alarmLastTimeCache.updateAlarmId(defineId, alarmId);
|
|
@@ -617,7 +623,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
//有过期时间,生成报警过期消息
|
|
|
if (expireDateTime != null) {
|
|
|
//过期时间
|
|
|
- log.info("产生一条定时过期报警消息, 过期时间为:{}", expireDateTime);
|
|
|
+ log.debug("产生一条定时过期报警消息, 过期时间为:{}", expireDateTime);
|
|
|
// 创建一条过期任务
|
|
|
createExpireJob(alarmId, alarmDefine, alarmConditionState, expireDateTime);
|
|
|
}
|
|
@@ -625,8 +631,8 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
}
|
|
|
} else {
|
|
|
// 其他条件全部改成默认值(不报警,不过期,报警开始时间和结束时间为空)
|
|
|
- log.info("[{}]不在生效时间,重置报警状态", dataTime);
|
|
|
- log.info("生效时间为:[{}]", condition.getEffectTime());
|
|
|
+ log.debug("[{}]不在生效时间,重置报警状态", dataTime);
|
|
|
+ log.debug("生效时间为:[{}]", condition.getEffectTime());
|
|
|
alarmConditionState.reset();
|
|
|
}
|
|
|
alarmInfoCache.setAlarmState(defineId, alarmConditionState);
|