Commit 9e0b26ab12647bd08fe973f9fc8ffb8980201ba7
1 parent
430e96cd
fix getHighestAlarmSeverity for propagated entities
Showing
2 changed files
with
14 additions
and
9 deletions
@@ -76,12 +76,17 @@ public interface AlarmRepository extends CrudRepository<AlarmEntity, UUID> { | @@ -76,12 +76,17 @@ public interface AlarmRepository extends CrudRepository<AlarmEntity, UUID> { | ||
76 | @Param("searchText") String searchText, | 76 | @Param("searchText") String searchText, |
77 | Pageable pageable); | 77 | Pageable pageable); |
78 | 78 | ||
79 | - @Query("SELECT alarm.severity FROM AlarmEntity alarm" + | ||
80 | - " WHERE alarm.tenantId = :tenantId" + | ||
81 | - " AND alarm.originatorId = :entityId" + | ||
82 | - " AND ((:status) IS NULL OR alarm.status in (:status))") | 79 | + @Query(value = "SELECT a.severity FROM AlarmEntity a " + |
80 | + "LEFT JOIN RelationEntity re ON a.id = re.toId " + | ||
81 | + "AND re.relationTypeGroup = 'ALARM' " + | ||
82 | + "AND re.toType = 'ALARM' " + | ||
83 | + "AND re.fromId = :affectedEntityId " + | ||
84 | + "AND re.fromType = :affectedEntityType " + | ||
85 | + "WHERE a.tenantId = :tenantId " + | ||
86 | + "AND (a.originatorId = :affectedEntityId or re.fromId IS NOT NULL) " + | ||
87 | + "AND ((:alarmStatuses) IS NULL OR a.status in (:alarmStatuses))") | ||
83 | Set<AlarmSeverity> findAlarmSeverities(@Param("tenantId") UUID tenantId, | 88 | Set<AlarmSeverity> findAlarmSeverities(@Param("tenantId") UUID tenantId, |
84 | - @Param("entityId") UUID entityId, | ||
85 | - @Param("status") Set<AlarmStatus> status); | ||
86 | - | 89 | + @Param("affectedEntityId") UUID affectedEntityId, |
90 | + @Param("affectedEntityType") String affectedEntityType, | ||
91 | + @Param("alarmStatuses") Set<AlarmStatus> alarmStatuses); | ||
87 | } | 92 | } |
@@ -123,7 +123,7 @@ public class JpaAlarmDao extends JpaAbstractDao<AlarmEntity, Alarm> implements A | @@ -123,7 +123,7 @@ public class JpaAlarmDao extends JpaAbstractDao<AlarmEntity, Alarm> implements A | ||
123 | } | 123 | } |
124 | 124 | ||
125 | @Override | 125 | @Override |
126 | - public Set<AlarmSeverity> findAlarmSeverities(TenantId tenantId, EntityId entityId, Set<AlarmStatus> status) { | ||
127 | - return alarmRepository.findAlarmSeverities(tenantId.getId(), entityId.getId(), status); | 126 | + public Set<AlarmSeverity> findAlarmSeverities(TenantId tenantId, EntityId entityId, Set<AlarmStatus> statuses) { |
127 | + return alarmRepository.findAlarmSeverities(tenantId.getId(), entityId.getId(), entityId.getEntityType().name(), statuses); | ||
128 | } | 128 | } |
129 | } | 129 | } |