@php $zeilen = ($daten['artikel'] ?? collect())->map(fn ($a) => [ 'gruppe' => $a['gruppe'] ?? 'Ohne Warengruppe', 'marke' => $a['marke'] ?? 'Ohne Hersteller', 'sku' => $a['sku'], 'name' => $a['name'], 'bestand' => (float) $a['bestand'], 'tag' => (float) $a['tag'], 'reichweite' => $a['reichweite'], 'letzter' => $a['letzter'] ? \Carbon\Carbon::parse($a['letzter'])->format('d.m.Y') : '–', 'letzterSort'=> $a['letzter'] ? \Carbon\Carbon::parse($a['letzter'])->timestamp : 0, 'zustand' => $a['zustand'], 'rang' => ['leer' => 0, 'knapp' => 1, 'gedeckt' => 2][$a['zustand']], 'imLauf' => $a['imLauf'], 'ohne' => ! $a['imLauf'] && in_array($a['zustand'], ['leer', 'knapp'], true), 'nachschub' => ! $a['imLauf'] ? 'nicht im Lauf' : ((float) $a['bestellt'] > 0 ? 'bestellt ' . (int) $a['bestellt'] . ' · ' . \Illuminate\Support\Str::before($a['lieferant'], ' GmbH') : ($a['grund'] ?: 'kein Bedarf')), 'nachschubSort' => ! $a['imLauf'] ? 0 : ((float) $a['bestellt'] > 0 ? 2 : 1), ])->values(); @endphp

Rastersortiment je Filiale

Das Raster ist nicht gepflegt, sondern gemessen: aus den Kassenbons der letzten 90 Tage bestimmt die Suite je Filiale, welche Sorten Stammkunden gezielt kaufen (Bindungsklasse S). Es verschiebt sich mit dem Kaufverhalten und ist je Filiale verschieden, ohne dass jemand Listen pflegt – dafür taucht eine neu gelistete Sorte erst auf, wenn sie sich verkauft hat.

Gegliedert nach Warengruppe und Hersteller. Spaltenüberschrift anklicken sortiert innerhalb des Herstellers.

@if($branch) Stand {{ $daten['stand'] }}, 30 Minuten zwischengespeichert @endif
@if($branch && $daten) @if($daten['anzahl'] === 0)

Für {{ $branch->name }} konnte kein Raster bestimmt werden. Das passiert, wenn die Offline-Wawi nicht erreichbar ist oder für diese Filiale keine Kassenbons vorliegen (Feld „Shop-Id" in den Filialstammdaten).

@else
@foreach([ ['Rasterartikel', $daten['anzahl'], 'text-gray-900', 'alle'], ['leer', $daten['leer'], $daten['leer'] > 0 ? 'text-red-700' : 'text-gray-400', 'leer'], ['knapp (< 7 Tage)', $daten['knapp'], $daten['knapp'] > 0 ? 'text-amber-700' : 'text-gray-400', 'knapp'], ['gedeckt', $daten['gedeckt'], 'text-emerald-700', 'gedeckt'], ['ohne Vorschlag', $daten['ohne_vorschlag'], $daten['ohne_vorschlag'] > 0 ? 'text-red-700' : 'text-gray-400', 'ohne'], ] as [$label, $wert, $farbe, $f]) @endforeach
@if($daten['ohne_vorschlag'] > 0)

{{ $daten['ohne_vorschlag'] }} Rasterartikel sind leer oder knapp und stehen in keinem Vorschlag. Hier greift der Nachschub nicht – typische Ursachen: kein Lieferant in JTL hinterlegt, Auslaufartikel-Kennzeichen gesetzt, oder der Artikel fehlt in der Bestandsliste der Filial-Wawi.

@endif
Keine Artikel in dieser Auswahl.

„reicht" = Bestand geteilt durch Tagesabsatz der letzten 8 Wochen, „knapp" ab weniger als 7 Tagen; Artikel ohne Absatz stehen beim Sortieren immer am Ende. „nicht im Lauf" heißt: der Rechenlauf hat diesen Artikel heute gar nicht betrachtet. Die Artikelnummer führt zur Artikelkarte mit allen Filialen.

@endif @endif