@php use SimpleSoftwareIO\QrCode\Facades\QrCode; @endphp Shipment List
{{-- ======================= SUPPLIER QR CODES ======================= --}}

SUPPLIER QR CODES

@php $supplierRefs = isset($refs) ? collect($refs)->where('ref_type', 'supplier')->values() : collect(); if ($supplierRefs->isNotEmpty()) { $supplierIds = $supplierRefs->pluck('supplier_id')->unique()->filter()->values()->all(); $suppliers = !empty($supplierIds) ? \Modules\Product\Models\Supplier::whereIn('id', $supplierIds)->orderBy('name')->get()->keyBy('id') : collect(); } else { $supplierIds = collect($shipments)->pluck('supplier_id')->unique()->filter()->values()->all(); $suppliers = !empty($supplierIds) ? \Modules\Product\Models\Supplier::whereIn('id', $supplierIds)->orderBy('name')->get()->keyBy('id') : collect(); $supplierRefs = collect($supplierIds)->map(function ($id) { return (object) ['supplier_id' => $id, 'ref_no' => 'SUP_' . $id]; }); } $cardCount = 0; @endphp @foreach ($supplierRefs as $ref) @php $supplier = $suppliers->get($ref->supplier_id); $productQuantity = collect($shipments) ->where('supplier_id', $ref->supplier_id) ->sum('qty'); $cardCount++; @endphp @if ($productQuantity > 0)
SUPPLIER QR CODES

DEPLETION JOB NO: {{ $job_no }}
SUPPLIER REFERENCE: {{ $ref->ref_no }}
@php $supplierQrcode = base64_encode(QrCode::format('svg')->size(200)->errorCorrection('H')->generate($ref->ref_no)); @endphp
Supplier: {{ $supplier->name ?? '' }}
Product Quantity: {{ $productQuantity }}
{{-- @if ($cardCount % 2 == 0)
@endif --}} @endif @endforeach
{{-- ======================= DISTRIBUTION CENTER QR CODES ======================= --}}

DISTRIBUTION CENTER QR CODES

@php $dcRefs = isset($refs) ? collect($refs)->where('ref_type', 'distributor')->values() : collect(); if ($dcRefs->isNotEmpty()) { $dcIds = $dcRefs->pluck('distribution_center_id')->unique()->filter()->values()->all(); $supplierIds = $dcRefs->pluck('supplier_id')->unique()->filter()->values()->all(); $distributionCenters = !empty($dcIds) ? \Modules\Warehouses\Models\Warehouse::whereIn('id', $dcIds)->get()->keyBy('id') : collect(); $suppliers = !empty($supplierIds) ? \Modules\Product\Models\Supplier::whereIn('id', $supplierIds)->get()->keyBy('id') : collect(); } else { $dcSupplierPairs = collect($shipments)->map(function ($shipment) { return [ 'distribution_center_id' => $shipment->distribution_center_id, 'supplier_id' => $shipment->supplier_id, ]; })->unique(function ($item) { return $item['distribution_center_id'] . '-' . $item['supplier_id']; })->values()->all(); $dcIds = collect($dcSupplierPairs)->pluck('distribution_center_id')->unique()->filter()->values()->all(); $supplierIds = collect($dcSupplierPairs)->pluck('supplier_id')->unique()->filter()->values()->all(); $distributionCenters = !empty($dcIds) ? \Modules\Warehouses\Models\Warehouse::whereIn('id', $dcIds)->get()->keyBy('id') : collect(); $suppliers = !empty($supplierIds) ? \Modules\Product\Models\Supplier::whereIn('id', $supplierIds)->get()->keyBy('id') : collect(); $dcRefs = collect($dcSupplierPairs)->map(function ($p) { return (object) [ 'distribution_center_id' => $p['distribution_center_id'], 'supplier_id' => $p['supplier_id'], 'ref_no' => 'DC_' . ($p['distribution_center_id'] ?? '') . '_SUP_' . ($p['supplier_id'] ?? ''), ]; }); } $cardCount = 0; @endphp @foreach ($dcRefs as $ref) @php $dc = $distributionCenters->get($ref->distribution_center_id); $supplier = $suppliers->get($ref->supplier_id); $productQuantity = collect($shipments) ->where('supplier_id', $ref->supplier_id) ->where('distribution_center_id', $ref->distribution_center_id) ->sum('qty'); $cardCount++; @endphp @if ($productQuantity > 0)
DISTRIBUTION CENTER QR CODES

DEPLETION JOB NO: {{ $job_no }}
DISTRIBUTION CENTER REFERENCE: {{ $ref->ref_no }}
@php $dcQrcode = base64_encode(QrCode::format('svg')->size(200)->errorCorrection('H')->generate($ref->ref_no)); @endphp
Distribution Center: {{ $dc->name ?? '' }}
Supplier: {{ $supplier->name ?? '' }}
Product Quantity: {{ $productQuantity }}
{{-- @if ($cardCount % 2 == 0)
@endif --}} @endif @endforeach
{{-- ======================= SHIPMENT QR CODES ======================= --}}

SHIPMENT QR CODES

@php $cardCount = 0; @endphp @foreach ($shipments as $shipment) @php $cardCount++; $productCount = collect($shipments) ->where('supplier_id', $shipment->supplier_id) ->where('distribution_center_id', $shipment->distribution_center_id) ->unique('product_id') ->count(); @endphp
SHIPMENT QR CODES

DEPLETION JOB NO: {{ $job_no }}
SHIPMENT REFERENCE: {{ $shipment->ref_no }} @if (!empty($shipment->ref_no))
@php $qrcode = base64_encode(QrCode::format('svg')->size(200)->errorCorrection('H')->generate($shipment->ref_no)); @endphp
@else

No QR code available.

@endif Supplier: {{ $shipment->supplier ? $shipment->supplier->name : '' }}
Product: {{ $shipment->product ? $shipment->product->product_name . ' - ' . $shipment->product->zap_product_id : '' }}
Quantity: {{ number_format($shipment->qty, 0) }}
Destination: {{ $shipment->distribution ? $shipment->distribution->name : '' }} {{--
Product Count: {{ $productCount }} --}}
{{-- @if ($cardCount % 2 == 0)
@endif --}} @endforeach