|
@@ -1,9 +1,7 @@
|
|
|
package com.persagy.service.impl;
|
|
|
|
|
|
-import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.google.common.collect.Maps;
|
|
|
import com.googlecode.aviator.AviatorEvaluator;
|
|
|
import com.googlecode.aviator.Expression;
|
|
|
import com.persagy.cache.AlarmInfoCache;
|
|
@@ -62,16 +60,11 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
public String systemId;
|
|
|
|
|
|
|
|
|
- * 项目名称
|
|
|
- */
|
|
|
- @Value("${project.id}")
|
|
|
- String projectId;
|
|
|
-
|
|
|
+ * @param msg:
|
|
|
* @description:处理iot采集数据
|
|
|
* @exception:
|
|
|
* @author: LuoGuangyi
|
|
|
* @company: Persagy Technology Co.,Ltd
|
|
|
- * @param msg:
|
|
|
* @return: void
|
|
|
* @since: 2020/10/27 14:28
|
|
|
* @version: V1.0
|
|
@@ -111,7 +104,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
Expression endExp = AviatorEvaluator.compile(end, true);
|
|
|
Boolean triggerResult = (Boolean) triggerExp.execute(paramMap);
|
|
|
Boolean endResult = (Boolean) endExp.execute(paramMap);
|
|
|
- log.info("triggerResult:[{}],endResult:[{}]" , triggerResult,endResult);
|
|
|
+ log.info("triggerResult:[{}],endResult:[{}]", triggerResult, endResult);
|
|
|
if (triggerResult && endResult) {
|
|
|
log.warn("报警触发条件和报警恢复条件同时满足,请检查,报警定义详情【{}】", alarmDefine.toString());
|
|
|
}
|
|
@@ -122,16 +115,16 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
|
|
|
if (triggerResult) {
|
|
|
log.info("有一条满足报警条件");
|
|
|
- log.info("--"+alarmDefine.toString());
|
|
|
- log.info("--"+JSONObject.toJSONString(paramMap));
|
|
|
+ log.info("--" + alarmDefine.toString());
|
|
|
+ log.info("--" + JSONObject.toJSONString(paramMap));
|
|
|
|
|
|
- handlerNowDataAlarm(alarmDefine, alarmState, dateTime, condition, defineId,paramMap);
|
|
|
+ handlerNowDataAlarm(alarmDefine, alarmState, dateTime, condition, defineId, paramMap);
|
|
|
} else {
|
|
|
log.info("不满足报警条件");
|
|
|
- log.info("--"+alarmDefine.toString());
|
|
|
- log.info("--"+JSONObject.toJSONString(paramMap));
|
|
|
+ log.info("--" + alarmDefine.toString());
|
|
|
+ log.info("--" + JSONObject.toJSONString(paramMap));
|
|
|
|
|
|
- handlerNowDataNormal(alarmDefine, dateTime, condition, defineId, endResult, alarmState,paramMap);
|
|
|
+ handlerNowDataNormal(alarmDefine, dateTime, condition, defineId, endResult, alarmState, paramMap);
|
|
|
}
|
|
|
} else {
|
|
|
log.warn("部分信息点没有数值:[{}]", codeDetail);
|
|
@@ -144,12 +137,12 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
|
|
|
|
|
|
* @param alarmDefine : 报警定义
|
|
|
- * @param dateTime :IOT采集时间
|
|
|
- * @param condition :报警条件
|
|
|
- * @param defineId :报警定义ID
|
|
|
- * @param endResult :报警恢复监测结果
|
|
|
- * @param alarmState : 报警状态时间实体
|
|
|
- * @param paramMap 报警恢复触发值
|
|
|
+ * @param dateTime :IOT采集时间
|
|
|
+ * @param condition :报警条件
|
|
|
+ * @param defineId :报警定义ID
|
|
|
+ * @param endResult :报警恢复监测结果
|
|
|
+ * @param alarmState : 报警状态时间实体
|
|
|
+ * @param paramMap 报警恢复触发值
|
|
|
* @description:当前数据正常判断逻辑
|
|
|
* @exception:
|
|
|
* @author: LuoGuangyi
|
|
@@ -177,8 +170,8 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
int uphold = condition.getEndUphold();
|
|
|
|
|
|
if (DateUtils.betweenTwoTimeSecond(endTime, dateTime) >= uphold) {
|
|
|
- log.error("产生一条报警恢复消息[{}]>[{}]",DateUtils.betweenTwoTimeSecond(endTime, dateTime),uphold);
|
|
|
- NettyMessage<AlarmRecord> nettyMessage = new NettyMessage<>(6,projectId);
|
|
|
+ log.error("产生一条报警恢复消息[{}]>[{}]", DateUtils.betweenTwoTimeSecond(endTime, dateTime), uphold);
|
|
|
+ NettyMessage<AlarmRecord> nettyMessage = new NettyMessage<>(6, alarmDefine.getProjectId());
|
|
|
ZktAlarmRecordDO alarmRecordDO = alarmRecordRepository.findById(AlarmInfoCache.getAlarmDefineId(alarmDefine)).orElse(new ZktAlarmRecordDO());
|
|
|
alarmRecordDO.setDefinitionId(defineId);
|
|
|
alarmRecordDO.setObjId(alarmDefine.getObjId());
|
|
@@ -186,6 +179,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
alarmRecordDO.setState("2");
|
|
|
alarmRecordDO.setEndTime(DateUtils.parseDate(dateTime));
|
|
|
alarmRecordDO.setEndInfo(JSONObject.toJSONString(paramMap));
|
|
|
+ alarmRecordDO.setProjectId(alarmDefine.getProjectId());
|
|
|
|
|
|
alarmRecordRepository.save(alarmRecordDO);
|
|
|
String alarmId = alarmRecordDO.getAlarmId();
|
|
@@ -193,17 +187,17 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
AlarmRecord alarmResumeRecord = AlarmRecord.builder()
|
|
|
.state(2)
|
|
|
.groupCode(groupCode)
|
|
|
- .projectId(projectId)
|
|
|
+ .projectId(alarmDefine.getProjectId())
|
|
|
.endTime(DateUtils.parseDate(dateTime))
|
|
|
.endInfo(JSONObject.toJSONString(paramMap))
|
|
|
.build();
|
|
|
|
|
|
- if(StringUtils.isNotEmpty(alarmId)) {
|
|
|
+ if (StringUtils.isNotEmpty(alarmId)) {
|
|
|
alarmResumeRecord.setId(alarmId);
|
|
|
nettyMessage.setContent(Arrays.asList(alarmResumeRecord));
|
|
|
|
|
|
groupNettyClient.sendMessage(nettyMessage.toString());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
|
|
|
JobDataMap jobDataMap = new JobDataMap();
|
|
|
jobDataMap.put("alarmRecord", alarmRecordDO.toString());
|
|
@@ -218,7 +212,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
ExpireAlarmMessage em = new ExpireAlarmMessage();
|
|
|
|
|
|
em.setType("1");
|
|
|
- em.setStartTime(DateUtil.offsetMinute(new Date(),3).toJdkDate());
|
|
|
+ em.setStartTime(DateUtil.offsetMinute(new Date(), 3).toJdkDate());
|
|
|
em.setJobDataMap(jobDataMap);
|
|
|
em.setJobName(jobName);
|
|
|
em.setJobGroupName("resume");
|
|
@@ -286,7 +280,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
long timeSecond = 0;
|
|
|
if (StringUtil.isNotEmpty(alarmState.getAlarmStartTime())) {
|
|
|
timeSecond = DateUtils.betweenTwoTimeSecond(alarmState.getAlarmStartTime(), dateTime);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
|
|
|
alarmState.setAlarmStartTime(dateTime);
|
|
|
}
|
|
@@ -301,12 +295,12 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
}
|
|
|
|
|
|
if (timeSecond >= condition.getTriggerUphold()) {
|
|
|
- log.warn("大于持续时间了,产生一条报警[{}]>[{}]",timeSecond,condition.getTriggerUphold());
|
|
|
+ log.warn("大于持续时间了,产生一条报警[{}]>[{}]", timeSecond, condition.getTriggerUphold());
|
|
|
AlarmRecord alarmRecord = AlarmRecord.builder()
|
|
|
.category(alarmDefine.getCategory())
|
|
|
.concern(alarmDefine.getConcern())
|
|
|
.level(alarmDefine.getLevel())
|
|
|
- .projectId(projectId)
|
|
|
+ .projectId(alarmDefine.getProjectId())
|
|
|
.state(1)
|
|
|
.triggerTime(DateUtils.parseDate(dateTime))
|
|
|
.remark(alarmDefine.getRemark())
|
|
@@ -319,7 +313,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
.classCode(alarmDefine.getClassCode())
|
|
|
.createUser(systemId)
|
|
|
.build();
|
|
|
- NettyMessage<AlarmRecord> nettyMessage = new NettyMessage<>(5,projectId);
|
|
|
+ NettyMessage<AlarmRecord> nettyMessage = new NettyMessage<>(5, alarmDefine.getProjectId());
|
|
|
nettyMessage.setContent(Arrays.asList(alarmRecord));
|
|
|
|
|
|
groupNettyClient.sendMessage(nettyMessage.toString());
|
|
@@ -328,6 +322,7 @@ public class AlarmHandleServiceImpl implements AlarmHandleService {
|
|
|
zktAlarmRecordDO.setObjId(alarmDefine.getObjId());
|
|
|
zktAlarmRecordDO.setItemCode(alarmDefine.getItemCode());
|
|
|
zktAlarmRecordDO.setState("1");
|
|
|
+ zktAlarmRecordDO.setProjectId(alarmDefine.getProjectId());
|
|
|
alarmRecordRepository.save(zktAlarmRecordDO);
|
|
|
alarmState.setState(AlarmState.State.NOT_DEAL.getType());
|
|
|
|