{{-- Positionsliste, gegliedert nach Warengruppe -> Hersteller -> Gebinde (Vorgabe 09.09.2026). EIN Baustein fuer alle Listen: Bestelluebersicht, Vorschau je Lieferant, Zentrallager. Vorher hatte jede Seite ihre eigene Tabelle, und die Reihenfolge wich voneinander ab - dieselbe Position war auf jeder Seite woanders zu suchen. Erwartet: $gruppen Ergebnis von ArticleGrouping::gruppiere() $spalten [['kopf' => 'Bestand', 'typ' => 'zahl'|'text', 'wert' => fn ($z) => ..., 'klasse' => 'text-right ...'], ...] $menge fn ($z) => Zahl fuer die Zwischensummen (optional) $offen ob die erste Ebene aufgeklappt startet (Vorgabe: true) Die Spalten kommen als Aufrufparameter und nicht fest verdrahtet, weil die Listen verschiedene Zahlen zeigen - Bestellmenge hier, Fehlmenge dort. Der Aufbau darunter ist ueberall derselbe. --}} @php $menge = $menge ?? null; $offen = $offen ?? true; $nf0 = fn ($v) => number_format((float) $v, 0, ',', '.'); $summe = fn ($zeilen) => $menge ? $zeilen->sum($menge) : null; $spalten = collect($spalten); @endphp
{{ $wgName }} {{ $nf0($wg['zeilen']->count()) }} Positionen
@if($menge){{ $nf0($summe($wg['zeilen'])) }} Stück
@endif{{ $hName }} {{ $nf0($h['zeilen']->count()) }}
@if($menge){{ $nf0($summe($h['zeilen'])) }} Stück
@endif{{ $bName }} {{ $nf0($b['zeilen']->count()) }}
@if($menge){{ $nf0($summe($b['zeilen'])) }} Stück
@endif| {{ $sp['kopf'] }} | @endforeach
|---|
| {!! ($sp['wert'])($z) !!} | @endforeach