update: sanity check
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
use App\Models\Wilayah\Provinsi;
|
||||
use App\Models\Wilayah\KabupatenKota;
|
||||
use App\Models\Wilayah\Kecamatan;
|
||||
use App\Models\Wilayah\DesaKelurahan;
|
||||
|
||||
class WilayahDashboard extends Component
|
||||
{
|
||||
public function render(): View|Closure|string
|
||||
{
|
||||
$kodeJawa = ['31', '32', '33', '34', '35', '36'];
|
||||
|
||||
$totalProvinsi = Provinsi::count();
|
||||
$totalKabKota = KabupatenKota::count();
|
||||
$totalKecamatan = Kecamatan::count();
|
||||
$totalDesaKelurahan = DesaKelurahan::count();
|
||||
|
||||
|
||||
$provinsiAktif = Provinsi::has('kabupatenKota')->count();
|
||||
|
||||
$provinsiKosong = $totalProvinsi - $provinsiAktif;
|
||||
|
||||
$totalKabupaten = KabupatenKota::whereRaw("SUBSTRING(kode, 3, 2) < '70'")->count();
|
||||
$totalKota = KabupatenKota::whereRaw("SUBSTRING(kode, 3, 2) >= '70'")->count();
|
||||
|
||||
if ($totalKabupaten == 0 && $totalKota == 0 && $totalKabKota > 0) {
|
||||
$totalKabupaten = $totalKabKota;
|
||||
}
|
||||
|
||||
$kecamatanPerdesaan = Kecamatan::whereHas('kabupatenKota', function($query) {
|
||||
$query->whereRaw("SUBSTRING(kode, 3, 2) < '70'");
|
||||
})->count();
|
||||
|
||||
$kecamatanPerkotaan = max(0, $totalKecamatan - $kecamatanPerdesaan);
|
||||
|
||||
$terpetakan = DesaKelurahan::whereNotNull('path')->count();
|
||||
$belumTerpetakan = max(0, $totalDesaKelurahan - $terpetakan);
|
||||
|
||||
$totalDesa = DesaKelurahan::where('nama', 'like', 'DESA%')->count() ?: $totalDesaKelurahan;
|
||||
$totalKelurahan = DesaKelurahan::where('nama', 'like', 'KEL%')->count();
|
||||
|
||||
$data = [
|
||||
'totalProvinsi' => $totalProvinsi,
|
||||
'provinsiAktif' => $provinsiAktif,
|
||||
'provinsiKosong' => $provinsiKosong,
|
||||
|
||||
'totalKabKota' => $totalKabKota,
|
||||
'totalKabupaten' => $totalKabupaten,
|
||||
'totalKota' => $totalKota,
|
||||
|
||||
'totalKecamatan' => $totalKecamatan,
|
||||
'kecamatanPerdesaan' => $kecamatanPerdesaan,
|
||||
'kecamatanPerkotaan' => $kecamatanPerkotaan,
|
||||
|
||||
'totalDesaKelurahan' => $totalDesaKelurahan,
|
||||
'totalDesa' => $totalDesa,
|
||||
'totalKelurahan' => $totalKelurahan,
|
||||
'terpetakan' => $terpetakan,
|
||||
'belumTerpetakan' => $belumTerpetakan,
|
||||
];
|
||||
|
||||
return view('components.wilayah-dashboard', $data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user