@php $nf0 = fn ($v) => number_format((float) $v, 0, ',', '.'); $klassenBadge = fn ($k) => match ($k) { 'A' => 'bg-emerald-100 text-emerald-800', 'B' => 'bg-amber-100 text-amber-800', 'C' => 'bg-gray-100 text-gray-600', default => 'bg-gray-50 text-gray-400', }; @endphp {{-- Laufstatus --}}
@if($lauf['aktiv'])

Berechnung läuft gerade – die Zahlen unten sind ein Zwischenstand.

@else

Letzter Lauf: {{ $lauf['letzter'] ? \Illuminate\Support\Carbon::parse($lauf['letzter'])->format('d.m.Y H:i') : '–' }} · heute berechnet: {{ $nf0($stats['today']) }} Positionen

@endif

Zeitplan: ExTrade täglich 04:30 → Bestellung 07:00 · Riccardo Online & Nico montags 01:00 → Bestellung Mo 07:00

{{-- Kennzahlen --}}

Bestellbare Positionen

{{ $nf0($stats['orderable']) }} / {{ $nf0($stats['orderable_units']) }} Stk

Davon ausverkauft (Bestand 0)

{{ $nf0($stats['out']) }}

Unter Sicherheitsbestand

{{ $nf0($stats['critical']) }}

Nicht lieferbar

{{ $nf0($stats['blocked']) }}

@if($stats['blocked'] > 0) ansehen @endif
{{-- Navigation --}}
Bestellungen ansehen Triage-Verteilung Triage / Filial-Einstufung
{{-- Alarm: Positionen ohne Lieferanten --}} @if($ohneLieferant->isNotEmpty())

{{ $ohneLieferant->count() }} Positionen ohne hinterlegten Lieferanten – in JTL pflegen, sonst nicht bestellbar

@foreach($ohneLieferant as $p) @endforeach
{{ $p->article_sku ?: '–' }} {{ $p->article_name }} {{ $p->branch->name }} {{ $nf0($p->order_quantity) }} Stk Detail
@endif {{-- Lieferanten-Lage --}}
@foreach($jeLieferant as $l)

{{ $l->supplier_name }}

{{ $l->rhythmus }}

{{ $nf0($l->positionen) }} Positionen · {{ $nf0($l->stueck) }} Stk

@if($l->aeltester && \Illuminate\Support\Carbon::parse($l->aeltester)->lt(today()))

älteste Position vom {{ \Illuminate\Support\Carbon::parse($l->aeltester)->format('d.m.') }}

@endif
@endforeach
{{-- Filial-Lage --}}

Filialen

@foreach($jeFiliale as $f) @endforeach
Filiale Triage-Klasse Positionen Stück davon ausverkauft nicht lieferbar Fehlverkauf
wenn ausgesetzt
Urteil
{{ $f->branch->name }} {{ $f->klasse ?: '–' }} {{ $nf0($f->positionen) }} {{ $nf0($f->stueck) }} {{ $nf0($f->ausverkauft) }} {{ $nf0($f->blockiert) }} @if($f->positionen > 0) {{ $nf0($f->fehlmenge) }} ({{ number_format($f->anteil * 100, 1, ',', '.') }} %) @if($f->bindung > 0) {{ $f->bindung }} S @endif @else – @endif @if($f->positionen > 0) {{ $f->muss ? 'bestellen' : 'kann aussetzen' }} {{ $f->grund }} @endif @if($f->positionen > 0) Bestellung @endif
{{-- Vorschläge löschen (nur offene – Übermitteltes bleibt unantastbar) --}}
@csrf

Löscht ausschließlich offene Vorschläge (Status „Ausstehend") im gewählten Umfang – übermittelte Bestellungen und übersprungene Positionen bleiben unangetastet. Während einer laufenden Berechnung ist das Löschen gesperrt.