"https://sipd.go.id/run/serv/push_rancangan?kodepemda=6102&tahun=".$tahun, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $str_json, CURLOPT_HTTPHEADER => array( "Accept: application/json", "Authorization: Bearer ".$api_key, "Content-Type: application/json", "Content-Length: " . strlen($str_json) ), CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false ); $aresult = array('code' => 0, 'msg' => ""); $curl = curl_init(); curl_setopt_array($curl, $curl_array); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); $aresult = json_decode($response, true); return $aresult; } function Bangda_Data($id_rpjmd=0, $tahun=0, $id_opd=0, $aprog=array()) { global $db, $db2, $db3, $db4; $apost = array(); $askpd = array(); $tsql = (count($aprog)>0) ? " AND ProgID IN (". join(",", $aprog) .")" : ""; $askpd['kodepemda'] = "6102"; $askpd['tahun'] = "".$tahun; $askpd['pilihanbidang'] = array(); // data opd $abidu = array(); $db->Query("SELECT O.*,B.N_Bidu,U.N_Urusan FROM para90_opd O LEFT JOIN para90_bidu B ON (B.K_Bidu=O.K_Bidu1) LEFT JOIN para90_urusan U ON (B.K_Urusan=U.K_Urusan) WHERE O.OPDID='".$id_opd."'"); if ($db->Next()) { $askpd['kodebidang'] = $db->Row("K_Bidu1"); $askpd['uraibidang'] = $db->Row("N_Bidu"); $askpd['kodeskpd'] = $db->Row("K_OPD"); $askpd['uraiskpd'] = $db->Row("N_OPD"); $askpd['uraiurusan'] = $db->Row("N_Urusan"); $askpd['pejabat'] = array( 'kepalanip'=>$db->Row("P_NIP"), 'kepalanama'=>$db->Row("P_Nama"), 'kepalajabatan'=>$db->Row("P_Jabatan"), 'kepalapangkat'=>$db->Row("P_Pangkat") ); $abidu[] = $db->Row("K_Bidu1"); if ($db->Row("K_Bidu2")<>"0.00") $abidu[] = $db->Row("K_Bidu2"); if ($db->Row("K_Bidu3")<>"0.00") $abidu[] = $db->Row("K_Bidu3"); } $db->Query("SELECT * FROM para90_bidu WHERE K_Bidu IN ('".implode("','", $abidu)."')"); while ($db->Next()) { $askpd['pilihanbidang'][] = $db->Row("K_Bidu"); } // data program $askpd['program'] = array(); $db->Query("SELECT P.*,PO.N_Prog,B.K_Bidu,B.N_Bidu,IFNULL(S.N_Satuan,'') N_Satuan FROM (SELECT * FROM renja90_prog WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'".$tsql.") P LEFT JOIN para90_prog PO ON (P.ProgID=PO.ProgID) LEFT JOIN para90_bidu B ON (PO.K_Bidu=B.K_Bidu) LEFT JOIN para_satuan S ON (P.Target_SatuanID=S.SatuanID) ORDER BY P.K_Prog"); while ($db->Next()) { $aprog = array(); $aprog['kodebidang'] = ($db->Row("K_Bidu")=="X.XX") ? $askpd['kodebidang'] : $db->Row("K_Bidu"); $aprog['uraibidang'] = ($db->Row("K_Bidu")=="X.XX") ? $askpd['uraibidang'] : $db->Row("N_Bidu"); $aprog['kodeprogram'] = $db->Row("K_Prog"); $aprog['uraiprogram'] = $db->Row("N_Prog"); $aprog['prioritas'] = array(); // data indikator program $aprog['capaian'] = array(); //$db2->Query("SELECT * FROM rpjmd_prog_indi WHERE RPJMDID='".$id_rpjmd."' AND RD_PROGINDIID IN (SELECT RD_PROGINDIID FROM renstra_detail_indi WHERE RPJMDID='".$id_rpjmd."' AND RA_PROGRAMID='".$db->Row("RA_PROGRAMID")."')"); //while ($db2->Next()) { $aindi = array(); $aindi['kodeindikator'] = "1"; $aindi['tolokukur'] = $db->Row("Indi_Txt"); $aindi['satuan'] = $db->Row("N_Satuan"); $aindi['real_p3'] = "0"; $aindi['pagu_p3'] = "0"; $aindi['real_p2'] = "0"; $aindi['pagu_p2'] = "0"; $aindi['real_p1'] = "0"; $aindi['pagu_p1'] = "0"; $aindi['target'] = "0";//$db2->Row("Indi_T3"); $aindi['pagu'] = "0";// $aindi['pagu_p'] = "0"; $aindi['target_n1'] = "0";//$db2->Row("Indi_T4");//todo: set auto sesuai tahun $aindi['pagu_n1'] = "0";// ? $aprog['capaian'][] = $aindi; //} // data kegiatan $aprog['kegiatan'] = array(); $db2->Query("SELECT D.*,K.N_Keg,IFNULL(S.N_Satuan,'') N_Satuan FROM (SELECT * FROM renja90_keg WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$db->Row("ProgID")."') D LEFT JOIN para90_keg K ON (D.KegID=K.KegID) LEFT JOIN para_satuan S ON (D.Target_SatuanID=S.SatuanID) ORDER BY D.K_Keg"); while ($db2->Next()) { $akeg = array(); $akeg['kodekegiatan'] = $db2->Row("K_Keg"); $akeg['uraikegiatan'] = $db2->Row("N_Keg"); $akeg['pagu'] = $db2->RowFloat("Pagu_Ini"); $akeg['pagu_p'] = 0; $akeg['sumberdana'] = array(); $db3->Query("SELECT R.*,D.K_Dana FROM (SELECT DanaID,SUM(Pagu_Ini) Pagu_Ini FROM renja90_rinci WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND K_RKA IN (SELECT K_RKA FROM renja90_sub WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$db->Row("ProgID")."' AND KegID='".$db2->Row("KegID")."') GROUP BY DanaID) R LEFT JOIN para_dana D ON (R.DanaID=D.DanaID)"); while ($db3->Next()) { $akeg['sumberdana'][] = array('pagu'=>$db3->RowFloat("Pagu_Ini"),'sumberdana'=>$db3->Row("K_Dana"),'kodesumberdana'=>$db3->Row("DanaID")); } $akeg['prioritas'] = array(); /*$db3->Query("SELECT Txt_Misi FROM rpjmd_misi WHERE RPJMDID='".$id_rpjmd."' AND RD_MISIID IN (SELECT P.RD_MISIID FROM rpjmd_prog P LEFT JOIN rpjmd_prog_indi I ON (I.RPJMDID=P.RPJMDID AND I.RD_PROGID=P.RD_PROGID) WHERE I.RD_PROGINDIID IN (SELECT RD_PROGINDIID FROM renstra_detail_indi WHERE RPJMDID='".$id_rpjmd."' AND RA_PROGRAMID='".$db->Row("RA_PROGRAMID")."'))"); while ($db3->Next()) { if ($db3->Row("Txt_Misi","")<>"") $akeg['prioritas'][] = array('prioritasdaerah'=>$db3->Row("Txt_Misi")); }*/ $akeg['lokasi'] = array();//array(array('lokasi'=>$db2->Row("Lokasi"),'kodelokasi'=>"",'detaillokasi'=>"")); $akeg['indikator'] = array(); $akeg['indikator'][] = array( 'kodeindikator' => "1", 'jenis' => "KELUARAN", 'tolokukur' => $db2->Row("Indi_Txt"), 'satuan' => $db2->Row("N_Satuan"), 'real_p3' => "0", 'pagu_p3' => "0", 'real_p2' => "0", 'pagu_p2' => "0", 'real_p1' => "0", 'pagu_p1' => $db2->RowFloat("Pagu_Lalu"), 'target' => $db2->Row("Target_Ini"), 'pagu' => $db2->RowFloat("Pagu_Ini"), 'pagu_p' => "0", 'target_n1' => 0,//$db2->Row("Target_Dpn") 'pagu_n1' => $db2->RowFloat("Pagu_Dpn") ); // data sub kegiatan $akeg['subkegiatan'] = array(); $db3->Query("SELECT D.*,K.N_Sub,IFNULL(S.N_Satuan,'') N_Satuan FROM (SELECT * FROM renja90_sub WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$db->Row("ProgID")."' AND KegID='".$db2->Row("KegID")."') D LEFT JOIN para90_sub K ON (D.SubID=K.SubID) LEFT JOIN para_satuan S ON (D.Target_SatuanID=S.SatuanID) ORDER BY D.K_Sub"); while ($db3->Next()) { $asubkeg = array(); $asubkeg['kodesubkegiatan'] = $db3->Row("K_Sub"); $asubkeg['uraisubkegiatan'] = $db3->Row("N_Sub"); $asubkeg['pagu'] = $db3->RowFloat("Pagu_Ini"); $asubkeg['pagu_p'] = "0"; $asubkeg['sumberdana'] = array(); $db4->Query("SELECT R.*,D.K_Dana FROM (SELECT DanaID,SUM(Pagu_Ini) Pagu_Ini FROM renja90_rinci WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND K_RKA='".$db3->Row("K_RKA")."' GROUP BY DanaID) R LEFT JOIN para_dana D ON (R.DanaID=D.DanaID)"); while ($db4->Next()) { $asubkeg['sumberdana'][] = array('pagu'=>$db4->RowFloat("Pagu_Ini"),'sumberdana'=>$db4->Row("K_Dana"),'kodesumberdana'=>$db4->Row("DanaID")); } $asubkeg['prioritas'] = array(); $asubkeg['lokasi'] = array(); if ($db3->Row("Lokasi")<>"") $asubkeg['lokasi'][] = array('lokasi'=>$db3->Row("Lokasi"),'kodelokasi'=>"",'detaillokasi'=>"");//todo: kodelokasi $asubkeg['indikator'] = array(); $asubkeg['indikator'][] = array( 'kodeindikator' => "1", 'jenis' => "KELUARAN", 'tolokukur' => $db3->Row("Indi_Txt"), 'satuan' => $db3->Row("N_Satuan"), 'real_p3' => "0", 'pagu_p3' => "0", 'real_p2' => "0", 'pagu_p2' => "0", 'real_p1' => "0", 'pagu_p1' => "0", 'target' => $db3->Row("Target_Ini"), 'pagu' => $db3->RowFloat("Pagu_Ini"), 'pagu_p' => "0", 'target_n1' => "0", 'pagu_n1' => $db3->RowFloat("Pagu_Dpn") ); $akeg['subkegiatan'][] = $asubkeg; } $aprog['kegiatan'][] = $akeg; } $askpd['program'][] = $aprog; } $apost[] = $askpd; return $apost; } /************************** RESPON HERE ***************************/ $db = DB(); $db2 = DB(); $db3 = DB(); $db4 = DB(); $ajson = array(); $data = Param::Get("data"); $id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID']; $tahun = $_SESSION['__WEB_APP']['RENC_THN']; $id_opd = Param::Get("OPDID", 0); $aprog = array(); if ( $data == "kirim" || $data == "" ) { $alist = Param::GetArrayCBOX(); foreach ($alist as $_key => $_val) { if ($_val=="Y") $aprog[] = $_key; } } if ( $data == "detail-opd" || $data == "detail-prog" || $data == "kirim" ) { $qsql = "RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."'"; $msql = "M.Aktif=1"; if ( $data == "detail-prog" ) { $qsql .= " AND OPDID='".$id_opd."'"; } $qbd = $qsql; } if ( $data == "detail-opd" ) { $obj = new Table($db); $obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,M.Nama_OPD,CONCAT(IFNULL(B.UDAH_PROG,0),' / ',K.ITEM_PROG) Status FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(DISTINCT ProgID) ITEM_PROG,COUNT(DISTINCT KegID) ITEM_KEG,COUNT(*) ITEM_SUB,SUM(Pagu_Ini) TOT_PAGU FROM renja90_sub WHERE ".$qsql." GROUP BY OPDID) K ON (K.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(DISTINCT ProgID) UDAH_PROG FROM bangda_rkpd_ranc 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 OPD", "awr"); $obj->add_field("TOT_PAGU", "PAGU", "r", "rupiah2"); $obj->add_field("ITEM_PROG", "PROG", "r", "rupiah"); $obj->add_field("ITEM_KEG", "KEG", "r", "rupiah"); $obj->add_field("ITEM_SUB", "SUB", "r", "rupiah"); $obj->add_field("Status", "Status", "c"); $obj->add_field("Nama_OPD", "Nama OPD", "hid"); $obj->set_field_order("K_OPD", "A"); $obj->add_row_btn("select", "Program", "PRKPDRancJS.opd_select"); $obj->add_row_btn("send", "Kirim / OPD", "PRKPDRancJS.opd_kirim"); $obj->set_func_navi("PRKPDRancJS.data_query('detail-opd')"); $obj->set_textbtn(true); $ajson[] = $obj->json_table("divOPD", 60); } else if ( $data == "detail-prog" ) { $obj = new Table($db); $obj->set_query("SELECT K.*,IFNULL(PR.ProgID,0) ProgID,PR.K_Prog,M.N_Prog,IF(IFNULL(PO.ProgID,0)=0,'Belum','Sudah') Status,'N' Pilih FROM (SELECT ProgID,K_Prog FROM renja90_prog WHERE ".$qsql.") PR LEFT JOIN para90_prog M ON (PR.ProgID=M.ProgID) LEFT JOIN (SELECT ProgID,COUNT(DISTINCT KegID) ITEM_KEG,COUNT(*) ITEM_SUB,SUM(Pagu_Ini) TOT_PAGU FROM renja90_sub WHERE ".$qsql." GROUP BY ProgID) K ON (PR.ProgID=K.ProgID) LEFT JOIN (SELECT * FROM bangda_rkpd_ranc WHERE ".$qsql.") PO ON (PR.ProgID=PO.ProgID) WHERE ".$msql); $obj->add_field("ProgID", "ID", "hid"); $obj->add_field("K_Prog", "KODE", "c"); $obj->add_field("N_Prog", "NAMA PROGRAM", "awr"); $obj->add_field("TOT_PAGU", "PAGU", "r", "rupiah2"); $obj->add_field("ITEM_KEG", "KEG", "r", "rupiah"); $obj->add_field("ITEM_SUB", "SUB", "r", "rupiah"); $obj->add_field("Status", "Status", "l"); $obj->set_field_order("K_Prog", "A"); $obj->set_row_color("Status", "Sudah", "rblue"); $obj->add_row_checkbox("ProgID", "Pilih", array("Y","N")); $obj->set_func_navi("PRKPDRancJS.data_query('detail-prog')"); $obj->set_textbtn(true); $ajson[] = $obj->json_table("divPROG", 60); } else if ( $data == "kirim" ) { $apost = Bangda_Data($id_rpjmd, $tahun, $id_opd, $aprog); $api = Bangda_Request($apost, $tahun); $tmsg = "Ada masalah dalam proses !"; if (isset($api['code'])) { $tmsg = $api['msg']; if ($api['code']==200) { if (count($aprog)>0) { foreach ($aprog as $_val) { $db->Query("INSERT IGNORE INTO bangda_rkpd_ranc SET RPJMDID='".$id_rpjmd."',Tahun='".$tahun."',OPDID='".$id_opd."',ProgID='".$_val."',DateStamp=NOW(),UserID='".user_id()."'"); } } else { $db->Query("INSERT IGNORE INTO bangda_rkpd_ranc SELECT '".$id_rpjmd."','".$tahun."',OPDID,ProgID,NOW(),'".user_id()."' FROM renja90_prog WHERE ".$qsql." AND OPDID='".$id_opd."'"); } } } $ajson['msg'] = $tmsg; $ajson['pre'] = ($api['pre']=="") ? implode("
", $api['log']) : $api['pre']; } else if ( $data == "default") { echo '
Push Rancangan RKPD ke SIPD Kemendagri
 
 
'; } else if ( $data == "" ){ $ajson = Bangda_Data($id_rpjmd, $tahun, $id_opd, $aprog); } send_json($ajson); ?>