@extends('layout.app') @section('title', 'Data Pelanggan - Sistem Manajemen ISP') @section('breadcrumb', 'Pelanggan') @section('content') @php use App\Models\Pelanggan; $totalPelanggan = Pelanggan::count(); $pelangganAktif = Pelanggan::where('status_layanan', 'Aktif')->count(); $pelangganSuspend = Pelanggan::where('status_layanan', 'Suspend')->count(); $pelangganNonaktif = Pelanggan::where('status_layanan', 'Nonaktif')->count(); @endphp

Total Pelanggan

{{ $totalPelanggan }}

people

Aktif

{{ $pelangganAktif }}

check_circle

Suspend

{{ $pelangganSuspend }}

pause_circle

Nonaktif

{{ $pelangganNonaktif }}

cancel

Daftar Pelanggan
add Tambah Pelanggan
@if(request()->anyFilled(['search', 'status_layanan', 'area_id', 'paket_id'])) @endif
@forelse($pelanggan as $index => $p) @empty @endforelse
No No. Pelanggan Nama Telepon Area Paket Status Tanggal Aktif Tanggal Berakhir IP PPPoE
{{ $pelanggan->firstItem() + $index }}
{{ $p->nomor_pelanggan ?? 'N/A' }}
{{ $p->nama }}
@if($p->email)

{{ $p->email }}

@endif
{{ $p->nomor_telepon }} @if($p->area) {{ $p->area->kecamatan ?? '-' }}

{{ $p->area->kabupaten_kota ?? '' }} {{ $p->area->desa_kelurahan ?? '' }}

@else - @endif
{{ $p->paket->nama_paket ?? '-' }}

{{ $p->paket->kecepatan ?? '' }}

@if($p->status_layanan == 'Aktif') Aktif @elseif($p->status_layanan == 'Suspend') Suspend @else Nonaktif @endif {{ $p->tanggal_aktif ? $p->tanggal_aktif->format('d/m/Y') : '-' }} @php // Get latest tagihan periode, or calculate from tanggal_aktif $periodeAwal = null; $tanggalBerakhir = null; if ($p->tagihan && $p->tagihan->count() > 0) { // Get tagihan with latest periode_akhir $latestTagihan = $p->tagihan->sortByDesc(function($tagihan) { return $tagihan->periode_akhir ? $tagihan->periode_akhir->format('Y-m-d') : ''; })->first(); if ($latestTagihan) { $periodeAwal = $latestTagihan->periode_awal; $tanggalBerakhir = $latestTagihan->periode_akhir; } } // If no tagihan, calculate from tanggal_aktif // Periode: dari tanggal aktif ke tanggal yang sama di bulan berikutnya if (!$tanggalBerakhir && $p->tanggal_aktif) { $tanggalAktif = \Carbon\Carbon::parse($p->tanggal_aktif); $periodeAwal = $tanggalAktif->copy(); $tanggalBerakhir = $tanggalAktif->copy()->addMonth(); } @endphp @if($tanggalBerakhir) @php $tanggalBerakhirCarbon = \Carbon\Carbon::parse($tanggalBerakhir); $now = \Carbon\Carbon::now(); $daysUntilExpiry = $now->diffInDays($tanggalBerakhirCarbon, false); @endphp {{ $tanggalBerakhirCarbon->format('d/m/Y') }} @if($periodeAwal)

Periode: {{ \Carbon\Carbon::parse($periodeAwal)->format('d/m/Y') }} - {{ $tanggalBerakhirCarbon->format('d/m/Y') }}

@endif @if($daysUntilExpiry > 0)

schedule {{ $daysUntilExpiry }} hari lagi

@elseif($daysUntilExpiry == 0)

warning Berakhir hari ini

@else

error Terlambat {{ abs($daysUntilExpiry) }} hari

@endif @else - @endif
@if($p->local_address_pppoe || $p->ip_address) @if($p->local_address_pppoe) Local: {{ $p->local_address_pppoe }} @endif @if($p->ip_address)

Remote: {{ $p->ip_address }}

@endif @if(!$p->local_address_pppoe)

Local address belum tersinkron

@endif @else - @endif
people
Belum ada pelanggan

Mulai dengan menambahkan pelanggan pertama

add Tambah Pelanggan Pertama
@if($pelanggan->hasPages()) @endif
@endsection @section('scripts') @endsection