{{-- ===== HEADER (mPDF htmlheader) ===== --}}
@if (!empty($logo_base64)) Logo @endif

{{ $company_name ?? 'PT. PERUSAHAAN' }}

LAPORAN SEKURITAS

Periode : @if (!empty($tanggal_columns)) {{ \Carbon\Carbon::parse($tanggal_columns[0])->translatedFormat('d F Y') }} — {{ \Carbon\Carbon::parse(end($tanggal_columns))->translatedFormat('d F Y') }} @else {{ \Carbon\Carbon::parse($tanggal_selected)->translatedFormat('d F Y') }} @endif

CONFIDENTIAL


{{-- ===== FOOTER (mPDF htmlfooter) ===== --}}

LAPORAN DATA SEKURITAS SAHAM MSJA

{{-- ===== RINGKASAN UMUM ===== --}}

Tanggal Laporan : {{ \Carbon\Carbon::parse($tanggal_selected)->translatedFormat('d F Y') }}

{{ ($view_mode ?? 'saham') == 'investor' ? 'Total Jumlah Investor :' : 'Total Jumlah Kepemilikan Saham :' }} {{ number_format($total_saham_keseluruhan ?? 0, 0, ',', '.') }}

Jumlah Sekuritas : {{ count($sekuritas_report ?? []) }}

@if (!empty($tanggal_columns))

Periode Data : {{ \Carbon\Carbon::parse($tanggal_columns[0])->translatedFormat('d F Y') }} - {{ \Carbon\Carbon::parse(end($tanggal_columns))->translatedFormat('d F Y') }}

@endif
@php $topN = 10; $categoryIndex = 0; $hasDetail = false; $wTgl = '75px'; //legbar tetap // Sekuritas top/remaining $sekuritasAll = $sekuritas_report ?? []; $topSekuritas = array_slice($sekuritasAll, 0, $topN); $remainingSekuritas = array_slice($sekuritasAll, $topN); $remainingSekuritasCount = count($remainingSekuritas); if ($remainingSekuritasCount > 0) $hasDetail = true; // Kategori: check if any has > topN foreach ($kategori_report ?? [] as $ks) { if (count($ks['investors'] ?? []) > $topN) { $hasDetail = true; break; } } @endphp @if (!empty($sekuritas_report) || !empty($kategori_report)) {{-- TABLE 1: SEKURITAS (Pemegang Rekening) — Top 10 --}}
DATA SEKURITAS / PEMEGANG REKENING SEKURITAS

Total Sekuritas : {{ count($sekuritasAll) }} @if ($remainingSekuritasCount > 0)  |  Menampilkan Top {{ $topN }}, detail lengkap di Lampiran @endif

@if (!empty($topSekuritas)) @foreach ($tanggal_columns as $date) @endforeach @php $no = 1; @endphp @foreach ($topSekuritas as $row) @foreach ($tanggal_columns as $date) @endforeach @endforeach {{-- Baris "Lainnya" jika ada sisa --}} @if ($remainingSekuritasCount > 0) @foreach ($tanggal_columns as $date) @php $othersTotal = 0; foreach ($remainingSekuritas as $rs) { $othersTotal += ($rs['dates'][$date]['value'] ?? 0); } @endphp @endforeach @endif @foreach ($tanggal_columns as $date) @endforeach
No Kode Pemegang Rekening Nama Pemegang Rekening{{ \Carbon\Carbon::parse($date)->format('d/m/Y') }}
{{ $no++ }} {{ $row['kode_pemegang_rekening'] }} {{ $row['nama_pemegang_rekening'] }} @if ($row['dates'][$date]['value'] !== null) {{ number_format($row['dates'][$date]['value'], 0, ',', '.') }} @if ($row['dates'][$date]['change'] === 'up') ▲ @elseif ($row['dates'][$date]['change'] === 'down') ▼ @endif @else — @endif
… + {{ $remainingSekuritasCount }} sekuritas lainnya (lihat Lampiran) {{ number_format($othersTotal, 0, ',', '.') }}
TOTAL{{ number_format($sekuritas_totals[$date]['value'] ?? 0, 0, ',', '.') }}
@else

Tidak ada data sekuritas untuk ditampilkan.

@endif
@php $categoryIndex++; @endphp {{-- TABLE 2: KATEGORI KHUSUS (List Group) — Top 10 --}} @if (!empty($kategori_report)) @foreach ($kategori_report as $section) @php $investors = $section['investors'] ?? []; $topInvestors = array_slice($investors, 0, $topN); $remainingInvestors = array_slice($investors, $topN); $remainingCount = count($remainingInvestors); $no = 1; @endphp @if ($categoryIndex > 0)
@endif @php $categoryIndex++; @endphp
{{ $section['kategori']->nama_kategori }} LIST GROUP

Total Investor : {{ $section['total_investor'] }}  |  {{ ($view_mode ?? 'saham') == 'investor' ? 'Total Investor :' : 'Total Saham :' }} {{ number_format($section['total_saham'], 0, ',', '.') }} @if ($remainingCount > 0)  |  Menampilkan Top {{ $topN }}, detail lengkap di Lampiran @endif

@if (!empty($topInvestors)) @foreach ($tanggal_columns as $date) @endforeach @foreach ($topInvestors as $investor) @foreach ($tanggal_columns as $date) @endforeach @endforeach {{-- Baris "Lainnya" jika ada sisa --}} @if ($remainingCount > 0) @foreach ($tanggal_columns as $date) @php $othersTotal = 0; foreach ($remainingInvestors as $ri) { $othersTotal += ($ri['dates'][$date]['value'] ?? 0); } @endphp @endforeach @endif @foreach ($tanggal_columns as $date) @endforeach
No Kode Pemegang Rekening Nama Pemegang Rekening{{ \Carbon\Carbon::parse($date)->format('d/m/Y') }}
{{ $no++ }} {{ $investor['kode_pemegang_rekening'] }} {{ $investor['nama_pemegang_rekening'] }} @if ($investor['dates'][$date]['value'] !== null) {{ number_format($investor['dates'][$date]['value'], 0, ',', '.') }} @if ($investor['dates'][$date]['change'] === 'up') ▲ @elseif ($investor['dates'][$date]['change'] === 'down') ▼ @endif @else — @endif
… + {{ $remainingCount }} investor lainnya (lihat Lampiran) {{ number_format($othersTotal, 0, ',', '.') }}
TOTAL{{ number_format($section['totals'][$date]['value'] ?? 0, 0, ',', '.') }}
@else

Tidak ada data investor untuk kategori ini.

@endif
@endforeach @endif {{-- ============================================================ --}} {{-- GRAND TOTAL SUMMARY TABLE --}} {{-- ============================================================ --}} @if ($categoryIndex > 0)
@endif @php $categoryIndex++; @endphp @foreach ($tanggal_columns as $date) @endforeach {{-- Baris Pemegang Rekening --}} @foreach ($tanggal_columns as $date) @endforeach {{-- Baris per kategori --}} @foreach ($kategori_report ?? [] as $section) @foreach ($tanggal_columns as $date) @endforeach @endforeach @foreach ($tanggal_columns as $date) @endforeach
Keterangan{{ \Carbon\Carbon::parse($date)->format('d/m/Y') }}
Data Sekuritas / Pemegang Rekening{{ number_format($sekuritas_totals[$date]['value'] ?? 0, 0, ',', '.') }}
{{ $section['kategori']->nama_kategori }}{{ number_format($section['totals'][$date]['value'] ?? 0, 0, ',', '.') }}
GRAND TOTAL{{ number_format($grand_totals[$date]['value'] ?? 0, 0, ',', '.') }}
{{-- LAMPIRAN DETAIL (SELURUH DATA) --}} @if ($hasDetail)

LAMPIRAN — DETAIL LENGKAP SEKURITAS

Daftar seluruh data per bagian — Periode {{ \Carbon\Carbon::parse($tanggal_columns[0])->format('d/m/Y') }} s.d. {{ \Carbon\Carbon::parse(end($tanggal_columns))->format('d/m/Y') }}


@php $detailCategoryIndex = 0; @endphp {{-- Lampiran: Sekuritas --}} @if (count($sekuritasAll) > 0) @if ($detailCategoryIndex > 0)
@endif @php $detailCategoryIndex++; @endphp
DATA SEKURITAS / PEMEGANG REKENING SEKURITAS

{{ count($sekuritasAll) }} Sekuritas  |  {{ ($view_mode ?? 'saham') == 'investor' ? 'Total Investor :' : 'Total Saham :' }} {{ number_format($sekuritas_totals[end($tanggal_columns)]['value'] ?? 0, 0, ',', '.') }}

@foreach ($tanggal_columns as $date) @endforeach @php $detailNo = 1; @endphp @foreach ($sekuritasAll as $row) @foreach ($tanggal_columns as $date) @endforeach @endforeach @foreach ($tanggal_columns as $date) @endforeach
No Kode Pemegang Rekening Nama Pemegang Rekening{{ \Carbon\Carbon::parse($date)->format('d/m/Y') }}
{{ $detailNo++ }} {{ $row['kode_pemegang_rekening'] }} {{ $row['nama_pemegang_rekening'] }} @if ($row['dates'][$date]['value'] !== null) {{ number_format($row['dates'][$date]['value'], 0, ',', '.') }} @if ($row['dates'][$date]['change'] === 'up') ▲ @elseif ($row['dates'][$date]['change'] === 'down') ▼ @endif @else — @endif
TOTAL{{ number_format($sekuritas_totals[$date]['value'] ?? 0, 0, ',', '.') }}
@endif {{-- Lampiran: Kategori List Group --}} @foreach ($kategori_report ?? [] as $section) @if ($detailCategoryIndex > 0)
@endif @php $detailCategoryIndex++; @endphp @if (count($section['investors'] ?? []) > 0)
{{ $section['kategori']->nama_kategori }} LIST GROUP

{{ $section['total_investor'] }} Investor  |  {{ ($view_mode ?? 'saham') == 'investor' ? 'Total Investor :' : 'Total Saham :' }} {{ number_format($section['total_saham'], 0, ',', '.') }}

@foreach ($tanggal_columns as $date) @endforeach @php $detailNo = 1; @endphp @foreach ($section['investors'] as $investor) @foreach ($tanggal_columns as $date) @endforeach @endforeach @foreach ($tanggal_columns as $date) @endforeach
No Kode Pemegang Rekening Nama Pemegang Rekening{{ \Carbon\Carbon::parse($date)->format('d/m/Y') }}
{{ $detailNo++ }} {{ $investor['kode_pemegang_rekening'] }} {{ $investor['nama_pemegang_rekening'] }} @if ($investor['dates'][$date]['value'] !== null) {{ number_format($investor['dates'][$date]['value'], 0, ',', '.') }} @if ($investor['dates'][$date]['change'] === 'up') ▲ @elseif ($investor['dates'][$date]['change'] === 'down') ▼ @endif @else — @endif
TOTAL{{ number_format($section['totals'][$date]['value'] ?? 0, 0, ',', '.') }}
@endif @endforeach @endif @else

Tidak ada data untuk ditampilkan.

Silakan pilih tanggal dan filter untuk menghasilkan laporan.

@endif