Vorvertrag-Verbrauch als Schätzwert im Folgevertrag

ContractForm (Strom/Gas): Wenn ein previousContractId gesetzt ist,
wird der Vorvertrag samt Readings nachgeladen, der Verbrauch
clientseitig berechnet und als "Vorvertrag: X kWh [Übernehmen]"
unter dem Jahresverbrauch-Feld angezeigt. Bei Gas auch unter
"Jahresverbrauch (kWh)".

ContractDetail (Strom/Gas): Wenn annualConsumption leer ist und
ein berechenbarer Vorvertrag existiert, wird "~X kWh, geschätzt
aus Vorvertrag" in der Jahresverbrauch-Zelle angezeigt – damit
der Wert beim Lesen schon als Anhaltspunkt da steht.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 14:28:55 +02:00
parent 13213846f4
commit e527aebb84
3 changed files with 144 additions and 12 deletions
+20
View File
@@ -97,6 +97,26 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
## ✅ Erledigt
- [x] **🆕 Vorvertrag-Verbrauch als Schätzwert im Folgevertrag**
- **ContractForm** (Strom/Gas): Wenn ein `previousContractId`
gesetzt ist, wird der Vorvertrag samt Readings nachgeladen und
der Verbrauch clientseitig über
`calculateMultiMeterConsumption` / `calculateConsumption`
berechnet. Unter dem Jahresverbrauch-Feld erscheint
`Vorvertrag: 1.698 kWh (hochgerechnet) [Übernehmen]` mit
Ein-Klick-Button, der den Wert ins Feld kopiert. Bei Gas
erscheint der Hinweis sowohl unter „Jahresverbrauch (m³)"
(mit m³-Wert) als auch unter „Jahresverbrauch (kWh)".
- **ContractDetail** (Strom/Gas): Wenn `annualConsumption` leer
ist und ein berechenbarer Vorvertrag existiert, wird die
Jahresverbrauch-Zelle stattdessen mit `~1.698 kWh` in blau
angezeigt, darunter klein „geschätzt aus Vorvertrag
(hochgerechnet)". Verschwindet automatisch, sobald der Wert
im Vertrag eingetragen ist.
- Funktioniert nur bei Verträgen mit explizitem `previousContract`
(Folgevertrag-Kette). Ohne Vorvertrag oder ohne genügend
Zählerstände kommt kein Hinweis.
- [x] **🆕 Endstand alter Zähler fließt in Verbrauchsberechnung ein**
- Bisher wurde der Wert „Letzter Stand alter Zähler" zwar als
`ContractMeter.finalReading` gespeichert, aber nirgends gelesen