DB-Schema-Detailprüfung UC02 – TÜV-Inspektion einreichen¶
Stand: 01.08.2026 14:55 Branch: docs/einheitliche-kopfbereiche Status: Abgeschlossen; Gegen vorhandene UC02-Spezifikation und Prisma-Zielschema v3 konzeptionell geprüft
| Datum, Uhrzeit | Version | Änderung | Autor |
|---|---|---|---|
| 01.08.2026 14:55 | 1.0 | Kopfbereich vereinheitlicht | David Mittig |
| 01.08.2026 11:12 | 1.0 | Kopfbereich ergänzt | David Mittig |
1. Prüfgrundlage¶
Geprüft wurde gegen:
docs/developer/uc02/uc02-spezifikation.md,backend/prisma/schema.prismav3,docs/developer/uc00/db-schema-zielbild-uc-matrix.md,docs/developer/db-schema.mdv6,docs/management/roadmap.md.
Korrekturhinweis:
Die frühere Fassung dieser Detailprüfung enthielt die falsche Aussage, dass keine eigene UC02-Spezifikation gefunden wurde. Die Spezifikation existiert und wurde in dieser Nachprüfung berücksichtigt.
2. Fachlicher UC-Zweck aus der Spezifikation¶
UC02 bildet den Workflow ab, mit dem eine Tauchschule prüfpflichtiges Equipment, insbesondere Tauchflaschen / Druckbehälter, für eine externe wiederkehrende Prüfung vorbereitet, einreicht, den Prüfstatus nachverfolgt und das Prüfergebnis dokumentiert.
Der Use Case beginnt bei vorhandenem Equipment aus UC01 und endet mit aktualisiertem Prüfstatus, dokumentiertem Ergebnis und berechneter nächster Prüffrist.
3. Spezifikationsanforderungen gegen Prisma-Zielschema¶
| Anforderung UC02 | Prisma-Zielschema v3 | Bewertung |
|---|---|---|
| prüfrelevantes Equipment aus UC01 | Equipment, EquipmentType.cylinder, CylinderDetails |
abbildbar |
| externe Prüfung als Workflow | UsecaseWorkflow |
abbildbar |
| Workflow-Typ für externe Prüfung | UsecaseType.cylinder_tuv |
abbildbar, aber anderer Name als Spezifikationsbeispiel external_inspection |
| Statusverlauf append-only | WorkflowHistory |
abbildbar |
| Prüfstelle / Dienstleister | UsecaseWorkflow.inspectionBody, CylinderDetails.inspectionBody |
abbildbar als Freitext, keine eigene Dienstleister-Tabelle |
| Einreichdatum | kein eigenes submittedAt |
teilweise offen |
| Prüfdatum | UsecaseWorkflow.resultDate, CylinderDetails.tuvLast |
abbildbar |
| Ergebnis bestanden / nicht bestanden / Nacharbeit | kein eigenes Ergebnis-Enum | teilweise offen über status / resultNotes |
| nächste Prüfung | CylinderDetails.tuvNext |
abbildbar |
| Nacharbeit / Sperre | Equipment.status, dataQualityStatus, UsecaseWorkflow.status |
teilweise abbildbar |
| Prüfhistorie je Equipment | UsecaseWorkflow, WorkflowHistory |
abbildbar |
| Audit-Log | AuditLog |
abbildbar |
| Dokumente / Zertifikate | documents bewusst V2 |
korrekt abgegrenzt |
4. Feld-für-Feld-Bewertung¶
4.1 Equipment und CylinderDetails¶
UC02 fordert, dass nur prüfrelevantes Equipment eingereicht wird. Das ist über folgende Felder abbildbar:
Equipment.tenantId,Equipment.equipmentType,Equipment.status,Equipment.dataQualityStatus,Equipment.isArchived,Equipment.deletedAt,CylinderDetails.tuvLast,CylinderDetails.tuvNext,CylinderDetails.normReference,CylinderDetails.inspectionBody,CylinderDetails.inspectorId.
Bewertung:
- Der Kern ist konzeptionell ausreichend.
- Die Regel „Equipment mit
unknowndarf nicht eingereicht werden" ist überEquipmentType.unknownprüfbar. - Die Spezifikation nennt
needs_review; im Prisma-Zielschema ist dies alsEquipmentDataQualityStatus.needs_reviewvorhanden.
4.2 UsecaseWorkflow¶
UC02 beschreibt beispielhafte Felder wie:
workflow_type,workflow_status,inspection_provider,submitted_at,inspection_date,inspection_result,next_due_date,notes.
Im Prisma-Zielschema v3 sind dazu vorhanden:
usecaseType,status,inspectionBody,resultDate,resultNotes,openedAt,completedAt,cancelledAt,costAmount,costCurrency,isLocked,correctionOfId,correctionNote.
Bewertung:
- Der Workflow ist grundsätzlich abbildbar.
submitted_atfehlt als eigenes Feld. Es kann aktuell nur überopenedAt,WorkflowHistoryoder einen Statuswechsel abgeleitet werden.inspection_resultfehlt als eigenes Enum/Feld. Das Ergebnis muss aktuell überstatusundresultNotesmodelliert werden.- Das UC02-Statusmodell (
submitted,passed,failed,rework_required) ist im aktuellenWorkflowStatusnicht vollständig enthalten.
5. Harte oder relevante Abweichungen¶
| Punkt | Bewertung | Empfehlung |
|---|---|---|
UC02-Statusmodell umfangreicher als WorkflowStatus |
relevante Abweichung | WorkflowStatus erweitern oder UC02-Ergebnis separat modellieren |
submitted_at fehlt |
relevante Lücke | eigenes Feld ergänzen oder verbindlich über History abbilden |
inspection_result fehlt |
relevante Lücke | Ergebnis-Enum oder Workflow-Ergebnisfeld prüfen |
| Prüfstelle-Liste laut Spezifikation vorbereitet | Prisma hat nur Freitext | V1 akzeptabel, spätere Prüfstelle-Tabelle offen |
| Sammel-Prüfauftrag mit mehreren Equipment-Positionen | Prisma UsecaseWorkflow hat nur ein equipmentId |
wichtige Abweichung |
6. Wichtigster Nachbefund: Sammel-Prüfauftrag¶
Die UC02-Spezifikation entscheidet, dass ein Prüfauftrag mehrere Tauchflaschen enthalten darf. Das aktuelle Prisma-Zielschema v3 modelliert UsecaseWorkflow.equipmentId als einzelne optionale Equipment-Referenz.
Bewertung:
- Einzelprüfungen sind abbildbar.
- Sammel-Prüfaufträge sind nicht sauber relational abbildbar.
Empfehlung:
- Für UC02 V1 entweder Sammel-Prüfauftrag auf spätere Version verschieben,
- oder eine Positionstabelle ergänzen, z. B.
workflow_itemsmitworkflow_id,equipment_id, positionsbezogenem Ergebnis und Notiz.
7. Ergebnis¶
UC02 ist im Prisma-Zielschema v3 für Einzel-Prüfaufträge konzeptionell abbildbar.
UC02 ist nicht vollständig gemäss Spezifikation abgebildet, solange Sammel-Prüfaufträge, detailliertes UC02-Statusmodell, submitted_at und inspection_result nicht entschieden oder nachmodelliert sind.
Korrekte Statusformulierung:
UC02 ist gegen die vorhandene Spezifikation geprüft. Das Prisma-Zielschema v3 deckt den V1-Kern für einzelne externe TÜV-Prüfworkflows ab, weist aber Abweichungen bei Sammel-Prüfaufträgen, Statusmodell und Ergebnisfeldern auf.
8. Offene Nacharbeit¶
- [ ] Entscheidung: Sammel-Prüfauftrag in V1 ja/nein.
- [ ] Falls ja:
workflow_itemsoder vergleichbare Positionstabelle ergänzen. - [ ] Entscheidung:
WorkflowStatuserweitern oder UC02-spezifisches Ergebnisfeld ergänzen. - [ ] Entscheidung: eigenes
submittedAtergänzen oder über History definieren. - [ ] UC02-Spezifikation und Prisma-Zielschema danach synchronisieren.
- [ ] Technische Prisma-Validierung bleibt offen.