@extends('reports::layouts.master_pdf') @php $subdomain = request()->route()->parameter('subdomain'); $is_student = app(\Hyn\Tenancy\Repositories\HostnameRepository::class)->findByHostname($subdomain)->website->company->is_student; $isAr = app()->getLocale() === 'ar'; // Translate a period label: keep numbers in Western digits, translate words to Arabic $translateLabel = function(string $label) use ($isAr): string { if (! $isAr) return $label; if ($label === 'Current') return 'الحالي'; return str_replace(' Days', ' يوم', $label); }; // Fiscal year date range $fyRange = null; if (! empty($data['fiscalYear'])) { $fy = $data['fiscalYear']; $startFormatted = \Carbon\Carbon::createFromDate($fy->year, $fy->month, $fy->day)->format('d-m-Y'); $endFormatted = \Carbon\Carbon::parse($fy->closing_date)->format('d-m-Y'); $fyRange = $startFormatted . ' — ' . $endFormatted; } // Cost center display names $ccNames = []; if (! empty($data['costCenters'])) { foreach ($data['costCenters'] as $cc) { $ccNames[] = $isAr ? ($cc['name_ar'] ?? $cc['name_en']) : ($cc['name_en'] ?? $cc['name_ar']); } } @endphp @section('extra_styles') @if(app()->getLocale() == 'en') @else @endif @endsection @section('koolreport')
@if($is_student) @include('draft_report') @endif

@lang('reports::reports.customer_aging.title')

{{ $data['companyName'] }}

@if($fyRange)

@lang('reports::reports.customer_aging.fiscal_year'): {{ $fyRange }}

@endif @if(! empty($ccNames))

@lang('reports::reports.cost_center'): {{ implode(' | ', $ccNames) }}

@endif

@lang('reports::reports.customer_aging.as_of') {{ \Carbon\Carbon::parse($data['filters']['as_of_date'])->format('d-m-Y') }}

{{-- Report Metadata --}}
@lang('reports::reports.customer_aging.generated_at'): {{ $data['generatedAt'] }}
@lang('reports::reports.customer_aging.aging_method'): @if($data['filters']['aging_method'] === 'due_date') @lang('reports::reports.customer_aging.by_due_date') @else @lang('reports::reports.customer_aging.by_transaction_date') @endif
@lang('reports::reports.customer_aging.days_per_period'): {{ $data['filters']['days_per_period'] }} @lang('reports::reports.customer_aging.days')
@lang('reports::reports.customer_aging.num_periods'): {{ $data['filters']['number_of_periods'] }}
{{-- Summary Table --}} @if(count($data['summaryData']) > 0) @for($i = 1; $i <= $data['filters']['number_of_periods']; $i++) @endfor @foreach($data['summaryData'] as $row) @for($i = 1; $i <= $data['filters']['number_of_periods']; $i++) @php $bucketAmt = $row['aging_buckets']['period_' . $i] ?? 0; $bucketClass = 'amount-zero'; if ($bucketAmt > 0) { if ($i == 1) $bucketClass = 'amount-warning'; elseif ($i == 2) $bucketClass = 'amount-danger'; elseif ($i == 3) $bucketClass = 'amount-critical'; else $bucketClass = 'amount-severe'; } @endphp @endfor @endforeach @for($i = 1; $i <= $data['filters']['number_of_periods']; $i++) @php $gtAmt = $data['grandTotals']['period_' . $i] ?? 0; $gtClass = 'amount-zero'; if ($gtAmt > 0) { if ($i == 1) $gtClass = 'amount-warning'; elseif ($i == 2) $gtClass = 'amount-danger'; elseif ($i == 3) $gtClass = 'amount-critical'; else $gtClass = 'amount-severe'; } @endphp @endfor
@lang('reports::reports.customer_aging.customer') @lang('reports::reports.customer_aging.total') {{ $translateLabel($data['periodLabels']['current'] ?? 'Current') }}{{ $translateLabel($data['periodLabels']['period_' . $i] ?? 'Period ' . $i) }}@lang('reports::reports.customer_aging.transactions')
{{ $row['customer_name'] }} {{ number_format($row['total_outstanding'], 2) }} {{ number_format($row['aging_buckets']['current'] ?? 0, 2) }} {{ number_format($bucketAmt, 2) }} {{ $row['transaction_count'] }}
@lang('reports::reports.customer_aging.grand_total') {{ number_format($data['grandTotals']['total_outstanding'] ?? 0, 2) }} {{ number_format($data['grandTotals']['current'] ?? 0, 2) }}{{ number_format($gtAmt, 2) }}{{ $data['grandTotals']['total_transactions'] ?? 0 }}
@else

@lang('reports::reports.customer_aging.no_data')

@endif
@endsection