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.
383 lines
13 KiB
383 lines
13 KiB
<?php |
|
|
|
namespace App\Controllers; |
|
|
|
use App\Models\Mref; |
|
use App\Models\Mrapor; |
|
|
|
class Rapor extends BaseController |
|
{ |
|
function wpbayar() |
|
{ |
|
ini_set('memory_limit', '2048M'); |
|
|
|
$tahun = $this->request->getVar('tahun'); |
|
$pbulan = $this->request->getPost('bulan'); |
|
|
|
if (empty($ptahun)) { |
|
$tahun = date('Y'); |
|
} else { |
|
$tahun = $ptahun; |
|
} |
|
if (empty($pbulan)) { |
|
$bulan = date('m'); |
|
} else { |
|
$bulan = $pbulan; |
|
} |
|
$param = array('tahun' => $tahun, 'bln' => $bulan); |
|
$model = new Mrapor(); |
|
$modelref = new Mref(); |
|
|
|
$d['tahunx'] = $tahun; |
|
$d['bulanx'] = $bulan; |
|
$d['refbulan'] = $modelref->getBln(); |
|
$d['raporbyr'] = $model->getRatKwl($param)->getResult(); |
|
$d['raporbyrkpp'] = $model->getRatKpp($param)->getResult(); |
|
$d['raporbyrsie'] = $model->getRatSie($param)->getResult(); |
|
$d['raporbyrpeg'] = $model->getRatPeg($param)->getResult(); |
|
|
|
|
|
$drilldownData = [ |
|
'kpp' => [], |
|
'sie' => [], |
|
'peg' => [] |
|
]; |
|
|
|
foreach ($d['raporbyrkpp'] as $row) { |
|
if (!isset($drilldownData['kpp'][(string)$row->KWLADM])) { |
|
$drilldownData['kpp'][(string)$row->KWLADM] = []; |
|
} |
|
$drilldownData['kpp'][(string)$row->KWLADM][] = [ |
|
'name' => $row->NAMA, |
|
'x' => ($row->WPBYR / ($row->JMLWP ?: 1)) * 100, |
|
'y' => ($row->WPBYRTERATUR / ($row->WPBYR ?: 1)) * 100, |
|
'z' => 1, |
|
'drilldown' => (string)$row->KPPADM, |
|
'jmlwp' => $row->JMLWP, |
|
'wpbyr' => $row->WPBYR, |
|
'wpbyrteratur' => $row->WPBYRTERATUR |
|
]; |
|
} |
|
|
|
foreach ($d['raporbyrsie'] as $row) { |
|
if (!isset($drilldownData['sie'][(string)$row->KPPADM])) { |
|
$drilldownData['sie'][(string)$row->KPPADM] = []; |
|
} |
|
$drilldownData['sie'][(string)$row->KPPADM][] = [ |
|
'name' => $row->NAMA, |
|
'x' => ($row->WPBYR / ($row->JMLWP ?: 1)) * 100, |
|
'y' => ($row->WPBYRTERATUR / ($row->WPBYR ?: 1)) * 100, |
|
'z' => 1, |
|
'drilldown' => (string)$row->KODESIE, |
|
'jmlwp' => $row->JMLWP, |
|
'wpbyr' => $row->WPBYR, |
|
'wpbyrteratur' => $row->WPBYRTERATUR |
|
]; |
|
} |
|
|
|
foreach ($d['raporbyrpeg'] as $row) { |
|
$key = $row->KPPADM . '_' . $row->KODESIE; |
|
if (!isset($drilldownData['peg'][$key])) { |
|
$drilldownData['peg'][$key] = []; |
|
} |
|
$drilldownData['peg'][$key][] = [ |
|
'name' => $row->NAMA, |
|
'x' => ($row->WPBYR / ($row->JMLWP ?: 1)) * 100, |
|
'y' => ($row->WPBYRTERATUR / ($row->WPBYR ?: 1)) * 100, |
|
'z' => 1, |
|
'drilldown' => null, |
|
'jmlwp' => $row->JMLWP, |
|
'wpbyr' => $row->WPBYR, |
|
'wpbyrteratur' => $row->WPBYRTERATUR |
|
]; |
|
} |
|
|
|
$d['drilldownData'] = $drilldownData; |
|
|
|
if (session('isLogin')) { |
|
echo view('inc/head'); |
|
echo view('inc/navbar'); |
|
echo view('inc/sidebar'); |
|
echo view('rapor/wpbayar', $d); |
|
echo view('inc/footer'); |
|
} else { |
|
return redirect()->to('auth'); |
|
} |
|
} |
|
|
|
function wpdaftar() |
|
{ |
|
ini_set('memory_limit', '2048M'); |
|
|
|
$tahun = $this->request->getVar('tahun'); |
|
$pbulan = $this->request->getPost('bulan'); |
|
|
|
if (empty($ptahun)) { |
|
$tahun = date('Y'); |
|
} else { |
|
$tahun = $ptahun; |
|
} |
|
if (empty($pbulan)) { |
|
$bulan = date('m'); |
|
} else { |
|
$bulan = $pbulan; |
|
} |
|
$param = array('tahun' => $tahun, 'bln' => $bulan); |
|
$model = new Mrapor(); |
|
$modelref = new Mref(); |
|
|
|
$d['tahunx'] = $tahun; |
|
$d['bulanx'] = $bulan; |
|
$d['refbulan'] = $modelref->getBln(); |
|
$d['raporbyr'] = $model->getDftrKwl($param)->getResult(); |
|
$d['raporbyrkpp'] = $model->getDftrKpp($param)->getResult(); |
|
$d['raporbyrsie'] = $model->getDftrSie($param)->getResult(); |
|
$d['raporbyrpeg'] = $model->getDftrPeg($param)->getResult(); |
|
|
|
|
|
$drilldownData = [ |
|
'kpp' => [], |
|
'sie' => [], |
|
'peg' => [] |
|
]; |
|
|
|
foreach ($d['raporbyrkpp'] as $row) { |
|
if (!isset($drilldownData['kpp'][(string)$row->KWLADM])) { |
|
$drilldownData['kpp'][(string)$row->KWLADM] = []; |
|
} |
|
$drilldownData['kpp'][(string)$row->KWLADM][] = [ |
|
'name' => $row->NAMA, |
|
'x' => ($row->WPBYR / ($row->JMLWP ?: 1)) * 100, |
|
'y' => ($row->WPBYRTERATUR / ($row->WPBYR ?: 1)) * 100, |
|
'z' => 1, |
|
'drilldown' => (string)$row->KPPADM, |
|
'jmlwp' => $row->JMLWP, |
|
'wpbyr' => $row->WPBYR, |
|
'wpbyrteratur' => $row->WPBYRTERATUR |
|
]; |
|
} |
|
|
|
foreach ($d['raporbyrsie'] as $row) { |
|
if (!isset($drilldownData['sie'][(string)$row->KPPADM])) { |
|
$drilldownData['sie'][(string)$row->KPPADM] = []; |
|
} |
|
$drilldownData['sie'][(string)$row->KPPADM][] = [ |
|
'name' => $row->NAMA, |
|
'x' => ($row->WPBYR / ($row->JMLWP ?: 1)) * 100, |
|
'y' => ($row->WPBYRTERATUR / ($row->WPBYR ?: 1)) * 100, |
|
'z' => 1, |
|
'drilldown' => (string)$row->KODESIE, |
|
'jmlwp' => $row->JMLWP, |
|
'wpbyr' => $row->WPBYR, |
|
'wpbyrteratur' => $row->WPBYRTERATUR |
|
]; |
|
} |
|
|
|
foreach ($d['raporbyrpeg'] as $row) { |
|
$key = $row->KPPADM . '_' . $row->KODESIE; |
|
if (!isset($drilldownData['peg'][$key])) { |
|
$drilldownData['peg'][$key] = []; |
|
} |
|
$drilldownData['peg'][$key][] = [ |
|
'name' => $row->NAMA, |
|
'x' => ($row->WPBYR / ($row->JMLWP ?: 1)) * 100, |
|
'y' => ($row->WPBYRTERATUR / ($row->WPBYR ?: 1)) * 100, |
|
'z' => 1, |
|
'drilldown' => null, |
|
'jmlwp' => $row->JMLWP, |
|
'wpbyr' => $row->WPBYR, |
|
'wpbyrteratur' => $row->WPBYRTERATUR |
|
]; |
|
} |
|
|
|
$d['drilldownData'] = $drilldownData; |
|
|
|
if (session('isLogin')) { |
|
echo view('inc/head'); |
|
echo view('inc/navbar'); |
|
echo view('inc/sidebar'); |
|
echo view('rapor/wpdaftar', $d); |
|
echo view('inc/footer'); |
|
} else { |
|
return redirect()->to('auth'); |
|
} |
|
} |
|
|
|
function wplapor() |
|
{ |
|
ini_set('memory_limit', '2048M'); |
|
|
|
$ptahun = $this->request->getPost('tahun'); |
|
$pbulan = $this->request->getPost('bulan'); |
|
|
|
if (empty($ptahun)) { |
|
$tahun = date('Y') - 1; |
|
} else { |
|
$tahun = $ptahun; |
|
} |
|
if (empty($pbulan)) { |
|
$bulan = date('m'); |
|
} else { |
|
$bulan = $pbulan; |
|
} |
|
$param = array('tahun' => $tahun, 'bln' => $bulan); |
|
$model = new Mrapor(); |
|
$modelref = new Mref(); |
|
|
|
$d['tahunx'] = $tahun; |
|
$d['bulanx'] = $bulan; |
|
$d['refbulan'] = $modelref->getBln(); |
|
$d['raporlpr'] = $model->getLprKwl($param)->getResult(); |
|
$d['raporlprkpp'] = $model->getLprKpp($param)->getResult(); |
|
$d['raporlprsie'] = $model->getLprSie($param)->getResult(); |
|
$d['raporlprpeg'] = $model->getLprPeg($param)->getResult(); |
|
|
|
$drilldownSeries = []; |
|
|
|
// Prepare KPP drilldown |
|
foreach ($d['raporlpr'] as $kanwil) { |
|
$kppData = []; |
|
foreach ($d['raporlprkpp'] as $kpp) { |
|
if ($kpp->KWLADM == $kanwil->KWLADM) { |
|
$kppData[] = [ |
|
'name' => $kpp->NAMA, |
|
'y' => ($kpp->WPLPR / ($kpp->JMLWP ?: 1)) * 100, |
|
'drilldown' => (string)$kpp->KPPADM, |
|
'jmlwp' => $kpp->JMLWP, |
|
'wplpr' => $kpp->WPLPR |
|
]; |
|
} |
|
} |
|
$drilldownSeries[] = [ |
|
'id' => (string)$kanwil->KWLADM, |
|
'name' => "KPP in " . $kanwil->NAMA, |
|
'data' => $kppData |
|
]; |
|
} |
|
|
|
// Prepare Seksi drilldown |
|
foreach ($d['raporlprkpp'] as $kpp) { |
|
$sieData = []; |
|
foreach ($d['raporlprsie'] as $sie) { |
|
if ($sie->KPPADM == $kpp->KPPADM) { |
|
$sieData[] = [ |
|
'name' => $sie->NAMA, |
|
'y' => ($sie->WPLPR / ($sie->JMLWP ?: 1)) * 100, |
|
'drilldown' => (string)($kpp->KPPADM . '_' . $sie->KODESIE), |
|
'jmlwp' => $sie->JMLWP, |
|
'wplpr' => $sie->WPLPR |
|
]; |
|
} |
|
} |
|
$drilldownSeries[] = [ |
|
'id' => (string)$kpp->KPPADM, |
|
'name' => "Seksi in " . $kpp->NAMA, |
|
'data' => $sieData |
|
]; |
|
} |
|
|
|
// Prepare Pegawai drilldown |
|
foreach ($d['raporlprsie'] as $sie) { |
|
$pegData = []; |
|
foreach ($d['raporlprpeg'] as $peg) { |
|
if ($peg->KPPADM == $sie->KPPADM && $peg->KODESIE == $sie->KODESIE) { |
|
$pegData[] = [ |
|
'name' => $peg->NAMA, |
|
'y' => ($peg->WPLPR / ($peg->JMLWP ?: 1)) * 100, |
|
'jmlwp' => $peg->JMLWP, |
|
'wplpr' => $peg->WPLPR |
|
]; |
|
} |
|
} |
|
$drilldownSeries[] = [ |
|
'id' => (string)($sie->KPPADM . '_' . $sie->KODESIE), |
|
'name' => "Pegawai in " . $sie->NAMA, |
|
'data' => $pegData |
|
]; |
|
} |
|
|
|
$d['drilldownSeries'] = $drilldownSeries; |
|
|
|
if (session('isLogin')) { |
|
echo view('inc/head'); |
|
echo view('inc/navbar'); |
|
echo view('inc/sidebar'); |
|
echo view('rapor/wplapor', $d); |
|
echo view('inc/footer'); |
|
} else { |
|
return redirect()->to('auth'); |
|
} |
|
} |
|
|
|
|
|
|
|
function deltabyr() |
|
{ |
|
if (session('isLogin')) { |
|
|
|
$model = new Mrapor(); |
|
$modelref = new Mref(); |
|
|
|
if (session('tpkantor') == 'KPDJP') { |
|
$kwl = $this->request->getPost('kwl') ?? '090'; |
|
$kpp = $this->request->getPost('kpp') ?? 'SEMUA'; |
|
$seksi = $this->request->getPost('seksi') ?? 'SEMUA'; |
|
$nip = $this->request->getPost('nip') ?? 'SEMUA'; |
|
} else if (session('tpkantor') == 'Kanwil') { |
|
$kwl = session('kwladm'); |
|
$kpp = $this->request->getPost('kpp') ?? 'SEMUA'; |
|
$seksi = $this->request->getPost('seksi') ?? 'SEMUA'; |
|
$nip = $this->request->getPost('nip') ?? 'SEMUA'; |
|
} else { |
|
$kwl = session('kwladm'); |
|
$kpp = session('kppadm'); |
|
$seksi = $this->request->getPost('seksi') ?? 'SEMUA'; |
|
$nip = $this->request->getPost('nip') ?? 'SEMUA'; |
|
} |
|
$ptahun = $this->request->getPost('tahun'); |
|
$pbulan = $this->request->getPost('bulan'); |
|
$ybulan = $this->request->getPost('bulan1'); |
|
|
|
if (empty($ptahun)) { |
|
$tahun = date('Y'); |
|
} else { |
|
$tahun = $ptahun; |
|
} |
|
if (empty($pbulan)) { |
|
$bulan = date('m'); |
|
} else { |
|
$bulan = $pbulan; |
|
} |
|
|
|
if(empty($ybulan)){ |
|
$bulan1 = '1'; |
|
}else{ |
|
$bulan1 = $ybulan; |
|
} |
|
$tahunl = $tahun - 1; |
|
$param = array('kwl' => $kwl, 'kpp' => $kpp, 'tahun' => $tahun, 'bln' => $bulan, 'seksi' => $seksi, 'nip' => $nip); |
|
$p['kwlx'] = $kwl; |
|
$p['kppx'] = $kpp; |
|
$p['seksix'] = $seksi; |
|
$p['nipx'] = $nip; |
|
$p['tahunx'] = $tahun; |
|
$p['tahunlx'] = $tahunl; |
|
$p['bulanx'] = $bulan1; |
|
$p['bulany'] = $bulan; |
|
$p['selkwl'] = $modelref->selKwl('')->getResult(); |
|
$p['selkpp'] = $modelref->selKpp($kwl)->getResult(); |
|
$p['selseksi'] = $modelref->selSeksi($kpp)->getResult(); |
|
$p['refbulan'] = $modelref->getBln(); |
|
//$p['data'] = $model->; |
|
|
|
|
|
echo view('inc/head'); |
|
echo view('inc/navbar'); |
|
echo view('inc/sidebar'); |
|
echo view('rapor/deltabyr', $p); |
|
echo view('inc/footer'); |
|
} else { |
|
return redirect()->to('auth'); |
|
} |
|
} |
|
}
|
|
|