|
@@ -30,6 +30,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
@@ -624,9 +625,67 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Async
|
|
|
+ public void deviceAlarm(List<StatusVO> list, List<DmpDeviceInfo> devInfoList, List<BaseAlarm> baseUnAlarmList){
|
|
|
+ log.info("定时同步设备告警数据 start");
|
|
|
+ if(CollectionUtils.isNotEmpty(devInfoList)){
|
|
|
+ for(int i=0;i<list.size();i++){
|
|
|
+ String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
+ if(Objects.nonNull(list.get(i).getTime()) && currentDate.equals(list.get(i).getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))){
|
|
|
+ //设备离线告警恢复在线自动默认处理
|
|
|
+ if(CollectionUtils.isNotEmpty(baseUnAlarmList)){
|
|
|
+ for(int j=0;j<baseUnAlarmList.size();j++){
|
|
|
+ if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(j).getProductCode())){
|
|
|
+ LambdaUpdateWrapper<BaseAlarm> updateWrapper1 = Wrappers.lambdaUpdate();
|
|
|
+ updateWrapper1.set(BaseAlarm::getHandleStatus,1)
|
|
|
+ .set(BaseAlarm::getHandleBy,"YT_admin")
|
|
|
+ .set(BaseAlarm::getHandleTime,LocalDateTime.now())
|
|
|
+ .eq(BaseAlarm::getDeviceId,list.get(i).getDeviceId())
|
|
|
+ .eq(BaseAlarm::getHandleStatus,0)
|
|
|
+ .eq(BaseAlarm::getProductCode,list.get(i).getProductCode());
|
|
|
+ this.update(updateWrapper1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+
|
|
|
+ for(int j=0;j<devInfoList.size();j++){
|
|
|
+ if(list.get(i).getDeviceId().equals(devInfoList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(devInfoList.get(j).getProductCode())){
|
|
|
+ int count = 0;
|
|
|
+ for(int k=0;k<baseUnAlarmList.size();k++){
|
|
|
+ if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(k).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(k).getProductCode())){
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(count == 0){
|
|
|
+ BaseAlarm baseAlarm = new BaseAlarm();
|
|
|
+ baseAlarm.setDeviceId(list.get(i).getDeviceId());
|
|
|
+ baseAlarm.setAlarmTime(LocalDateTime.parse(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"))+":00:00",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ baseAlarm.setAlarmType("001");
|
|
|
+ baseAlarm.setAlarmObject(devInfoList.get(j).getDeviceName());
|
|
|
+ baseAlarm.setAlarmData("");
|
|
|
+ baseAlarm.setAlarmAttribute("离线告警");
|
|
|
+ baseAlarm.setAlarmContent("设备离线告警");
|
|
|
+ baseAlarm.setAlarmGrade(1);
|
|
|
+
|
|
|
+ baseAlarm.setAlarmAddress(devInfoList.get(j).getInstallAddress());
|
|
|
+ baseAlarm.setProductCode(devInfoList.get(j).getProductCode());
|
|
|
+ this.add(baseAlarm);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ log.info("定时同步设备告警数据 end");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void deviceOffLineAlarm(){
|
|
|
- log.info("定时同步设备告警数据 start");
|
|
|
List<StatusVO> list = new ArrayList<>();
|
|
|
List<String> devList = new ArrayList<>();
|
|
|
LambdaQueryWrapper<DmpDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
|
|
@@ -646,69 +705,13 @@ public class BaseAlarmServiceImpl extends AbstractCrudService<BaseAlarmMapper, B
|
|
|
if(CollectionUtils.isNotEmpty(list)){
|
|
|
List<DmpDeviceInfo> devInfoList = new ArrayList<>();
|
|
|
List<BaseAlarm> baseUnAlarmList = new ArrayList<>();
|
|
|
-// List<BaseAlarm> baseAlarmList = new ArrayList<>();
|
|
|
if(devList.size() > 0) {
|
|
|
devInfoList = baseMapper.getDeviceInfoList(devList);
|
|
|
baseUnAlarmList = baseMapper.getUnDeviceAlarmList(devList);
|
|
|
-// baseAlarmList = baseMapper.getDeviceAlarmList(devList);
|
|
|
- }
|
|
|
-
|
|
|
- if(CollectionUtils.isNotEmpty(devInfoList)){
|
|
|
- for(int i=0;i<list.size();i++){
|
|
|
- String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
- if(Objects.nonNull(list.get(i).getTime()) && currentDate.equals(list.get(i).getTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))){
|
|
|
- //设备离线告警恢复在线自动默认处理
|
|
|
- if(CollectionUtils.isNotEmpty(baseUnAlarmList)){
|
|
|
- for(int j=0;j<baseUnAlarmList.size();j++){
|
|
|
- if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(j).getProductCode())){
|
|
|
- LambdaUpdateWrapper<BaseAlarm> updateWrapper1 = Wrappers.lambdaUpdate();
|
|
|
- updateWrapper1.set(BaseAlarm::getHandleStatus,1)
|
|
|
- .set(BaseAlarm::getHandleBy,"YT_admin")
|
|
|
- .set(BaseAlarm::getHandleTime,LocalDateTime.now())
|
|
|
- .eq(BaseAlarm::getDeviceId,list.get(i).getDeviceId())
|
|
|
- .eq(BaseAlarm::getHandleStatus,0)
|
|
|
- .eq(BaseAlarm::getProductCode,list.get(i).getProductCode());
|
|
|
- this.update(updateWrapper1);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
-
|
|
|
- for(int j=0;j<devInfoList.size();j++){
|
|
|
- if(list.get(i).getDeviceId().equals(devInfoList.get(j).getDeviceId()) && list.get(i).getProductCode().equals(devInfoList.get(j).getProductCode())){
|
|
|
- int count = 0;
|
|
|
- for(int k=0;k<baseUnAlarmList.size();k++){
|
|
|
- if(list.get(i).getDeviceId().equals(baseUnAlarmList.get(k).getDeviceId()) && list.get(i).getProductCode().equals(baseUnAlarmList.get(k).getProductCode())){
|
|
|
- count++;
|
|
|
- }
|
|
|
- }
|
|
|
- if(count == 0){
|
|
|
- BaseAlarm baseAlarm = new BaseAlarm();
|
|
|
- baseAlarm.setDeviceId(list.get(i).getDeviceId());
|
|
|
- baseAlarm.setAlarmTime(LocalDateTime.parse(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH"))+":00:00",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
|
- baseAlarm.setAlarmType("001");
|
|
|
- baseAlarm.setAlarmObject(devInfoList.get(j).getDeviceName());
|
|
|
- baseAlarm.setAlarmData("");
|
|
|
- baseAlarm.setAlarmAttribute("离线告警");
|
|
|
- baseAlarm.setAlarmContent("设备离线告警");
|
|
|
- baseAlarm.setAlarmGrade(1);
|
|
|
-
|
|
|
- baseAlarm.setAlarmAddress(devInfoList.get(j).getInstallAddress());
|
|
|
- baseAlarm.setProductCode(devInfoList.get(j).getProductCode());
|
|
|
- this.add(baseAlarm);
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
+ this.deviceAlarm(list,devInfoList,baseUnAlarmList);
|
|
|
}
|
|
|
- log.info("定时同步设备告警数据 end");
|
|
|
}
|
|
|
|
|
|
@Override
|