Fix: Folgezähler-Button auch bei Single-Meter-Verträgen anzeigen

Bei Folgeverträgen / Bestandsverträgen ohne ContractMeter-Eintrag
war der "Folgezähler hinzufügen"-Button unsichtbar, weil er nur
im Multi-Meter-Zweig gerendert wurde.

Zusätzlich im addSuccessorMeter-Backend: bei Single-Meter-Verträgen
wird der bisherige energyDetails.meterId jetzt als ContractMeter
position 0 backfillt und als removed markiert, damit die Kette
lückenlos ist und der alte Zähler im Vertrag dokumentiert bleibt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 14:03:01 +02:00
parent ad4c2bae1d
commit 34e106f253
2 changed files with 41 additions and 14 deletions
@@ -2675,15 +2675,6 @@ export default function ContractDetail() {
/>
)
))}
{/* Folgezähler hinzufügen */}
{hasPermission('contracts:update') && !isCustomer && (
<SuccessorMeterButton
contractId={contractId}
customerId={c.customerId}
meterType={c.type as 'ELECTRICITY' | 'GAS'}
existingMeterIds={c.energyDetails.contractMeters.map((cm: ContractMeter) => cm.meterId)}
/>
)}
</>
) : c.energyDetails.meter ? (
<MeterReadingsSection
@@ -2695,6 +2686,21 @@ export default function ContractDetail() {
/>
) : null}
{/* Folgezähler hinzufügen auch bei Verträgen ohne ContractMeter-Eintrag
(z. B. Folgeverträge oder Bestandsverträge im Single-Meter-Modell). */}
{hasPermission('contracts:update') && !isCustomer && (c.energyDetails.meter || (c.energyDetails.contractMeters && c.energyDetails.contractMeters.length > 0)) && (
<SuccessorMeterButton
contractId={contractId}
customerId={c.customerId}
meterType={c.type as 'ELECTRICITY' | 'GAS'}
existingMeterIds={
c.energyDetails.contractMeters && c.energyDetails.contractMeters.length > 0
? c.energyDetails.contractMeters.map((cm: ContractMeter) => cm.meterId)
: c.energyDetails.meter ? [c.energyDetails.meter.id] : []
}
/>
)}
{/* Verbrauchsberechnung & Kostenvorschau */}
<EnergyConsumptionCalculation
contractType={c.type as 'ELECTRICITY' | 'GAS'}