175 lines
8.8 KiB
PHP
175 lines
8.8 KiB
PHP
<?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"> </div>
|
|
<div id="divKEL"> </div>
|
|
</div></div>
|
|
</div>';
|
|
exit;
|
|
}
|
|
|
|
send_json($ajson, true);
|
|
?>
|