Betriebsmittel-Sets
Zweck
Betriebsmittel-Sets buendeln mehrere Betriebsmittel zu einer logischen Einheit — z. B. ein „Pruefkoffer BMA" mit Multimeter, Programmer, Pruefgeraet, Schraubendreher. Aufträge koennen so ein Set als Gesamtpaket erhalten, anstatt jedes Werkzeug einzeln zuzuweisen.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Keycloak-Rolle |
|---|---|---|
view | FE_OperatingEquipmentSet, OperatingEquipmentSet | — |
create/update/delete | OperatingEquipmentSet | APP_SPEAMCORE_CREATE/UPDATE/DELETE_OPERATING_EQUIPMENT_SET |
view | OperatingEquipmentSetOperatingEquipment | APP_SPEAMCORE_VIEW_OPERATING_EQUIPMENT_SET_OPERATING_EQUIPMENT |
Schritt-für-Schritt-Anleitung
Set anlegen
- Betriebsmittel-Sets (
/operating-equipment-sets) → + Neu. - Name vergeben (z. B. „Pruefkoffer BMA").
- Im Sub-Tab Betriebsmittel die Set-Mitglieder ergaenzen.


Toolbar (Detail-Seite)
Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|---|---|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Beschreibung | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|---|
name | ja | String | Bezeichnung des Sets. | Erscheint in Workorder-Auswahllisten und Reports. | — |
Sub-Felder pro OperatingEquipmentSetOperatingEquipment
| Feldname | Datentyp | Wirkung |
|---|---|---|
operatingEquipmentSetId | UUID | Set-Referenz. |
operatingEquipmentId | UUID | Set-Mitglied. |
sortOrder | Integer | Reihenfolge im Set — derzeit nicht UI-editierbar. |
Im Live-Walkthrough bestätigt: Der Sub-Tab „Betriebsmittel" enthält keine sortOrder-Spalte und keinen Drag-Handle — sortOrder kann ausschliesslich über die API gesetzt werden. Wer das fachlich braucht, muss das UI um eine Sortier-Spalte erweitern (z. B. dnd-kit oder MUI-DataGrid Drag-Reorder).
Auch fehlt im Backend ein UNIQUE-Constraint auf (operatingEquipmentSetId, operatingEquipmentId) — derselbe Equipment-Eintrag kann theoretisch mehrfach im selben Set vorkommen. Wenn das fachlich nicht erwuenscht ist, sollte ein Constraint per Migration ergaenzt werden.
Anlege-Pattern (Bewegungs-Logik)
Betriebsmittel-Bewegungen folgen einem strikten Audit-Trail-Modell:
- Jede
OperatingEquipmentMovementhaelt fest wer wann welches Betriebsmittel wohin bewegt hat. fromAssigneeType/fromAssigneeIdundtoAssigneeType/toAssigneeId(polymorph:Employee,Vehicle,Warehouse).movedAt— Zeitstempel der Bewegung.
Zustand des Betriebsmittels wird durch die juengste Bewegung bestimmt — keine Direkt-Zuweisung.
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Betriebsmittel (
/operating-equipments) — Set-Mitglieder. - Aufträge — koennen Sets als Werkzeug-Bundle zuordnen.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/operating-equipment-sets | Liste | view OperatingEquipmentSet |
GET | /api/operating-equipment-sets/:id | Detail | view OperatingEquipmentSet |
POST | /api/operating-equipment-sets | Anlegen | create OperatingEquipmentSet |
PATCH | /api/operating-equipment-sets/:id | Ändern | update OperatingEquipmentSet |
DELETE | /api/operating-equipment-sets/:id | Soft-Delete | delete OperatingEquipmentSet |
GET | /api/operating-equipment-sets/:id/operating-equipments | Mitglieder-Sub-Liste | view OperatingEquipmentSetOperatingEquipment |
Versionshinweise
- 2026-04-29: Initiale Veroeffentlichung.