Backoffice-Statistik vereinfacht & Dashboard-Monatsstatistik konsolidiert

- Statistik-Uebersicht: Tabelle auf Linie/Berater/Umsatz(Punkte)/Teamabos/
  Teamkundenabos reduziert; Neupartner als grünes "+N"-Badge in der
  Berater-Spalte; 1000-Punkte-Shop & Neupartner als klickbare KPI-Cards
  (Augen-Icon/Liste anzeigen)
- Teamkundenabos-Drilldown pro Teampartner gruppiert (Anzahl + Volumenpunkte
  gesamt, aufklappbar je Abo), CSV-Export angepasst
- Home: fehlerhafte Monatsstatistik-Card (inkonsistente aktiv-Definition,
  kein Monatsbezug, schwere Live-Logik im Blade) mit der Abo-KPI-Card
  zusammengefuehrt; Logik nach HomeController::buildMonthlyStats() ausgelagert,
  konsistent ueber TeamAboOverviewService/BackofficeDashboardService
- Team-Payline fuer laufenden Monat live berechnet und 6h gecacht (Snapshot)
- Kacheln in Cluster (Umsatz/Neupartner/Abos) gruppiert
- Services: teamKpis() um *_new ergaenzt, personalAboKpis() & newPartnersCount() neu
- i18n (de/en/es/fr), Tests ergaenzt/aktualisiert

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kevin 2026-06-24 13:00:38 +00:00
parent 4135726772
commit 386851aee8
20 changed files with 631 additions and 323 deletions

View file

@ -183,6 +183,7 @@ return [
'yes' => 'Sí',
'no' => 'No',
'shop_1000' => 'Tiendas de 1000 puntos',
'new_partners' => 'Nuevos socios',
'next_execution' => 'Próxima ejecución',
'executions_count' => 'Ejecuciones',
'abo_count_points' => 'Puntos',

View file

@ -54,6 +54,12 @@ return [
'team_new_partners' => 'Nuevos socios en el equipo',
'customer_subscriptions' => 'Suscripciones de clientes',
'team_subscriptions' => 'Suscripciones del equipo',
'team_customer_subscriptions' => 'Suscripciones de clientes del equipo',
'own_subscriptions' => 'Suscripciones propias',
'own_customer_subscriptions' => 'Suscripciones de clientes propias',
'stats_group_turnover' => 'Volumen',
'stats_group_new_partners' => 'Nuevos socios',
'stats_group_subscriptions' => 'Suscripciones',
'own' => 'Propio',
'live_calculation_hint' => 'Cálculo en vivo (no finalizado)',
'live_calculation_hint_text' => 'Se calculará al final del mes.',