first commit

This commit is contained in:
2026-06-07 14:39:54 +07:00
commit 74f29bf756
104 changed files with 26026 additions and 0 deletions
+116
View File
@@ -0,0 +1,116 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/bangda_mus.php
Desc. : PHP - Simulasi Push Musrenbang ke Bangda Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2021.
Last Modified : April 6th, 2022.
(c) 2021 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function MUS_Tambah_Data($tahun=0, $id_kec=0, $id_kel=0) {
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT A.K_PoDes K_Kel,B.K_PoDes K_Kec FROM (SELECT * FROM para_lokasi WHERE LokasiID='".$id_kel."') A LEFT JOIN para_lokasi B ON (B.LokasiID=A.IndukID)");
if ($db->Next()) $ainfo = $db->AllRow();
$tsql = " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
$db->Query("SELECT U.*,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat,O.K_OPD,S.N_Satuan,M.K_Bidu,M.K_Prog,M.K_Keg,M.K_Sub,M.N_Sub FROM (SELECT OPDID,SubID,JalanID,SatuanID,Lokasi,RT,Dusun,Volume,Rupiah,Kode FROM mus_usulan WHERE Tahun='".$tahun."' AND (Prio IN (1,2) OR OAksi=1)".$tsql.") U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN vi_para90_submap M ON (M.SubID=U.SubID) LEFT JOIN para90_opd O ON (O.OPDID=U.OPDID) LEFT JOIN para_satuan S ON (S.SatuanID=U.SatuanID) ORDER BY U.Kode");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m=daerah_musrenbang_desa&f=save_usulan',type:'post',data:'kodelokasiv=".$ainfo['K_Kel']."&no_usulan=&judul_usulan=Usulan%20".$db->Row("N_Sub")."&satuan=".$db->Row("N_Satuan")."&volume=".$db->Row("Volume")."&pagu=".rupiah($db->Row("Rupiah"))."&pagu_penjumlahan=&kodelokasi_kec=".$ainfo['K_Kec']."&kodelokasi=".$ainfo['K_Kel']."&detail_lokasi=".str_replace("'","\'",$db->Row("Alamat"))."&skpd=".$db->Row("K_OPD")."&bidang=".$db->Row("K_Bidu")."&program=".$db->Row("K_Prog")."&kegiatan=".$db->Row("K_Keg")."&subkegiatan=".$db->Row("K_Sub")."&id='});<br>";
}
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
if ( $data == "tabel-kec" || $data == "tabel-kel" ) {
$qsql = "Tahun='".$thn_renja."'";
if ( $data == "tabel-kel" ) {
$qsql .= " AND KecID='".$id_kec."' AND (Prio IN (1,2) OR OAksi=1)";
}
}
if ( $data == "tabel-kec" ) {
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_lokasi WHERE Level=1");
$obj->add_field("LokasiID", "KEC", "hid");
$obj->add_field("N_Lokasi", "N_KEC", "hid");
$obj->add_field("K_PoDes", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("select", "Desa", "BangdaMusJS.kec_select");
$obj->set_func_navi("BangdaMusJS.data_query('detail-kec')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEC");
} else if ( $data == "tabel-kel" ) {
$obj = new Table($db);
$obj->set_query("SELECT D.*,CONCAT(K.ITEM_USUL) Status FROM (SELECT * FROM para_lokasi WHERE Level=2 AND IndukID='".$id_kec."') D LEFT JOIN (SELECT KelID,COUNT(*) ITEM_USUL FROM mus_usulan WHERE ".$qsql." GROUP BY KelID) K ON (D.LokasiID=K.KelID)");
$obj->add_field("LokasiID", "KEL", "hid");
$obj->add_field("N_Lokasi", "N_KEL", "hid");
$obj->add_field("K_PoDes", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kelurahan / Desa", "awr");
$obj->add_field("Status", "Status", "c");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("send", "+ Usulan", "BangdaMusJS.kode_tambah_mus");
$obj->add_row_btn("send0", "= Usulan", "BangdaMusJS.kode_ubah_mus");
$obj->set_func_navi("BangdaMusJS.data_query('tabel-kel')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEL");
} else if ( $data == "kode-tambah-mus" ) {
$ajson = MUS_Tambah_Data($thn_renja, $id_kec, $id_kel);
} else if ( $data == "kode-ubah-mus" ) {
//$ajson = MUS_Ubah_Data($thn_renja, $id_kec, $id_kel);
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Hasil Musrenbang ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
<input id="KecID" type="hidden" value="0">
<input id="KelID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="icon cui-swap-horizontal"></span></i>Kecamatan</button>
</div>
</div>
</div>
<div id="divKEC">&nbsp;</div>
<div id="divKEL">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+86
View File
@@ -0,0 +1,86 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/bangda_pok.php
Desc. : PHP - Simulasi Push Pokir ke Bangda Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2021.
Last Modified : April 6th, 2022.
(c) 2021 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function POK_Tambah_Data($tahun=0, $id_dprd=0) {
global $db;
$ahasil = [];
$db->Query("SELECT U.*,K.KamusID,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat,K.SIPD_ID,L.K_PoDes FROM (SELECT OPDID,KecID,SubID,JalanID,Lokasi,RT,Dusun,Masalah,Sasaran,Kode FROM pok_usulan WHERE Tahun='".$tahun."' AND OAksi=1 AND DPRDID='".$id_dprd."') U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN para90_kamus K ON (K.Tahun='".$tahun."' AND K.OPDID=U.OPDID AND K.SubID=U.SubID) LEFT JOIN para_lokasi L ON (L.LokasiID=U.KecID) ORDER BY U.Kode");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m=daerah_pokir&f=savepokir',type:'post',data:'kamususulan=".$db->Row("SIPD_ID")."&rumusanmasalah=".$db->Row("Masalah")."&akarmasalah=".$db->Row("Sasaran")."&bukti=-&asumsi=-&lokasi=".$db->Row("K_PoDes")."&detail_lokasi=".str_replace("'","\'",$db->Row("Alamat"))."&dokumen=&id='});<br>";
}
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_dprd = Param::Get("DPRDID", 0);
if ( $data == "tabel-dprd" ) {
$obj = new Table($db);
$obj->set_query("SELECT D.*,CONCAT(K.ITEM_USUL) Status FROM (SELECT * FROM para_dprd) D LEFT JOIN (SELECT DPRDID,COUNT(*) ITEM_USUL FROM pok_usulan WHERE Tahun='".$thn_renja."' AND OAksi=1 GROUP BY DPRDID) K ON (D.DPRDID=K.DPRDID)");
$obj->add_field("DPRDID", "KEL", "hid");
$obj->add_field("K_DPRD", "Kode", "c");
$obj->add_field("N_DPRD", "Nama Anggota Dewan", "awr");
$obj->add_field("Status", "Status", "c");
$obj->set_field_order("K_DPRD", "A");
$obj->add_row_btn("send", "+ Usulan", "BangdaPokJS.kode_tambah_pok");
$obj->add_row_btn("send0", "= Usulan", "BangdaPokJS.kode_ubah_pok");
$obj->set_func_navi("BangdaPokJS.data_query('tabel-dprd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divDPRD");
} else if ( $data == "kode-tambah-pok" ) {
$ajson = POK_Tambah_Data($thn_renja, $id_dprd);
} else if ( $data == "kode-ubah-pok" ) {
//$ajson = POK_Ubah_Data($thn_renja, $id_dprd);
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Hasil Pokir ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_DPRD" placeholder="Nama Anggota Dewan" type="text" readonly>
<input id="DPRDID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butDPRD"><span><i class="icon cui-swap-horizontal"></span></i>DPRD</button>
</div>
</div>
</div>
<div id="divDPRD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+286
View File
@@ -0,0 +1,286 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/bangda_renstra.php
Desc. : PHP - Simulasi Program Renstra ke Bangda Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 30th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function Ren_Tambah_Program($id_rpjmd=0, $id_opd=0) {//oke
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT O.K_OPD FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O");
if ($db->Next()) $ainfo = $db->AllRow();
$db->Query("SELECT P.K_Program FROM (SELECT OPDID,CONCAT('&program[]=',GROUP_CONCAT(CONCAT(LEFT(K_Prog,4),'___',K_Prog) ORDER BY K_Prog SEPARATOR '&program[]=')) K_Program FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."') P");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m='+nama_paket+'&f=save_program',type:'post',data:'kodeskpddikirim=".$ainfo['K_OPD'].$db->Row("K_Program")."'});<br>";
}
return $ahasil;
}
function Ren_Tambah_Program_Indi($id_rpjmd=0, $id_opd=0) {//oke
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT O.K_OPD FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O");
if ($db->Next()) $ainfo = $db->AllRow();
$db->Query("SELECT I.*,T.K_Prog,T.K_Bidu,S.K_Satuan FROM (SELECT * FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."') I LEFT JOIN (SELECT ProgID,K_Prog,LEFT(K_Prog,4) K_Bidu FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."') T ON (T.ProgID=I.ProgID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID) ORDER BY T.K_Prog");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m='+nama_paket+'&f=tambah_program_indikator',type:'post',data:'kodeprogramindikator=".$db->Row("No_Indi")."&uraiprogram_indikator=".$db->Row("Txt_Indi")."&tbl-master-indikator_length=10&satuan=".$db->Row("K_Satuan")."&status=".strtolower($db->Row("Indi_Status"))."&volume_awal=".$db->Row("Indi_T1")."&volume[2021]=".$db->Row("Indi_T2")."&volume[2022]=".$db->Row("Indi_T3")."&volume[2023]=".$db->Row("Indi_T4")."&volume[2024]=".$db->Row("Indi_T5")."&kodeprogram=".$db->Row("K_Prog")."&kodeskpd=".$ainfo['K_OPD']."&kodebidang=".$db->Row("K_Bidu")."&kodeindikator_master=&kodeindikator_transaksi=&kodeprogramindikator_target='});<br>";
}
return $ahasil;
}
function Ren_Tambah_Kegiatan($id_rpjmd=0, $id_opd=0, $id_prog=0) {//oke
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT O.K_OPD FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O");
if ($db->Next()) $ainfo = $db->AllRow();
$tsql = ($id_prog == 0) ? "" : " AND ProgID='".$id_prog."'";
$db->Query("SELECT K.K_Kegiatan,P.* FROM (SELECT ProgID,CONCAT('&Kegiatan[]=',GROUP_CONCAT(K_Keg ORDER BY K_Keg SEPARATOR '&Kegiatan[]=')) K_Kegiatan FROM renstra_keg WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql." GROUP BY ProgID) K LEFT JOIN (SELECT ProgID,K_Prog,LEFT(K_Prog,4) K_Bidu FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql.") P ON (P.ProgID=K.ProgID) ORDER BY P.K_Prog");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m='+nama_paket+'&f=save_kegiatan',type:'post',data:'kodeskpddikirim=".$ainfo['K_OPD']."&kodeprogramdikirim=".$db->Row("K_Prog")."&bid=".$db->Row("K_Bidu").$db->Row("K_Kegiatan")."'});<br>";
}
return $ahasil;
}
function Ren_Tambah_Kegiatan_Indi($id_rpjmd=0, $id_opd=0, $id_prog=0) {//oke
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT O.K_OPD FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O");
if ($db->Next()) $ainfo = $db->AllRow();
$tsql = ($id_prog == 0) ? "" : " AND ProgID='".$id_prog."'";
$db->Query("SELECT I.*,T.K_Keg,P.K_Prog,P.K_Bidu,S.K_Satuan FROM (SELECT * FROM renstra_keg_indi WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql.") I LEFT JOIN (SELECT ProgID,KegID,K_Keg FROM renstra_keg WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql.") T ON (T.ProgID=I.ProgID AND T.KegID=I.KegID) LEFT JOIN (SELECT ProgID,K_Prog,LEFT(K_Prog,4) K_Bidu FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql.") P ON (P.ProgID=T.ProgID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID) ORDER BY T.K_Keg");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m='+nama_paket+'&f=simpan_indikator',type:'post',data:'kodeskpd=".$ainfo['K_OPD']."&kodeprogram=".$db->Row("K_Prog")."&kodekegiatan=".$db->Row("K_Keg")."&kodebidang=".$db->Row("K_Bidu")."&urai_indikator[0]=".$db->Row("Txt_Indi")."&urai_satuan[0]=".$db->Row("K_Satuan")."&status_indikator[0]=".strtolower($db->Row("Indi_Status"))."&volume_awal=".$db->Row("Indi_T1")."&volume[0][]=".$db->Row("Indi_T2")."&volume[0][]=".$db->Row("Indi_T3")."&volume[0][]=".$db->Row("Indi_T4")."&volume[0][]=".$db->Row("Indi_T5")."&uang_awal=0&uang[0][]=0&uang[0][]=0&uang[0][]=0&uang[0][]=0&tbl-master-indikator_length=10&kodesubkegiatan=&kodeunit=&kodeindikator_master=&kodeindikator_transaksi='});<br>";
}
return $ahasil;
}
function Ren_Tambah_SubKeg($id_rpjmd=0, $id_opd=0, $id_prog=0, $id_keg=0) {//oke
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT O.K_OPD FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O");
if ($db->Next()) $ainfo = $db->AllRow();
$tsql1 = ($id_prog == 0) ? "" : " AND ProgID='".$id_prog."'";
$tsql2 = $tsql1;
$tsql2 .= ($id_keg == 0) ? "" : " AND KegID='".$id_keg."'";
$db->Query("SELECT P.K_Prog,P.K_Bidu,A.K_Keg,K.K_SubKeg FROM (SELECT ProgID,KegID,CONCAT('&subkegiatan[]=',GROUP_CONCAT(K_Sub ORDER BY K_Sub SEPARATOR '&subkegiatan[]=')) K_SubKeg FROM renstra_sub WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql2." GROUP BY ProgID,KegID) K LEFT JOIN (SELECT ProgID,K_Prog,LEFT(K_Prog,4) K_Bidu FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."'".$tsql1.") P ON (P.ProgID=K.ProgID) LEFT JOIN (SELECT ProgID,KegID,K_Keg FROM renstra_keg WHERE OPDID='".$id_opd."'".$tsql2.") A ON (A.ProgID=K.ProgID AND A.KegID=K.KegID) ORDER BY A.K_Keg");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m='+nama_paket+'&f=save_subkegiatan',type:'post',data:'kodeskpd=".$ainfo['K_OPD']."&kodeprogram=".$db->Row("K_Prog")."&kodebidang=".$db->Row("K_Bidu")."&kodekegiatan=".$db->Row("K_Keg").$db->Row("K_SubKeg")."'});<br>";
}
return $ahasil;
}
function Ren_Tambah_SubKeg_Indi($id_rpjmd=0, $id_opd=0, $id_prog=0, $id_keg=0) {//oke
global $db;
$ahasil = [];
$ainfo = [];
$db->Query("SELECT O.K_OPD,P.K_Prog,P.K_Bidu,K.K_Keg FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O LEFT JOIN (SELECT OPDID,K_Prog,LEFT(K_Prog,4) K_Bidu FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' LIMIT 1) P ON (P.OPDID=O.OPDID) LEFT JOIN (SELECT OPDID,K_Keg FROM renstra_keg WHERE OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' LIMIT 1) K ON (K.OPDID=O.OPDID)");
if ($db->Next()) $ainfo = $db->AllRow();
$db->Query("SELECT I.*,T.K_Sub,S.K_Satuan FROM (SELECT * FROM renstra_sub_indi WHERE OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' AND SIPD_RENSTRA>0) I LEFT JOIN (SELECT * FROM renstra_sub WHERE OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."') T ON (T.SubID=I.SubID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID)");
while ($db->Next()) {
$ahasil[] = "\$.ajax({url:BASE_URL+'/?m='+nama_paket+'&f=ubah_subkegiatan_indikator',type:'post',data:'kodeskpd=".$ainfo['K_OPD']."&kodeprogram=".$ainfo['K_Prog']."&kodekegiatan=".$ainfo['K_Keg']."&kodesubkegiatan=".$db->Row("K_Sub")."&kodebidang=".$ainfo['K_Bidu']."&subkeg=".$db->Row("K_Sub")."&urai_indikator=".$db->Row("Txt_Indi")."&lokasi=61.02&urai_satuan[0]=".$db->Row("K_Satuan")."&status_indikator=".strtolower($db->Row("Indi_Status"))."&volume_awal=".$db->Row("Indi_T1")."&uang_awal=".rupiah2($db->Row("Pagu_T1"))."&volume[]=".$db->Row("Indi_T2")."&uang[]=".rupiah2($db->Row("Pagu_T2"))."&volume[]=".$db->Row("Indi_T3")."&uang[]=".rupiah2($db->Row("Pagu_T3"))."&volume[]=".$db->Row("Indi_T4")."&uang[]=".rupiah2($db->Row("Pagu_T4"))."&volume[]=".$db->Row("Indi_T5")."&uang[]=".rupiah2($db->Row("Pagu_T5"))."&kodesubkegiatan_indikator=".$db->Row("SIPD_RENSTRA")."&kodesubkegiatan_indikator_target=&kodeindikator_master=&kodeunit='});<br>";
}
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_keg = Param::Get("KegID", 0);
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub"]) ) {//oke
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql = "Aktif=1";
if ( $data == "tabel-prog" ) {
$qsql .= " AND OPDID='".$id_opd."'";
} else if ( $data == "tabel-keg" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
} else if ( $data == "tabel-sub" ) {
$qsql .= " AND OPDID='".$id_opd."' AND KegID='".$id_keg."'";
}
}
if ( $data == "tabel-opd" ) {//oke
$obj = new Table($db);
$obj->set_query("SELECT M.OPDID OPDID2,M.K_OPD,M.N_OPD,IFNULL(B.ITEM_PROG,0) ITEM_PROG FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_PROG FROM renstra_prog WHERE ".$qsql." GROUP BY OPDID) B ON (B.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("ITEM_PROG", "Prog", "c");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("send", "+ Prog", "BangdaRenstraJS.kode_tambah_prog");
$obj->add_row_btn("document", "+ Indi Prog", "BangdaRenstraJS.kode_tambah_prog_indi");
$obj->add_row_btn("select", "Program", "BangdaRenstraJS.opd_select");
$obj->set_func_navi("BangdaRenstraJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-prog" ) {//oke
$obj = new Table($db);
$obj->set_query("SELECT P.*,A.N_Prog,A.Nama_Prog,IFNULL(B.ITEM_KEG,0) ITEM_KEG FROM (SELECT * FROM renstra_prog WHERE ".$qsql.") P LEFT JOIN vi_para90_prog A ON (P.ProgID=A.ProgID) LEFT JOIN (SELECT ProgID,COUNT(*) ITEM_KEG FROM renstra_keg WHERE ".$qsql." GROUP BY ProgID) B ON (B.ProgID=P.ProgID)");
$obj->add_field("ProgID", "ID", "hid");
$obj->add_field("Nama_Prog", "Nama_Program", "hid");
$obj->add_field("K_Prog", "Kode", "c");
$obj->add_field("N_Prog", "Nama Program", "awr");
$obj->add_field("ITEM_KEG", "Keg", "c");
$obj->set_field_order("K_Prog", "A");
$obj->add_row_btn("send", "+ Keg", "BangdaRenstraJS.kode_tambah_keg");
$obj->add_row_btn("document", "+ Indi Keg", "BangdaRenstraJS.kode_tambah_keg_indi");
$obj->add_row_btn("select", "Kegiatan", "BangdaRenstraJS.prog_select");
$obj->set_func_navi("BangdaRenstraJS.data_query('tabel-prog')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divPROG");
} else if ( $data == "tabel-keg" ) {//oke
$obj = new Table($db);
$obj->set_query("SELECT P.*,A.N_Keg,A.Nama_Keg,IFNULL(K.ITEM_SUB,0) ITEM_SUB FROM (SELECT * FROM renstra_keg WHERE ".$qsql.") P LEFT JOIN vi_para90_keg A ON (P.KegID=A.KegID) LEFT JOIN (SELECT KegID,COUNT(*) ITEM_SUB FROM renstra_sub WHERE ".$qsql." GROUP BY KegID) K ON (K.KegID=P.KegID)");
$obj->add_field("KegID", "ID", "hid");
$obj->add_field("Nama_Keg", "Nama_Keg", "hid");
$obj->add_field("K_Keg", "Kode", "c");
$obj->add_field("N_Keg", "Nama Kegiatan", "awr");
$obj->add_field("ITEM_SUB", "Sub", "c");
$obj->set_field_order("K_Keg", "A");
$obj->add_row_btn("send", "+ Sub", "BangdaRenstraJS.kode_tambah_sub");
$obj->add_row_btn("point", "= Indi Map", "BangdaRenstraJS.html_show");
$obj->add_row_btn("select", "= Indi Sub", "BangdaRenstraJS.kode_tambah_sub_indi");
$obj->set_func_navi("BangdaRenstraJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "kode-tambah-prog" ) {//oke
$ajson = Ren_Tambah_Program($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-prog-indi" ) {//oke
$ajson = Ren_Tambah_Program_Indi($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-keg" ) {//oke
$ajson = Ren_Tambah_Kegiatan($id_rpjmd, $id_opd, $id_prog);
} else if ( $data == "kode-tambah-keg-indi" ) {//oke
$ajson = Ren_Tambah_Kegiatan_Indi($id_rpjmd, $id_opd, $id_prog);
} else if ( $data == "kode-tambah-sub" ) {//oke
$ajson = Ren_Tambah_SubKeg($id_rpjmd, $id_opd, $id_prog, $id_keg);
} else if ( $data == "kode-tambah-sub-indi" ) {//oke
$ajson = Ren_Tambah_SubKeg_Indi($id_rpjmd, $id_opd, $id_prog, $id_keg);
} else if ( $data == "simpan-html" ) {
$ajson['result'] = 0;
$thtml = stripslashes(Param::Get("Kode_HTML", ""));
$dom = new DOMDocument();
@$dom->loadHTML($thtml);
$db->Query("UPDATE renstra_sub_indi SET SIPD_RENSTRA=0 WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."' AND KegID='".$id_keg."'");
$atr = $dom->getElementsByTagName("tr");
foreach ($atr as $tr) {
if ($tr->hasAttributes()) {
if (false === strpos($tr->attributes['id']->value, "record_")) continue;
$_id = 0; $_ksub = "";
foreach ($tr->attributes as $a) {
if ($a->nodeName == "data-tt-id") $_id = intval($a->nodeValue);
if ($a->nodeName == "data-tt-parent-id") $_ksub = $a->nodeValue;
}
if ($_id > 0 && $_ksub <> "") {
$_oke = false; $asub = [];
$db->Query("SELECT * FROM renstra_sub WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."' AND KegID='".$id_keg."' AND K_Sub='".$_ksub."'");
if ($db->Next()) {
$asub = $db->AllRow(); $_oke = true;
}
if ($_oke) {
$db->Query("UPDATE renstra_sub_indi SET SIPD_RENSTRA='".$_id."' WHERE RPJMDID='".$id_rpjmd."' AND OPDID='".$id_opd."' AND ProgID='".$asub['ProgID']."' AND KegID='".$asub['KegID']."' AND SubID='".$asub['SubID']."'");
}
}
}
}
$ajson['result'] = 1;
} else if ( $data == "default") {//oke
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style container-fluid"><div class="row"><div class="col-md-10">Push Program Renstra ke SIPD Bangda Kemendagri</div><div class="col-md-2">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi / OPD</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiProg">+ Program</a>
<a class="dropdown-item" href="#" id="opsiProgIndi">+ Indi Program</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiKeg">+ Kegiatan</a>
<a class="dropdown-item" href="#" id="opsiKegIndi">+ Indi Kegiatan</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiSub">+ Sub Kegiatan</a>
</div>
</div>
</div></div></div>
<div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="c-icon cui-swap-horizontal"></span></i>OPD</button>
</div>
</div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_PROG" placeholder="Nama Program Renstra" type="text" readonly>
<input id="ProgID" type="hidden" value="0">
<input id="KegID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butPROG"><span><i class="c-icon cui-swap-horizontal"></span></i>Program</button>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divPROG">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+174
View File
@@ -0,0 +1,174 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/musrenbang.php
Desc. : PHP - Simulasi Push Musrenbang ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2021.
Last Modified : April 6th, 2022.
(c) 2021 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function MUS_Tambah_Data($tahun=0, $id_kec=0, $id_kel=0) {
global $db;
$ahasil = [];
$tsql = ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
//$db->Query("SELECT U.*,K.KamusID,D.SIPD_DESA,D.SIPD_KEC,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat FROM (SELECT OPDID,SubID,KelID,JalanID,Lokasi,RT,Dusun,Masalah,Kode FROM mus_usulan WHERE Tahun='".$tahun."' AND (Prio NOT IN (0) OR OAksi=1)".$tsql.") U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN vi_para90_submap M ON (M.SubID=U.SubID) LEFT JOIN (SELECT * FROM mus_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN vi_para_desa D ON (D.DesaID=U.KelID) ORDER BY U.Kode");
$db->Query("SELECT U.Kode,U.Masalah,M.ProgID,M.Lama_ProgID,O.SIPD_Unit,O.N_OPD,K.KamusID,K.Uraian N_Kamus,K.Bidu N_Bidu,D.SIPD_DESA,D.SIPD_KEC,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat FROM (SELECT OPDID,SubID,KelID,JalanID,Lokasi,RT,Dusun,Masalah,Kode FROM mus_usulan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$tahun."') M ON (M.SubID=U.SubID) LEFT JOIN (SELECT * FROM mus_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN vi_para_desa D ON (D.DesaID=U.KelID) LEFT JOIN para90_opd O ON (O.OPDID=U.OPDID) ORDER BY U.Kode");
while ($db->Next()) {
$ahasil[] = [
'kode' => $db->Row("Kode"),
'id_kamus' => $db->Row("KamusID"),
'nama_kamus' => $db->Row("N_Kamus"),
'id_program' => $db->Row("Lama_ProgID"),
'nama_bidang_urusan' => $db->Row("N_Bidu"),
'id_skpd' => $db->Row("SIPD_Unit"),
'nama_skpd' => $db->Row("N_OPD"),
'alamat_teks' => substr(str_replace("'","\'",$db->Row("Alamat")), 0, 255),
'id_kecamatan' => $db->Row("SIPD_KEC"),
'id_kelurahan' => $db->Row("SIPD_DESA"),
'masalah' => substr($db->Row("Masalah"), 0, 255)
];
}
return [json_encode($ahasil)];
}
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
if ( $data == "tabel-kec" || $data == "tabel-kel" ) {
$qsql = "Tahun='".$thn_renja."'";
if ( $data == "tabel-kel" ) {
//$qsql .= " AND KecID='".$id_kec."' AND (Prio NOT IN (0) OR OAksi=1)";
$qsql .= " AND KecID='".$id_kec."'";
}
}
if ( $data == "tabel-kec" ) {
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_lokasi WHERE Level=1");
$obj->add_field("LokasiID", "KEC", "hid");
$obj->add_field("N_Lokasi", "N_KEC", "hid");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("send", "+ Usulan", "MUSJS.kode_tambah_mus_k");
$obj->add_row_btn("send0", "= Usulan", "MUSJS.kode_ubah_mus_k");
$obj->add_row_btn("select", "Desa", "MUSJS.kec_select");
$obj->set_func_navi("MUSJS.data_query('detail-kec')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEC");
} else if ( $data == "tabel-kel" ) {
$obj = new Table($db);
$obj->set_query("SELECT *,CONCAT(K.ITEM_USUL) Status FROM (SELECT * FROM para_lokasi WHERE Level=2 AND IndukID='".$id_kec."') D LEFT JOIN (SELECT KelID,COUNT(*) ITEM_USUL FROM mus_usulan WHERE ".$qsql." GROUP BY KelID) K ON (D.LokasiID=K.KelID)");
$obj->add_field("LokasiID", "KEL", "hid");
$obj->add_field("N_Lokasi", "N_KEL", "hid");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kelurahan / Desa", "awr");
$obj->add_field("Status", "Status", "c");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("send", "+ Usulan", "MUSJS.kode_tambah_mus");
$obj->add_row_btn("send0", "= Usulan", "MUSJS.kode_ubah_mus");
$obj->set_func_navi("MUSJS.data_query('tabel-kel')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEL");
} else if ( $data == "kode-tambah-mus" ) {
$ajson = MUS_Tambah_Data($thn_renja, $id_kec, $id_kel);
} else if ( $data == "kode-ubah-mus" ) {
//$ajson = MUS_Ubah_Data($thn_renja, $id_kec, $id_kel);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
/*$db->Query("TRUNCATE sipd_rkpd_sub");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_rkpd_sub (ID_SUB,ID_UNIT,SIPD_BL,SIPD_SBL) VALUES ('".$arec['id_sub_giat']."','".$arec['id_unit']."','".$arec['kode_bl']."','".$arec['kode_sbl']."')");
}
$db->Query("UPDATE sipd_rkpd_sub A,para90_sub B SET A.SubID=B.SubID,A.KegID=B.KegID,A.ProgID=B.ProgID WHERE A.ID_SUB=B.SubID");
$db->Query("UPDATE sipd_rkpd_sub A,para90_sipd B SET A.SubID=B.Lama_SubID,A.KegID=B.Lama_KegID,A.ProgID=B.Lama_ProgID WHERE A.ID_SUB=B.SubID AND A.SubID=0");
$db->Query("UPDATE sipd_rkpd_sub A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renja90_awal_sub SET SIPD_BL='',SIPD_SBL='' WHERE Tahun='".$thn_renja."'");
$db->Query("UPDATE renja90_awal_sub A,sipd_rkpd_sub B SET A.SIPD_BL=B.SIPD_BL,A.SIPD_SBL=B.SIPD_SBL WHERE A.Tahun='".$thn_renja."' AND A.SubID=B.SubID AND A.KegID=B.KegID AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID");*/
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Kode Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Nama Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Hasil Musrenbang ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12">
<div class="input-group">
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
<input id="KecID" type="hidden" value="0">
<input id="KelID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="icon cui-swap-horizontal"></span></i>Kecamatan</button>
</div>
</div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<div id="divKEC">&nbsp;</div>
<div id="divKEL">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+152
View File
@@ -0,0 +1,152 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/pokir.php
Desc. : PHP - Simulasi Push Pokir ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2021.
Last Modified : April 6th, 2022.
(c) 2021 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function POK_Tambah_Data($tahun=0, $id_dprd=0) {
global $db;
$ahasil = [];
//$tsql = " AND Prio>0";
$tsql .= ($id_dprd==0) ? "" : " AND DPRDID='".$id_dprd."'";
//$db->Query("SELECT U.*,K.KamusID,D.SIPD_DESA,D.SIPD_KEC,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat,S.N_Satuan FROM (SELECT OPDID,SubID,KelID,JalanID,Lokasi,RT,Dusun,Masalah,Volume,SatuanID,Kode FROM pok_usulan WHERE Tahun='".$tahun."' AND Prio>0".$tsql.") U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN vi_para90_submap M ON (M.SubID=U.SubID) LEFT JOIN pok_kamus K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN vi_para_desa D ON (D.DesaID=U.KelID) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) ORDER BY U.Kode");
$db->Query("SELECT U.Kode,U.Masalah,M.ProgID,O.SIPD_Unit,O.N_OPD,K.KamusID,K.Uraian N_Kamus,K.Bidu N_Bidu,D.SIPD_DESA,D.SIPD_KEC,CONCAT(IFNULL(J.N_Jalan,U.Lokasi),' RT. ',U.RT,', ',U.Dusun) Alamat,U.Volume,S.N_Satuan,K.IsuID FROM (SELECT OPDID,SubID,KelID,JalanID,Lokasi,RT,Dusun,Masalah,Volume,SatuanID,Kode FROM pok_usulan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_jalan J ON (J.JalanID=U.JalanID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$tahun."') M ON (M.SubID=U.SubID) LEFT JOIN (SELECT * FROM pok_kamus WHERE Tahun='".$tahun."') K ON (K.OPDID=U.OPDID AND K.ProgID=M.ProgID) LEFT JOIN vi_para_desa D ON (D.DesaID=U.KelID) LEFT JOIN para90_opd O ON (O.OPDID=U.OPDID) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) ORDER BY U.Kode");
while ($db->Next()) {
//$ahasil[] = "\$.ajax({url:lru3,type:'post',headers:{'X-CSRF-Token':'".$_SESSION['__WEB_USER']['SIPD_ACAK']."'},data:{'idkamus':'".$db->Row("KamusID")."','masalahteks':'".$db->Row("Masalah")."','volume':'".$db->Row("Volume")."','satuan':'".$db->Row("N_Satuan")."','alamat_teks':'".str_replace("'","\'",$db->Row("Alamat"))."','kab_kota':'553','kecamatan':'".$db->Row("SIPD_KEC")."','kelurahan':'".$db->Row("SIPD_DESA")."'},success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
$ahasil[] = [
'kode' => $db->Row("Kode"),
'id_kamus' => $db->Row("KamusID"),
'nama_kamus' => $db->Row("N_Kamus"),
'nama_bidang_urusan' => $db->Row("N_Bidu"),
'id_program' => $db->Row("IsuID"),//update program_id
'id_skpd' => $db->Row("SIPD_Unit"),
'nama_skpd' => $db->Row("N_OPD"),
'alamat_teks' => substr(str_replace("'","\'",$db->Row("Alamat")), 0, 255),
'volume' => $db->Row("Volume"),
'satuan' => $db->Row("N_Satuan"),
'id_kecamatan' => $db->Row("SIPD_KEC"),
'id_kelurahan' => $db->Row("SIPD_DESA"),
'masalah' => substr($db->Row("Masalah"), 0, 255)
];
}
return [json_encode($ahasil)];
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_dprd = Param::Get("DPRDID", 0);
if ( $data == "tabel-dprd" ) {
$obj = new Table($db);
$obj->set_query("SELECT D.*,CONCAT(K.ITEM_USUL) Status FROM (SELECT * FROM para_dprd) D LEFT JOIN (SELECT DPRDID,COUNT(*) ITEM_USUL FROM pok_usulan WHERE Tahun='".$thn_renja."' GROUP BY DPRDID) K ON (D.DPRDID=K.DPRDID) WHERE K.ITEM_USUL>0");// AND Prio>0
$obj->add_field("DPRDID", "KEL", "hid");
$obj->add_field("K_DPRD", "Kode", "c");
$obj->add_field("N_DPRD", "Nama Anggota Dewan", "awr");
$obj->add_field("Status", "Status", "c");
$obj->set_field_order("K_DPRD", "A");
$obj->add_row_btn("send", "+ Usulan", "POKJS.kode_tambah_pok");
$obj->add_row_btn("send0", "= Usulan", "POKJS.kode_ubah_pok");
$obj->set_func_navi("POKJS.data_query('tabel-dprd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divDPRD");
} else if ( $data == "kode-tambah-pok" ) {
$ajson = POK_Tambah_Data($thn_renja, $id_dprd);
} else if ( $data == "kode-ubah-pok" ) {
//$ajson = POK_Ubah_Data($thn_renja, $id_dprd);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
/*$db->Query("TRUNCATE sipd_rkpd_sub");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_rkpd_sub (ID_SUB,ID_UNIT,SIPD_BL,SIPD_SBL) VALUES ('".$arec['id_sub_giat']."','".$arec['id_unit']."','".$arec['kode_bl']."','".$arec['kode_sbl']."')");
}
$db->Query("UPDATE sipd_rkpd_sub A,para90_sub B SET A.SubID=B.SubID,A.KegID=B.KegID,A.ProgID=B.ProgID WHERE A.ID_SUB=B.SubID");
$db->Query("UPDATE sipd_rkpd_sub A,para90_sipd B SET A.SubID=B.Lama_SubID,A.KegID=B.Lama_KegID,A.ProgID=B.Lama_ProgID WHERE A.ID_SUB=B.SubID AND A.SubID=0");
$db->Query("UPDATE sipd_rkpd_sub A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renja90_awal_sub SET SIPD_BL='',SIPD_SBL='' WHERE Tahun='".$thn_renja."'");
$db->Query("UPDATE renja90_awal_sub A,sipd_rkpd_sub B SET A.SIPD_BL=B.SIPD_BL,A.SIPD_SBL=B.SIPD_SBL WHERE A.Tahun='".$thn_renja."' AND A.SubID=B.SubID AND A.KegID=B.KegID AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID");*/
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Kode Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Nama Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Hasil Pokir ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12">
<div class="input-group">
<input class="form-control" id="Nama_DPRD" placeholder="Nama Anggota Dewan" type="text" readonly>
<input id="DPRDID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butDPRD"><span><i class="icon cui-swap-horizontal"></span></i>DPRD</button>
</div>
</div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<div id="divDPRD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+188
View File
@@ -0,0 +1,188 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/renstra_kegiatan.php
Desc. : PHP - Simulasi Kegiatan Renstra ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 31st, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function Ren_Tambah_Kegiatan($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT AK.*,RS1.SIPD_UNIK SIPD_RPJMD_SASARAN,AP.SIPD_RENSTRA SIPD_RENSTRA_PROG,RS.SIPD_UNIK SIPD_RENSTRA_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_Unit,S.ProgID ID_PROGRAM,S.KegID ID_KEG,S.BUID FROM (SELECT * FROM renstra_keg WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_RENSTRA='') AK LEFT JOIN renstra_prog AP ON (AP.RA_PROGID=AK.RA_PROGID) LEFT JOIN rpjmd_sasaran RS1 ON (RS1.RD_SASARID=AP.RD_SASARID) LEFT JOIN renstra_sasaran RS ON (RS.RA_SASARID=AP.RA_SASARID) LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=AP.RA_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=AP.OPDID) LEFT JOIN (SELECT ProgID,KegID,BUID,Lama_KegID FROM para90_sipd GROUP BY Lama_KegID) S ON (S.Lama_KegID=AK.KegID)");
while ($db->Next()) {
$test = "kamus=giat&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_Unit")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_RENSTRA_SASARAN")."&sasaran_teks=&sasaran_no=&kode_unik_program=".$db->Row("SIPD_RENSTRA_PROG")."&id_program_renstra=".$db->Row("ID_PROGRAM")."&kode_unik_giat=&id_giat_renstra=&giat_renstra=".$db->Row("ID_KEG");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-giat').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Kegiatan($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
return $ahasil;
}
function Ren_Tambah_Indi($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT I.*,RS1.SIPD_UNIK SIPD_RPJMD_SASARAN,AK.SIPD_RENSTRA SIPD_RENSTRA_KEG,AP.SIPD_RENSTRA SIPD_RENSTRA_PROG,RS.SIPD_UNIK SIPD_RENSTRA_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_Unit,S.ProgID ID_PROGRAM,S.KegID ID_KEG,S.BUID,T.K_Satuan FROM (SELECT * FROM renstra_keg_indi WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_RENSTRA='') I LEFT JOIN renstra_keg AK ON (AK.RA_KEGID=I.RA_KEGID) LEFT JOIN renstra_prog AP ON (AP.RA_PROGID=AK.RA_PROGID) LEFT JOIN rpjmd_sasaran RS1 ON (RS1.RD_SASARID=AP.RD_SASARID) LEFT JOIN renstra_sasaran RS ON (RS.RA_SASARID=AP.RA_SASARID) LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=AP.RA_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=AP.OPDID) LEFT JOIN para_satuan T ON (T.SatuanID=I.SatuanID) LEFT JOIN (SELECT ProgID,KegID,BUID,Lama_KegID FROM para90_sipd GROUP BY Lama_KegID) S ON (S.Lama_KegID=AK.KegID)");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan");
$test = "kamus=indikator_giat&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_Unit")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_RENSTRA_SASARAN")."&sasaran_teks=&sasaran_no=&kode_unik_program=".$db->Row("SIPD_RENSTRA_PROG")."&id_program_renstra=".$db->Row("ID_PROGRAM")."&kode_unik_giat=".$db->Row("SIPD_RENSTRA_KEG")."&id_giat_renstra=&id_indikator_output=&output_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_output=".$db->Row("Indi_Awal")."&satuan_awal_output=".$k_satuan."&target_output%5B%5D=".$db->Row("Indi_T1")."&satuan_output%5B%5D=".$k_satuan."&anggaran_output%5B%5D=".$db->Row("Pagu_T1")."&target_output%5B%5D=".$db->Row("Indi_T2")."&satuan_output%5B%5D=".$k_satuan."&anggaran_output%5B%5D=".$db->Row("Pagu_T2")."&target_output%5B%5D=".$db->Row("Indi_T3")."&satuan_output%5B%5D=".$k_satuan."&anggaran_output%5B%5D=".$db->Row("Pagu_T3")."&target_output%5B%5D=".$db->Row("Indi_T4")."&satuan_output%5B%5D=".$k_satuan."&anggaran_output%5B%5D=".$db->Row("Pagu_T4")."&target_output%5B%5D=".$db->Row("Indi_T5")."&satuan_output%5B%5D=".$k_satuan."&anggaran_output%5B%5D=".$db->Row("Pagu_T5")."&target_akhir_output=".$db->Row("Indi_Akhir")."&satuan_akhir_output=".$k_satuan;
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-giat').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Indi($id_rpjmd=0, $id_opd=0) {//
global $db;
$ahasil = array();
//kamus=indikator_giat&aksi=ubah_kamus&id_opd_renstra=584&id_bidur_renstra=104&kode_sasaran_rpjm=60.316.685.1371.48&kode_tujuan=60.316.685.92&tujuan_teks=&tujuan_no=&kode_sasaran=60.316.685.1371.48&sasaran_teks=&sasaran_no=&id_unik_indikator=&indikator_teks=Nilai+IKM+pelayanan+Perpustakaan+&target_awal_indikator=85&satuan_awal_indikator=IKM&target_indikator%5B%5D=n%2Fa&satuan_indikator%5B%5D=IKM&target_indikator%5B%5D=85&satuan_indikator%5B%5D=IKM&target_indikator%5B%5D=85&satuan_indikator%5B%5D=IKM&target_indikator%5B%5D=85&satuan_indikator%5B%5D=IKM&target_indikator%5B%5D=85&satuan_indikator%5B%5D=IKM&target_akhir_indikator=85&satuan_akhir_indikator=IKM&kode_unik_program=6243ea5210e4b-1189308514-1648618066&id_program_renstra=825&id_indikator_outcome=&outcome_teks=Persentase+jumlah+capaian+pelayanan+administrasi+perkantoran&target_awal_outcome=100&satuan_awal_outcome=%25&target_outcome%5B%5D=n%2Fa&satuan_outcome%5B%5D=%25&anggaran_outcome%5B%5D=0&target_outcome%5B%5D=100&satuan_outcome%5B%5D=%25&anggaran_outcome%5B%5D=3662980827&target_outcome%5B%5D=100&satuan_outcome%5B%5D=%25&anggaran_outcome%5B%5D=4683695647&target_outcome%5B%5D=100&satuan_outcome%5B%5D=%25&anggaran_outcome%5B%5D=4193436361&target_outcome%5B%5D=100&satuan_outcome%5B%5D=%25&anggaran_outcome%5B%5D=4410358179&target_akhir_outcome=100&satuan_akhir_outcome=%25&kode_unik_giat=6243eb96b7792-701892506-1648618390&id_giat_renstra=&id_indikator_output=6243ecb92c6fa-120392419-1648618681&output_teks=Persentase+tingkat+ketetapan+waktu+penyelesaian+dokumen+perencanaan&target_awal_output=100&satuan_awal_output=%25&target_output%5B%5D=n%2Fa&satuan_output%5B%5D=%25&anggaran_output%5B%5D=0&target_output%5B%5D=100&satuan_output%5B%5D=%25&anggaran_output%5B%5D=30000000&target_output%5B%5D=100&satuan_output%5B%5D=%25&anggaran_output%5B%5D=55000000&target_output%5B%5D=100&satuan_output%5B%5D=%25&anggaran_output%5B%5D=80000000&target_output%5B%5D=100&satuan_output%5B%5D=%25&anggaran_output%5B%5D=85000000&target_akhir_output=100&satuan_akhir_output=%25
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_opd = Param::Get("OPDID", 0);
if ( $data == "detail-opd" ) {
$tcari = trim(Param::Get("Cari_OPD"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql = "M.Aktif=1";
$msql .= ($tcari=="") ? "" : " AND CONCAT(M.K_OPD,M.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,CONCAT(IFNULL(K.ITEM_UDAH,0),' / ',IFNULL(K.ITEM_SEMUA,0)) Stat_Master,CONCAT(IFNULL(I.INDI_UDAH,0),' / ',IFNULL(I.INDI_SEMUA,0)) Stat_Indi,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0) AND IFNULL(I.INDI_UDAH,0)=IFNULL(I.INDI_SEMUA,0),1,0) IDO FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_RENSTRA='',0,1)) ITEM_UDAH FROM renstra_keg WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) INDI_SEMUA,SUM(IF(SIPD_RENSTRA='',0,1)) INDI_UDAH FROM renstra_keg_indi WHERE ".$qsql." GROUP BY OPDID) I ON (I.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("Stat_Master", "Kegiatan", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("send", "+ Kegiatan", "RenstraKegiatanJS.kode_tambah_keg");
$obj->add_row_btn("send0", "= Kegiatan", "RenstraKegiatanJS.kode_ubah_keg");
$obj->add_row_btn("document", "+ Indikator", "RenstraKegiatanJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RenstraKegiatanJS.kode_ubah_indi");
$obj->set_func_navi("RenstraKegiatanJS.data_query('detail-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "kode-tambah-keg" ) {
$ajson = Ren_Tambah_Kegiatan($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-keg" ) {
$ajson = Ren_Ubah_Kegiatan($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = Ren_Tambah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-indi" ) {
$ajson = Ren_Ubah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
$db->Query("TRUNCATE sipd_renstra_keg");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_renstra_keg (ID_KEG,ID_UNIT,UNIK_KEG,UNIK_INDI,Txt_Indi) VALUES ('".$arec['id_giat']."','".$arec['id_unit']."','".$arec['id_unik']."','".$arec['id_unik_indikator']."','".$arec['indikator']."')");
}
$db->Query("UPDATE sipd_renstra_keg A,para90_keg B SET A.KegID=B.KegID WHERE A.ID_KEG=B.KegID");
$db->Query("UPDATE sipd_renstra_keg A,para90_sipd B SET A.KegID=B.Lama_KegID WHERE A.ID_KEG=B.KegID AND A.KegID=0");
$db->Query("UPDATE sipd_renstra_keg A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renstra_keg SET SIPD_RENSTRA='' WHERE RPJMDID='".$id_rpjmd."'");
//$db->Query("UPDATE renstra_keg_indi SET SIPD_RENSTRA='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_keg A,sipd_renstra_keg B SET A.SIPD_RENSTRA=B.UNIK_KEG WHERE A.RPJMDID='".$id_rpjmd."' AND A.KegID=B.KegID AND A.OPDID=B.OPDID");
$db->Query("UPDATE renstra_keg_indi A,sipd_renstra_keg B SET A.SIPD_RENSTRA=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.KegID=B.KegID AND A.OPDID=B.OPDID AND TRIM(REPLACE(REPLACE(A.Txt_Indi,'\r',''),'\n',''))=TRIM(B.Txt_Indi)");
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Kegiatan Renstra ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahKeg">Tambah Kegiatan</a>
<a class="dropdown-item" href="#" id="opsiUbahKeg">Ubah Kegiatan</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="OPDID" type="hidden">
<div id="divOPD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+197
View File
@@ -0,0 +1,197 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/renstra_program.php
Desc. : PHP - Simulasi Program Renstra ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 30th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function Ren_Tambah_Program($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT AP.*,RS1.SIPD_UNIK SIPD_RPJMD_SASARAN,RS.SIPD_UNIK SIPD_RENSTRA_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_Unit,S.ProgID ID_PROGRAM,S.BUID FROM (SELECT * FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_RENSTRA='') AP LEFT JOIN rpjmd_sasaran RS1 ON (RS1.RD_SASARID=AP.RD_SASARID) LEFT JOIN renstra_sasaran RS ON (RS.RA_SASARID=AP.RA_SASARID) LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=AP.RA_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=AP.OPDID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID)");
while ($db->Next()) {
$test = "kamus=program&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_Unit")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_RENSTRA_SASARAN")."&kode_unik_program=&id_program_renstra=&program_renstra=".$db->Row("ID_PROGRAM")."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-program').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Program($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
return $ahasil;
}
function Ren_Tambah_Indi($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT I.*,AP.SIPD_RENSTRA SIPD_RENSTRA_PROG,RS1.SIPD_UNIK SIPD_RPJMD_SASARAN,RS.SIPD_UNIK SIPD_RENSTRA_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_Unit,S.ProgID ID_PROGRAM,S.BUID,T.K_Satuan FROM (SELECT * FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_RENSTRA='') I LEFT JOIN renstra_prog AP ON (AP.RA_PROGID=I.RA_PROGID) LEFT JOIN rpjmd_sasaran RS1 ON (RS1.RD_SASARID=AP.RD_SASARID) LEFT JOIN renstra_sasaran RS ON (RS.RA_SASARID=AP.RA_SASARID) LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=AP.RA_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=AP.OPDID) LEFT JOIN para_satuan T ON (T.SatuanID=I.SatuanID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID) WHERE AP.SIPD_RENSTRA<>''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan");
$test = "kamus=indikator_program&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_Unit")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_RENSTRA_SASARAN")."&kode_unik_program=".$db->Row("SIPD_RENSTRA_PROG")."&id_program_renstra=&id_indikator_outcome=&outcome_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_outcome=".$db->Row("Indi_Awal")."&satuan_awal_outcome=".$k_satuan."&target_outcome%5B%5D=".$db->Row("Indi_T1")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T1")."&target_outcome%5B%5D=".$db->Row("Indi_T2")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T2")."&target_outcome%5B%5D=".$db->Row("Indi_T3")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T3")."&target_outcome%5B%5D=".$db->Row("Indi_T4")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T4")."&target_outcome%5B%5D=".$db->Row("Indi_T5")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T5")."&target_akhir_outcome=".$db->Row("Indi_Akhir")."&satuan_akhir_outcome=".$k_satuan."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-program').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Indi($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT I.*,AP.SIPD_RENSTRA SIPD_RENSTRA_PROG,RS1.SIPD_UNIK SIPD_RPJMD_SASARAN,RS.SIPD_UNIK SIPD_RENSTRA_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_Unit,S.ProgID ID_PROGRAM,S.BUID,T.K_Satuan FROM (SELECT * FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_RENSTRA<>'') I LEFT JOIN renstra_prog AP ON (AP.RA_PROGID=I.RA_PROGID) LEFT JOIN rpjmd_sasaran RS1 ON (RS1.RD_SASARID=AP.RD_SASARID) LEFT JOIN renstra_sasaran RS ON (RS.RA_SASARID=AP.RA_SASARID) LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=AP.RA_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=AP.OPDID) LEFT JOIN para_satuan T ON (T.SatuanID=I.SatuanID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID) WHERE AP.SIPD_RENSTRA<>''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan");
$test = "kamus=indikator_program&aksi=ubah_kamus&id_opd_renstra=".$db->Row("SIPD_Unit")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_RENSTRA_SASARAN")."&sasaran_renstra=".$db->Row("SIPD_RENSTRA_SASARAN")."&kode_unik_program=".$db->Row("SIPD_RENSTRA_PROG")."&id_program_renstra=&program_renstra=".$db->Row("ID_PROGRAM")."&id_indikator_outcome=".$db->Row("SIPD_RENSTRA")."&outcome_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_outcome=".$db->Row("Indi_Awal")."&satuan_awal_outcome=".$k_satuan."&target_outcome%5B%5D=".$db->Row("Indi_T1")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T1")."&target_outcome%5B%5D=".$db->Row("Indi_T2")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T2")."&target_outcome%5B%5D=".$db->Row("Indi_T3")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T3")."&target_outcome%5B%5D=".$db->Row("Indi_T4")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T4")."&target_outcome%5B%5D=".$db->Row("Indi_T5")."&satuan_outcome%5B%5D=".$k_satuan."&anggaran_outcome%5B%5D=".$db->Row("Pagu_T5")."&target_akhir_outcome=".$db->Row("Indi_Akhir")."&satuan_akhir_outcome=".$k_satuan."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-program').trigger('click');";
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_opd = Param::Get("OPDID", 0);
if ( $data == "detail-opd" ) {
$tcari = trim(Param::Get("Cari_OPD"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql = "M.Aktif=1";
$msql .= ($tcari=="") ? "" : " AND CONCAT(M.K_OPD,M.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,CONCAT(IFNULL(K.ITEM_UDAH,0),' / ',IFNULL(K.ITEM_SEMUA,0)) Stat_Master,CONCAT(IFNULL(I.INDI_UDAH,0),' / ',IFNULL(I.INDI_SEMUA,0)) Stat_Indi,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0) AND IFNULL(I.INDI_UDAH,0)=IFNULL(I.INDI_SEMUA,0),1,0) IDO FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_RENSTRA='',0,1)) ITEM_UDAH FROM renstra_prog WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) INDI_SEMUA,SUM(IF(SIPD_RENSTRA='',0,1)) INDI_UDAH FROM renstra_prog_indi WHERE ".$qsql." GROUP BY OPDID) I ON (I.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("Stat_Master", "Program", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("send", "+ Program", "RenstraProgramJS.kode_tambah_prog");
$obj->add_row_btn("send0", "= Program", "RenstraProgramJS.kode_ubah_prog");
$obj->add_row_btn("document", "+ Indikator", "RenstraProgramJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RenstraProgramJS.kode_ubah_indi");
$obj->set_func_navi("RenstraProgramJS.data_query('detail-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "kode-tambah-prog" ) {
$ajson = Ren_Tambah_Program($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-prog" ) {
$ajson = Ren_Ubah_Program($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = Ren_Tambah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-indi" ) {
$ajson = Ren_Ubah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
$db->Query("DELETE FROM sipd_renstra_prog");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_renstra_prog (ID_PROG,ID_UNIT,UNIK_PROG,UNIK_INDI,Txt_Indi) VALUES ('".$arec['id_program']."','".$arec['id_unit']."','".$arec['id_unik']."','".$arec['id_unik_indikator']."','".$arec['indikator']."')");
}
$db->Query("UPDATE sipd_renstra_prog A,para90_prog B SET A.ProgID=B.ProgID WHERE A.ID_PROG=B.ProgID");
$db->Query("UPDATE sipd_renstra_prog A,para90_sipd B SET A.ProgID=B.Lama_ProgID WHERE A.ID_PROG=B.ProgID AND A.ProgID=0");
$db->Query("UPDATE sipd_renstra_prog A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renstra_prog SET SIPD_RENSTRA='' WHERE RPJMDID='".$id_rpjmd."'");
//$db->Query("UPDATE renstra_prog_indi SET SIPD_RENSTRA='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RENSTRA=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RENSTRA=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND TRIM(REPLACE(REPLACE(A.Txt_Indi,'\r',''),'\n',''))=TRIM(B.Txt_Indi)");
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Program Renstra ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahProg">Tambah Program</a>
<a class="dropdown-item" href="#" id="opsiUbahProg">Ubah Program</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="OPDID" type="hidden">
<div id="divOPD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+195
View File
@@ -0,0 +1,195 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/renstra_sasaran.php
Desc. : PHP - Simulasi Sasaran Renstra ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 30th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function Ren_Tambah_Sasaran($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT A.*,RT.BUID,RTT.SIPD_UNIK SIPD_RPJMD_TUJUAN,RS.SIPD_UNIK SIPD_RPJMD_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_OPD FROM (SELECT * FROM renstra_sasaran WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK='') A LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=A.RA_TUJID) LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=RT.RD_SASARID) LEFT JOIN rpjmd_tujuan RTT ON (RTT.RD_TUJID=RS.RD_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=A.OPDID)");
while ($db->Next()) {
$test = "kamus=sasaran&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_OPD")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=&sasaran_teks=".str_replace(" ","+",$db->Row("Txt_Sasaran"))."&sasaran_no=".$db->Row("No_Sasaran");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-sasaran').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Sasaran($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT A.*,RT.BUID,RTT.SIPD_UNIK SIPD_RPJMD_TUJUAN,RS.SIPD_UNIK SIPD_RPJMD_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_OPD FROM (SELECT * FROM renstra_sasaran WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK<>'') A LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=A.RA_TUJID) LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=RT.RD_SASARID) LEFT JOIN rpjmd_tujuan RTT ON (RTT.RD_TUJID=RS.RD_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=A.OPDID)");
while ($db->Next()) {
$test = "kamus=sasaran&aksi=ubah_kamus&id_opd_renstra=".$db->Row("SIPD_OPD")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_renstra=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_UNIK")."&sasaran_teks=".str_replace(" ","+",$db->Row("Txt_Sasaran"))."&sasaran_renstra=".$db->Row("SIPD_UNIK")."&sasaran_no=".$db->Row("No_Sasaran");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-sasaran').trigger('click');";
return $ahasil;
}
function Ren_Tambah_Indi($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT I.*,AP.SIPD_UNIK SIPD_SASARAN,RT.BUID,RTT.SIPD_UNIK SIPD_RPJMD_TUJUAN,RS.SIPD_UNIK SIPD_RPJMD_SASARAN,RT.SIPD_UNIK SIPD_RENSTRA_TUJUAN,O.SIPD_OPD,T.K_Satuan FROM (SELECT * FROM renstra_sasaran_indi WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK='') I LEFT JOIN renstra_sasaran AP ON (AP.RA_SASARID=I.RA_SASARID) LEFT JOIN renstra_tujuan RT ON (RT.RA_TUJID=AP.RA_TUJID) LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=RT.RD_SASARID) LEFT JOIN rpjmd_tujuan RTT ON (RTT.RD_TUJID=RS.RD_TUJID) LEFT JOIN para90_opd O ON (O.OPDID=AP.OPDID) LEFT JOIN para_satuan T ON (T.SatuanID=I.SatuanID) WHERE AP.SIPD_UNIK<>''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan");
$test = "kamus=indikator_sasaran&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_OPD")."&id_bidur_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_RENSTRA_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_no=&id_unik_indikator=&indikator_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_indikator=".$db->Row("Indi_Awal")."&satuan_awal_indikator=".$k_satuan."&target_indikator%5B%5D=".$db->Row("Indi_T1")."&satuan_indikator%5B%5D=".$k_satuan."&target_indikator%5B%5D=".$db->Row("Indi_T2")."&satuan_indikator%5B%5D=".$k_satuan."&target_indikator%5B%5D=".$db->Row("Indi_T3")."&satuan_indikator%5B%5D=".$k_satuan."&target_indikator%5B%5D=".$db->Row("Indi_T4")."&satuan_indikator%5B%5D=".$k_satuan."&target_indikator%5B%5D=".$db->Row("Indi_T5")."&satuan_indikator%5B%5D=".$k_satuan."&target_akhir_indikator=".$db->Row("Indi_Akhir")."&satuan_akhir_indikator=".$k_satuan;
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-sasaran').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Indi($id_rpjmd=0, $id_opd=0) {//
global $db;
$ahasil = array();
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_opd = Param::Get("OPDID", 0);
if ( $data == "detail-opd" ) {
$tcari = trim(Param::Get("Cari_OPD"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql = "M.Aktif=1";
$msql .= ($tcari=="") ? "" : " AND CONCAT(M.K_OPD,M.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,CONCAT(IFNULL(K.ITEM_UDAH,0),' / ',IFNULL(K.ITEM_SEMUA,0)) Stat_Master,CONCAT(IFNULL(I.INDI_UDAH,0),' / ',IFNULL(I.INDI_SEMUA,0)) Stat_Indi,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0) AND IFNULL(I.INDI_UDAH,0)=IFNULL(I.INDI_SEMUA,0),1,0) IDO FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_UNIK='',0,1)) ITEM_UDAH FROM renstra_sasaran WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) INDI_SEMUA,SUM(IF(SIPD_UNIK='',0,1)) INDI_UDAH FROM renstra_sasaran_indi WHERE ".$qsql." GROUP BY OPDID) I ON (I.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("Stat_Master", "Sasaran", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_field_order("K_OPD", "A");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->add_row_btn("send", "+ Sasaran", "RenstraSasaranJS.kode_tambah_sasar");
$obj->add_row_btn("send0", "= Sasaran", "RenstraSasaranJS.kode_ubah_sasar");
$obj->add_row_btn("document", "+ Indikator", "RenstraSasaranJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RenstraSasaranJS.kode_ubah_indi");
$obj->set_func_navi("RenstraSasaranJS.data_query('detail-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "kode-tambah-sasar" ) {
$ajson = Ren_Tambah_Sasaran($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-sasar" ) {
$ajson = Ren_Ubah_Sasaran($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = Ren_Tambah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-indi" ) {
$ajson = Ren_Ubah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
$db->Query("TRUNCATE sipd_renstra_sasar");
foreach ($adata['data'] as $arec) {
$txt_sasar = explode("||", $arec['sasaran_teks']);
$db->Query("INSERT INTO sipd_renstra_sasar (BUID,ID_UNIT,UNIK_SASAR,UNIK_INDI,Txt_Sasaran,Txt_Indi) VALUES ('".$arec['id_bidang_urusan']."','".$arec['id_unit']."','".$arec['id_unik']."','".$arec['id_unik_indikator']."','".$txt_sasar[0]."','".$arec['indikator_teks']."')");
}
$db->Query("UPDATE sipd_renstra_sasar A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renstra_sasaran SET SIPD_UNIK='' WHERE RPJMDID='".$id_rpjmd."'");
//$db->Query("UPDATE renstra_sasaran_indi SET SIPD_UNIK='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_sasaran A,sipd_renstra_sasar B,renstra_tujuan C SET A.SIPD_UNIK=B.UNIK_SASAR WHERE A.RPJMDID='".$id_rpjmd."' AND A.RA_TUJID=C.RA_TUJID AND C.BUID=B.BUID AND A.OPDID=B.OPDID AND TRIM(REPLACE(REPLACE(A.Txt_Sasaran,'\r',''),'\n',''))=TRIM(B.Txt_Sasaran)");
$db->Query("UPDATE renstra_sasaran_indi A,sipd_renstra_sasar B SET A.SIPD_UNIK=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.OPDID=B.OPDID AND TRIM(REPLACE(REPLACE(A.Txt_Indi,'\r',''),'\n',''))=TRIM(B.Txt_Indi)");
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Sasaran Renstra ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahSasar">Tambah Sasaran</a>
<a class="dropdown-item" href="#" id="opsiUbahSasar">Ubah Sasaran</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="OPDID" type="hidden">
<div id="divOPD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+183
View File
@@ -0,0 +1,183 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/renstra_tujuan.php
Desc. : PHP - Simulasi Tujuan Renstra ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 30th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function Ren_Tambah_Tujuan($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT A.*,RS.SIPD_UNIK SIPD_RPJMD_SASARAN,O.SIPD_OPD FROM (SELECT * FROM renstra_tujuan WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK='') A LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=A.RD_SASARID) LEFT JOIN para90_opd O ON (O.OPDID=A.OPDID)");
while ($db->Next()) {
$test = "kamus=tujuan&aksi=tambah_kamus&id_opd_renstra=".$db->Row("SIPD_OPD")."&opd_renstra=".$db->Row("SIPD_OPD")."&id_bidur_renstra=&urusan_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=&sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=&tujuan_teks=".str_replace(" ","+",$db->Row("Txt_Tujuan"))."&tujuan_renstra=&tujuan_no=".$db->Row("No_Tujuan");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-tujuan').trigger('click');";
return $ahasil;
}
function Ren_Ubah_Tujuan($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$db->Query("SELECT A.*,RS.SIPD_UNIK SIPD_RPJMD_SASARAN,O.SIPD_OPD FROM (SELECT * FROM renstra_tujuan WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK<>'') A LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=A.RD_SASARID) LEFT JOIN para90_opd O ON (O.OPDID=A.OPDID)");
while ($db->Next()) {
$test = "kamus=tujuan&aksi=ubah_kamus&id_opd_renstra=".$db->Row("SIPD_OPD")."&id_bidur_renstra=".$db->Row("BUID")."&urusan_renstra=".$db->Row("BUID")."&kode_sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&sasaran_rpjm=".$db->Row("SIPD_RPJMD_SASARAN")."&kode_tujuan=".$db->Row("SIPD_UNIK")."&tujuan_teks=".str_replace(" ","+",$db->Row("Txt_Tujuan"))."&tujuan_renstra=&tujuan_no=".$db->Row("No_Tujuan");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
$ahasil[] = "\$('#tab-bar-tujuan').trigger('click');";
return $ahasil;
}
function Ren_Tambah_Indi($id_rpjmd=0, $id_opd=0) {//
global $db;
$ahasil = array();
return $ahasil;
}
function Ren_Ubah_Indi($id_rpjmd=0, $id_opd=0) {//
global $db;
$ahasil = array();
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_opd = Param::Get("OPDID", 0);
if ( $data == "detail-opd" ) {
$tcari = trim(Param::Get("Cari_OPD"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql = "M.Aktif=1";
$msql .= ($tcari=="") ? "" : " AND CONCAT(M.K_OPD,M.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,CONCAT(IFNULL(K.ITEM_UDAH,0),' / ',IFNULL(K.ITEM_SEMUA,0)) Stat_Master,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0),1,0) IDO FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_UNIK='',0,1)) ITEM_UDAH FROM renstra_tujuan WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("Stat_Master", "Tujuan", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_field_order("K_OPD", "A");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->add_row_btn("send", "+ Tujuan", "RenstraTujuanJS.kode_tambah_tuj");
$obj->add_row_btn("send0", "= Tujuan", "RenstraTujuanJS.kode_ubah_tuj");
$obj->add_row_btn("document", "+ Indikator", "RenstraTujuanJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RenstraTujuanJS.kode_ubah_indi");
$obj->set_func_navi("RenstraTujuanJS.data_query('detail-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "kode-tambah-tuj" ) {
$ajson = Ren_Tambah_Tujuan($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-tuj" ) {
$ajson = Ren_Ubah_Tujuan($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = Ren_Tambah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-indi" ) {
$ajson = Ren_Ubah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
$db->Query("DELETE FROM sipd_renstra_tuj");
foreach ($adata['data'] as $arec) {
$tuj_text = explode("||", $arec['tujuan_teks']);
$db->Query("INSERT INTO sipd_renstra_tuj (BUID,ID_UNIT,UNIK_TUJUAN,Txt_Tujuan) VALUES ('".$arec['id_bidang_urusan']."','".$arec['id_unit']."','".$arec['id_unik']."','".$tuj_text[0]."')");
}
$db->Query("UPDATE sipd_renstra_tuj A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renstra_tujuan SET SIPD_UNIK='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_tujuan A,sipd_renstra_tuj B SET A.SIPD_UNIK=B.UNIK_TUJUAN WHERE A.RPJMDID='".$id_rpjmd."' AND A.BUID=B.BUID AND A.OPDID=B.OPDID AND TRIM(REPLACE(REPLACE(A.Txt_Tujuan,'\r',''),'\n',''))=TRIM(B.Txt_Tujuan)");
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Tujuan Renstra ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahTuj">Tambah Tujuan</a>
<a class="dropdown-item" href="#" id="opsiUbahTuj">Ubah Tujuan</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="OPDID" type="hidden">
<div id="divOPD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+226
View File
@@ -0,0 +1,226 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/rkpd_awal.php
Desc. : PHP - Simulasi Push RKPD Awal ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2021.
Last Modified : April 1st, 2022.
(c) 2021 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function Ranwal_Tambah_Sub($tahun=0, $id_opd=0, $id_prog=0) {
global $db;
$ahasil = array(); $aopd = array();
$db->Query("SELECT O.SIPD_OPD,O.SIPD_Unit,B.BUID FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O LEFT JOIN para90_bidu B ON (B.K_Bidu=O.K_Bidu1)");
if ($db->Next()) $aopd = $db->AllRow();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_prog == 0) ? "" : " AND ProgID='".$id_prog."'";
$db->Query("SELECT R.SIPD_BL,R.SIPD_SBL,S.*,R.Pagu_Ini,R.Pagu_Dpn,I.* FROM (SELECT * FROM renja90_awal_sub WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'".$tsql." AND SIPD_SBL='') R LEFT JOIN (SELECT A1.RA_SUBID,CONCAT('&suboutput[]=',GROUP_CONCAT(A1.Txt_Indi ORDER BY A1.K_Indi SEPARATOR '&suboutput[]=')) Indi_Sub,CONCAT('&targetsuboutput[]=',GROUP_CONCAT(REPLACE(A1.Indi_Ini,',','') ORDER BY A1.K_Indi SEPARATOR '&targetsuboutput[]=')) Indi_Target,CONCAT('&satuansuboutput[]=',GROUP_CONCAT(A2.K_Satuan ORDER BY A1.K_Indi SEPARATOR '&satuansuboutput[]=')) Indi_Satuan,SUM(IF(DanaID<>2,Pagu_Ini,0)) Dana_DAU,SUM(IF(DanaID=2,Pagu_Ini,0)) Dana_DAK FROM (SELECT * FROM renja90_awal_sub_indi WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'".$tsql.") A1 LEFT JOIN para_satuan A2 ON (A2.SatuanID=A1.SatuanID) GROUP BY RA_SUBID) I ON (I.RA_SUBID=R.RA_SUBID) LEFT JOIN (SELECT ProgID,KegID,SubID,BUID,Lama_SubID FROM para90_sipd GROUP BY Lama_SubID) S ON (S.Lama_SubID=R.SubID) ORDER BY R.K_Sub");
while ($db->Next()) {
$test = "kode_bl=&kode_sbl=&id_skpd=&id_sub_skpd=&id_unik=&is_add_sub=1&sub_skpd=".$aopd['SIPD_Unit']."&label_prov=&label_kokab=&sub_giat=".$db->Row("SubID")."&bidang_urusan_rutin=".($db->Row("BUID")==104?$aopd['BUID']:"")."&tagging[]=0&id_tag_sub[]=&lokasi=553&waktumulai=1&waktuselesai=12&pagu_sub_giat=".$db->Row("Pagu_Ini")."&pagu_next_sub_giat=".$db->Row("Pagu_Dpn")."&output_sub_giat=".$db->Row("Indi_Sub").$db->Row("Indi_Target").$db->Row("Indi_Satuan");
if ($db->RowFloat("Dana_DAK", 0) > 0) $test .= "&dana[]=420&id_dana_sub[]=&pagu_dana[]=".$db->Row("Dana_DAK");
if ($db->RowFloat("Dana_DAK", 0) == 0) $test .= "&dana[]=334&id_dana_sub[]=&pagu_dana[]=".$db->Row("Dana_DAU");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru17,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function Ranwal_Ubah_Sub($tahun=0, $id_opd=0, $id_prog=0) {
global $db;
$ahasil = array(); $aopd = array();
$db->Query("SELECT O.SIPD_OPD,O.SIPD_Unit,B.BUID FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O LEFT JOIN para90_bidu B ON (B.K_Bidu=O.K_Bidu1)");
if ($db->Next()) $aopd = $db->AllRow();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_prog == 0) ? "" : " AND ProgID='".$id_prog."'";
$db->Query("SELECT R.SIPD_BL,R.SIPD_SBL,S.*,R.Pagu_Ini,R.Pagu_Dpn,I.* FROM (SELECT * FROM renja90_awal_sub WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'".$tsql." AND SIPD_SBL<>'') R LEFT JOIN (SELECT A1.RA_SUBID,CONCAT('&suboutput[]=',GROUP_CONCAT(A1.Txt_Indi ORDER BY A1.K_Indi SEPARATOR '&suboutput[]=')) Indi_Sub,CONCAT('&targetsuboutput[]=',GROUP_CONCAT(REPLACE(A1.Indi_Ini,',','') ORDER BY A1.K_Indi SEPARATOR '&targetsuboutput[]=')) Indi_Target,CONCAT('&satuansuboutput[]=',GROUP_CONCAT(A2.K_Satuan ORDER BY A1.K_Indi SEPARATOR '&satuansuboutput[]=')) Indi_Satuan,SUM(IF(DanaID<>2,Pagu_Ini,0)) Dana_DAU,SUM(IF(DanaID=2,Pagu_Ini,0)) Dana_DAK FROM (SELECT * FROM renja90_awal_sub_indi WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'".$tsql.") A1 LEFT JOIN para_satuan A2 ON (A2.SatuanID=A1.SatuanID) GROUP BY RA_SUBID) I ON (I.RA_SUBID=R.RA_SUBID) LEFT JOIN (SELECT ProgID,KegID,SubID,BUID,Lama_SubID FROM para90_sipd GROUP BY Lama_SubID) S ON (S.Lama_SubID=R.SubID) ORDER BY R.K_Sub");
while ($db->Next()) {
$test = "kode_bl=".$db->Row("SIPD_BL")."&kode_sbl=".$db->Row("SIPD_SBL")."&id_skpd=&id_sub_skpd=&id_unik=&is_add_sub=1&sub_skpd=".$aopd['SIPD_Unit']."&label_prov=&label_kokab=&sub_giat=".$db->Row("SubID")."&bidang_urusan_rutin=".($db->Row("BUID")==104?$aopd['BUID']:"")."&tagging[]=0&id_tag_sub[]=&lokasi=553&waktumulai=1&waktuselesai=12&pagu_sub_giat=".$db->Row("Pagu_Ini")."&pagu_next_sub_giat=".$db->Row("Pagu_Dpn")."&output_sub_giat=".$db->Row("Indi_Sub").$db->Row("Indi_Target").$db->Row("Indi_Satuan");
if ($db->RowFloat("Dana_DAK", 0) > 0) $test .= "&dana[]=420&id_dana_sub[]=&pagu_dana[]=".$db->Row("Dana_DAK");
if ($db->RowFloat("Dana_DAK", 0) == 0) $test .= "&dana[]=334&id_dana_sub[]=&pagu_dana[]=".$db->Row("Dana_DAU");
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru17,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function Ranwal_Ubah_Keg($tahun=0, $id_opd=0, $id_prog=0) {
global $db; $db2 = new MySQL();
$ahasil = array(); $aopd = array();
$db->Query("SELECT O.SIPD_OPD,O.SIPD_Unit,B.BUID FROM (SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1) O LEFT JOIN para90_bidu B ON (B.K_Bidu=O.K_Bidu1)");
if ($db->Next()) $aopd = $db->AllRow();
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_prog == 0) ? "" : " AND ProgID='".$id_prog."'";
$db->Query("SELECT R.*,SH.N_Satuan Satuan_Hasil,SK.N_Satuan Satuan_Keluar FROM (SELECT * FROM renja90_awal_keg WHERE Tahun='".$tahun."'".$tsql." AND SIPD_BL<>'') R LEFT JOIN para_satuan SK ON (SK.SatuanID=R.Keluar_SatuanID) LEFT JOIN para_satuan SH ON (SH.SatuanID=R.Hasil_SatuanID) ORDER BY R.K_Keg");
while ($db->Next()) {
$adata = $db->AllRow();
$db2->Query("SELECT CONCAT('&outcometeks[]=',GROUP_CONCAT(A1.Txt_Indi ORDER BY A1.RA_PROGINDIID SEPARATOR '&outcometeks[]=')) Indi_Prog,CONCAT('&targetoutcome[]=',GROUP_CONCAT(REPLACE(A1.Indi_T4,',','') ORDER BY A1.RA_PROGINDIID SEPARATOR '&targetoutcome[]=')) Indi_Target,CONCAT('&satuanoutcome[]=',GROUP_CONCAT(A2.K_Satuan ORDER BY A1.RA_PROGINDIID SEPARATOR '&satuanoutcome[]=')) Indi_Satuan FROM (SELECT * FROM renstra_prog_indi WHERE RA_PROGINDIID IN (".($adata['A_PROGINDI']??"0").")) A1 LEFT JOIN para_satuan A2 ON (A2.SatuanID=A1.SatuanID)");
if ($db2->Next()) $adata = array_merge($adata, $db2->AllRow());
$test = "kode_bl=".$adata['SIPD_BL']."&kode_sbl=0&id_skpd=".$aopd['SIPD_OPD']."&id_sub_skpd=".$aopd['SIPD_Unit']."&id_unik=0&is_add_sub=0".$adata['Indi_Prog'].$adata['Indi_Target'].$adata['Indi_Satuan']."&id_capaian[]=&indikator_outcome_teks=&target_outcome_teks=&satuan_target_outcome=&sasaran=".$adata['Sasaran']."&label_prov=&label_kokab=&label_iku=&label_giat=&output[]=".($adata['Keluar_Txt']??$adata['Hasil_Txt'])."&targetoutput[]=".($adata['Keluar_Target']??$adata['Hasil_Target'])."&satuanoutput[]=".($adata['Satuan_Keluar']??$adata['Satuan_Hasil'])."&hasil[]=".$adata['Hasil_Txt']."&targethasil[]=".$adata['Hasil_Target']."&satuanhasil[]=".$adata['Satuan_Hasil']."&sub_giat=&bidang_urusan_rutin=&lokasi=&waktumulai=&waktuselesai=&pagu_next_sub_giat=&output_sub_giat=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru17,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
if ( $data == "tabel-opd" || $data == "tabel-prog" ) {
$qsql = "Tahun='".$thn_renja."'";
$msql = "M.Aktif=1";
if ( $data == "tabel-prog" ) {
$qsql .= " AND OPDID='".$id_opd."'";
}
}
if ( $data == "tabel-opd" ) {
$obj = new Table($db);
$obj->set_query("SELECT M.OPDID OPDID2,M.K_OPD,M.N_OPD,M.Nama_OPD,CONCAT(K.ITEM_UDAH,' / ',K.ITEM_SEMUA) Status_Sub,CONCAT(KK.ITEMK_UDAH,' / ',KK.ITEMK_SEMUA) Status_Keg,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0),1,0) IDO FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_SBL='',0,1)) ITEM_UDAH FROM renja90_awal_sub WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) ITEMK_SEMUA,SUM(IF(SIPD_BL='',0,1)) ITEMK_UDAH FROM renja90_awal_keg WHERE ".$qsql." GROUP BY OPDID) KK ON (KK.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("Nama_OPD", "N_OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("Status_Keg", "Keg", "c");
$obj->add_field("Status_Sub", "Sub", "c");
$obj->set_field_order("K_OPD", "A");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->add_row_btn("send", "+ Sub", "RKPDAwalJS.kode_tambah_sub_o");
$obj->add_row_btn("send0", "= Sub", "RKPDAwalJS.kode_ubah_sub_o");
$obj->add_row_btn("send1", "= Keg", "RKPDAwalJS.kode_ubah_keg_o");
$obj->add_row_btn("select", "Program", "RKPDAwalJS.opd_select");
$obj->set_func_navi("RKPDAwalJS.data_query('detail-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-prog" ) {
$obj = new Table($db);
$obj->set_query("SELECT PR.ProgID,PR.K_Prog,M.N_Prog,CONCAT('(',PR.K_Prog,') ',M.N_Prog) Nama_Prog,CONCAT(K.ITEM_UDAH,' / ',K.ITEM_SEMUA) Status_Sub,CONCAT(KK.ITEMK_UDAH,' / ',KK.ITEMK_SEMUA) Status_Keg,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0),1,0) IDO FROM (SELECT * FROM renja90_awal_prog WHERE ".$qsql.") PR LEFT JOIN para90_prog M ON (PR.ProgID=M.ProgID) LEFT JOIN (SELECT ProgID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_SBL='',0,1)) ITEM_UDAH FROM renja90_awal_sub WHERE ".$qsql." GROUP BY ProgID) K ON (PR.ProgID=K.ProgID) LEFT JOIN (SELECT ProgID,COUNT(*) ITEMK_SEMUA,SUM(IF(SIPD_BL='',0,1)) ITEMK_UDAH FROM renja90_awal_keg WHERE ".$qsql." GROUP BY ProgID) KK ON (PR.ProgID=KK.ProgID)");
$obj->add_field("ProgID", "ID", "hid");
$obj->add_field("Nama_Prog", "Nama PROG", "hid");
$obj->add_field("K_Prog", "Kode", "c");
$obj->add_field("N_Prog", "Nama Program", "awr");
$obj->add_field("Status_Keg", "Keg", "c");
$obj->add_field("Status_Sub", "Sub", "c");
$obj->set_field_order("K_Prog", "A");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->add_row_btn("send", "+ Sub", "RKPDAwalJS.kode_tambah_sub");
$obj->add_row_btn("send0", "= Sub", "RKPDAwalJS.kode_ubah_sub");
$obj->add_row_btn("send1", "= Keg", "RKPDAwalJS.kode_ubah_keg");
$obj->set_func_navi("RKPDAwalJS.data_query('tabel-prog')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divPROG");
} else if ( $data == "kode-tambah-sub" ) {
$ajson = Ranwal_Tambah_Sub($thn_renja, $id_opd, $id_prog);
} else if ( $data == "kode-ubah-sub" ) {
$ajson = Ranwal_Ubah_Sub($thn_renja, $id_opd, $id_prog);
} else if ( $data == "kode-ubah-keg" ) {
$ajson = Ranwal_Ubah_Keg($thn_renja, $id_opd, $id_prog);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
$db->Query("TRUNCATE sipd_rkpd_sub");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_rkpd_sub (ID_SUB,ID_UNIT,SIPD_BL,SIPD_SBL) VALUES ('".$arec['id_sub_giat']."','".$arec['id_unit']."','".$arec['kode_bl']."','".$arec['kode_sbl']."')");
}
$db->Query("UPDATE sipd_rkpd_sub A,para90_sub B SET A.SubID=B.SubID,A.KegID=B.KegID,A.ProgID=B.ProgID WHERE A.ID_SUB=B.SubID");
$db->Query("UPDATE sipd_rkpd_sub A,para90_sipd B SET A.SubID=B.Lama_SubID,A.KegID=B.Lama_KegID,A.ProgID=B.Lama_ProgID WHERE A.ID_SUB=B.SubID AND A.SubID=0");
$db->Query("UPDATE sipd_rkpd_sub A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
//$db->Query("UPDATE renja90_awal_sub SET SIPD_BL='',SIPD_SBL='' WHERE Tahun='".$thn_renja."'");
$db->Query("UPDATE renja90_awal_sub A,sipd_rkpd_sub B SET A.SIPD_BL=B.SIPD_BL,A.SIPD_SBL=B.SIPD_SBL WHERE A.Tahun='".$thn_renja."' AND A.SubID=B.SubID AND A.KegID=B.KegID AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID");
$db->Query("UPDATE renja90_awal_keg A,sipd_rkpd_sub B SET A.SIPD_BL=B.SIPD_BL WHERE A.Tahun='".$thn_renja."' AND A.KegID=B.KegID AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID");
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Renja Awal ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<button class="btn btn-ganti" type="button" id="butOPD"><span><i class="icon cui-swap-horizontal"></span></i>OPD</button>
</div>
</div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<!--<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahSub">Tambah Sub Kegiatan</a>
<a class="dropdown-item" href="#" id="opsiUbahSub">Ubah Sub Kegiatan</a>-->
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="ProgID" type="hidden" value="0">
<div id="divOPD">&nbsp;</div>
<div id="divPROG">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+244
View File
@@ -0,0 +1,244 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/rpjmd_program.php
Desc. : PHP - Simulasi Program RPJMD ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 30th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function RP_Tambah_Program($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$prog_banyak = "0";
$db->Query("SELECT GROUP_CONCAT(ProgID) PROGBYK FROM (SELECT ProgID,COUNT(*) Item FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."' GROUP BY ProgID) C WHERE C.Item>1");
if($db->Next()) $prog_banyak = $db->Row("PROGBYK", "0");
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
// program single opd
$db->Query("SELECT AP.*,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.BUID SIPD_BIDU,S.ProgID ID_PROGRAM FROM (SELECT * FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND ProgID NOT IN (".$prog_banyak.") AND SIPD_RPJMD='') AP LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=AP.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=AP.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=AP.RD_MISIID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID)");
while ($db->Next()) {
$test = "kamus=program&aksi=tambah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&urusan_rpjmd=".$db->Row("SIPD_URUSAN")."&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
// program sharing antar opd
$db->Query("SELECT AP.*,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.BUID SIPD_BIDU,S.ProgID ID_PROGRAM FROM (SELECT * FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND ProgID IN (".$prog_banyak.") AND SIPD_RPJMD='' GROUP BY ProgID) AP LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=AP.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=AP.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=AP.RD_MISIID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID)");
while ($db->Next()) {
$test = "kamus=program&aksi=tambah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&urusan_rpjmd=".$db->Row("SIPD_URUSAN")."&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function RP_Ubah_Program($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$prog_banyak = "0";
$db->Query("SELECT GROUP_CONCAT(ProgID) PROGBYK FROM (SELECT ProgID,COUNT(*) Item FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."' GROUP BY ProgID) C WHERE C.Item>1");
if($db->Next()) $prog_banyak = $db->Row("PROGBYK", "0");
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
// program single opd
$db->Query("SELECT AP.*,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.BUID SIPD_BIDU,S.ProgID ID_PROGRAM FROM (SELECT * FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND ProgID NOT IN (".$prog_banyak.") AND SIPD_RPJMD<>'') AP LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=AP.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=AP.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=AP.RD_MISIID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID)");
while ($db->Next()) {
$test = "kamus=program&aksi=ubah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=0&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=0&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=0&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=".$db->Row("SIPD_RPJMD")."&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
// program sharing antar opd
$db->Query("SELECT AP.*,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.BUID SIPD_BIDU,S.ProgID ID_PROGRAM FROM (SELECT * FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND ProgID IN (".$prog_banyak.") AND SIPD_RPJMD<>'' GROUP BY ProgID) AP LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=AP.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=AP.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=AP.RD_MISIID) LEFT JOIN (SELECT ProgID,BUID,Lama_ProgID FROM para90_sipd GROUP BY Lama_ProgID) S ON (S.Lama_ProgID=AP.ProgID)");
while ($db->Next()) {
$test = "kamus=program&aksi=ubah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=0&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=0&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=0&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=".$db->Row("SIPD_RPJMD")."&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function RP_Tambah_Indi($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$prog_banyak = "0";
$db->Query("SELECT GROUP_CONCAT(ProgID) PROGBYK FROM (SELECT ProgID,COUNT(*) Item FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."' GROUP BY ProgID) C WHERE C.Item>1");
if($db->Next()) $prog_banyak = $db->Row("PROGBYK", "0");
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
// program single opd
$db->Query("SELECT I.*,AP.SIPD_RPJMD,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,O.SIPD_OPD,T.K_Satuan FROM (SELECT * FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND ProgID NOT IN (".$prog_banyak.") AND SIPD_RPJMD='') I LEFT JOIN renstra_prog AP ON (AP.RA_PROGID=I.RA_PROGID) LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=AP.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=AP.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=AP.RD_MISIID) LEFT JOIN para90_opd O ON (O.OPDID=I.OPDID) LEFT JOIN para_satuan T ON (T.SatuanID=I.SatuanID) WHERE AP.SIPD_RPJMD<>''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan", "");
$test = "kamus=indikator_program&aksi=tambah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=".$db->Row("SIPD_RPJMD")."&id_bidur_rpjmd=&id_indikator_outcome=&outcome_teks=".$db->Row("Txt_Indi")."&target_awal_outcome=".$db->Row("Indi_Awal")."&satuan_awal_outcome=".$k_satuan."&pagu_awal_outcome=&target_outcome[]=".$db->Row("Indi_T1")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T1")."&target_outcome[]=".$db->Row("Indi_T2")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T2")."&target_outcome[]=".$db->Row("Indi_T3")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T3")."&target_outcome[]=".$db->Row("Indi_T4")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T4")."&target_outcome[]=".$db->Row("Indi_T5")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T5")."&target_akhir_outcome=".$db->Row("Indi_Akhir")."&satuan_akhir_outcome=".$k_satuan."&pagu_akhir_outcome=&opd_rpjmd=".$db->Row("SIPD_OPD")."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
// program sharing antar opd
$db->Query("SELECT I.Txt_Indi,I.Indi_Awal,I.Indi_T1,I.Indi_T2,I.Indi_T3,I.Indi_T4,I.Indi_T5,I.Indi_Akhir,SUM(I.Pagu_T1) Pagu_T1,SUM(I.Pagu_T2) Pagu_T2,SUM(I.Pagu_T3) Pagu_T3,SUM(I.Pagu_T4) Pagu_T4,SUM(I.Pagu_T5) Pagu_T5,AP.SIPD_RPJMD,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,0 SIPD_OPD,T.K_Satuan FROM (SELECT * FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND ProgID IN (".$prog_banyak.") AND SIPD_RPJMD='') I LEFT JOIN renstra_prog AP ON (AP.RA_PROGID=I.RA_PROGID) LEFT JOIN rpjmd_sasaran RS ON (RS.RD_SASARID=AP.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=AP.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=AP.RD_MISIID) LEFT JOIN para_satuan T ON (T.SatuanID=I.SatuanID) WHERE AP.SIPD_RPJMD<>'' GROUP BY I.ProgID");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan", "");
$test = "kamus=indikator_program&aksi=tambah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=".$db->Row("SIPD_RPJMD")."&id_bidur_rpjmd=&id_indikator_outcome=&outcome_teks=".$db->Row("Txt_Indi")."&target_awal_outcome=".$db->Row("Indi_Awal")."&satuan_awal_outcome=".$k_satuan."&pagu_awal_outcome=&target_outcome[]=".$db->Row("Indi_T1")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T1")."&target_outcome[]=".$db->Row("Indi_T2")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T2")."&target_outcome[]=".$db->Row("Indi_T3")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T3")."&target_outcome[]=".$db->Row("Indi_T4")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T4")."&target_outcome[]=".$db->Row("Indi_T5")."&satuan_outcome[]=".$k_satuan."&pagu_outcome[]=".$db->Row("Pagu_T5")."&target_akhir_outcome=".$db->Row("Indi_Akhir")."&satuan_akhir_outcome=".$k_satuan."&pagu_akhir_outcome=&opd_rpjmd=".$db->Row("SIPD_OPD")."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function RP_Ubah_Indi($id_rpjmd=0, $id_opd=0) {
global $db;
$ahasil = array();
$prog_banyak = "0";
$db->Query("SELECT GROUP_CONCAT(ProgID) PROGBYK FROM (SELECT ProgID,COUNT(*) Item FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."' GROUP BY ProgID) C WHERE C.Item>1");
if($db->Next()) $prog_banyak = $db->Row("PROGBYK", "0");
$tsql = ($id_opd == 0) ? "" : " AND OPDID='".$id_opd."'";
// todo: perlu dilengkapi !!
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_opd = Param::Get("OPDID", 0);
if ( $data == "detail-opd" ) {
$tcari = trim(Param::Get("Cari_OPD"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql = "M.Aktif=1";
$msql .= ($tcari=="") ? "" : " AND CONCAT(M.K_OPD,M.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT M.OPDID OPDID2,M.K_OPD,M.N_OPD,CONCAT(IFNULL(K.ITEM_UDAH,0),' / ',IFNULL(K.ITEM_SEMUA,0)) Stat_Master,CONCAT(IFNULL(I.INDI_UDAH,0),' / ',IFNULL(I.INDI_SEMUA,0)) Stat_Indi,IF(IFNULL(K.ITEM_UDAH,0)=IFNULL(K.ITEM_SEMUA,0) AND IFNULL(I.INDI_UDAH,0)=IFNULL(I.INDI_SEMUA,0),1,0) IDO FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SEMUA,SUM(IF(SIPD_RPJMD='',0,1)) ITEM_UDAH FROM renstra_prog WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) INDI_SEMUA,SUM(IF(SIPD_RPJMD='',0,1)) INDI_UDAH FROM renstra_prog_indi WHERE ".$qsql." GROUP BY OPDID) I ON (I.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("Stat_Master", "Program", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("send", "+ Program", "RPJMDProgramJS.kode_tambah_prog");
$obj->add_row_btn("send0", "= Program", "RPJMDProgramJS.kode_ubah_prog");
$obj->add_row_btn("document", "+ Indikator", "RPJMDProgramJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RPJMDProgramJS.kode_ubah_indi");
$obj->set_func_navi("RPJMDProgramJS.data_query('detail-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "kode-tambah-prog" ) {
$ajson = RP_Tambah_Program($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-prog" ) {
$ajson = RP_Ubah_Program($id_rpjmd, $id_opd);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = RP_Tambah_Indi($id_rpjmd, $id_opd);
} else if ( $data == "kode-ubah-indi" ) {//
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
$prog_banyak = "0";
$db->Query("SELECT GROUP_CONCAT(ProgID) PROGBYK FROM (SELECT ProgID,COUNT(*) Item FROM renstra_prog_indi WHERE RPJMDID='".$id_rpjmd."' GROUP BY ProgID) C WHERE C.Item>1");
if($db->Next()) $prog_banyak = $db->Row("PROGBYK", "0");
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
$db->Query("DELETE FROM sipd_renstra_prog");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_renstra_prog (ID_PROG,ID_UNIT,UNIK_PROG,UNIK_INDI,Txt_Indi) VALUES ('".$arec['id_program']."','".$arec['id_unit']."','".$arec['id_unik']."','".$arec['id_unik_indikator']."','".$arec['indikator']."')");
}
$db->Query("UPDATE sipd_renstra_prog A,para90_prog B SET A.ProgID=B.ProgID WHERE A.ID_PROG=B.ProgID");
$db->Query("UPDATE sipd_renstra_prog A,para90_sipd B SET A.ProgID=B.Lama_ProgID WHERE A.ID_PROG=B.ProgID AND A.ProgID=0");
$db->Query("UPDATE sipd_renstra_prog A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
$db->Query("UPDATE renstra_prog SET SIPD_RPJMD='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog_indi SET SIPD_RPJMD='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND A.ProgID NOT IN (".$prog_banyak.")");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND B.OPDID=0 AND A.ProgID NOT IN (".$prog_banyak.")");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.SIPD_RPJMD=''");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND A.ProgID NOT IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND B.OPDID=0 AND A.ProgID NOT IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi AND A.SIPD_RPJMD=''");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.SIPD_RPJMD=''");
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Program RJMPD ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahProg">Tambah Program</a>
<a class="dropdown-item" href="#" id="opsiUbahProg">Ubah Program</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="OPDID" type="hidden">
<div id="divOPD">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+208
View File
@@ -0,0 +1,208 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/rpjmd_sasaran.php
Desc. : PHP - Simulasi Sasaran RPJMD ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : April 8th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function RP_Tambah_Sasaran($id_rpjmd=0, $id_sasar=0) {
global $db;
$ahasil = array();
$tsql = ($id_sasar == 0) ? "" : " AND RD_SASARID='".$id_sasar."'";
$db->Query("SELECT * FROM rpjmd_sasaran WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK=''");
while ($db->Next()) {
/*$test = "kamus=program&aksi=tambah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&urusan_rpjmd=".$db->Row("SIPD_URUSAN")."&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";*/
}
return $ahasil;
}
function RP_Ubah_Sasaran($id_rpjmd=0, $id_sasar=0) {
global $db;
$ahasil = array();
$tsql = ($id_sasar == 0) ? "" : " AND RD_SASARID='".$id_sasar."'";
$db->Query("SELECT * FROM rpjmd_sasaran WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK<>''");
while ($db->Next()) {
/*$test = "kamus=program&aksi=ubah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=0&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=0&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=0&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=".$db->Row("SIPD_RPJMD")."&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";*/
}
return $ahasil;
}
function RP_Tambah_Indi($id_rpjmd=0, $id_sasar=0) {
global $db;
$ahasil = array();
$tsql = ($id_sasar == 0) ? "" : " AND RD_SASARID='".$id_sasar."'";
$db->Query("SELECT I.*,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.K_Satuan FROM (SELECT * FROM rpjmd_sasaran WHERE RPJMDID='".$id_rpjmd."'".$tsql.") RS INNER JOIN rpjmd_sasaran_indi I ON (RS.RD_SASARID=I.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=RS.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=RS.RD_MISIID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID) WHERE RS.SIPD_UNIK<>'' AND I.SIPD_UNIK=''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan", "");
$test = "kamus=indikator_sasaran&aksi=tambah_kamus&id_visi=60&visi_teks=&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_no=&id_unik_indikator=&indikator_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_indikator=".$db->Row("Indi_Awal")."&satuan_awal_indikator=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T1")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T2")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T3")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T4")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T5")."&satuan_indikator[]=".$k_satuan."&target_akhir_indikator=".$db->Row("Indi_Akhir")."&satuan_akhir_indikator=".$k_satuan."&strategi_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function RP_Ubah_Indi($id_rpjmd=0, $id_sasar=0) {
global $db;
$ahasil = array();
$tsql = ($id_sasar == 0) ? "" : " AND RD_SASARID='".$id_sasar."'";
$db->Query("SELECT I.*,RS.SIPD_UNIK SIPD_SASARAN,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.K_Satuan FROM (SELECT * FROM rpjmd_sasaran WHERE RPJMDID='".$id_rpjmd."'".$tsql.") RS INNER JOIN rpjmd_sasaran_indi I ON (RS.RD_SASARID=I.RD_SASARID) LEFT JOIN rpjmd_tujuan RT ON (RT.RD_TUJID=RS.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=RS.RD_MISIID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID) WHERE RS.SIPD_UNIK<>'' AND I.SIPD_UNIK<>''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan", "");
$test = "kamus=indikator_sasaran&aksi=ubah_kamus&id_visi=60&visi_teks=&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_no=&id_unik_indikator".$db->Row("SIPD_UNIK")."=&indikator_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_indikator=".$db->Row("Indi_Awal")."&satuan_awal_indikator=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T1")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T2")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T3")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T4")."&satuan_indikator[]=".$k_satuan."&target_indikator[]=".$db->Row("Indi_T5")."&satuan_indikator[]=".$k_satuan."&target_akhir_indikator=".$db->Row("Indi_Akhir")."&satuan_akhir_indikator=".$k_satuan."&strategi_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_sasar = Param::Get("RD_SASARID", 0);
if ( $data == "detail-sasar" ) {
$tcari = trim(Param::Get("Cari_Sasar"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql .= ($tcari=="") ? "" : " WHERE CONCAT(M.No_Sasaran,M.Txt_Sasaran) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT M.RD_SASARID,M.No_Sasaran,M.Txt_Sasaran,IF(M.SIPD_UNIK<>'','Ya','-') Stat_Master,CONCAT(IFNULL(I.INDI_UDAH,0),' / ',IFNULL(I.INDI_SEMUA,0)) Stat_Indi,IF(M.SIPD_UNIK<>'' AND IFNULL(I.INDI_UDAH,0)=IFNULL(I.INDI_SEMUA,0),1,0) IDO FROM (SELECT * FROM rpjmd_sasaran WHERE ".$qsql.") M LEFT JOIN (SELECT RD_SASARID,COUNT(*) INDI_SEMUA,SUM(IF(SIPD_UNIK='',0,1)) INDI_UDAH FROM rpjmd_sasaran_indi GROUP BY RD_SASARID) I ON (I.RD_SASARID=M.RD_SASARID)".$msql);
$obj->add_field("RD_SASARID", "OPD", "hid");
$obj->add_field("No_Sasaran", "Kode", "c");
$obj->add_field("Txt_Sasaran", "Uraian Sasaran RPJMD", "awr");
$obj->add_field("Stat_Master", "Sasaran", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->set_field_order("No_Sasaran", "A");
$obj->add_row_btn("send", "+ Sasaran", "RPJMDSasaranJS.kode_tambah_sasar");
$obj->add_row_btn("send0", "= Sasaran", "RPJMDSasaranJS.kode_ubah_sasar");
$obj->add_row_btn("document", "+ Indikator", "RPJMDSasaranJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RPJMDSasaranJS.kode_ubah_indi");
$obj->set_func_navi("RPJMDSasaranJS.data_query('detail-sasar')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divSASAR");
} else if ( $data == "kode-tambah-sasar" ) {
$ajson = RP_Tambah_Sasaran($id_rpjmd, $id_sasar);
} else if ( $data == "kode-ubah-sasar" ) {
$ajson = RP_Ubah_Sasaran($id_rpjmd, $id_sasar);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = RP_Tambah_Indi($id_rpjmd, $id_sasar);
} else if ( $data == "kode-ubah-indi" ) {
$ajson = RP_Ubah_Indi($id_rpjmd, $id_sasar);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
/*$db->Query("DELETE FROM sipd_renstra_prog");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_renstra_prog (ID_PROG,ID_UNIT,UNIK_PROG,UNIK_INDI,Txt_Indi) VALUES ('".$arec['id_program']."','".$arec['id_unit']."','".$arec['id_unik']."','".$arec['id_unik_indikator']."','".$arec['indikator']."')");
}
$db->Query("UPDATE sipd_renstra_prog A,para90_prog B SET A.ProgID=B.ProgID WHERE A.ID_PROG=B.ProgID");
$db->Query("UPDATE sipd_renstra_prog A,para90_sipd B SET A.ProgID=B.Lama_ProgID WHERE A.ID_PROG=B.ProgID AND A.ProgID=0");
$db->Query("UPDATE sipd_renstra_prog A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
$db->Query("UPDATE renstra_prog SET SIPD_RPJMD='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog_indi SET SIPD_RPJMD='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND A.ProgID NOT IN (".$prog_banyak.")");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND B.OPDID=0 AND A.ProgID NOT IN (".$prog_banyak.")");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.SIPD_RPJMD=''");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND A.ProgID NOT IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND B.OPDID=0 AND A.ProgID NOT IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi AND A.SIPD_RPJMD=''");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.SIPD_RPJMD=''");*/
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Sasaran RJMPD ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_Sasar" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahSasar">Tambah Sasaran</a>
<a class="dropdown-item" href="#" id="opsiUbahSasar">Ubah Sasaran</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="RD_SASARID" type="hidden">
<div id="divSASAR">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>
+210
View File
@@ -0,0 +1,210 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sim/rpjmd_tujuan.php
Desc. : PHP - Simulasi Tujuan RPJMD ke SIPD Kemendagri
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : April 8th, 2022.
(c) 2011 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia4\DB\MySQL;
use siaupheng\fonia4\DB\SQL;
use siaupheng\fonia4\Web\Param;
use siaupheng\fonia4\Web\Table;
use siaupheng\fonia4\Web\Form;
function RP_Tambah_Tujuan($id_rpjmd=0, $id_tujuan=0) {
global $db;
$ahasil = array();
$tsql = ($id_tujuan == 0) ? "" : " AND RD_TUJID='".$id_tujuan."'";
$db->Query("SELECT * FROM rpjmd_tujuan WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK=''");
while ($db->Next()) {
/*$test = "kamus=program&aksi=tambah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&urusan_rpjmd=".$db->Row("SIPD_URUSAN")."&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";*/
}
return $ahasil;
}
function RP_Ubah_Tujuan($id_rpjmd=0, $id_tujuan=0) {
global $db;
$ahasil = array();
$tsql = ($id_tujuan == 0) ? "" : " AND RD_TUJID='".$id_tujuan."'";
$db->Query("SELECT * FROM rpjmd_tujuan WHERE RPJMDID='".$id_rpjmd."'".$tsql." AND SIPD_UNIK<>''");
while ($db->Next()) {
/*$test = "kamus=program&aksi=ubah_kamus&id_visi=60&visi_teks=&visi_rpjmd=60&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_rpjmd=".$db->Row("SIPD_MISI")."&misi_no=0&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_rpjmd=".$db->Row("SIPD_TUJUAN")."&tujuan_no=0&kode_sasaran=".$db->Row("SIPD_SASARAN")."&sasaran_teks=&sasaran_rpjmd=".$db->Row("SIPD_SASARAN")."&sasaran_no=0&id_unik_indikator=&indikator_teks=&target_awal_indikator=&satuan_awal_indikator=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_indikator[]=&satuan_indikator[]=&target_akhir_indikator=&satuan_akhir_indikator=&strategi_rpjmd=&kebijakan_rpjmd=&kode_unik_program=".$db->Row("SIPD_RPJMD")."&program_rpjmd=".$db->Row("ID_PROGRAM")."&id_bidur_rpjmd=&id_indikator_outcome=&outcome_teks=&target_awal_outcome=&satuan_awal_outcome=&pagu_awal_outcome=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_outcome[]=&satuan_outcome[]=&pagu_outcome[]=&target_akhir_outcome=&satuan_akhir_outcome=&pagu_akhir_outcome=&opd_rpjmd=";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";*/
}
return $ahasil;
}
function RP_Tambah_Indi($id_rpjmd=0, $id_tujuan=0) {
global $db;
$ahasil = array();
$tsql = ($id_tujuan == 0) ? "" : " AND RD_TUJID='".$id_tujuan."'";
$db->Query("SELECT I.*,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.K_Satuan FROM (SELECT * FROM rpjmd_tujuan WHERE RPJMDID='".$id_rpjmd."'".$tsql.") RT INNER JOIN rpjmd_tujuan_indi I ON (RT.RD_TUJID=I.RD_TUJID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=RT.RD_MISIID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID) WHERE RT.SIPD_UNIK<>'' AND I.SIPD_UNIK=''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan", "");
$test = "kamus=indikator_tujuan&aksi=tambah_kamus&id_visi=60&visi_teks=&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=&sasaran_teks=&sasaran_rpjmd=&sasaran_no=&id_unik_indikator=&indikator_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_indikator=".$db->Row("Indi_Awal")."&satuan_awal_indikator=%&target_indikator[]=".$db->Row("Indi_T1")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T2")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T3")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T4")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T5")."&satuan_indikator[]=%&target_akhir_indikator=".$db->Row("Indi_Akhir")."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
function RP_Ubah_Indi($id_rpjmd=0, $id_tujuan=0) {
global $db;
$ahasil = array();
$tsql = ($id_tujuan == 0) ? "" : " AND RD_TUJID='".$id_tujuan."'";
$db->Query("SELECT I.*,RT.SIPD_UNIK SIPD_TUJUAN,RM.SIPD_MISI,S.K_Satuan FROM (SELECT * FROM rpjmd_tujuan WHERE RPJMDID='".$id_rpjmd."'".$tsql.") RT INNER JOIN rpjmd_tujuan_indi I ON (RT.RD_SASARID=I.RD_SASARID) LEFT JOIN rpjmd_misi RM ON (RM.RD_MISIID=RT.RD_MISIID) LEFT JOIN para_satuan S ON (S.SatuanID=I.SatuanID) WHERE RT.SIPD_UNIK<>'' AND I.SIPD_UNIK<>''");
while ($db->Next()) {
$k_satuan = $db->Row("K_Satuan", "");
$test = "kamus=indikator_tujuan&aksi=tambah_kamus&id_visi=60&visi_teks=&id_misi=".$db->Row("SIPD_MISI")."&misi_teks=&misi_no=&kode_tujuan=".$db->Row("SIPD_TUJUAN")."&tujuan_teks=&tujuan_no=&kode_sasaran=&sasaran_teks=&sasaran_rpjmd=&sasaran_no=&id_unik_indikator=".$db->Row("SIPD_UNIK")."&indikator_teks=".str_replace(" ","+",$db->Row("Txt_Indi"))."&target_awal_indikator=".$db->Row("Indi_Awal")."&satuan_awal_indikator=%&target_indikator[]=".$db->Row("Indi_T1")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T2")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T3")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T4")."&satuan_indikator[]=%&target_indikator[]=".$db->Row("Indi_T5")."&satuan_indikator[]=%&target_akhir_indikator=".$db->Row("Indi_Akhir")."";
$test_post = base64_encode($test);
$test_post = str_replace("=", "@", $test_post);
$ahasil[] = "\$.ajax({url:lru13,type:'post',data:'_token=".$_SESSION['__WEB_USER']['SIPD_TOKEN']."&v1bnA1m=".$_SESSION['__WEB_USER']['SIPD_ACAK']."&xSj0S=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36&DsK121m=".$test_post."',success: function(data){if(data['result']=='error'){console.error(data['message']);}},error: function(jqXHR, textStatus, error){console.error('ERROR PARAH');}});<br>";
}
return $ahasil;
}
/************************** RESPON HERE ***************************/
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$id_tujuan = Param::Get("RD_TUJID", 0);
if ( $data == "detail-tujuan" ) {
$tcari = trim(Param::Get("Cari_Tujuan"));
$qsql = "RPJMDID='".$id_rpjmd."'";
$msql .= ($tcari=="") ? "" : " WHERE CONCAT(M.No_Tujuan,M.Txt_Tujuan) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT M.RD_TUJID,M.No_Tujuan,M.Txt_Tujuan,IF(M.SIPD_UNIK<>'','Ya','-') Stat_Master,CONCAT(IFNULL(I.INDI_UDAH,0),' / ',IFNULL(I.INDI_SEMUA,0)) Stat_Indi,IF(M.SIPD_UNIK<>'' AND IFNULL(I.INDI_UDAH,0)=IFNULL(I.INDI_SEMUA,0),1,0) IDO FROM (SELECT * FROM rpjmd_tujuan WHERE ".$qsql.") M LEFT JOIN (SELECT RD_TUJID,COUNT(*) INDI_SEMUA,SUM(IF(SIPD_UNIK='',0,1)) INDI_UDAH FROM rpjmd_tujuan_indi GROUP BY RD_TUJID) I ON (I.RD_TUJID=M.RD_TUJID)".$msql);
$obj->add_field("RD_TUJID", "OPD", "hid");
$obj->add_field("No_Tujuan", "Kode", "c");
$obj->add_field("Txt_Tujuan", "Uraian Tujuan RPJMD", "awr");
$obj->add_field("Stat_Master", "Tujuan", "c");
$obj->add_field("Stat_Indi", "Indikator", "c");
$obj->set_row_color("IDO", "1", "rsuccess");
$obj->set_field_order("No_Tujuan", "A");
$obj->add_row_btn("send", "+ Tujuan", "RPJMDTujuanJS.kode_tambah_tujuan");
$obj->add_row_btn("send0", "= Tujuan", "RPJMDTujuanJS.kode_ubah_tujuan");
$obj->add_row_btn("document", "+ Indikator", "RPJMDTujuanJS.kode_tambah_indi");
$obj->add_row_btn("document0", "= Indikator", "RPJMDTujuanJS.kode_ubah_indi");
$obj->set_func_navi("RPJMDTujuanJS.data_query('detail-tujuan')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divTUJUAN");
} else if ( $data == "kode-tambah-tujuan" ) {
$ajson = RP_Tambah_Tujuan($id_rpjmd, $id_tujuan);
} else if ( $data == "kode-ubah-tujuan" ) {
$ajson = RP_Ubah_Tujuan($id_rpjmd, $id_tujuan);
} else if ( $data == "kode-tambah-indi" ) {
$ajson = RP_Tambah_Indi($id_rpjmd, $id_tujuan);
} else if ( $data == "kode-ubah-indi" ) {
$ajson = RP_Ubah_Indi($id_rpjmd, $id_tujuan);
} else if ( $data == "upload-json" || $data == "simpan-json" ) {
$ajson['result'] = 0;
if ($data == "upload-json") {
$adata = json_decode(file_get_contents($_FILES['file']['tmp_name']), true);
} else {
$adata = json_decode(stripslashes(Param::Get("Kode_JSON", "{}")), true);
}
/*$db->Query("DELETE FROM sipd_renstra_prog");
foreach ($adata['data'] as $arec) {
$db->Query("INSERT INTO sipd_renstra_prog (ID_PROG,ID_UNIT,UNIK_PROG,UNIK_INDI,Txt_Indi) VALUES ('".$arec['id_program']."','".$arec['id_unit']."','".$arec['id_unik']."','".$arec['id_unik_indikator']."','".$arec['indikator']."')");
}
$db->Query("UPDATE sipd_renstra_prog A,para90_prog B SET A.ProgID=B.ProgID WHERE A.ID_PROG=B.ProgID");
$db->Query("UPDATE sipd_renstra_prog A,para90_sipd B SET A.ProgID=B.Lama_ProgID WHERE A.ID_PROG=B.ProgID AND A.ProgID=0");
$db->Query("UPDATE sipd_renstra_prog A,para90_opd B SET A.OPDID=B.OPDID WHERE A.ID_UNIT=B.SIPD_UNIT AND A.ID_UNIT>0");
$db->Query("UPDATE renstra_prog SET SIPD_RPJMD='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog_indi SET SIPD_RPJMD='' WHERE RPJMDID='".$id_rpjmd."'");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND A.ProgID NOT IN (".$prog_banyak.")");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND B.OPDID=0 AND A.ProgID NOT IN (".$prog_banyak.")");
$db->Query("UPDATE renstra_prog A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_PROG WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.SIPD_RPJMD=''");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.OPDID=B.OPDID AND A.ProgID NOT IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND B.OPDID=0 AND A.ProgID NOT IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.Txt_Indi=B.Txt_Indi AND A.SIPD_RPJMD=''");
$db->Query("UPDATE renstra_prog_indi A,sipd_renstra_prog B SET A.SIPD_RPJMD=B.UNIK_INDI WHERE A.RPJMDID='".$id_rpjmd."' AND A.ProgID=B.ProgID AND A.ProgID IN (".$prog_banyak.") AND A.SIPD_RPJMD=''");*/
$ajson['result'] = 1;
} else if ( $data == "detail-sipd" ) {
$form = new Form($db);
$kode_token = $form->textbox("_", "Kode_Token", $_SESSION['__WEB_USER']['SIPD_TOKEN'], true, true, "text");
$kode_acak = $form->textbox("_", "Kode_Acak", $_SESSION['__WEB_USER']['SIPD_ACAK'], true, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Token">Token</label>
<div class="col">'.$kode_token.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Kode_Acak">Acak</label>
<div class="col">'.$kode_acak.'</div>
</div>';
exit;
} else if ( $data == "simpan-sipd" ) {
$_SESSION['__WEB_USER']['SIPD_TOKEN'] = Param::Get("Kode_Token", "KODE_TOKEN");
$_SESSION['__WEB_USER']['SIPD_ACAK'] = Param::Get("Kode_Acak", "KODE_ACAK");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Push Tujuan RJMPD ke SIPD Kemendagri</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-9 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_Tujuan" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div>
<div class="col-md-3 col-sm-12 mt-2 mt-sm-0 d-flex justify-content-between">
<div class="dropdown">
<button class="btn btn-secondary shadow-none dropdown-toggle" type="button" id="dropdownMenuButton" data-coreui-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Opsi Semua Data</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#" id="opsiUpload">Upload JSON</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahTujuan">Tambah Tujuan</a>
<a class="dropdown-item" href="#" id="opsiUbahTujuan">Ubah Tujuan</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" id="opsiTambahIndi">Tambah Indikator</a>
<a class="dropdown-item" href="#" id="opsiUbahIndi">Ubah Indikator</a>
</div>
</div>
<button class="btn btn-secondary shadow-none" type="button" id="butSIPD">Setup SIPD</button>
</div>
</div>
<input id="RD_TUJID" type="hidden">
<div id="divTUJUAN">&nbsp;</div>
</div></div>
</div>';
exit;
}
send_json($ajson, true);
?>