@php $pdfLocale = app()->getLocale(); $isRtl = $pdfLocale === 'ar'; @endphp Supplier Report - {{$provider['provider_name']}} @php // Price formatting helper function $priceFormat = $setting['price_format'] ?? null; function formatPrice($number, $decimals = 2, $priceFormat = null) { $number = (float) $number; $decimals = (int) $decimals; if (empty($priceFormat)) { return number_format($number, $decimals, '.', ','); } switch ($priceFormat) { case 'comma_dot': return number_format($number, $decimals, '.', ','); case 'dot_comma': return number_format($number, $decimals, ',', '.'); case 'space_comma': return number_format($number, $decimals, ',', ' '); default: return number_format($number, $decimals, '.', ','); } } @endphp
@php $logoSrc = null; if (!empty($setting['logo'])) { $logoPath = public_path('images/'.$setting['logo']); if (file_exists($logoPath) && is_readable($logoPath)) { $logoData = @file_get_contents($logoPath); if ($logoData !== false) { $logoB64 = base64_encode($logoData); $logoExt = strtolower(pathinfo($logoPath, PATHINFO_EXTENSION)); $logoMime = $logoExt === 'svg' ? 'image/svg+xml' : (in_array($logoExt, ['png','jpeg','jpg','gif','webp'], true) ? 'image/'.$logoExt : 'image/png'); if ($logoExt === 'jpg') { $logoMime = 'image/jpeg'; } $logoSrc = 'data:'.$logoMime.';base64,'.$logoB64; } } } @endphp @if($logoSrc) Logo @endif
{{ __('pdf.supplier_report') }}
{{$provider['provider_name']}}
{{ __('pdf.supplier_details') }}
{{$provider['provider_name']}}
{{ __('pdf.phone') }}{{ $isRtl ? '' : ':' }} {{$provider['phone']}}
{{ __('pdf.total_purchases') }}{{ $isRtl ? '' : ':' }} {{$provider['total_purchase']}}
{{ __('pdf.total_amount') }}{{ $isRtl ? '' : ':' }} {{$symbol}} {{formatPrice((float)$provider['total_amount'], 2, $priceFormat)}}
{{ __('pdf.total_paid') }}{{ $isRtl ? '' : ':' }} {{$symbol}} {{formatPrice((float)$provider['total_paid'], 2, $priceFormat)}}
{{ __('pdf.purchase_due') }}{{ $isRtl ? '' : ':' }} {{$symbol}} {{formatPrice((float)$provider['due'], 2, $priceFormat)}}
{{ __('pdf.return_due') }}{{ $isRtl ? '' : ':' }} {{$symbol}} {{formatPrice((float)$provider['return_Due'], 2, $priceFormat)}}
{{ __('pdf.company_info') }}
{{$setting['CompanyName']}}
{{ __('pdf.phone') }}{{ $isRtl ? '' : ':' }} {{$setting['CompanyPhone']}}
{{ __('pdf.email') }}{{ $isRtl ? '' : ':' }} {{$setting['email']}}
{{ __('pdf.address') }}{{ $isRtl ? '' : ':' }} {{$setting['CompanyAdress']}}

{{ __('pdf.all_purchases') }}

@php $rowIndex = 0; @endphp @foreach ($purchases as $purchase) @php $rowIndex++; @endphp @endforeach
{{ __('pdf.date') }} {{ __('pdf.ref') }} {{ __('pdf.paid') }} {{ __('pdf.due') }} {{ __('pdf.payment_status') }}
@php $dateFormat = $setting['date_format'] ?? 'YYYY-MM-DD'; $dateTime = \Carbon\Carbon::parse($purchase['date']); $phpDateFormat = str_replace(['YYYY', 'MM', 'DD'], ['Y', 'm', 'd'], $dateFormat); // Check if original date string contains time $hasTime = strpos($purchase['date'], ' ') !== false && preg_match('/\d{1,2}:\d{2}/', $purchase['date']); if ($hasTime) { $formattedDate = $dateTime->format($phpDateFormat . ' H:i'); // Preserve seconds if they exist if (preg_match('/:\d{2}:\d{2}/', $purchase['date'])) { $formattedDate = $dateTime->format($phpDateFormat . ' H:i:s'); } } else { $formattedDate = $dateTime->format($phpDateFormat); } @endphp {{$formattedDate}} {{$purchase['Ref']}} {{$symbol}} {{formatPrice((float)$purchase['paid_amount'], 2, $priceFormat)}} {{$symbol}} {{formatPrice((float)$purchase['due'], 2, $priceFormat)}} @php $paymentColors = [ 'paid' => ['bg' => '#d1fae5', 'color' => '#065f46'], 'partial' => ['bg' => '#fef3c7', 'color' => '#92400e'], 'unpaid' => ['bg' => '#fee2e2', 'color' => '#991b1b'], ]; $paymentKey = strtolower($purchase['payment_status']); $paymentStyle = $paymentColors[$paymentKey] ?? ['bg' => '#e5e7eb', 'color' => '#374151']; @endphp {{$purchase['payment_status']}}

{{ __('pdf.supplier_report') }}