decryptMe($request->getPost('opsiWilZona'), $username); $adm4_pcode = []; foreach ($request->getPost('adm4_pcode') ?? [] as $key => $value) { $adm4_pcode[] = $Ald->decryptKpdl($value, $username); } $id_poly_zona = []; foreach ($request->getPost('id_poly_zona') ?? [] as $key => $value) { $id_poly_zona[] = $Ald->decryptMe($value, $username); } $nip_ar_perekam = []; foreach ($request->getPost('nip_ar_perekam') ?? [] as $key => $value) { $nip_ar_perekam[] = $Ald->decryptMe($value, $username); } $nip_ar_pengampu = []; foreach ($request->getPost('nip_ar_pengampu') ?? [] as $key => $value) { $nip_ar_pengampu[] = $Ald->decryptMe($value, $username); } $db = \Config\Database::connect(); //npwp $npwp = $db->table('KPDL_MV_LOKASI_SUBJEK')->select('NPWP')->distinct()->where('NPWP IS NOT NULL'); if ($opsiWilZona == 'wilayah') { $npwp->whereIn('ADM4_PCODE', $adm4_pcode); } if ($opsiWilZona == 'zona') { $npwp->whereIn('ID_POLY_ZONA', $id_poly_zona); } if ($opsiWilZona == 'perekam') { $npwp = $npwp->whereIn('CREATED_BY', $nip_ar_perekam); } if ($opsiWilZona == 'pengampu') { $npwp = $npwp->whereIn('NIP_AR_PENGAMPU', $nip_ar_pengampu); } $data = $db->newQuery() ->select("'" . $tahun . '-' . $bulan . "' AS THN_BLN, NVL(WARNA_BYR, 'black') WARNA_BYR, COUNT(1) AS Y") ->fromSubquery($npwp, 'A') ->join('KPDL_MV_PENERIMAAN_AGG B', new RawSql("A.NPWP=B.NPWP and B.THNBYR = " . $tahun . " and B.BULAN=" . $bulan), 'left') ->groupBy("NVL(WARNA_BYR, 'black')")->orderBy("WARNA_BYR"); $data = $data->get()->getResult(); $ret = []; foreach ($data as $b) { $name = ''; switch ($b->WARNA_BYR) { case 'black':$name = '<=0'; break; case 'red':$name = '< 5 jt'; break; case 'yellow':$name = '<48 jt'; break; case 'green':$name = '<100 jt'; break; case 'blue':$name = '> 100 jt'; break; } array_push($ret, ['name' => $name, 'color' => $b->WARNA_BYR, 'y' => floatval($b->Y), 'thn_bln' => $b->THN_BLN, ] ); } return $ret; } }