Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Opdpptk_renja extends Controller
- {
- private $renja;
- public function __construct()
- {
- $this->renja = $this->model('Renja_model');
- $this->access('opdpptk');
- }
- public function index()
- {
- abort('maintenance');
- $data['capaian'] = json_decode($this->renja->capaianList($_SESSION['periode']['idPeriode'], 1), true)['data'];
- $data['title'] = "Evaluasi RENJA";
- $this->view('opdpptk/renja/index', $data);
- }
- public function capaian($case = null, ...$params)
- {
- switch ($case) {
- case "list":
- $hakUser = $_SESSION['userLogin']['hakUser'];
- if ($hakUser[0] === null) {
- $decodeResponse['success'] = false;
- $decodeResponse['message'] = '';
- $decodeResponse['data'] = [];
- echo json_encode($decodeResponse);
- return;
- }
- $hakUser = $_SESSION['userLogin']['hakUser'];
- $hakInput = array_map(function ($item) {
- return (int) $item['idSubKegiatan'];
- }, $hakUser);
- $response = $this->renja->capaianList($_SESSION['periode']['idPeriode']);
- $decodeResponse = json_decode($response, true);
- if (!$decodeResponse['success']) {
- echo $response;
- } else {
- $arraySelection = [];
- foreach ($decodeResponse['data'] as $item) {
- if (!empty($item['dataUraian'])) {
- $arraySelection[] = $item;
- }
- }
- $aksesSelection = [];
- foreach ($hakInput as $id) {
- foreach ($arraySelection as $item) {
- if ($item['idSubKegiatan'] === $id) {
- $aksesSelection[] = $item;
- }
- }
- }
- $decodeResponse['data'] = $aksesSelection;
- echo json_encode($decodeResponse);
- }
- break;
- case "update":
- $data = [
- "idUraian" => (int) $_POST['id'],
- "idPeriode" => (int) $_SESSION['periode']['idPeriode'],
- "dataCapaian" => [
- [
- "triwulan" => 1,
- "capaian" => (int) $_POST['triwulan1'],
- ],
- [
- "triwulan" => 2,
- "capaian" => (int) $_POST['triwulan2'],
- ],
- [
- "triwulan" => 3,
- "capaian" => (int) $_POST['triwulan3'],
- ],
- [
- "triwulan" => 4,
- "capaian" => (int) $_POST['triwulan4'],
- ],
- ]
- ];
- $result = json_encode($data);
- $response = $this->renja->capaianAdd($result);
- echo $response;
- break;
- default:
- $data['title'] = "Capaian Kinerja";
- $this->view('opdpptk/renja/capaian', $data);
- break;
- }
- }
- public function anggaran($case = null, ...$params)
- {
- switch ($case) {
- case "list":
- $response = $this->renja->anggaranList($_SESSION['periode']['idPeriode']);
- $decodeResponse = json_decode($response, true);
- $hakUser = $_SESSION['userLogin']['hakUser'];
- $hakInput = array_map(function ($item) {
- return (int) $item['idSubKegiatan'];
- }, $hakUser);
- if ($decodeResponse['success']) {
- $dataAnggaran = $decodeResponse['data'];
- $dataAnggaran = filterSubKegiatanAnggaran($dataAnggaran, $hakInput);
- $decodeResponse['data'] = $dataAnggaran;
- echo json_encode($decodeResponse);
- } else {
- echo $response;
- }
- break;
- case "update":
- $post = json_decode($_POST['data'], true);
- $result = [
- "idSubKegiatan" => $post['sub'],
- "idPeriode" => (int) $_SESSION['periode']['idPeriode'],
- "dataPagu" => [
- [
- "triwulan" => 1,
- "rupiah" => $post['tw1']
- ],
- [
- "triwulan" => 2,
- "rupiah" => $post['tw2']
- ],
- [
- "triwulan" => 3,
- "rupiah" => $post['tw3']
- ],
- [
- "triwulan" => 4,
- "rupiah" => $post['tw4']
- ]
- ]
- ];
- // echo json_encode($result);
- $response = $this->renja->anggaranAdd(json_encode($result));
- echo $response;
- break;
- case "test":
- echo json_encode($_SESSION['periode']);
- break;
- default:
- $data['title'] = "Realiasasi Anggaran";
- $this->view('opdpptk/renja/anggaran', $data);
- break;
- }
- }
- public function outcome($case = null, ...$params)
- {
- switch ($case) {
- case "list":
- $response = $this->renja->outcomeList($_SESSION['periode']['tahunPeriode'], $_SESSION['userLogin']['odpId']);
- $decodeResponse = json_decode($response, true);
- $hakUser = $_SESSION['userLogin']['hakUser'];
- $hakInput = array_map(function ($item) {
- return (int) $item['idSubKegiatan'];
- }, $hakUser);
- if ($decodeResponse['success']) {
- $dataAnggaran = $decodeResponse['data'];
- $dataAnggaran = filterSubKegiatanAnggaran($dataAnggaran, $hakInput);
- $decodeResponse['data'] = $dataAnggaran;
- echo json_encode($decodeResponse);
- } else {
- echo $response;
- }
- break;
- case "update":
- $data = [
- "idIndikator" => (int) $_POST['indikator'],
- "idPeriode" => $_SESSION['periode']['idPeriode'],
- "realisasiOutcome" => (int) $_POST['realisasi']
- ];
- $result = json_encode($data);
- $response = $this->renja->outcomeAdd($result);
- echo $response;
- break;
- default:
- $data['title'] = "Outcome Output";
- $this->view('opdpptk/renja/outcome', $data);
- break;
- }
- }
- public function faktor($case = null, ...$params)
- {
- switch ($case) {
- case 'list':
- echo $this->renja->faktorList($_SESSION['periode']['tahunPeriode'], $_SESSION['userLogin']['odpId']);
- break;
- case 'add':
- $data = [
- "idIndikator" => (int) $_POST['idindikator'],
- "idPeriode" => (int) $_SESSION['periode']['idPeriode'],
- "faktorPendorong" => $_POST['pendorong'],
- "faktorPenghambat" => $_POST['penghambat'],
- "tindakLanjut" => $_POST['tindaklanjut']
- ];
- $result = json_encode($data);
- $response = $this->renja->faktorAdd($result);
- echo $response;
- break;
- default:
- $data['title'] = "Faktor Penghambat dan Pendorong";
- $this->view('opdpptk/renja/faktor', $data);
- break;
- }
- }
- public function finalisasi($case = null, ...$params)
- {
- switch ($case) {
- case 'list':
- break;
- default:
- $data['title'] = "Finalisasi";
- $this->view('opdpptk/renja/finalisasi', $data);
- break;
- }
- }
- public function periode()
- {
- echo json_encode($_SESSION['periode']);
- }
- public function status($case = null, $js = null)
- {
- // $response = $this->renja->faktorList($_SESSION['periode']['tahunPeriode'], $_SESSION['userLogin']['odpId']);
- // $status = json_decode($response, true);
- $hakUser = $_SESSION['userLogin']['hakUser'];
- $hakInput = array_map(function ($item) {
- return (int) $item['idSubKegiatan'];
- }, $hakUser);
- // die;
- // $anggaran = true;
- $response = $this->renja->faktorList($_SESSION['periode']['tahunPeriode'], $_SESSION['userLogin']['odpId']);
- $result = json_decode($response, true);
- $hasil = $result['data'];
- if (!$result['success']) {
- $capaian = false;
- $anggaran = false;
- $faktor = false;
- $outcome = false;
- } else {
- $dataAnggaran = filterSubKegiatanAnggaran($hasil, $hakInput);
- $hasil = $dataAnggaran;
- $capaian = $this->_capaian($hasil);
- $anggaran = $this->_anggaran($hasil);
- $outcome = $this->_outcome($hasil);
- $faktor = $this->_faktor($hasil);
- }
- while ($js === null) {
- if (!$result['success']) {
- cekLogin($result['data']);
- }
- }
- switch ($case) {
- case 'all':
- if ($js !== null) {
- $data = [
- 'capaian' => $capaian,
- 'anggaran' => $anggaran,
- 'outcome' => $outcome,
- 'faktor' => $faktor,
- 'response' => json_decode($response, true)
- ];
- echo json_encode($data);
- } else {
- $data = [
- 'capaian' => $capaian,
- 'anggaran' => $anggaran,
- 'outcome' => $outcome,
- 'faktor' => $faktor,
- ];
- return $data;
- }
- break;
- default:
- // $total = (int) $capaian + (int) $anggaran + (int) $outcome + (int) $faktor;
- // echo json_encode(($total / 4) * 100);
- break;
- }
- }
- private function _outcome($data)
- {
- foreach ($data as $tujuan) {
- foreach ($tujuan['indikatorData'] as $indikator) {
- if ($indikator['persenRealisasiOutcome'] === 0) {
- return false;
- }
- }
- foreach ($tujuan['dataSasaran'] as $sasaran) {
- foreach ($sasaran['indikatorData'] as $indikatorS) {
- if ($indikatorS['persenRealisasiOutcome'] === 0) {
- return false;
- }
- }
- foreach ($sasaran['dataProgram'] as $program) {
- foreach ($program['indikatorData'] as $indikatorP) {
- if ($indikatorP['persenRealisasiOutcome'] === 0) {
- return false;
- }
- }
- foreach ($program['dataKegiatan'] as $kegiatan) {
- foreach ($kegiatan['indikatorData'] as $indikatorK) {
- if ($indikatorK['persenRealisasiOutcome'] === 0) {
- return false;
- }
- }
- foreach ($kegiatan['dataSubKegiatan'] as $sub) {
- foreach ($sub['indikatorData'] as $indikatorSk) {
- if (isset($indikatorSk['persenRealisasiOutcome']) && $indikatorSk['persenRealisasiOutcome'] === 0) {
- return false;
- }
- }
- }
- }
- }
- }
- }
- return true;
- }
- private function _capaian($data)
- {
- foreach ($data as $tujuan) {
- if (isset($tujuan['dataSasaran'])) {
- foreach ($tujuan['dataSasaran'] as $sasaran) {
- if (isset($sasaran['dataProgram'])) {
- foreach ($sasaran['dataProgram'] as $program) {
- if (isset($program['dataKegiatan'])) {
- foreach ($program['dataKegiatan'] as $kegiatan) {
- if (isset($kegiatan['dataSubKegiatan'])) {
- foreach ($kegiatan['dataSubKegiatan'] as $sub) {
- if ($sub['targetDanCapaian']['TotalKinerja'] === 0) {
- return false;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return true;
- }
- private function _anggaran($data)
- {
- foreach ($data as $tujuan) {
- if (isset($tujuan['dataSasaran'])) {
- foreach ($tujuan['dataSasaran'] as $sasaran) {
- if (isset($sasaran['dataProgram'])) {
- foreach ($sasaran['dataProgram'] as $program) {
- if (isset($program['dataKegiatan'])) {
- foreach ($program['dataKegiatan'] as $kegiatan) {
- if (isset($kegiatan['dataSubKegiatan'])) {
- foreach ($kegiatan['dataSubKegiatan'] as $sub) {
- if ($sub['targetDanCapaian']['TotalRealisasi'] === 0) {
- return false;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return true;
- }
- private function _faktor($data)
- {
- foreach ($data as $tujuan) {
- if (isset($tujuan['dataSasaran'])) {
- foreach ($tujuan['dataSasaran'] as $sasaran) {
- if (isset($sasaran['dataProgram'])) {
- foreach ($sasaran['dataProgram'] as $program) {
- if (isset($program['dataKegiatan'])) {
- foreach ($program['dataKegiatan'] as $kegiatan) {
- if (isset($kegiatan['dataSubKegiatan'])) {
- foreach ($kegiatan['dataSubKegiatan'] as $sub) {
- foreach ($sub['indikatorData'] as $item) {
- if (isset($item['faktorPendorong']) && $item['faktorPendorong'] === '') {
- return false;
- } else if (isset($item['faktorPenghambat']) && $item['faktorPenghambat'] === '') {
- return false;
- } else if (isset($item['tindakLanjut']) && $item['tindakLanjut'] === '') {
- return false;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement