Browse Source

fixed AlarmCountQuery for propagated search with entity alias

pull/14339/head
dashevchenko 10 months ago
parent
commit
6f0e7b9433
  1. 6
      dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultAlarmQueryRepository.java
  2. 3
      dao/src/test/java/org/thingsboard/server/dao/service/AlarmServiceTest.java

6
dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultAlarmQueryRepository.java

@ -319,7 +319,11 @@ public class DefaultAlarmQueryRepository implements AlarmQueryRepository {
SqlQueryContext ctx = new SqlQueryContext(new QueryContext(tenantId, null, EntityType.ALARM));
if (query.isSearchPropagatedAlarms()) {
ctx.append("select count(distinct(a.id)) from alarm_info a ");
if (query.getEntityFilter() == null) {
ctx.append("select count(distinct(a.id)) from alarm_info a ");
} else {
ctx.append("select count(a.id) from alarm_info a ");
}
ctx.append(JOIN_ENTITY_ALARMS);
if (orderedEntityIds != null) {
if (orderedEntityIds.isEmpty()) {

3
dao/src/test/java/org/thingsboard/server/dao/service/AlarmServiceTest.java

@ -974,6 +974,9 @@ public class AlarmServiceTest extends AbstractServiceTest {
alarmsCount = alarmService.countAlarmsByQuery(tenantId, null, countQuery, List.of(parentId));
Assert.assertEquals(1, alarmsCount);
alarmsCount = alarmService.countAlarmsByQuery(tenantId, null, countQuery, List.of(childId, parentId));
Assert.assertEquals(2, alarmsCount);
created = alarmService.acknowledgeAlarm(tenantId, created.getId(), System.currentTimeMillis()).getAlarm();
countQuery.setStatusList(List.of(AlarmSearchStatus.UNACK));

Loading…
Cancel
Save