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
+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);
?>