@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
Aktif
Suspend
Nonaktif
| 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 @elseerror 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 pelangganMulai dengan menambahkan pelanggan pertama add Tambah Pelanggan Pertama |
||||||||||