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

<?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');
}
}
}