Arbeitszeit: Zeiterfassung (Kapitel 6.2)
Neuer Tab "Zeiterfassung" neben "Aufgaben" (WorkloadViewModel als Tab-Container, gleiches Muster wie GroupDetailViewModel): Timer mit Zuordnung zu Aufgabe/Kategorie, manuelle Nacherfassung (Von-Bis oder Dauer), Wochenübersicht nach Kategorie, sowie "X / Y min erfasst" direkt in der Aufgabenliste als Ist-vs-Soll-Vergleich.
This commit is contained in:
@@ -778,8 +778,9 @@ dadurch faktisch schon (Quick-Input-Dialog bzw. "Offene Entschuldigungen" im Das
|
||||
## 6. Arbeitszeit & Aufgaben
|
||||
|
||||
Modelle `WorkTask` und `TimeEntry` existieren, Repositories ebenfalls.
|
||||
Navigationspunkt "Arbeitszeit" zeigt inzwischen die Aufgabenverwaltung (6.1) statt eines
|
||||
Placeholders; Zeiterfassung (6.2/6.3) ist noch offen.
|
||||
Navigationspunkt "Arbeitszeit" zeigt inzwischen Aufgabenverwaltung (6.1) und Zeiterfassung (6.2)
|
||||
als zwei Tabs (`WorkloadViewModel`/`WorkloadView`, gleiches Container-Tab-Muster wie
|
||||
`GroupDetailViewModel`); nur die Monats-/Jahresauswertung (6.3) ist noch offen.
|
||||
|
||||
### 6.1 Aufgabenverwaltung
|
||||
- [x] **6.1.1** Aufgabenliste mit Filter nach Status, Kategorie, Gruppe und Fälligkeit —
|
||||
@@ -799,10 +800,23 @@ Placeholders; Zeiterfassung (6.2/6.3) ist noch offen.
|
||||
auf `Conducted` (Anbindung an 1.1.3).
|
||||
|
||||
### 6.2 Zeiterfassung
|
||||
- [ ] **6.2.1** Timer starten/stoppen mit Zuordnung zu Aufgabe oder Kategorie.
|
||||
- [ ] **6.2.2** Manuelle Nacherfassung eines Zeitblocks (Datum, Von–Bis oder Dauer).
|
||||
- [ ] **6.2.3** Wochenübersicht der erfassten Zeit, Summen je Kategorie.
|
||||
- [ ] **6.2.4** Schätzung vs. tatsächliche Dauer je Aufgabe vergleichen.
|
||||
- [x] **6.2.1** Timer starten/stoppen mit Zuordnung zu Aufgabe oder Kategorie —
|
||||
`TimeTrackingViewModel`. Bewusst ohne live mitlaufende Sekundenanzeige (keine
|
||||
`DispatcherTimer`-Kopplung in die ViewModel-Schicht); während der Timer läuft, zeigt
|
||||
"Läuft seit HH:mm Uhr" den Startzeitpunkt, die Dauer wird beim Stoppen aus der
|
||||
Differenz berechnet (mind. 1 Minute).
|
||||
- [x] **6.2.2** Manuelle Nacherfassung eines Zeitblocks (Datum, Von–Bis oder Dauer) —
|
||||
`AddTimeEntryDialog`: entweder Dauer direkt eintragen oder Von/Bis angeben (daraus wird
|
||||
die Dauer berechnet); mindestens eines von beidem ist Pflicht.
|
||||
- [x] **6.2.3** Wochenübersicht der erfassten Zeit, Summen je Kategorie — Balken je Kategorie
|
||||
(`CategoryWeekSummary`, `TimeEntry.Category` ist bewusst ein freier String statt
|
||||
`TaskCategory`-Enum wie bei `WorkTask`, da das Domänenmodell das schon so vorgab; die
|
||||
ComboBox schlägt trotzdem dieselben Kategorienamen vor). Nur die aktuelle Kalenderwoche,
|
||||
keine Wochennavigation wie im Stundenplan — bei Bedarf später ergänzbar.
|
||||
- [x] **6.2.4** Schätzung vs. tatsächliche Dauer je Aufgabe vergleichen — direkt in der
|
||||
Aufgabenliste (6.1.1) als "X / Y min erfasst", sobald mindestens ein verknüpfter
|
||||
Zeiteintrag existiert; dafür braucht `WorkTaskListViewModel` jetzt zusätzlich
|
||||
`ITimeEntryRepository`.
|
||||
|
||||
### 6.3 Auswertung
|
||||
- [ ] **6.3.1** Monats-/Jahresauswertung nach Kategorie und Gruppe (Diagramm + Tabelle).
|
||||
|
||||
Reference in New Issue
Block a user