Thème
Superviseur — Frontend / features/panel/services/alert-processor.service / AlertProcessorService
Classe: AlertProcessorService
Défini dans: features/panel/services/alert-processor.service.ts:31
Service de traitement et de tri des alertes provenant des centrales d'incendie. Analyse l'état brut des centrales pour en extraire les alertes système, de zones et de détecteurs actifs.
Constructeurs
Constructeur
ts
new AlertProcessorService(): AlertProcessorService;Retourne
AlertProcessorService
Propriétés
| Propriété | Modificateur | Type | Défini dans |
|---|---|---|---|
criticalStatus | private | Set<ZoneStatus> | features/panel/services/alert-processor.service.ts:32 |
detectorCriticalStatus | private | Set<ZoneStatus> | features/panel/services/alert-processor.service.ts:47 |
Méthodes
process()
ts
process(states): Alert[];Défini dans: features/panel/services/alert-processor.service.ts:67
Traite la liste des états des centrales pour produire une liste ordonnée d'alertes actives.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
states | FireStationSystem[] | Tableau des états des centrales d'incendie. |
Retourne
Alert[]
Tableau des alertes triées par priorité décroissante (les plus critiques en premier).
processStation()
ts
private processStation(state): Alert[];Défini dans: features/panel/services/alert-processor.service.ts:77
Paramètres
| Paramètre | Type |
|---|---|
state | FireStationSystem |
Retourne
Alert[]
pushSystemAlertIfActive()
ts
private pushSystemAlertIfActive(
out,
ctx,
spec,
isActive?,
ack?,
params?): boolean;Défini dans: features/panel/services/alert-processor.service.ts:114
Pousse une alerte système si elle est active (ou matériellement effacée). Renvoie true si ajoutée.
Paramètres
| Paramètre | Type |
|---|---|
out | Alert[] |
ctx | StationContext |
spec | SystemAlertSpec |
isActive? | boolean |
ack? | AckStatus |
params? | Record<string, unknown> |
Retourne
boolean
addConnectionAlert()
ts
private addConnectionAlert(
out,
state,
ctx): void;Défini dans: features/panel/services/alert-processor.service.ts:154
Alerte de perte de connexion.
Paramètres
| Paramètre | Type |
|---|---|
out | Alert[] |
state | FireStationSystem |
ctx | StationContext |
Retourne
void
addFixedSystemAlerts()
ts
private addFixedSystemAlerts(
out,
state,
ctx): void;Défini dans: features/panel/services/alert-processor.service.ts:179
Alertes des états système servis par la centrale, plus les défauts de communication par esclave.
Les états proviennent des définitions du profil : identifiant, index d'acquittement, priorité, libellés et icône y sont décrits une seule fois, côté backend. Un état que la centrale ne sert pas est absent des définitions comme de l'état courant, donc jamais remonté.
Paramètres
| Paramètre | Type |
|---|---|
out | Alert[] |
state | FireStationSystem |
ctx | StationContext |
Retourne
void
hasLatchedAck()
ts
private hasLatchedAck(target): boolean;Défini dans: features/panel/services/alert-processor.service.ts:231
Vrai si l'élément porte un acquittement latché — global (ackStatus) OU ciblé sur un drapeau précis (flagAckStatuses). Un acquittement par drapeau laisse ackStatus à 'None' : ne regarder que ce dernier ferait disparaître un point/zone acquitté dès que son statut redevient non critique, alors que son historique d'acquittement doit le maintenir affiché.
Paramètres
| Paramètre | Type |
|---|---|
target | { ackStatus?: AckStatus; flagAckStatuses?: Record<string, AckStatus>; } |
target.ackStatus? | AckStatus |
target.flagAckStatuses? | Record<string, AckStatus> |
Retourne
boolean
addZoneAlerts()
ts
private addZoneAlerts(
out,
state,
ctx,
handledPointIndices): void;Défini dans: features/panel/services/alert-processor.service.ts:241
Alertes de zones : une alerte par zone active (détecteurs rattachés agrégés).
Paramètres
| Paramètre | Type |
|---|---|
out | Alert[] |
state | FireStationSystem |
ctx | StationContext |
handledPointIndices | Set<string> |
Retourne
void
collectZoneActiveDetectors()
ts
private collectZoneActiveDetectors(
zone,
state,
handledPointIndices): object;Défini dans: features/panel/services/alert-processor.service.ts:255
Détecteurs actifs rattachés à une zone (+ indique si des points lui sont mappés).
Paramètres
| Paramètre | Type |
|---|---|
zone | Zone |
state | FireStationSystem |
handledPointIndices | Set<string> |
Retourne
object
| Nom | Type | Défini dans |
|---|---|---|
activeDetectors | ZoneDetector[] | features/panel/services/alert-processor.service.ts:259 |
hasMappedPoints | boolean | features/panel/services/alert-processor.service.ts:259 |
buildZoneAlert()
ts
private buildZoneAlert(
zone,
state,
ctx,
handledPointIndices): Alert | null;Défini dans: features/panel/services/alert-processor.service.ts:285
Construit l'alerte d'une zone, ou null si elle doit être supprimée.
Paramètres
| Paramètre | Type |
|---|---|
zone | Zone |
state | FireStationSystem |
ctx | StationContext |
handledPointIndices | Set<string> |
Retourne
Alert | null
resolveZoneLabelStatus()
ts
private resolveZoneLabelStatus(
zone,
displayStatus,
activeDetectors): string;Défini dans: features/panel/services/alert-processor.service.ts:347
Détermine le statut d'affichage (« Resolved » si zone/détecteurs effacés).
Paramètres
| Paramètre | Type |
|---|---|
zone | Zone |
displayStatus | string |
activeDetectors | ZoneDetector[] |
Retourne
string
buildZoneAlertLabel()
ts
private buildZoneAlertLabel(zone, activeDetectors): string;Défini dans: features/panel/services/alert-processor.service.ts:365
Libellé de l'alerte de zone (avec aperçu des détecteurs actifs).
Paramètres
| Paramètre | Type |
|---|---|
zone | Zone |
activeDetectors | ZoneDetector[] |
Retourne
string
addStandalonePointAlerts()
ts
private addStandalonePointAlerts(
out,
state,
ctx,
handledPointIndices): void;Défini dans: features/panel/services/alert-processor.service.ts:383
Points critiques autonomes (non rattachés à une zone déjà traitée).
Paramètres
| Paramètre | Type |
|---|---|
out | Alert[] |
state | FireStationSystem |
ctx | StationContext |
handledPointIndices | Set<string> |
Retourne
void
buildStandalonePointAlert()
ts
private buildStandalonePointAlert(p, ctx): Alert | null;Défini dans: features/panel/services/alert-processor.service.ts:403
Construit l'alerte d'un point autonome, ou null si elle doit être supprimée.
Paramètres
| Paramètre | Type |
|---|---|
p | Point |
ctx | StationContext |
Retourne
Alert | null
resolveStandalonePointStatusLabel()
ts
private resolveStandalonePointStatusLabel(p): string;Défini dans: features/panel/services/alert-processor.service.ts:425
Statut d'affichage d'un point autonome (« Resolved » si effacé ou revenu à la normale).
Paramètres
| Paramètre | Type |
|---|---|
p | Point |
Retourne
string
addSystemStatusBitAlerts()
ts
private addSystemStatusBitAlerts(
out,
state,
ctx): void;Défini dans: features/panel/services/alert-processor.service.ts:432
Alertes issues des messages d'état système bruts (systemStatusBits).
Paramètres
| Paramètre | Type |
|---|---|
out | Alert[] |
state | FireStationSystem |
ctx | StationContext |
Retourne
void
addCriticalStatus()
ts
addCriticalStatus(status): void;Défini dans: features/panel/services/alert-processor.service.ts:457
Ajoute dynamiquement un état critique à surveiller.
Paramètres
| Paramètre | Type | Description |
|---|---|---|
status | ZoneStatus | L'état de zone à ajouter comme critique. |
Retourne
void
processGrouped()
ts
processGrouped(states): StationGroup[];Défini dans: features/panel/services/alert-processor.service.ts:461
Paramètres
| Paramètre | Type |
|---|---|
states | FireStationSystem[] |
Retourne
buildStationGroup()
ts
private buildStationGroup(state):
| StationGroup
| null;Défini dans: features/panel/services/alert-processor.service.ts:479
Regroupe les alertes plates d'une centrale en incidents, un par nature présente.
Deux temps : les alertes sont d'abord consolidées par cible (états système, zones avec leurs détecteurs, détecteurs isolés), puis réparties par nature. Une cible portant plusieurs natures apparaît dans plusieurs incidents, chacun ne montrant que les états qui le concernent.
Paramètres
| Paramètre | Type |
|---|---|
state | FireStationSystem |
Retourne
| StationGroup | null
natureOf()
ts
private natureOf(alert): string;Défini dans: features/panel/services/alert-processor.service.ts:520
Nature d'une alerte : celle qu'elle déclare, sinon son statut d'affichage.
Paramètres
| Paramètre | Type |
|---|---|
alert | Alert |
Retourne
string
groupByNature()
ts
private groupByNature(
systemStates,
targets,
stationId,
priorityByNature): GroupedIncident[];Défini dans: features/panel/services/alert-processor.service.ts:530
Répartit les états consolidés en un incident par nature, du plus urgent au moins urgent.
Une cible n'entre dans un incident que par les états de cette nature : ses autres états iront dans les incidents correspondants, sans être ni dupliqués ni masqués.
Paramètres
| Paramètre | Type |
|---|---|
systemStates | IncidentState[] |
targets | IncidentSubgroup[] |
stationId | string |
priorityByNature | Map<string, number> |
Retourne
naturesOf()
ts
private naturesOf(target): Set<string>;Défini dans: features/panel/services/alert-processor.service.ts:579
Natures présentes sur une cible, ses détecteurs compris.
Paramètres
| Paramètre | Type |
|---|---|
target | IncidentSubgroup |
Retourne
Set<string>
sliceTargetByNature()
ts
private sliceTargetByNature(target, nature):
| IncidentSubgroup
| null;Défini dans: features/panel/services/alert-processor.service.ts:587
Vue d'une cible restreinte à une nature, ou null si elle n'en porte aucun état.
Paramètres
| Paramètre | Type |
|---|---|
target | IncidentSubgroup |
nature | string |
Retourne
| IncidentSubgroup | null
buildSystemState()
ts
private buildSystemState(alert): IncidentState;Défini dans: features/panel/services/alert-processor.service.ts:604
État de niveau centrale porté par une alerte système.
Paramètres
| Paramètre | Type |
|---|---|
alert | Alert |
Retourne
buildStandaloneDetector()
ts
private buildStandaloneDetector(alert, stationId): IncidentSubgroup;Défini dans: features/panel/services/alert-processor.service.ts:620
Cible d'un point critique non rattaché à une zone déjà traitée.
Paramètres
| Paramètre | Type |
|---|---|
alert | Alert |
stationId | string |
Retourne
mergeZoneAlert()
ts
private mergeZoneAlert(
alert,
state,
stationId,
timestamp,
zoneMap): void;Défini dans: features/panel/services/alert-processor.service.ts:641
Fusionne une alerte de zone dans sa cible (états de flags + détecteurs).
Paramètres
| Paramètre | Type |
|---|---|
alert | Alert |
state | FireStationSystem |
stationId | string |
timestamp | string |
zoneMap | Map<number, IncidentSubgroup> |
Retourne
void
getOrCreateZoneTarget()
ts
private getOrCreateZoneTarget(
zoneMap,
zid,
state,
stationId): IncidentSubgroup;Défini dans: features/panel/services/alert-processor.service.ts:658
Paramètres
| Paramètre | Type |
|---|---|
zoneMap | Map<number, IncidentSubgroup> |
zid | number |
state | FireStationSystem |
stationId | string |
Retourne
ackToLabel()
ts
private ackToLabel(ack, fallback): string;Défini dans: features/panel/services/alert-processor.service.ts:679
Traduit un acquittement en libellé d'état (« Resolved » / « Acked » / valeur de repli).
Paramètres
| Paramètre | Type |
|---|---|
ack | | AckStatus | undefined |
fallback | string |
Retourne
string
appendZoneFlagStates()
ts
private appendZoneFlagStates(
gi,
zoneObj,
zid,
timestamp): void;Défini dans: features/panel/services/alert-processor.service.ts:686
Ajoute à l'incident de zone ses états : tous ses flags actifs, sinon son statut unique.
Paramètres
| Paramètre | Type |
|---|---|
gi | IncidentSubgroup |
zoneObj | Zone | undefined |
zid | number |
timestamp | string |
Retourne
void
appendZoneActiveFlags()
ts
private appendZoneActiveFlags(
gi,
allFlags,
flagAckStatuses,
zid,
timestamp): void;Défini dans: features/panel/services/alert-processor.service.ts:708
Paramètres
| Paramètre | Type |
|---|---|
gi | IncidentSubgroup |
allFlags | Set<string> |
flagAckStatuses | | Record<string, AckStatus> | undefined |
zid | number |
timestamp | string |
Retourne
void
appendZoneSingleStatus()
ts
private appendZoneSingleStatus(
gi,
zoneObj,
zid,
timestamp): void;Défini dans: features/panel/services/alert-processor.service.ts:731
Paramètres
| Paramètre | Type |
|---|---|
gi | IncidentSubgroup |
zoneObj | Zone | undefined |
zid | number |
timestamp | string |
Retourne
void
collectDetectorFlags()
ts
private collectDetectorFlags(det, state): object;Défini dans: features/panel/services/alert-processor.service.ts:755
Collecte les flags d'un détecteur (flags actifs + verrouillés du runtime, sinon son statut).
Paramètres
| Paramètre | Type |
|---|---|
det | ZoneDetector |
state | FireStationSystem |
Retourne
object
| Nom | Type | Défini dans |
|---|---|---|
detFlags | Set<string> | features/panel/services/alert-processor.service.ts:758 |
pointFlagAck | | Record<string, AckStatus> | undefined | features/panel/services/alert-processor.service.ts:758 |
appendZoneDetectorStates()
ts
private appendZoneDetectorStates(
gi,
alertDetectors,
state,
timestamp): void;Défini dans: features/panel/services/alert-processor.service.ts:773
Ajoute les états (par flag) des détecteurs d'une alerte de zone à l'incident groupé.
Paramètres
| Paramètre | Type |
|---|---|
gi | IncidentSubgroup |
alertDetectors | ZoneDetector[] |
state | FireStationSystem |
timestamp | string |
Retourne
void
addDetectorState()
ts
private addDetectorState(
gi,
det,
existingDet,
flag,
detState): void;Défini dans: features/panel/services/alert-processor.service.ts:801
Paramètres
| Paramètre | Type |
|---|---|
gi | IncidentSubgroup |
det | ZoneDetector |
existingDet | | { label: string; index: number; states: IncidentState[]; } | undefined |
flag | string |
detState | IncidentState |
Retourne
void
finalizeZoneTargets()
ts
private finalizeZoneTargets(zoneMap, targets): void;Défini dans: features/panel/services/alert-processor.service.ts:829
Collecte les zones consolidées.
Une zone dont aucun registre n'est vrai ne reçoit pas d'état : elle n'est alors que le contenant de ses détecteurs, qui portent l'incident. Lui recopier l'état de son détecteur prioritaire, sous l'étiquette d'un état de zone, donnait une ligne à acquitter que la centrale ne connaissait pas — l'acquittement était refusé sans un mot, et la ligne restait « à acquitter » quoi que fasse l'opérateur.
Paramètres
| Paramètre | Type |
|---|---|
zoneMap | Map<number, IncidentSubgroup> |
targets | IncidentSubgroup[] |
Retourne
void