@php $nf0 = fn ($v) => number_format((float) $v, 0, ',', '.'); // Fehlende Stammdaten einmal zusammenziehen: Hersteller und Warengruppen // kann die JTL-API nur lesen, nicht anlegen. $ohneGruppe = 0; $fehlMarken = []; $fehlGruppen = []; foreach ($ergebnis['vorschau'] as $v) { foreach ($v['hinweise'] ?? [] as $h) { if (str_starts_with($h, 'keine Warengruppe')) { $ohneGruppe++; } elseif (str_starts_with($h, 'Hersteller')) { $fehlMarken[$v['hersteller']] = ($fehlMarken[$v['hersteller']] ?? 0) + 1; } elseif (str_starts_with($h, 'Warengruppe')) { $fehlGruppen[$v['warengruppe']] = ($fehlGruppen[$v['warengruppe']] ?? 0) + 1; } } } arsort($fehlMarken); @endphp
Katalog Vorschau

Nur eine Rechnung: es wird nichts geschrieben und keine Artikelnummer verbraucht. Die Nummern unten sind die, die vergeben würden.

@if($ergebnis['meldungen'] ?? [])

Hinweise

@endif @if($was === 'anlegen')

Artikel in dieser Vorschau

{{ $nf0(count($ergebnis['vorschau'])) }}

ohne zuzuordnende Warengruppe

{{ $nf0($ohneGruppe) }}

Zuordnung in config/extrade.php

Hersteller, die in der Wawi fehlen

{{ $nf0(count($fehlMarken)) }}

die API kann Hersteller nicht anlegen

@if($fehlMarken)

Diese Hersteller müssen vorher in JTL angelegt werden

@foreach($fehlMarken as $marke => $anzahl) {{ $marke }} {{ $nf0($anzahl) }} @endforeach

Ohne den Hersteller wird der Artikel trotzdem angelegt – nur eben ohne Marke. Nachtragen geht später über „Felder ergänzen“.

@endif
@foreach($ergebnis['vorschau'] as $v) @endforeach
Neue Artikelnummer Artikel Kategorie Warengruppe Hersteller EAN ExTrade-Nr.
{{ $v['nummer'] }} {{ $v['name'] }} {{ config('extrade.kategorie_ast') }} @if($v['kategorie'] ?? null)› {{ $v['kategorie'] }}@endif {{ $v['warengruppe'] ?: 'keine' }} {{ $v['hersteller'] ?: '–' }} {{ $v['ean'] ?: '–' }} {{ $v['liefnr'] }}
@elseif($was === 'bilder')

{{ $nf0(count($ergebnis['vorschau'])) }} Artikel mit zusammen {{ $nf0(collect($ergebnis['vorschau'])->sum('anzahl')) }} Bildern; {{ $nf0($ergebnis['uebersprungen']) }} Artikel führt der Lieferant ohne Bild.

Die Bildadressen des Lieferanten sind signiert und gelten rund einen Tag. Läuft der Download in „Zugriff abgelehnt", muss erst „Katalog aktualisieren“ laufen – das holt frische Adressen.

@foreach($ergebnis['vorschau'] as $v) @endforeach
Artikelnummer Artikel Bilder
{{ $v['sku'] }} {{ $v['name'] }} {{ $v['anzahl'] }}
@else
@forelse($ergebnis['vorschau'] as $v) @empty @endforelse
Artikelnummer Artikel wird ergänzt
{{ $v['sku'] }} {{ $v['name'] }} {{ implode(', ', $v['felder']) }}
Nichts zu ergänzen.
@endif