|
|
|
@ -3,12 +3,14 @@ package com.hnac.hzims.scheduled.service.alarm.impl;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import com.hnac.hzims.alarm.config.constants.AlarmConstants; |
|
|
|
|
import com.hnac.hzims.alarm.config.entity.AlarmDefaultConfigEntity; |
|
|
|
|
import com.hnac.hzims.alarm.config.entity.AlarmEntity; |
|
|
|
|
import com.hnac.hzims.business.interruption.constants.InterruptionConstants; |
|
|
|
|
import com.hnac.hzims.business.interruption.entity.InterruptionEntity; |
|
|
|
|
import com.hnac.hzims.operational.main.constant.HomePageConstant; |
|
|
|
|
import com.hnac.hzims.operational.main.vo.HydropowerUnitRealVo; |
|
|
|
|
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
|
|
|
import com.hnac.hzims.scheduled.service.alarm.AlarmDefaulConfigService; |
|
|
|
|
import com.hnac.hzims.scheduled.service.alarm.AlarmQueryService; |
|
|
|
|
import com.hnac.hzims.scheduled.service.alarm.AlarmService; |
|
|
|
|
import com.hnac.hzims.scheduled.service.operation.station.StationService; |
|
|
|
@ -42,6 +44,8 @@ public class AlarmServiceImpl implements AlarmService {
|
|
|
|
|
|
|
|
|
|
private final AlarmQueryService alarmQueryService; |
|
|
|
|
|
|
|
|
|
private final AlarmDefaulConfigService defaulConfigService; |
|
|
|
|
|
|
|
|
|
private final InterruptionAlarmServiceImpl interruptionAlarmService; |
|
|
|
|
|
|
|
|
|
private final ISoeClient soeClient; |
|
|
|
@ -68,13 +72,20 @@ public class AlarmServiceImpl implements AlarmService {
|
|
|
|
|
if(CollectionUtil.isEmpty(stations)){ |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 查询开关机默认告警配置
|
|
|
|
|
AlarmDefaultConfigEntity start = defaulConfigService.getOne(Wrappers.<AlarmDefaultConfigEntity>lambdaQuery() |
|
|
|
|
.eq(AlarmDefaultConfigEntity::getSource,5) |
|
|
|
|
.eq(AlarmDefaultConfigEntity::getAlarmChiledType,50) |
|
|
|
|
); |
|
|
|
|
AlarmDefaultConfigEntity stop = defaulConfigService.getOne(Wrappers.<AlarmDefaultConfigEntity>lambdaQuery() |
|
|
|
|
.eq(AlarmDefaultConfigEntity::getSource,5) |
|
|
|
|
.eq(AlarmDefaultConfigEntity::getAlarmChiledType,51) |
|
|
|
|
); |
|
|
|
|
// 获取站点设备实时数据
|
|
|
|
|
List<HydropowerUnitRealVo> reals = (List<HydropowerUnitRealVo>) redisTemplate.opsForValue().get(load_hydropower_unit_real_key); |
|
|
|
|
if(CollectionUtil.isEmpty(reals)){ |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Map<String,Integer> refresh = new HashMap<>(); |
|
|
|
|
// 实时设备遍历
|
|
|
|
|
reals.forEach(real->{ |
|
|
|
@ -96,24 +107,25 @@ public class AlarmServiceImpl implements AlarmService {
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
// 比对开机状态
|
|
|
|
|
if(Math.abs(real.getActivePower()) > 0){ |
|
|
|
|
if(real.getActivePower() > 0){ |
|
|
|
|
if(startStopMap.get(real.getDeviceCode()) == 0){ |
|
|
|
|
refresh.put(real.getDeviceCode(),1); |
|
|
|
|
// 记录开机告警
|
|
|
|
|
this.saveStartStopAlarm(station,real,1); |
|
|
|
|
this.saveStartStopAlarm(station,real,start,1); |
|
|
|
|
}else{ |
|
|
|
|
refresh.put(real.getDeviceCode(),0); |
|
|
|
|
refresh.put(real.getDeviceCode(),1); |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
if(startStopMap.get(real.getDeviceCode()) == 1){ |
|
|
|
|
refresh.put(real.getDeviceCode(),0); |
|
|
|
|
// 记录关机告警
|
|
|
|
|
this.saveStartStopAlarm(station,real,0); |
|
|
|
|
this.saveStartStopAlarm(station,real,stop,0); |
|
|
|
|
}else{ |
|
|
|
|
refresh.put(real.getDeviceCode(),1); |
|
|
|
|
refresh.put(real.getDeviceCode(),0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
log.error("start_stop_alarm : {}",refresh); |
|
|
|
|
redisTemplate.opsForValue().set(start_stop_cache_final,refresh); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -132,7 +144,7 @@ public class AlarmServiceImpl implements AlarmService {
|
|
|
|
|
* @param real |
|
|
|
|
* @param state |
|
|
|
|
*/ |
|
|
|
|
private void saveStartStopAlarm(StationEntity station, HydropowerUnitRealVo real, int state) { |
|
|
|
|
private void saveStartStopAlarm(StationEntity station, HydropowerUnitRealVo real,AlarmDefaultConfigEntity defaultConfig, int state) { |
|
|
|
|
AlarmEntity alarm = new AlarmEntity(); |
|
|
|
|
alarm.setStationId(station.getCode()); |
|
|
|
|
alarm.setStationName(station.getName()); |
|
|
|
@ -148,14 +160,25 @@ public class AlarmServiceImpl implements AlarmService {
|
|
|
|
|
} |
|
|
|
|
alarm.setStatus(0); |
|
|
|
|
alarm.setAlarmTime(new Date()); |
|
|
|
|
alarm.setIsRightTabulation(0); |
|
|
|
|
alarm.setIsShowAlert(1); |
|
|
|
|
alarm.setIsSmallBell(1); |
|
|
|
|
alarm.setIsMask(1); |
|
|
|
|
alarm.setIsBroadcast(1); |
|
|
|
|
alarm.setIsPlatformMessage(1); |
|
|
|
|
alarm.setIsShortMessage(1); |
|
|
|
|
alarm.setIsWxMessage(1); |
|
|
|
|
if(ObjectUtil.isEmpty(defaultConfig)){ |
|
|
|
|
alarm.setIsRightTabulation(0); |
|
|
|
|
alarm.setIsShowAlert(1); |
|
|
|
|
alarm.setIsSmallBell(1); |
|
|
|
|
alarm.setIsMask(1); |
|
|
|
|
alarm.setIsBroadcast(1); |
|
|
|
|
alarm.setIsPlatformMessage(1); |
|
|
|
|
alarm.setIsShortMessage(1); |
|
|
|
|
alarm.setIsWxMessage(1); |
|
|
|
|
}else{ |
|
|
|
|
alarm.setIsRightTabulation(defaultConfig.getIsRightTabulation()); |
|
|
|
|
alarm.setIsShowAlert(defaultConfig.getIsShowAlert()); |
|
|
|
|
alarm.setIsSmallBell(defaultConfig.getIsSmallBell()); |
|
|
|
|
alarm.setIsMask(defaultConfig.getIsMask()); |
|
|
|
|
alarm.setIsBroadcast(defaultConfig.getIsBroadcast()); |
|
|
|
|
alarm.setIsPlatformMessage(defaultConfig.getIsPlatformMessage()); |
|
|
|
|
alarm.setIsShortMessage(defaultConfig.getIsShortMessage()); |
|
|
|
|
alarm.setIsWxMessage(defaultConfig.getIsWxMessage()); |
|
|
|
|
} |
|
|
|
|
alarm.setTenantId(station.getTenantId()); |
|
|
|
|
alarm.setCreateDept(station.getRefDept()); |
|
|
|
|
alarm.setCreateUser(station.getCreateUser()); |
|
|
|
|