<?php
namespace App\Helpers;
use Illuminate\Support\Facades\DB;
use App\Models\Kecamatan;
use App\Models\Kelurahan;
use App\Models\User;
use App\Models\DataWarga;
use App\Models\Dpt;
use App\Models\SuratDukungan;
use App\Models\Kabupaten;
use App\Models\UserLog;
use Illuminate\Support\Facades\Auth;
class Helper {
public static function jumlahKabupaten()
{
return Kabupaten::count();
}
public static function jumlahKecamatan()
{
return Kecamatan::count();
}
public static function jumlahKelurahan()
{
return Kelurahan::count();
}
public static function jumlahUser()
{
return User::count();
}
public static function jumlahDPTBelumTerdaftar()
{
return Dpt::where('status', 1)->count();
}
public static function jumlahWarga()
{
// return DataWarga::where('user_id',Auth::user()->id)->count();
// if(Auth::user()->role == 1) {
$total_data = 0;
$warga = [
['6401', 'KAB. PASER',0],
['6402', 'KAB. KUTAI KARTANEGARA', 0],
['6403', 'KAB. BERAU', 0],
['6407', 'KAB. KUTAI BARAT',0],
['6408', 'KAB. KUTAI TIMUR',0,],
['6409', 'KAB. PENAJAM PASER UTARA',0],
['6411', 'KAB. MAHAKAM ULU',0],
['6471', 'KOTA BALIKPAPAN',0],
['6472', 'KOTA SAMARINDA',0],
['6474', 'KOTA BONTANG',0],
];
foreach ($warga as $a) {
$total_data += $a[2];
}
return $total_data + DataWarga::count();
// } else {
// }
}
public static function surdukKeluar() {
return SuratDukungan::sum('surduk_keluar');
}
public static function surdukMasuk() {
return 0 + SuratDukungan::sum('surduk_masuk');
}
public static function jumlahWargaPerHari($hari)
{
return DataWarga::whereDate('created_at',$hari)->count();
}
public static function userLog()
{
$logs = UserLog::limit(10)->with('user')->orderBy('created_at','DESC')->get();
if(Auth::user()->role == 0){
$logs = UserLog::where('user_id',Auth::user()->id)->orderBy('created_at','DESC')->limit(10)->get();
}
return $logs;
}
public static function grafikPie($per)
{
switch ($per) {
case 'kabupaten':
// $kecamatans = Kecamatan::orderBy('nama_kecamatan','ASC')->get();
$k = [];
$w = [];
$c = [];
$total = 0;
// foreach ($kecamatans as $kecamatan) {
// $k[] = $kecamatan->nama_kecamatan;
// $c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
// $k_i = $kecamatan->id;
// $hitung = DataWarga::whereHas('kelurahan',function ($q)use($k_i)
// {
// $q->where('kecamatan_id',$k_i);
// })->count();
// $w[] = $hitung;
// $total += $hitung;
// }
// $warga = [
// ['Kukar ', '50000'],
// ['Balikpapan ', '60000'],
// ['Bontang ', '15000'],
// ['Kutim ', '25000'],
// ['PPU ', '15000'],
// ['Mahulu ', '1000'],
// ];
// $datawarga = DataWarga::select('kabupatens.id AS kabupatenID', 'kabupatens.nama_kabupaten',DB::raw('count(*) AS total'))
// ->join('kelurahans', 'kelurahans.id', '=', 'data_wargas.kelurahan_id')
// ->join('kecamatans', 'kecamatans.id', '=', 'kelurahans.kecamatan_id')
// ->join('kabupatens', 'kabupatens.id', '=', 'kecamatans.kabupaten_id')
// // ->where('kabupatens.id', $a[0])
// ->groupBy('kabupatenID')
// // ->where('kabupatenID',$a[0])
// ->get();
// dd($datawarga);
$warga = [
['6401', 'KAB. PASER',0],
['6402', 'KAB. KUTAI KARTANEGARA', 0],
['6403', 'KAB. BERAU',0],
['6407', 'KAB. KUTAI BARAT',0],
['6408', 'KAB. KUTAI TIMUR',0],
['6409', 'KAB. PENAJAM PASER UTARA',0],
['6411', 'KAB. MAHAKAM ULU',0],
['6471', 'KOTA BALIKPAPAN',0],
['6472', 'KOTA SAMARINDA',0],
['6474', 'KOTA BONTANG',0],
];
foreach($warga as $a) {
$datawarga = DataWarga::select('kabupatens.id AS kabupatenID', 'kabupatens.nama_kabupaten',DB::raw('count(*) AS total'))
->join('kelurahans', 'kelurahans.id', '=', 'data_wargas.kelurahan_id')
->join('kecamatans', 'kecamatans.id', '=', 'kelurahans.kecamatan_id')
->join('kabupatens', 'kabupatens.id', '=', 'kecamatans.kabupaten_id')
->where('kabupatens.id', $a[0])
->groupBy('kabupatenID')
// ->where('kabupatenID',$a[0])
->first();
// dd($datawarga);
if($datawarga) {
$k[] = $datawarga->nama_kabupaten;
$c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
$k_i = $datawarga->kabupatenID;
$hitung = $a[2] + $datawarga->total;
$w[] = $hitung;
$total += $hitung;
} else {
$k[] = $a[1];
$c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
$k_i = $a[0];
$hitung = $a[2];
$w[] = $hitung;
$total += $hitung;
}
}
// dd($w);
// $warga = [
// ['Kukar ', '50000'],
// ['Balikpapan ', '60000'],
// ['Bontang ', '15000'],
// ['Kutim ', '25000'],
// ['PPU ', '15000'],
// ['Mahulu ', '1000'],
// ];
// foreach($warga as $a) {
// $k[] = $a[0];
// $c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
// // $k_i = $a->kabupatenID;
// $hitung = $a[1];
// $w[] = $hitung;
// $total += $hitung;
// }
return $data = ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
break;
case 'kecamatan':
// $kecamatans = Kecamatan::orderBy('nama_kecamatan','ASC')->get();
$k = [];
$w = [];
$c = [];
$total = 0;
// foreach ($kecamatans as $kecamatan) {
// $k[] = $kecamatan->nama_kecamatan;
// $c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
// $k_i = $kecamatan->id;
// $hitung = DataWarga::whereHas('kelurahan',function ($q)use($k_i)
// {
// $q->where('kecamatan_id',$k_i);
// })->count();
// $w[] = $hitung;
// $total += $hitung;
// }
$datawarga = DataWarga::select('kecamatans.id AS kecamatanID', 'kecamatans.nama_kecamatan',DB::raw('count(*) AS total'))
->join('kelurahans', 'kelurahans.id', '=', 'data_wargas.kelurahan_id')
->join('kecamatans', 'kecamatans.id', '=', 'kelurahans.kecamatan_id')
->groupBy('kecamatanID')
->get();
foreach($datawarga as $a) {
$k[] = $a->nama_kecamatan;
$c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
$k_i = $a->kecamatanID;
$hitung = $a->total;
$w[] = $hitung;
$total += $hitung;
}
return $data = ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
break;
case 'kelurahan':
// $kelurahans = Kelurahan::orderBy('nama_kelurahan','ASC')->get();
$k = [];
$w = [];
$c = [];
$total = 0;
// foreach ($kelurahans as $kelurahan) {
// $k[] = $kelurahan->nama_kelurahan;
// $c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
// $k_i = $kelurahan->id;
// $hitung = DataWarga::where('kelurahan_id',$k_i)->count();
// $w[] = $hitung;
// $total += $hitung;
// }
$datawarga = DataWarga::select('kelurahans.id AS kelurahanID', 'kelurahans.nama_kelurahan',DB::raw('count(*) AS total'))
->join('kelurahans', 'kelurahans.id', '=', 'data_wargas.kelurahan_id')
->groupBy('kelurahanID')
->get();
foreach($datawarga as $a) {
$k[] = $a->nama_kelurahan;
$c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
$k_i = $a->kelurahanID;
$hitung = $a->total;
$w[] = $hitung;
$total += $hitung;
}
return $data = ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
break;
case 'rt':
// $rt = DataWarga::groupBy('rt')->pluck('rt');
$k = [];
$w = [];
$c = [];
$total = 0;
$datawarga = DataWarga::select(DB::raw('count(*) AS total'), DB::raw('TRIM(LEADING "0" FROM rt) AS rts'))->groupBy('rts')->get();
foreach($datawarga as $a) {
$k[] = "RT : ".$a->rts;
$c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
$k_i = $a->rt;
$hitung = $a->total;
$w[] = $hitung;
$total += $hitung;
}
// for ($i=0; $i < count($rt); $i++) {
// $k[] = "RT : ".$rt[$i];
// $c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
// $k_i = $rt[$i];
// $hitung = DataWarga::where('rt',$k_i)->count();
// $w[] = $hitung;
// $total += $hitung;
// }
return $data = ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
break;
default:
# code...
break;
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]