Zum Hauptinhalt springen

Anlagen (Systems)

Zweck

Anlagen sind die Kern-Objekte des Brandschutzes — Brandmeldeanlagen (BMA), Sprinkleranlagen, Rauch- und Waermeabzuege (RWA), Sicherheitsbeleuchtung etc. In SpeamCore werden sie technisch als System modelliert. Anlagen gehören zu einem Standort (Location) und werden in Aufträgen über WorkorderSystem als Snapshot referenziert.

Wichtig — keine globale Routen-Liste

Es gibt **keine** Top-Level-FE-Seite `/systems`. Anlagen werden ausschliesslich **im Kontext** verwaltet:
  • Pro Standort: /locations/:id/systems und /customers/:id/locations/:id/systems
  • Pro Kunde (kaskadiert): /customers/:id/systems
  • Pro Auftrag (Snapshot): /workorders/:id/systems

Die Backend-API GET /api/systems existiert (für interne Aggregationen), wird aber nicht durch eine eigene FE-Liste exponiert. Wenn ein Anwender nach „der Anlagenliste" sucht, fuehren Sie ihn über den Standort (Kunde → Standort → Tab Anlagen).

Datenmodell

Customer (Kunde)
└── Location (Standort)
└── System (Anlage — z. B. BMA)
└── Component (Bauteil — z. B. Brandmelder)

Workorder (Auftrag)
└── WorkorderSystem (Anlage-Snapshot fuer den Auftrag)
└── verknuepft Pruefcheckliste, Maengel, Dokumente

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewSystemAnlagen lesen (Standort-Tab, Kunden-Tab)APP_SPEAMCORE_VIEW_SYSTEM
create/update/deleteSystemAnlagen pflegenAPP_SPEAMCORE_CREATE/UPDATE/DELETE_SYSTEM
viewWorkorderSystemAuftrags-spezifischer Anlage-SnapshotAPP_SPEAMCORE_VIEW_WORKORDER_SYSTEM
viewComponentBauteil-HierarchieAPP_SPEAMCORE_VIEW_COMPONENT

Workflows

Anlage anlegen

  1. Standort öffnen — /locations/:id.
  2. Tab Anlagen (/locations/:id/systems).
  3. + Neu klicken — Anlage anlegen mit Name, Typ, Hersteller, ggf. Prüf-Service-Vorlage.
  4. Auf der Anlage-Detailseite: Komponenten ergaenzen, Prüf-Service zuordnen.

Anlage in einem Auftrag verwenden

Beim Anlegen eines Auftrags wird der Anlage-Snapshot (WorkorderSystem) automatisch erzeugt. Änderungen an der Anlage selbst wirken nicht rueckwirkend auf bereits abgeschlossene Aufträge.

Verknuepfungen zu Modul-Seiten

  • Standorte — Tab Anlagen zeigt alle System-Datensaetze des Standorts.
  • Auftraege — Tab Anlagen zeigt die WorkorderSystem-Snapshots.
  • Pruef-Checklisten — sind über Service und WorkorderSystem verknuepft.
  • KomponentenComponent.parentComponentId baut Hierarchie unter einer Anlage auf.
  • Maengel — entstehen bei Prüfungen auf WorkorderSystem oder ChecklistTileItem.

Drift-Risiken / offene Fragen

  1. Keine globale FE-Liste trotz vorhandener API — strategisch (Kontext-getrieben) oder Feature-Luecke?
  2. WorkorderSystem als Snapshot — was passiert, wenn die Quelle (System) nach Auftragsanlage gelöscht wird? Snapshot bleibt, Original-Referenz wird verwaist.
  3. Komponenten-Hierarchie unter System — keine Tiefenbeschraenkung; sehr tiefe Strukturen koennten Performance kosten.

Stand der Doku: Eine globale /systems-Top-Level-Route ist nicht in der Roadmap — Anlagen sind im Kontext eines Standorts, Kunden oder Workorders zugaenglich. Wenn eine globale Aggregations-Sicht gewünscht ist, koennte sie über Dashboards als Widget realisiert werden, ohne neue Top-Level-Route.

Hinweis für KIera

Wenn ein Anwender fragt: „Wo finde ich alle meine Anlagen?" — antworten Sie: 1. „Es gibt keine globale Anlagenliste. Die Anlagen werden pro Standort gefuehrt." 2. „Öffnen Sie den Standort (`/locations/:id`) → Tab **Anlagen**." 3. „Für eine kunden-uebergreifende Sicht: Kunde → Tab **Anlagen** zeigt alle Anlagen aller Standorte des Kunden."

Versionshinweise

  • 2026-04-29: Initiale Veroeffentlichung. Bewusst als Konzept-Seite, da keine globale FE-Route existiert.