211 lines
16 KiB
PHP
211 lines
16 KiB
PHP
<?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"> </div>
|
|
</div></div>
|
|
</div>';
|
|
exit;
|
|
}
|
|
|
|
send_json($ajson, true);
|
|
?>
|