<?php
namespace App\Http\Controllers;
use App\Models\DataWarga;
use App\Models\Dpt;
use Illuminate\Http\Request;
use App\Models\Galeri;
use App\Models\Kabupaten;
use App\Models\Kelurahan;
use App\Models\Kecamatan;
use App\Models\User;
use App\Http\Controllers\Api\ApiChartController;
use App\Helpers\Helper;
use DateTime;
use Illuminate\Support\Facades\DB;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
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);
// // Get the current year and month
// $currentYear = date('Y');
// $currentMonth = date('n'); // 'n' returns the month without leading zeros
// // Get the number of days in the current month
// $num_days = cal_days_in_month(CAL_GREGORIAN, $currentMonth, $currentYear);
// // Loop through each day of the current month
// for ($day = 1; $day <= $num_days; $day++) {
// // Create a DateTime object for the current day
// $date = new DateTime("$currentYear-$currentMonth-$day");
// // Output the date in desired format
// // echo $date->format('Y-m-d') . "<br>";
// $weekOfdays[] = [
// 'tanggal'=>$date->format('Y-m-d'),
// 'data'=>Helper::jumlahWargaPerHari($date->format('Y-m-d'))
// ];
// }
return $weekOfdays;
}
public function index()
{
// $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();
// dd($datawarga);
// $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();
// $datawarga = DataWarga::select('rt', DB::raw('count(*) AS total'))->groupBy('rt')->get();
$title = 'Home';
$link = 'home';
$galeris = Galeri::orderBy('order_index','ASC')->get();
$kelurahans = Kelurahan::orderBy('nama_kelurahan','ASC')->pluck('nama_kelurahan','id');
$kecamatans = Kecamatan::orderBy('nama_kecamatan','ASC')->pluck('nama_kecamatan','id');
$kabupatens = Kabupaten::orderBy('nama_kabupaten','ASC')->pluck('nama_kabupaten','id');
return view('home',compact('title','link','galeris','kelurahans','kecamatans', 'kabupatens'));
}
public function RefreshHomePage() {
$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 < 7 ; $i++){
$date->modify('-1 day');
$weekOfdays[] = [
'tanggal'=>$date->format('Y-m-d'),
'data'=>Helper::jumlahWargaPerHari($date->format('Y-m-d'))
];
}
return response()->json([
'kabupaten' => Helper::jumlahKabupaten(),
'kecamatan' => Helper::jumlahKecamatan(),
'kelurahans' => Helper::jumlahKelurahan(),
'dptBelumTerdaftar' => Helper::jumlahDPTBelumTerdaftar(),
'datawarga' => Helper::jumlahWarga(),
'user' => Helper::jumlahUser(),
'surdukMasuk' => Helper::surdukMasuk(),
'surdukKeluar' => Helper::surdukKeluar(),
'kabupaten_label' => Helper::grafikPie('kabupaten')['label'],
'kabupaten_color' => Helper::grafikPie('kabupaten')['color'],
'kabupaten_data' => Helper::grafikPie('kabupaten')['data'],
'kabupaten_total' => Helper::grafikPie('kabupaten')['total'],
'kecamatan_label' => Helper::grafikPie('kecamatan')['label'],
'kecamatan_color' => Helper::grafikPie('kecamatan')['color'],
'kecamatan_data' => Helper::grafikPie('kecamatan')['data'],
'kecamatan_total' => Helper::grafikPie('kecamatan')['total'],
'kelurahan_label' => Helper::grafikPie('kelurahan')['label'],
'kelurahan_color' => Helper::grafikPie('kelurahan')['color'],
'kelurahan_data' => Helper::grafikPie('kelurahan')['data'],
'kelurahan_total' => Helper::grafikPie('kelurahan')['total'],
'rt_label' => Helper::grafikPie('rt')['label'],
'rt_color' => Helper::grafikPie('rt')['color'],
'rt_data' => Helper::grafikPie('rt')['data'],
'rt_total' => Helper::grafikPie('rt')['total'],
'weekOfdays' => $weekOfdays
]);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]