Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/isranhadikaltim.id/app/Http/Controllers/Api/
Upload File :
Current File : /home/aplikasiposinfo/www/isranhadikaltim.id/app/Http/Controllers/Api/ApiChartController.php

<?php

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use DateTime;
use App\Helpers\Helper;
use App\Models\Kecamatan;
use App\Models\Kelurahan;
use App\Models\DataWarga;
use Illuminate\Support\Facades\DB;

class ApiChartController extends Controller
{

    // aasort($your_array, "order");
    public function getDataByDay($dayBefore)
    {
    	$date = date('Y-m-d');
		$weekOfdays = array([
				'tanggal'=>date('Y-m-d'),
				'data'=>Helper::jumlahWargaPerHari(date('Y-m-d'))
			]);
		$date = new DateTime($date);

		for($i=1; $i < $dayBefore ; $i++){
		    $date->modify('-1 day');
		    $weekOfdays[] = [
		    	'tanggal'=>$date->format('Y-m-d'),
				'data'=>Helper::jumlahWargaPerHari($date->format('Y-m-d'))
		    ];
		}

        // $this->aasort($weekOfdays, "data");
        usort($weekOfdays, function($a, $b) {
            return strnatcasecmp($a['data'], $b['data']);
        });

        // dd($weekOfdays);

		return $weekOfdays;
    }

    public function getPieKecamatan($kabupaten = null)
    {
    	if($kabupaten == null || $kabupaten == 0){
			// $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;
			// 	$w[] = DataWarga::where('kelurahan_id',$k_i)->count();
			// 	$total += DataWarga::where('kelurahan_id',$k_i)->count();
			// }

            $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];
		} else {
			// $kelurahans = Kelurahan::orderBy('nama_kelurahan','ASC')->where('kecamatan_id',$kecamatan)->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;
			// 	$w[] = DataWarga::where('kelurahan_id',$k_i)->whereHas('kelurahan',function ($q)use($kecamatan)
			// 	{
			// 		$q->where('kecamatan_id',$kecamatan);
			// 	})->count();
			// 	$total += DataWarga::where('kelurahan_id',$k_i)->whereHas('kelurahan',function ($q)use($kecamatan)
			// 	{
			// 		$q->where('kecamatan_id',$kecamatan);
			// 	})->count();
			// }

            $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')
            ->where('kecamatans.kabupaten_id','=', $kabupaten)
            ->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];
		}
    }

    public function getPieKelurahan($kecamatan = null)
    {
    	if($kecamatan == null || $kecamatan == 0){
			$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;
				$w[] = DataWarga::where('kelurahan_id',$k_i)->count();
				$total += DataWarga::where('kelurahan_id',$k_i)->count();
			}
			return $data = ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
		} else {
			$kelurahans = Kelurahan::orderBy('nama_kelurahan','ASC')->where('kecamatan_id',$kecamatan)->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;
				$w[] = DataWarga::where('kelurahan_id',$k_i)->whereHas('kelurahan',function ($q)use($kecamatan)
				{
					$q->where('kecamatan_id',$kecamatan);
				})->count();
				$total += DataWarga::where('kelurahan_id',$k_i)->whereHas('kelurahan',function ($q)use($kecamatan)
				{
					$q->where('kecamatan_id',$kecamatan);
				})->count();
			}
			return $data = ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
		}
    }

    public function getPieRt($kelurahan = null)
    {
    	if($kelurahan == null || $kelurahan == 0){
			$rt = DataWarga::groupBy('rt')->pluck('rt');
			$k = [];
			$w = [];
			$c = [];
			$total = 0;
			for ($i=0; $i < count($rt); $i++) {
				$k[] = $rt[$i];
				$c[] = '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);
				$k_i = $rt[$i];
				$w[] = DataWarga::where('rt',$k_i)->count();
				$total +=  DataWarga::where('rt',$k_i)->count();
			}

			return ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
		} else {
			$rt = DataWarga::groupBy('rt')->where('kelurahan_id',$kelurahan)->pluck('rt');
			$k = [];
			$w = [];
			$c = [];
			$total = 0;
			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];
				$w[] = DataWarga::where('rt',$k_i)->where('kelurahan_id',$kelurahan)->count();
				$total += DataWarga::where('rt',$k_i)->where('kelurahan_id',$kelurahan)->count();
			}

			return ['label'=>$k,'data'=>$w,'color'=>$c,'total'=>$total];
		}
    }


}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]