You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.2 KiB

<?php
namespace App\Controllers\Kewilayahan\PoiGoogleMatoa;
use App\Libraries\AldLibrary;
use App\Libraries\KpdlLibrary;
class PoiGoogleMatoa extends \App\Controllers\Kewilayahan\Kytp
{
protected function get_poi_agg($request)
{
ini_set('max_input_vars', 3000);
$KpdlLib = new KpdlLibrary();
$Ald = new AldLibrary();
$username = session('nip');
$opsiWilZona = $Ald->decryptMe($request->getPost('opsiWilZona'), $username) ?? null;
$adm4_pcode = [];
foreach ($request->getPost('adm4_pcode') ?? [] as $key => $value) {
array_push($adm4_pcode, $Ald->decryptKpdl($value, $username));
}
$id_poly_zona = [];
foreach ($request->getPost('id_poly_zona') ?? [] as $key => $value) {
array_push($id_poly_zona, $Ald->decryptKpdl($value, $username));
}
$db = \Config\Database::connect();
$sqlGenerate = $db->table("KPDL_MV_JML_POI_AGG")
->select("BULAN, sum(JML) as JML")
->where('TAHUN =', date('Y'))
->where('BULAN <=', (int) date('m'))
->groupBy('BULAN');
if ($opsiWilZona == 'wilayah') {
$sqlGenerate->whereIn('ADM4_PCODE', $adm4_pcode);
}
if ($opsiWilZona == 'zona') {
$sqlGenerate->whereIn('ID_POLY_ZONA', $id_poly_zona);
}
$sqlGenerate = $sqlGenerate->getCompiledSelect();
$data = $db->table("BULAN a")
->select("KODE as BULAN, JML")
->join("(" . $sqlGenerate . ") b", "KODE = BULAN", 'left', false)
->orderBy("BULAN", 'asc', false)->get()->getResult();
$dataPoiAgg = $KpdlLib->single_array($data, 'JML');
return $dataPoiAgg;
}
protected function get_kpdl_agg($request)
{
$Ald = new AldLibrary();
$KpdlLib = new KpdlLibrary();
$username = session('nip');
$opsiWilZona = $Ald->decryptMe($request->getPost('opsiWilZona'), $username) ?? null;
$adm4_pcode = [];
foreach ($request->getPost('adm4_pcode') ?? [] as $key => $value) {
array_push($adm4_pcode, $Ald->decryptKpdl($value, $username));
}
$id_poly_zona = [];
foreach ($request->getPost('id_poly_zona') ?? [] as $key => $value) {
array_push($id_poly_zona, $Ald->decryptKpdl($value, $username));
}
$db = \Config\Database::connect();
$sqlGenerate = $db->table("KPDL_MV_JML_KPDL_AGG")
->select("BULAN, sum(JML) as JML")
->where('TAHUN =', date('Y'))
->where('BULAN <=', (int) date('m'))
->groupBy('BULAN');
if ($opsiWilZona == 'wilayah') {
$sqlGenerate->whereIn('ADM4_PCODE', $adm4_pcode);
}
if ($opsiWilZona == 'zona') {
$sqlGenerate->whereIn('ID_POLY_ZONA', $id_poly_zona);
}
$sqlGenerate = $sqlGenerate->getCompiledSelect();
$data = $db->table("BULAN a")
->select("KODE as BULAN, JML")
->join("(" . $sqlGenerate . ") b", "KODE = BULAN", 'left', false)
->orderBy("BULAN", 'asc', false)->get()->getResult();
$dataPoiAgg = $KpdlLib->single_array($data, 'JML');
return $dataPoiAgg;
}
}