Implement ranking logic with SerieStandEntry, add support for streak results and binding types (Reiter+Pferd, Reiter, Pferd), update UI for detailed ranking display, and finalize Phase 10.

This commit is contained in:
2026-04-12 17:03:06 +02:00
parent 6e99bc97fd
commit a79e612693
8 changed files with 112 additions and 16 deletions
@@ -0,0 +1,25 @@
# 🧹 [Curator] Log - 2026-04-12 (Phase 10: Series-Context Vertiefung)
## Status
- **Phase 10 (Series-Context):** ✅ Completed (Kernlogik & UI bereit)
- **Phase 11 (Ergebniserfassung):** ✅ Completed (zuvor abgeschlossen)
## Heute erledigt
- **Backend (Series-Service):**
- Erweiterung der JPA-Entität `Serie` um `ReglementTyp`, `streichresultateCount` und `Bindungstyp`.
- Implementierung der Geschäftslogik im `SeriesService` zur Berechnung von Zwischenständen unter Berücksichtigung von Streichresultaten.
- Unterstützung von verschiedenen Bindungsarten (Reiter+Pferd, nur Reiter, nur Pferd).
- **Frontend Domain:**
- `SeriesRepository` und `Serie` Modell um die neuen Konfigurationsfelder erweitert.
- Neues Modell `SerieStandEntry` eingeführt, um detaillierte Ranking-Informationen (Reiter-ID, Pferde-ID, Anzahl Wertungen) zu transportieren.
- **Frontend Data & Presentation:**
- `DefaultSeriesRepository` (Ktor) auf das neue Ergebnisformat umgestellt.
- `SeriesViewModel` und `SeriesState` für die Anzeige des detaillierten Zwischenstands aktualisiert.
- `SeriesScreen.kt` (UI) überarbeitet: Anzeige von Reiter/Pferd-Informationen und Fortschritt (Anzahl Wertungen) pro Teilnehmer.
- **Roadmap:**
- `MASTER_ROADMAP.md` aktualisiert: Phase 10 als abgeschlossen markiert.
## Verifikation
- Kompilierungs-Check des `turnier-feature` Moduls erfolgreich.
- Datenfluss-Analyse: Vom Ktor-Client bis zur Compose-UI werden die neuen Felder (`streichresultateCount`, `bindungstyp`) korrekt durchgereicht.
- Geschäftslogik-Check: Der Algorithmus für Streichresultate behandelt Edge-Cases (z.B. weniger Wertungen als Streichresultate) durch Fallback auf das beste Resultat.