first commit
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
Module : /apps/php/api/renja.php
|
||||
Desc. : PHP - Fungsi RENJA
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : January 31st, 2026.
|
||||
|
||||
(c) 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func.sippd.php");
|
||||
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
|
||||
function ambil_renja($db = null) {
|
||||
$aret = ['status' => "success", 'message' => 'Berhasil mendapatkan data!', 'action' => $_POST['action'], 'run' => $_POST['run'], 'data' => []];
|
||||
|
||||
$tahun = Param::Get("tahun_anggaran", 0);
|
||||
$id_skpd = Param::Get("id_skpd", 0);
|
||||
$id_sub_skpd = fastQueryArray("SELECT OPDID FROM para90_opd WHERE SIPD_OPD='".$id_skpd."'", 0);
|
||||
|
||||
//$where = ' AND set_kab_kota=1';
|
||||
|
||||
//para90_submap -> i_submap : sementara
|
||||
$master_bidang_urusan = [];
|
||||
$db->Query("SELECT DISTINCT K_Bidu,N_Bidu FROM i_submap WHERE Tahun='".$tahun."'");
|
||||
while ($db->Next()) {
|
||||
$master_bidang_urusan[$db->Row("K_Bidu")] = $db->AllRow();
|
||||
}
|
||||
|
||||
$data_sub_giat = [];
|
||||
// kode_skpd, nama_skpd, pagu_keg, kode_bl
|
||||
$db->Query("SELECT *,CONCAT(B.id_skpd,'.',B.id_sub_skpd,'.',C.id_program,'.',C.id_giat,'.',C.id_sub_giat) kode_sbl FROM (SELECT RK_PROGID,RK_KEGID,OPDID,ProgID,SubID,553 id_lokasi,Waktu1 waktu_awal,Waktu2 waktu_akhir,Pagu_Ini pagu,Pagu_Dpn pagu_n_depan,Txt_Indi,Satuan_Indi,Target_Indi FROM renja_sub WHERE Tahun='".$tahun."' AND OPDID IN (".implode(",",$id_sub_skpd).")) A LEFT JOIN (SELECT OPDID,K_Bidu1,K_OPD kode_skpd_asli,N_OPD nama_sub_skpd,SIPD_OPD id_skpd,SIPD_Unit id_sub_skpd FROM para90_opd WHERE OPDID IN(".implode(",",$id_sub_skpd).")) B ON (A.OPDID=B.OPDID) LEFT JOIN (SELECT ProgID,SubID,Lama_ProgID,Lama_SubID,UrusanID id_urusan,BUID id_bidang_urusan,ProgID id_program,KegID id_giat,SubID id_sub_giat,K_Urusan kode_urusan,K_Bidu kode_bidang_urusan,K_Prog kode_program,K_Keg kode_giat,K_Sub kode_sub_giat,N_Urusan nama_urusan,N_Bidu nama_bidang_urusan,N_Prog nama_program,CONCAT(K_Keg,' ',N_Keg) nama_giat,CONCAT(K_Sub,' ',N_Sub) nama_sub_giat FROM i_submap WHERE Tahun='".$tahun."') C ON (A.ProgID=C.Lama_ProgID AND A.SubID=C.Lama_SubID) WHERE C.ProgID IS NOT NULL ORDER BY C.kode_sub_giat");
|
||||
while ($db->Next()) {
|
||||
$data_sub_giat[] = $db->AllRow();
|
||||
}
|
||||
|
||||
foreach ($data_sub_giat as $k => $sub) {
|
||||
$sub['kode_sub_skpd'] = $sub['kode_skpd_asli'];
|
||||
$data_sub_giat[$k]['kode_sub_skpd'] = $sub['kode_skpd_asli'];
|
||||
if ($sub['kode_bidang_urusan'] == 'X.XX') {
|
||||
$urusan_utama = $sub['K_Bidu1'];
|
||||
if (!empty($master_bidang_urusan[$urusan_utama])) {
|
||||
$data_sub_giat[$k]['kode_bidang_urusan'] = $master_bidang_urusan[$urusan_utama]['K_Bidu'];
|
||||
$data_sub_giat[$k]['nama_bidang_urusan'] = $master_bidang_urusan[$urusan_utama]['N_Bidu'];
|
||||
}
|
||||
}
|
||||
/*if (!empty($sub['kode_sbl_lama'])) {
|
||||
$data_sub_giat[$k]['sub_keg_lama'] = array();
|
||||
$kode_sbl_lama = explode('|', $sub['kode_sbl_lama']);
|
||||
foreach ($kode_sbl_lama as $kd_lama) {
|
||||
$data_lama = $wpdb->get_row($wpdb->prepare("
|
||||
SELECT
|
||||
sk.*
|
||||
FROM data_sub_keg_bl_lokal sk
|
||||
WHERE kode_sbl=%s
|
||||
AND sk.tahun_anggaran=%d
|
||||
", $kd_lama, $tahun_anggaran), ARRAY_A);
|
||||
if ($data_lama['kode_bidang_urusan'] == 'X.XX') {
|
||||
$urusan_utama_lama = explode('.', $data_lama['kode_sub_skpd']);
|
||||
$urusan_utama_lama = $urusan_utama_lama[0] . '.' . $urusan_utama_lama[1];
|
||||
if (!empty($master_bidang_urusan[$urusan_utama_lama])) {
|
||||
$data_lama['kode_bidang_urusan'] = $master_bidang_urusan[$urusan_utama_lama]['kode_bidang_urusan'];
|
||||
$data_lama['nama_bidang_urusan'] = $master_bidang_urusan[$urusan_utama_lama]['nama_bidang_urusan'];
|
||||
}
|
||||
}
|
||||
$data_sub_giat[$k]['sub_keg_lama'][] = $data_lama;
|
||||
}
|
||||
}*/
|
||||
$data_sub_giat[$k]['sumber_dana'] = [];
|
||||
$data_sub_giat[$k]['lokasi'] = [];
|
||||
$data_sub_giat[$k]['indikator'] = [];
|
||||
$data_sub_giat[$k]['indikator_kegiatan'] = [];
|
||||
$data_sub_giat[$k]['indikator_program'] = [];
|
||||
$data_sub_giat[$k]['indikator_hasil'] = [];
|
||||
|
||||
$db->Query("SELECT * FROM (SELECT * FROM renja_keg WHERE Tahun='".$tahun."' AND RK_KEGID='".$sub['RK_KEGID']."') A LEFT JOIN renstra_output B ON (B.RA_OUTPUTID=A.RA_OUTPUTID)");
|
||||
if ($db->Next()) {
|
||||
//data_keg_indikator_hasil_lokal
|
||||
$data_sub_giat[$k]['indikator_hasil'][] = ['hasilteks' => $db->Row("Txt_Output"), 'satuanhasil' => $db->Row("Hasil_Satuan","%"), 'targethasil' => $db->Row("Hasil_Target",100), 'targethasilteks' => $db->Row("Hasil_Target",100)." ".$db->Row("Hasil_Satuan","%")];
|
||||
//data_output_giat_sub_keg_lokal
|
||||
$data_sub_giat[$k]['indikator_kegiatan'][] = ['outputteks' => $db->Row("Keluar_Txt"), 'satuanoutput' => $db->Row("Keluar_Satuan"), 'targetoutput' => $db->Row("Keluar_Target"), 'targetoutputteks' => $db->Row("Keluar_Target")." ".$db->Row("Keluar_Satuan")];
|
||||
$data_sub_giat[$k]['sasaran'] = $db->Row("Sasaran");
|
||||
}
|
||||
|
||||
//data_capaian_prog_sub_keg_lokal
|
||||
//todo: pastikan T --> sesuai periode rpjmd
|
||||
$indikator_program = [];
|
||||
$db->Query("SELECT Txt_Indi capaianteks,Indi_Satuan satuancapaian,Indi_T2 targetcapaian,CONCAT(Indi_T2,' ',Indi_Satuan) targetcapaianteks FROM renstra_prog_indi WHERE RD_OUTCOMEID IN (SELECT RD_OUTCOMEID FROM renja_prog WHERE RK_PROGID='".$sub['RK_PROGID']."')");
|
||||
while ($db->Next()) {
|
||||
$data_sub_giat[$k]['indikator_program'][] = $db->AllRow();
|
||||
}
|
||||
|
||||
//data_dana_sub_keg_lokal
|
||||
$data_sumber_dana = ['kodedana' => "1.1", 'iddana' => 2, 'pagudana' => $sub['pagu']];
|
||||
$data_sub_giat[$k]['sumber_dana'][] = $data_sumber_dana;
|
||||
|
||||
//data_lokasi_sub_keg_lokal
|
||||
$data_lokasi = ['idcamat' => 0, 'idkabkota' => 553];
|
||||
$data_sub_giat[$k]['lokasi'][] = $data_lokasi;
|
||||
|
||||
//data_sub_keg_indikator_lokal
|
||||
$data_sub_keg_indikator = ['outputteks' => $sub['Txt_Indi'], 'targetoutput' => $sub['Target_Indi'], 'satuanoutput' => $sub['Satuan_Indi']];
|
||||
$data_sub_giat[$k]['indikator'][] = $data_sub_keg_indikator;
|
||||
unset ($data_sub_giat[$k]['Txt_Indi'], $data_sub_giat[$k]['Satuan_Indi'], $data_sub_giat[$k]['Target_Indi']);
|
||||
}
|
||||
if (!empty($data_sub_giat)) {
|
||||
$aret['data'] = $data_sub_giat;
|
||||
}
|
||||
|
||||
return $aret;
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user