Files
buchhaltung/verify_kredite_final.py
2026-04-26 07:51:39 +02:00

91 lines
2.8 KiB
Python

#!/usr/bin/env python3
"""
Verifiziert die importierten Kredite vollständig.
"""
import json
import urllib.request
import urllib.error
API_BASE = "http://localhost:3001/api"
def api_call(endpoint, method='GET', data=None):
url = f"{API_BASE}{endpoint}"
headers = {'Content-Type': 'application/json'}
req = urllib.request.Request(
url,
data=json.dumps(data).encode() if data else None,
headers=headers,
method=method
)
try:
with urllib.request.urlopen(req, timeout=30) as response:
return json.loads(response.read().decode())
except Exception as e:
print(f"Error: {e}")
return None
print("="*70)
print("VERIFIKATION: ALLE KREDITE")
print("="*70)
# Alle Kredite holen
all_kredite = api_call('/kredite')
if not all_kredite:
print("Fehler beim Abrufen der Kredite!")
exit(1)
print(f"\nGefundene Kredite: {len(all_kredite)}")
print("-"*70)
for k in all_kredite:
kredit_id = k.get('id')
name = k.get('name')
restschuld = float(k.get('restschuld', 0))
monatsrate = float(k.get('monatsrate', 0))
zinssatz = float(k.get('zinssatz', 0))
start_datum = k.get('start_datum')
ursprung = float(k.get('ursprungsschuld', 0))
print(f"\n{name}")
print(f" ID: {kredit_id}")
print(f" Restschuld: {restschuld:,>12.2f} EUR")
print(f" Ursprung: {ursprung:,>12.2f} EUR")
print(f" Monatsrate: {monatsrate:,>12.2f} EUR")
print(f" Zinssatz: {zinssatz:,>12.2f}%")
print(f" Start: {start_datum}")
# Buchungen prüfen
buchungen = api_call(f'/kredite/{kredit_id}/buchungen')
if buchungen:
print(f" Buchungen: {len(buchungen)}")
if len(buchungen) > 0:
# Erste und letzte Buchung zeigen
first = buchungen[-1] # Letzte in Liste = erste chronologisch (DESC order)
last = buchungen[0] # Erste in Liste = letzte chronologisch
print(f" Erste: {first.get('datum')} - Rest: {float(first.get('restschuld_nach', 0)):,.2f} EUR")
print(f" Letzte: {last.get('datum')} - Rest: {float(last.get('restschuld_nach', 0)):,.2f} EUR")
else:
print(f" Buchungen: KEINE!")
# Zusammenfassung
print("\n" + "="*70)
print("ZUSAMMENFASSUNG ALLER KREDITE")
print("="*70)
total_restschuld = sum(float(k.get('restschuld', 0)) for k in all_kredite)
total_rate = sum(float(k.get('monatsrate', 0)) for k in all_kredite)
total_ursprung = sum(float(k.get('ursprungsschuld', 0)) for k in all_kredite)
print(f"\nGesamt-Ursprungsschuld: {total_ursprung:,>15.2f} EUR")
print(f"Gesamt-Restschuld: {total_restschuld:,>15.2f} EUR")
print(f"Gesamt-Monatsrate: {total_rate:,>15.2f} EUR")
print(f"Anzahl Kredite: {len(all_kredite):,>15}")
print("\n" + "="*70)
print("[OK] ALLE KREDITE ERFOLGREICH IMPORTIERT!")
print("="*70)