Anerkennungen: firmenweite Monats-Ranglisten im Salescenter
- Neue Seite Anerkennungen (/user/recognitions, Menue unter News Archiv) fuer alle Berater mit aktivem Konto: oben die Anerkennungen des Vormonats in den fuenf Kategorien der Monatsmail, Filter zurueck bis Januar 2026; darunter Live-Ranglisten (Top 10 je Kategorie) des laufenden Monats, 15 Min. Cache. - Kategorien: Top-Recruiter (ab 2 Neupartnern), neue Kunden-Abos, Kundenabo-Punkte, Kunden-Abos gesamt, Gesamtpunkte (1.000-Punkte-Shop, mit Platz 4). Regeln wie TopResultsService/VIP-Statistik, nur firmenweit. - Firmenkonto (6) und Grosskundin (3) nie aufgefuehrt: config mivita.recognition_excluded_user_ids. - Abgeschlossene Monate sind bis zum 3. des Folgemonats vorlaeufig und werden dann eingefroren: neue Tabelle recognition_snapshots, Command recognitions:freeze (taeglich 06:15, idempotent, holt offene Monate nach). - September-Anerkennungen firmenweit geprueft und korrigiert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
9ad69a3218
commit
7bc551ca1f
22 changed files with 1595 additions and 0 deletions
|
|
@ -87,6 +87,7 @@ return [
|
|||
'tools' => 'Tools',
|
||||
'system_status' => 'Systemstatus',
|
||||
'news_archive' => 'News Archiv',
|
||||
'recognitions' => 'Anerkennungen',
|
||||
'incentive' => 'Incentive',
|
||||
'incentives' => 'Incentives',
|
||||
'create' => 'Neu anlegen',
|
||||
|
|
|
|||
52
resources/lang/de/recognitions.php
Normal file
52
resources/lang/de/recognitions.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Anerkennungen',
|
||||
'hero_kicker' => 'Anerkennungen des Monats',
|
||||
'hero_title' => 'Unsere Erfolge im :month',
|
||||
'hero_text' => 'Herzlichen Glückwunsch zu euren großartigen Erfolgen! Hinter jedem Platz stehen Begeisterung, Ausdauer und ganz viel Einsatz – wir sind sehr stolz auf euch.',
|
||||
'period_label' => 'Monat',
|
||||
'period_invalid' => 'Bitte einen gültigen Monat wählen.',
|
||||
'show' => 'Anzeigen',
|
||||
'status_final' => 'Endgültig · festgeschrieben am :date',
|
||||
'status_preliminary' => 'Vorläufig · wird am :date festgeschrieben',
|
||||
'place' => 'Platz :place',
|
||||
'empty' => 'In diesem Monat gibt es hier keine Platzierungen.',
|
||||
'no_months' => 'Es gibt noch keinen abgeschlossenen Monat.',
|
||||
'recruiters_min_hint' => 'Platzierung ab 2 Neupartnern im Monat.',
|
||||
'live_title' => 'Live: So entwickelt sich der :month',
|
||||
'live_text' => 'Die aktuellen Top :limit je Kategorie – alles ist noch offen!',
|
||||
'live_updated' => 'Stand: :time Uhr · wird alle 15 Minuten aktualisiert',
|
||||
'live_rank' => 'Platz',
|
||||
'live_name' => 'Name',
|
||||
'live_value' => 'Wert',
|
||||
'live_empty' => 'Noch keine Einträge in diesem Monat.',
|
||||
'self' => 'ich',
|
||||
'categories' => [
|
||||
'recruiters' => [
|
||||
'title' => 'Top-Recruiter',
|
||||
'description' => 'Die meisten neuen Partner im Monat (direkt gesponsert, Starterpaket bezahlt).',
|
||||
'unit' => 'Neupartner',
|
||||
],
|
||||
'new_customer_abos' => [
|
||||
'title' => 'Die meisten neuen Kunden-Abos',
|
||||
'description' => 'Neu abgeschlossene Kunden-Abos im Monat.',
|
||||
'unit' => 'neue Abos',
|
||||
],
|
||||
'customer_abo_points' => [
|
||||
'title' => 'Höchster Umsatz mit Kunden-Abos',
|
||||
'description' => 'Punkte aus Kunden-Abo-Bestellungen im Monat.',
|
||||
'unit' => 'Punkte',
|
||||
],
|
||||
'customer_abos_total' => [
|
||||
'title' => 'Die meisten Kunden-Abos insgesamt',
|
||||
'description' => 'Aktive Kunden-Abos zum Monatsende (im laufenden Monat: heute).',
|
||||
'unit' => 'Abos',
|
||||
],
|
||||
'total_points' => [
|
||||
'title' => 'Kundenumsatz & Recruiting – 1.000-Punkte-Shop',
|
||||
'description' => 'Höchste Punktzahl aus Kundenumsatz, Eigenumsatz und Recruiting.',
|
||||
'unit' => 'Punkte',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
@ -87,6 +87,7 @@ return [
|
|||
'tools' => 'Tools',
|
||||
'system_status' => 'System status',
|
||||
'news_archive' => 'News Archive',
|
||||
'recognitions' => 'Recognitions',
|
||||
'incentive' => 'Incentive',
|
||||
'incentives' => 'Incentives',
|
||||
'create' => 'Create new',
|
||||
|
|
|
|||
52
resources/lang/en/recognitions.php
Normal file
52
resources/lang/en/recognitions.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Recognitions',
|
||||
'hero_kicker' => 'Recognitions of the month',
|
||||
'hero_title' => 'Our successes in :month',
|
||||
'hero_text' => 'Congratulations on your great achievements! Every place stands for enthusiasm, perseverance and a lot of commitment – we are very proud of you.',
|
||||
'period_label' => 'Month',
|
||||
'period_invalid' => 'Please choose a valid month.',
|
||||
'show' => 'Show',
|
||||
'status_final' => 'Final · locked on :date',
|
||||
'status_preliminary' => 'Preliminary · will be locked on :date',
|
||||
'place' => 'Place :place',
|
||||
'empty' => 'No placements this month.',
|
||||
'no_months' => 'There is no completed month yet.',
|
||||
'recruiters_min_hint' => 'Placement from 2 new partners per month.',
|
||||
'live_title' => 'Live: how :month is shaping up',
|
||||
'live_text' => 'The current top :limit per category – everything is still open!',
|
||||
'live_updated' => 'As of :time · updated every 15 minutes',
|
||||
'live_rank' => 'Place',
|
||||
'live_name' => 'Name',
|
||||
'live_value' => 'Value',
|
||||
'live_empty' => 'No entries this month yet.',
|
||||
'self' => 'me',
|
||||
'categories' => [
|
||||
'recruiters' => [
|
||||
'title' => 'Top recruiters',
|
||||
'description' => 'Most new partners in the month (directly sponsored, starter package paid).',
|
||||
'unit' => 'new partners',
|
||||
],
|
||||
'new_customer_abos' => [
|
||||
'title' => 'Most new customer subscriptions',
|
||||
'description' => 'Newly started customer subscriptions in the month.',
|
||||
'unit' => 'new subscriptions',
|
||||
],
|
||||
'customer_abo_points' => [
|
||||
'title' => 'Highest revenue from customer subscriptions',
|
||||
'description' => 'Points from customer subscription orders in the month.',
|
||||
'unit' => 'points',
|
||||
],
|
||||
'customer_abos_total' => [
|
||||
'title' => 'Most customer subscriptions overall',
|
||||
'description' => 'Active customer subscriptions at month end (current month: today).',
|
||||
'unit' => 'subscriptions',
|
||||
],
|
||||
'total_points' => [
|
||||
'title' => 'Customer revenue & recruiting – 1,000 points shop',
|
||||
'description' => 'Highest points from customer revenue, own revenue and recruiting.',
|
||||
'unit' => 'points',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
@ -84,6 +84,7 @@ return [
|
|||
'tools' => 'Herramientas',
|
||||
'system_status' => 'Estado del sistema',
|
||||
'news_archive' => 'Archivo de Noticias',
|
||||
'recognitions' => 'Reconocimientos',
|
||||
'incentive' => 'Incentivo',
|
||||
'incentives' => 'Incentivos',
|
||||
'create' => 'Crear nuevo',
|
||||
|
|
|
|||
52
resources/lang/es/recognitions.php
Normal file
52
resources/lang/es/recognitions.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Reconocimientos',
|
||||
'hero_kicker' => 'Reconocimientos del mes',
|
||||
'hero_title' => 'Nuestros éxitos en :month',
|
||||
'hero_text' => '¡Enhorabuena por vuestros grandes logros! Detrás de cada puesto hay entusiasmo, constancia y mucho esfuerzo: estamos muy orgullosos de vosotros.',
|
||||
'period_label' => 'Mes',
|
||||
'period_invalid' => 'Elige un mes válido.',
|
||||
'show' => 'Mostrar',
|
||||
'status_final' => 'Definitivo · cerrado el :date',
|
||||
'status_preliminary' => 'Provisional · se cerrará el :date',
|
||||
'place' => 'Puesto :place',
|
||||
'empty' => 'No hay clasificaciones este mes.',
|
||||
'no_months' => 'Todavía no hay ningún mes cerrado.',
|
||||
'recruiters_min_hint' => 'Clasificación a partir de 2 nuevos socios en el mes.',
|
||||
'live_title' => 'En directo: así evoluciona :month',
|
||||
'live_text' => 'El top :limit actual por categoría: ¡todo sigue abierto!',
|
||||
'live_updated' => 'Estado: :time · se actualiza cada 15 minutos',
|
||||
'live_rank' => 'Puesto',
|
||||
'live_name' => 'Nombre',
|
||||
'live_value' => 'Valor',
|
||||
'live_empty' => 'Todavía no hay entradas este mes.',
|
||||
'self' => 'yo',
|
||||
'categories' => [
|
||||
'recruiters' => [
|
||||
'title' => 'Mejores reclutadores',
|
||||
'description' => 'Más socios nuevos en el mes (patrocinio directo, paquete de inicio pagado).',
|
||||
'unit' => 'socios nuevos',
|
||||
],
|
||||
'new_customer_abos' => [
|
||||
'title' => 'Más suscripciones nuevas de clientes',
|
||||
'description' => 'Suscripciones de clientes iniciadas en el mes.',
|
||||
'unit' => 'suscripciones nuevas',
|
||||
],
|
||||
'customer_abo_points' => [
|
||||
'title' => 'Mayor facturación con suscripciones de clientes',
|
||||
'description' => 'Puntos de pedidos de suscripciones de clientes en el mes.',
|
||||
'unit' => 'puntos',
|
||||
],
|
||||
'customer_abos_total' => [
|
||||
'title' => 'Más suscripciones de clientes en total',
|
||||
'description' => 'Suscripciones de clientes activas a final de mes (mes en curso: hoy).',
|
||||
'unit' => 'suscripciones',
|
||||
],
|
||||
'total_points' => [
|
||||
'title' => 'Facturación de clientes y reclutamiento – tienda de 1.000 puntos',
|
||||
'description' => 'Mayor puntuación por facturación de clientes, facturación propia y reclutamiento.',
|
||||
'unit' => 'puntos',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
@ -84,6 +84,7 @@ return [
|
|||
'tools' => 'Outils',
|
||||
'system_status' => 'État du système',
|
||||
'news_archive' => 'Archive des actualités',
|
||||
'recognitions' => 'Distinctions',
|
||||
'incentive' => 'Incentive',
|
||||
'incentives' => 'Incentives',
|
||||
'create' => 'Créer',
|
||||
|
|
|
|||
52
resources/lang/fr/recognitions.php
Normal file
52
resources/lang/fr/recognitions.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Distinctions',
|
||||
'hero_kicker' => 'Distinctions du mois',
|
||||
'hero_title' => 'Nos succès en :month',
|
||||
'hero_text' => 'Félicitations pour vos magnifiques résultats ! Derrière chaque place, il y a de l’enthousiasme, de la persévérance et beaucoup d’engagement – nous sommes très fiers de vous.',
|
||||
'period_label' => 'Mois',
|
||||
'period_invalid' => 'Veuillez choisir un mois valide.',
|
||||
'show' => 'Afficher',
|
||||
'status_final' => 'Définitif · arrêté le :date',
|
||||
'status_preliminary' => 'Provisoire · sera arrêté le :date',
|
||||
'place' => 'Place :place',
|
||||
'empty' => 'Aucun classement ce mois-ci.',
|
||||
'no_months' => 'Il n’y a encore aucun mois clôturé.',
|
||||
'recruiters_min_hint' => 'Classement à partir de 2 nouveaux partenaires dans le mois.',
|
||||
'live_title' => 'En direct : l’évolution de :month',
|
||||
'live_text' => 'Le top :limit actuel par catégorie – tout reste possible !',
|
||||
'live_updated' => 'État : :time · mis à jour toutes les 15 minutes',
|
||||
'live_rank' => 'Place',
|
||||
'live_name' => 'Nom',
|
||||
'live_value' => 'Valeur',
|
||||
'live_empty' => 'Pas encore d’entrées ce mois-ci.',
|
||||
'self' => 'moi',
|
||||
'categories' => [
|
||||
'recruiters' => [
|
||||
'title' => 'Meilleurs recruteurs',
|
||||
'description' => 'Le plus de nouveaux partenaires dans le mois (parrainage direct, pack de démarrage payé).',
|
||||
'unit' => 'nouveaux partenaires',
|
||||
],
|
||||
'new_customer_abos' => [
|
||||
'title' => 'Le plus de nouveaux abonnements clients',
|
||||
'description' => 'Abonnements clients démarrés dans le mois.',
|
||||
'unit' => 'nouveaux abonnements',
|
||||
],
|
||||
'customer_abo_points' => [
|
||||
'title' => 'Plus gros chiffre d’affaires avec les abonnements clients',
|
||||
'description' => 'Points issus des commandes d’abonnements clients dans le mois.',
|
||||
'unit' => 'points',
|
||||
],
|
||||
'customer_abos_total' => [
|
||||
'title' => 'Le plus d’abonnements clients au total',
|
||||
'description' => 'Abonnements clients actifs en fin de mois (mois en cours : aujourd’hui).',
|
||||
'unit' => 'abonnements',
|
||||
],
|
||||
'total_points' => [
|
||||
'title' => 'CA clients & recrutement – boutique 1 000 points',
|
||||
'description' => 'Le plus de points grâce au CA clients, au CA personnel et au recrutement.',
|
||||
'unit' => 'points',
|
||||
],
|
||||
],
|
||||
];
|
||||
Loading…
Add table
Add a link
Reference in a new issue