{{-- JTL-Hinweis, falls nicht konfiguriert --}} @unless($jtlConfigured)

JTL-API ist nicht konfiguriert – Inventur-Artikel und Nachschub laufen im Demo-Modus.

JTL einrichten →
@endunless {{-- KPI-Zeile 1: Tagesgeschäft --}}
{{-- Inventuren heute --}}

Inventuren heute

{{ $invDone }} / {{ $invTotal }}

@php $pct = $invTotal > 0 ? (int) round($invDone / $invTotal * 100) : 0; @endphp

{{ $pct }}% erledigt

{{-- Offene JTL-Übergaben --}}

Offene JTL-Übergaben

{{ $unsyncedCount }}

Zählungen mit Abweichung, noch nicht in JTL

{{-- Nachschub --}}

Nachschub offen

{{ $replPending }}

@if($replOut > 0){{ $replOut }} ausverkauft@endif @if($replOut > 0 && $replCriticalCount > 0) · @endif @if($replCriticalCount > 0){{ $replCriticalCount }} kritisch@endif @if($replOut === 0 && $replCriticalCount === 0)keine kritischen Positionen@endif

{{-- Coupons --}}

Coupons aktiv

{{ $couponsActive }}

{{ $couponsRedeemedToday }} heute / {{ $couponsRedeemed7d }} in 7 Tagen eingelöst

{{-- KPI-Zeile 2: Stammdaten & Newsletter --}}

Newsletter bestätigt

{{ $newsletterConfirmed }} +{{ $newsletterToday }} heute

Filialen aktiv

{{ $branchCount }}

Benutzer

{{ $userCount }}

JTL-Anbindung

{{ $jtlConfigured ? 'Verbunden' : 'Nicht konfiguriert' }}

{{-- Inventur-Fortschritt je Filiale --}}

Inventur-Fortschritt heute

Zur Inventur
@forelse($branchProgress as $row) @php $bp = $row->total > 0 ? (int) round($row->done / $row->total * 100) : 0; @endphp

{{ $row->branch->name ?? 'Filiale #' . $row->branch_id }}

{{ $row->done }} / {{ $row->total }}

@empty
Heute wurden noch keine Inventur-Tasks generiert.
@endforelse
{{-- Kritischer Nachschub --}}
{{-- Offene Abweichungen (JTL-Sync) --}}

Abweichungen ohne JTL-Übergabe

Zur Inventur
@forelse($unsyncedRecent as $c)

{{ $c->task->article_name ?? '–' }}

{{ $c->task->branch->name ?? '–' }} · gezählt {{ $c->counted_at?->format('d.m.Y H:i') }}

{{ $c->deviation > 0 ? '+' : '' }}{{ rtrim(rtrim(number_format((float) $c->deviation, 2, ',', '.'), '0'), ',') }}
@empty
Alle Abweichungen sind an JTL übergeben.
@endforelse
{{-- Top-Mitarbeiter --}}

Top-Mitarbeiter @if($scoreMonth) ({{ \Illuminate\Support\Carbon::parse($scoreMonth)->translatedFormat('F Y') }}) @endif

Alle Scores
@php $gradeColors = [ 'A+' => 'bg-green-100 text-green-800', 'A' => 'bg-green-100 text-green-700', 'B' => 'bg-blue-100 text-blue-700', 'C' => 'bg-amber-100 text-amber-700', 'D' => 'bg-red-100 text-red-700', ]; @endphp @forelse($topScores as $i => $s)
{{ $i + 1 }}

{{ $s->user->name ?? '–' }}

{{ $s->branch->name ?? '–' }} · {{ $s->tasks_completed }}/{{ $s->tasks_assigned }} Tasks

{{ rtrim(rtrim(number_format((float) $s->reliability_score, 1, ',', '.'), '0'), ',') }} {{ $s->score_grade }}
@empty
Noch keine Mitarbeiter-Scores berechnet.
@endforelse