Daftar Pelanggan Berdasarkan Port OLT
@isset($port_olts) @forelse ($port_olts as $port) @php // Ambil seluruh klien pada port ini $allPortClients = $port->clients ?? collect(); // Hitung Putus Permanen (P) $countP = $allPortClients->filter(function($c) { return $c->stats && str_contains(strtolower($c->stats->nama_stats), 'putus permanen'); })->count(); // Hitung Gratis (G) $countG = $allPortClients->filter(function($c) { return $c->stats && str_contains(strtolower($c->stats->nama_stats), 'gratis'); })->count(); // Hitung Putus Sementara (S) $countS = $allPortClients->filter(function($c) { return $c->stats && str_contains(strtolower($c->stats->nama_stats), 'putus sementara'); })->count(); // Urutkan klien: 1 = Gratis, 2 = Putus Sementara, 3 = Putus Permanen, 4 = Aktif/Lainnya $activeClients = $allPortClients->sort(function ($a, $b) { $getPriority = function ($client) { $stat = $client->stats ? strtolower($client->stats->nama_stats) : ''; if (str_contains($stat, 'gratis')) return 1; if (str_contains($stat, 'putus sementara')) return 2; if (str_contains($stat, 'putus permanen')) return 3; return 4; }; return $getPriority($a) <=> $getPriority($b); }); @endphp
@forelse ($activeClients as $client) @php $statName = $client->stats ? strtolower($client->stats->nama_stats) : ''; // Menentukan warna background pudar berdasarkan status $cardBgStyle = 'background-color: #ffffff;'; // Default putih untuk aktif/lainnya if (str_contains($statName, 'gratis')) { $cardBgStyle = 'background-color: #ecfdf5; border-color: #a7f3d0;'; // Hijau pudar } elseif (str_contains($statName, 'putus sementara')) { $cardBgStyle = 'background-color: #fefce8; border-color: #fde047;'; // Kuning pudar } elseif (str_contains($statName, 'putus permanen')) { $cardBgStyle = 'background-color: #fef2f2; border-color: #fecaca;'; // Merah pudar } @endphp
{{ $client->no_pelanggan }} - {{ $client->name }}
{{ $client->internet_package->name ?? 'Tanpa Paket' }}
@if($client->stats) @php $namaStats = strtolower($client->stats->nama_stats); @endphp @if(str_contains($namaStats, 'aktif')) {{ $client->stats->nama_stats }} @elseif(str_contains($namaStats, 'putus sementara')) {{ $client->stats->nama_stats }} @elseif(str_contains($namaStats, 'putus')) {{ $client->stats->nama_stats }} @else {{ $client->stats->nama_stats }} @endif @endif ODP: {{ $client->odp->nama_odp ?? '-' }}
Pemasangan: {{ $client->tanggal ? \Carbon\Carbon::parse($client->tanggal)->format('d-m-Y') : '-' }}

{{ $client->address ?? $client->alamat ?? '-' }}

@empty
Tidak ada klien pada port OLT ini.
@endforelse
@empty
Belum ada data Port OLT tersedia.
@endforelse @endisset

Silakan pilih lokasi OLT terlebih dahulu untuk menampilkan daftar port.