|
|
|
@ -28,12 +28,7 @@ import org.springframework.util.CollectionUtils; |
|
|
|
import org.springframework.util.StringUtils; |
|
|
|
import org.thingsboard.common.util.ThingsBoardThreadFactory; |
|
|
|
import org.thingsboard.server.common.data.Tenant; |
|
|
|
import org.thingsboard.server.common.data.alarm.Alarm; |
|
|
|
import org.thingsboard.server.common.data.alarm.AlarmInfo; |
|
|
|
import org.thingsboard.server.common.data.alarm.AlarmQuery; |
|
|
|
import org.thingsboard.server.common.data.alarm.AlarmSearchStatus; |
|
|
|
import org.thingsboard.server.common.data.alarm.AlarmSeverity; |
|
|
|
import org.thingsboard.server.common.data.alarm.AlarmStatus; |
|
|
|
import org.thingsboard.server.common.data.alarm.*; |
|
|
|
import org.thingsboard.server.common.data.id.AlarmId; |
|
|
|
import org.thingsboard.server.common.data.id.CustomerId; |
|
|
|
import org.thingsboard.server.common.data.id.EntityId; |
|
|
|
@ -41,13 +36,8 @@ import org.thingsboard.server.common.data.id.TenantId; |
|
|
|
import org.thingsboard.server.common.data.page.PageData; |
|
|
|
import org.thingsboard.server.common.data.page.TimePageLink; |
|
|
|
import org.thingsboard.server.common.data.query.AlarmData; |
|
|
|
import org.thingsboard.server.common.data.query.AlarmDataPageLink; |
|
|
|
import org.thingsboard.server.common.data.query.AlarmDataQuery; |
|
|
|
import org.thingsboard.server.common.data.relation.EntityRelation; |
|
|
|
import org.thingsboard.server.common.data.relation.EntityRelationsQuery; |
|
|
|
import org.thingsboard.server.common.data.relation.EntitySearchDirection; |
|
|
|
import org.thingsboard.server.common.data.relation.RelationTypeGroup; |
|
|
|
import org.thingsboard.server.common.data.relation.RelationsSearchParameters; |
|
|
|
import org.thingsboard.server.common.data.relation.*; |
|
|
|
import org.thingsboard.server.dao.entity.AbstractEntityService; |
|
|
|
import org.thingsboard.server.dao.entity.EntityService; |
|
|
|
import org.thingsboard.server.dao.exception.DataValidationException; |
|
|
|
@ -57,13 +47,7 @@ import org.thingsboard.server.dao.tenant.TenantDao; |
|
|
|
import javax.annotation.Nullable; |
|
|
|
import javax.annotation.PostConstruct; |
|
|
|
import javax.annotation.PreDestroy; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collection; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.Comparator; |
|
|
|
import java.util.LinkedHashSet; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.ExecutionException; |
|
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
import java.util.concurrent.Executors; |
|
|
|
@ -320,13 +304,10 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ |
|
|
|
boolean hasNext = true; |
|
|
|
AlarmSeverity highestSeverity = null; |
|
|
|
AlarmQuery query; |
|
|
|
while (hasNext) { |
|
|
|
while (hasNext && AlarmSeverity.CRITICAL != highestSeverity) { |
|
|
|
query = new AlarmQuery(entityId, nextPageLink, alarmSearchStatus, alarmStatus, false, null); |
|
|
|
PageData<AlarmInfo> alarms = alarmDao.findAlarms(tenantId, query); |
|
|
|
|
|
|
|
if(alarms.getData().isEmpty()) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
if (alarms.hasNext()) { |
|
|
|
nextPageLink = nextPageLink.nextPageLink(); |
|
|
|
} else { |
|
|
|
@ -338,11 +319,7 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
if(severity == AlarmSeverity.CRITICAL) { |
|
|
|
return severity; |
|
|
|
} |
|
|
|
|
|
|
|
if (highestSeverity == null) { |
|
|
|
if (severity == AlarmSeverity.CRITICAL || highestSeverity == null) { |
|
|
|
highestSeverity = severity; |
|
|
|
} else { |
|
|
|
highestSeverity = highestSeverity.compareTo(severity) < 0 ? highestSeverity : severity; |
|
|
|
|