|
|
@ -3,16 +3,18 @@ package com.hnac.hzims.alarm.show.service.impl; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
import com.hnac.hzims.alarm.config.mapper.AlarmMapper; |
|
|
|
|
|
|
|
import com.hnac.hzims.alarm.config.service.AlarmConfigService; |
|
|
|
import com.hnac.hzims.alarm.config.service.AlarmConfigService; |
|
|
|
import com.hnac.hzims.alarm.constants.AlarmConstants; |
|
|
|
import com.hnac.hzims.alarm.constants.AlarmConstants; |
|
|
|
import com.hnac.hzims.alarm.entity.AlarmEntity; |
|
|
|
import com.hnac.hzims.alarm.entity.AlarmEntity; |
|
|
|
|
|
|
|
import com.hnac.hzims.alarm.handle.service.MessageService; |
|
|
|
|
|
|
|
import com.hnac.hzims.alarm.show.mapper.AlarmMapper; |
|
|
|
import com.hnac.hzims.alarm.show.service.AlarmService; |
|
|
|
import com.hnac.hzims.alarm.show.service.AlarmService; |
|
|
|
import com.hnac.hzims.alarm.show.service.MessageService; |
|
|
|
|
|
|
|
import com.hnac.hzims.alarm.vo.AlarmCountVo; |
|
|
|
import com.hnac.hzims.alarm.vo.AlarmCountVo; |
|
|
|
import com.hnac.hzims.alarm.vo.ChildAlarmCountVo; |
|
|
|
import com.hnac.hzims.alarm.vo.ChildAlarmCountVo; |
|
|
|
import com.hnac.hzims.message.dto.MailMessageDTO; |
|
|
|
import com.hnac.hzims.message.dto.MailMessageDTO; |
|
|
|
import com.hnac.hzims.message.fegin.IMessageClient; |
|
|
|
import com.hnac.hzims.message.fegin.IMessageClient; |
|
|
|
|
|
|
|
import com.hnac.hzims.operational.station.entity.StationEntity; |
|
|
|
|
|
|
|
import com.hnac.hzims.operational.station.feign.IStationClient; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
@ -39,11 +41,16 @@ import java.util.stream.Collectors; |
|
|
|
@Slf4j |
|
|
|
@Slf4j |
|
|
|
public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, AlarmEntity> implements AlarmService { |
|
|
|
public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, AlarmEntity> implements AlarmService { |
|
|
|
|
|
|
|
|
|
|
|
private final AlarmConfigService configService; |
|
|
|
|
|
|
|
private final MessageService messageService; |
|
|
|
private final MessageService messageService; |
|
|
|
private final IMessageClient messageClient; |
|
|
|
|
|
|
|
|
|
|
|
private final AlarmConfigService configService; |
|
|
|
|
|
|
|
|
|
|
|
private final IUserClient userClient; |
|
|
|
private final IUserClient userClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final IStationClient stationClient; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final IMessageClient messageClient; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 查询告警列表 |
|
|
|
* 查询告警列表 |
|
|
|
* @param alarm |
|
|
|
* @param alarm |
|
|
@ -52,11 +59,15 @@ public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, AlarmEntity> |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public IPage<AlarmEntity> alarms(AlarmEntity alarm, IPage<AlarmEntity> page) { |
|
|
|
public IPage<AlarmEntity> alarms(AlarmEntity alarm, IPage<AlarmEntity> page) { |
|
|
|
// 排除站点
|
|
|
|
List<StationEntity> stations = this.stations(); |
|
|
|
List<String> codes = configService.exclude(AlarmConstants.IS_RIGHT_TABULATION); |
|
|
|
if(CollectionUtil.isEmpty(stations)){ |
|
|
|
|
|
|
|
return page; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 参数过滤 :站点、告警来源、告警子类
|
|
|
|
// 参数过滤 :站点、告警来源、告警子类
|
|
|
|
QueryWrapper wrapper = new QueryWrapper<>(); |
|
|
|
QueryWrapper wrapper = new QueryWrapper<>(); |
|
|
|
|
|
|
|
wrapper.eq("IS_RIGHT_TABULATION",0); |
|
|
|
|
|
|
|
wrapper.in("STATION_ID",stations.stream().map(StationEntity::getCode).collect(Collectors.toList())); |
|
|
|
if(!StringUtil.isEmpty(alarm.getStationId())){ |
|
|
|
if(!StringUtil.isEmpty(alarm.getStationId())){ |
|
|
|
wrapper.eq("STATION_ID",alarm.getStationId()); |
|
|
|
wrapper.eq("STATION_ID",alarm.getStationId()); |
|
|
|
} |
|
|
|
} |
|
|
@ -66,29 +77,49 @@ public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, AlarmEntity> |
|
|
|
if(!StringUtil.isEmpty(alarm.getAlarmType())){ |
|
|
|
if(!StringUtil.isEmpty(alarm.getAlarmType())){ |
|
|
|
wrapper.eq("ALARM_TYPE",alarm.getAlarmType()); |
|
|
|
wrapper.eq("ALARM_TYPE",alarm.getAlarmType()); |
|
|
|
} |
|
|
|
} |
|
|
|
if(!CollectionUtil.isEmpty(codes)){ |
|
|
|
|
|
|
|
wrapper.notIn("STATION_ID",codes); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 查询数据
|
|
|
|
// 查询数据
|
|
|
|
return this.page(page,wrapper); |
|
|
|
return this.page(page,wrapper); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
|
|
|
|
* 获取权限站点 |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private List<StationEntity> stations() { |
|
|
|
|
|
|
|
StationEntity station = new StationEntity(); |
|
|
|
|
|
|
|
station.setServeType("2"); |
|
|
|
|
|
|
|
station.setType(0); |
|
|
|
|
|
|
|
R<List<StationEntity>> result = stationClient.list(station); |
|
|
|
|
|
|
|
if(!result.isSuccess() || CollectionUtil.isEmpty(result.getData())){ |
|
|
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return result.getData(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 查询告警数量 |
|
|
|
* 查询告警数量 |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public List<AlarmCountVo> counts() { |
|
|
|
public List<AlarmCountVo> counts() { |
|
|
|
// 排除站点
|
|
|
|
// 站点查询
|
|
|
|
List<String> codes = configService.exclude(AlarmConstants.IS_RIGHT_TABULATION); |
|
|
|
List<StationEntity> stations = this.stations(); |
|
|
|
|
|
|
|
if(CollectionUtil.isEmpty(stations)){ |
|
|
|
|
|
|
|
return AlarmConstants.ALARAM_SOURCE.stream().map(source->{ |
|
|
|
|
|
|
|
AlarmCountVo count = new AlarmCountVo(); |
|
|
|
|
|
|
|
count.setType(source); |
|
|
|
|
|
|
|
count.setCount(0L); |
|
|
|
|
|
|
|
return count; |
|
|
|
|
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 查询告警数据
|
|
|
|
// 参数过滤 :站点、告警来源、告警子类
|
|
|
|
QueryWrapper wrapper = new QueryWrapper<>(); |
|
|
|
QueryWrapper wrapper = new QueryWrapper<>(); |
|
|
|
if(CollectionUtil.isNotEmpty(codes)){ |
|
|
|
wrapper.eq("IS_RIGHT_TABULATION",0); |
|
|
|
wrapper.notIn("STATION_ID",codes); |
|
|
|
wrapper.in("STATION_ID",stations.stream().map(StationEntity::getCode).collect(Collectors.toList())); |
|
|
|
} |
|
|
|
// 查询告警数据
|
|
|
|
List<AlarmEntity> alarms = this.list(wrapper); |
|
|
|
List<AlarmEntity> alarms = this.list(wrapper); |
|
|
|
|
|
|
|
|
|
|
|
// 查询数量
|
|
|
|
// 查询数量
|
|
|
|
return AlarmConstants.ALARAM_SOURCE.stream().map(source->{ |
|
|
|
return AlarmConstants.ALARAM_SOURCE.stream().map(source->{ |
|
|
|
AlarmCountVo count = new AlarmCountVo(); |
|
|
|
AlarmCountVo count = new AlarmCountVo(); |
|
|
@ -104,6 +135,31 @@ public class AlarmServiceImpl extends BaseServiceImpl<AlarmMapper, AlarmEntity> |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
|
|
|
|
* 播报告警 |
|
|
|
|
|
|
|
* @param startTime |
|
|
|
|
|
|
|
* @param endTime |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public List<AlarmEntity> broadcast(String startTime, String endTime) { |
|
|
|
|
|
|
|
// 站点查询
|
|
|
|
|
|
|
|
List<StationEntity> stations = this.stations(); |
|
|
|
|
|
|
|
if(CollectionUtil.isEmpty(stations)){ |
|
|
|
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 参数过滤 :站点、告警来源、告警子类
|
|
|
|
|
|
|
|
QueryWrapper wrapper = new QueryWrapper<>(); |
|
|
|
|
|
|
|
wrapper.eq("IS_BROADCAST",0); |
|
|
|
|
|
|
|
wrapper.in("STATION_ID",stations.stream().map(StationEntity::getCode).collect(Collectors.toList())); |
|
|
|
|
|
|
|
wrapper.le("CREATE_TIME",endTime); |
|
|
|
|
|
|
|
if(!StringUtil.isEmpty(startTime)){ |
|
|
|
|
|
|
|
wrapper.ge("CREATE_TIME",startTime); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 查询播报告警
|
|
|
|
|
|
|
|
return this.list(wrapper); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* websocket 消息推送保存 |
|
|
|
* websocket 消息推送保存 |
|
|
|
* @param param |
|
|
|
* @param param |
|
|
|
*/ |
|
|
|
*/ |
|
|
|