290 lines
14 KiB
PHP
290 lines
14 KiB
PHP
<?php
|
|
|
|
/*******************************************************************
|
|
|
|
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
|
Module : /apps/php/usul/desa2.php
|
|
Desc. : PHP - Input Usulan Desa Susulan
|
|
Created By : Siau Pheng ([email protected]).
|
|
Created Date : October 28th, 2011.
|
|
Last Modified : January 9th, 2026.
|
|
|
|
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
|
|
|
*******************************************************************/
|
|
|
|
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
|
require_once(__DIR__."/../func/musrenbang.php");
|
|
|
|
use siaupheng\fonia3\DB\MySQL;
|
|
use siaupheng\fonia3\DB\SQL;
|
|
use siaupheng\fonia3\Web\Param;
|
|
use siaupheng\fonia3\Web\Table;
|
|
use siaupheng\fonia3\Web\Form;
|
|
|
|
$db = (is_resource($db)) ? $db : new MySQL();
|
|
$ajson = [];
|
|
$data = Param::Get("data");
|
|
$mode = Param::Get("mode");
|
|
$mode_detail = Param::Get("mode_detail");
|
|
$efor_enable = 1; //Param::Get("Hak_Usulan", 0);
|
|
$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);
|
|
$id_bel = Param::Get("BelID", 0);
|
|
$id_usul = Param::Get("UsulanLID", 0);
|
|
|
|
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-bel","tabel-keg"]) ) {
|
|
$qsql = "Tahun='".$thn_renja."' AND JU < 3";
|
|
$msql = "Aktif=1";
|
|
|
|
if ( $data == "tabel-kec" ) {
|
|
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
|
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
|
} else if ( $data == "tabel-kel" ) {
|
|
$qsql .= " AND KecID='".$id_kec."'";
|
|
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
|
} else if ( $data == "tabel-bel" ) {
|
|
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
|
} else if ( $data == "tabel-keg" ) {
|
|
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND BelID='".$id_bel."'";
|
|
}
|
|
}
|
|
|
|
if ( $data == "tabel-kec" ) {
|
|
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0])) ? 1: 0;
|
|
if (in_array($_SESSION['__WEB_USER']['Level'],[2,7])) {
|
|
$f_usul = "IFNULL(H.Hak_Usulan,1)";
|
|
}
|
|
$qakses = "Tahun='".$thn_renja."'";
|
|
$qakses .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
|
|
|
$obj = new Table($db);
|
|
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,".$f_usul." Hak_Usulan FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID) LEFT JOIN (SELECT KecID,Hak_Usulan FROM sippd_akses_mus WHERE ".$qakses." ORDER BY KecID) H ON (H.KecID=M.LokasiID)");
|
|
$obj->add_field("KecID2", "ID", "hid");
|
|
$obj->add_field("Hak_Usulan", "Akses", "hid");
|
|
$obj->add_field("K_Lokasi", "Kode", "c");
|
|
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
|
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
|
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
|
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
|
$obj->set_field_order("N_Lokasi", "A");
|
|
$obj->add_row_btn("save", "Desa", "FUsulDesa2JS.kec_select");
|
|
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-kec')");
|
|
$obj->set_textbtn(true);
|
|
$ajson[] = $obj->json_table("divKEC");
|
|
|
|
} else if ( $data == "tabel-kel" ) {
|
|
$obj = new Table($db);
|
|
$obj->set_query("SELECT K.*,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID)");
|
|
$obj->add_field("KelID2", "ID", "hid");
|
|
$obj->add_field("K_Lokasi", "Kode", "c");
|
|
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
|
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
|
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
|
$obj->set_field_order("N_Lokasi", "A");
|
|
$obj->add_row_btn("save", "Belanja", "FUsulDesa2JS.kel_select");
|
|
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-kel')");
|
|
$obj->set_textbtn(true);
|
|
$ajson[] = $obj->json_table("divKEL");
|
|
|
|
} else if ( $data == "tabel-bel" ) {
|
|
$obj = new Table($db);
|
|
$obj->set_query("SELECT K.*,M.BelID BelID2,M.K_Belanja,M.N_Belanja FROM (SELECT * FROM para_belanja WHERE ".$msql.") M LEFT JOIN (SELECT BelID,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY BelID) K ON (K.BelID=M.BelID)");
|
|
$obj->add_field("BelID2", "ID", "hid");
|
|
$obj->add_field("K_Belanja", "Kode", "c");
|
|
$obj->add_field("N_Belanja", "Jenis Belanja", "awr");
|
|
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
|
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
|
$obj->set_field_order("K_Belanja", "A");
|
|
$obj->add_row_btn("save", "Usulan", "FUsulDesa2JS.bel_select");
|
|
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-bel')");
|
|
$obj->set_textbtn(true);
|
|
$ajson[] = $obj->json_table("divBEL");
|
|
|
|
} else if ( $data == "tabel-keg" ) {
|
|
if (in_array($mode_detail, ["insert","update","delete"])) {
|
|
$sql = new SQL($db);
|
|
$sql->set_table("mus_usulan_desa");
|
|
$sql->add_param("Lokasi2");
|
|
$sql->add_param("Dusun2");
|
|
$sql->add_param("RT2");
|
|
$sql->add_param("Masalah2");
|
|
$sql->add_param("Usulan2");
|
|
$sql->add_param("Sasaran2");
|
|
$sql->add_param("Waktu2");
|
|
$sql->add_param("Volume2");
|
|
$sql->add_param("SatuanID2");
|
|
$sql->add_param("Rupiah2");
|
|
$sql->add_param("OPDID");
|
|
$sql->add_param("FUbah", 1); //update oleh forum
|
|
$sql->add_where("RPJMDID", $id_rpjmd);
|
|
$sql->add_where("Tahun", $thn_renja);
|
|
$sql->add_where("UsulanLID", $id_usul);
|
|
|
|
if ( $mode_detail == "insert" ) {
|
|
$id_usul = ID_Usulan_Desa($id_rpjmd, $thn_renja);
|
|
$sql->add_param("RPJMDID", $id_rpjmd);
|
|
$sql->add_param("Tahun", $thn_renja);
|
|
$sql->add_param("UsulanLID", $id_usul);
|
|
$sql->add_param("KecID", $id_kec);
|
|
$sql->add_param("KelID", $id_kel);
|
|
$sql->add_param("BelID", $id_bel);
|
|
$sql->add_param("Kode", Kode_Usulan_Desa($thn_renja, $id_kel));
|
|
$sql->add_param("K_RKA", "CONCAT(Tahun,'-',Kode)", true);
|
|
$sql->add_param("JU", 1); //jenis usulan tambahan
|
|
$sql->add_param_stamp();
|
|
$sql->add_param_userid();
|
|
$sql->InsertDB();
|
|
} else if ( $mode_detail == "update" ) {
|
|
$sql->add_param_stamp("Update_Stamp");
|
|
$sql->add_param_userid("Update_UserID");
|
|
$sql->UpdateDB();
|
|
} else if ( $mode_detail == "delete" ) {
|
|
$sql->DeleteDB();
|
|
}
|
|
if (in_array($mode_detail, ["insert","update"])) {
|
|
$db->Query("UPDATE mus_usulan_desa SET Lokasi=Lokasi2,Dusun=Dusun2,RT=RT2,Masalah=Masalah2,Usulan=Usulan2,Sasaran=Sasaran2,Waktu=Waktu2,Volume=Volume2,SatuanID=SatuanID2,Rupiah=Rupiah2 WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' AND FUbah=1 AND JU=1");
|
|
}
|
|
}
|
|
|
|
$obj = new Table($db);
|
|
$obj->set_query("SELECT R.*,CONCAT(R.Volume2,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(BAksi=0,'Belum Verifikasi','Ok') XKet,IF(BAksi=0,0,1) XAksi FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID)");
|
|
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah2) Rupiah2 FROM mus_usulan_desa WHERE ".$qsql.") R");
|
|
$obj->add_field("UsulanLID", "ID", "hid");
|
|
$obj->add_field("Kode", "Kode", "c");
|
|
$obj->add_field("Usulan2", "Usulan Kegiatan", "awr");
|
|
$obj->add_field("Lokasi2", "Lokasi", "awr");
|
|
$obj->add_field("N_Satuan", "Volume", "l");
|
|
$obj->add_field("Rupiah2", "Anggaran", "nwr r", "rupiah", "rupiah");
|
|
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
|
$obj->add_field("XKet", "Status", "l");
|
|
$obj->set_field_order("Usulan2", "A");
|
|
$obj->set_row_color("BAksi", 1, "rsuccess");
|
|
$obj->set_row_color("BAksi", 2, "rdanger");
|
|
$obj->set_row_color("BAksi", 3, "rwarning");
|
|
$obj->set_row_control("JU", 1);
|
|
if ($efor_enable) {
|
|
$obj->add_row_btn("clipboard", "Ubah", "FUsulDesa2JS.keg_ubah");
|
|
$obj->add_row_btn("trash", "Hapus", "FUsulDesa2JS.keg_hapus", "KelID", $id_kel);
|
|
$obj->set_func_btn("FUsulDesa2JS.keg_tambah", "+ Usulan");
|
|
} else {
|
|
$obj->add_row_btn("clipboard", "Detail", "FUsulDesa2JS.keg_ubah");
|
|
}
|
|
$obj->set_func_navi("FUsulDesa2JS.data_query('tabel-keg')");
|
|
$obj->set_textbtn(true);
|
|
$ajson[] = $obj->json_table("divKEG");
|
|
|
|
} else if ( $data == "detail-keg" ) {
|
|
$enable = ($efor_enable) ? true : false;
|
|
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
|
if ($id_usul > 0) {
|
|
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
|
if ($db->Next()) $adetail = $db->AllRow();
|
|
}
|
|
|
|
$form = new Form($db);
|
|
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
|
$tlokasi = $form->textbox("_", "Lokasi2", $adetail['Lokasi2'], $enable, true, "text", "lokasi kegiatan");
|
|
$trt = $form->textbox("_", "RT2", $adetail['RT2'], $enable, true, "text", "rt dan rw");
|
|
$tdusun = $form->textbox("_", "Dusun2", $adetail['Dusun2'], $enable, true, "text", "nama dusun");
|
|
$tmasa = $form->textarea("_", "Masalah2", $adetail['Masalah2'], $enable, true, 2, "permasalahan");
|
|
$tusulan = $form->textarea("_", "Usulan2", $adetail['Usulan2'], $enable, true, 2, "usulan kegiatan");
|
|
$tsasa = $form->textbox("_", "Sasaran2", $adetail['Sasaran2'], $enable, true, "text", "sasaran / manfaat");
|
|
$twaktu = $form->textbox("_", "Waktu2", $adetail['Waktu2'], $enable, true, "text", "waktu pelaksanaan");
|
|
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
|
$tvol = $form->textbox("_", "Volume2", $adetail['Volume2'], $enable, true, "double", "nilai volume");
|
|
$tsatu = $form->option_db("_", "SatuanID2", $adetail['SatuanID2'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
|
$trupiah = $form->textbox("_", "Rupiah2", $adetail['Rupiah2'], $enable, true, "double", "nilai anggaran");
|
|
|
|
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
|
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi2">Lokasi Kegiatan</label>
|
|
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun2">Dusun dan RT / RW</label>
|
|
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
|
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah2">Permasalahan</label>
|
|
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan2">Usulan Kegiatan</label>
|
|
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran2">Sasaran / Manfaat</label>
|
|
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu2">Waktu Pelaksanaan</label>
|
|
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
|
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
|
</div>
|
|
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume2">Volume Kegiatan</label>
|
|
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
|
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah2">Perkiraan Anggaran</label>
|
|
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
|
</div></form>
|
|
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
|
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
|
|
|
} else if ( $data == "default") {
|
|
echo '
|
|
<div class="fade-in">
|
|
<div class="card"><div class="card-header custom-style">Input Usulan Desa (Susulan) - Tahun Perencanaan '.$thn_renja.'</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="Hak_Usulan" type="hidden" value="1">
|
|
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<div class="col">
|
|
<div class="input-group">
|
|
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
|
<input id="KelID" type="hidden" value="0">
|
|
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<div class="col">
|
|
<div class="input-group">
|
|
<input class="form-control" id="Nama_BEL" placeholder="Jenis Belanja" type="text" readonly>
|
|
<input id="BelID" type="hidden" value="0">
|
|
<button class="btn btn-info btn-ganti" type="button" id="butBEL"><span><i class="bi-arrow-left-right"></span></i>Belanja</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="divKEC"> </div>
|
|
<div id="divKEL"> </div>
|
|
<div id="divBEL"> </div>
|
|
<div id="divKEG"> </div>
|
|
</div></div>
|
|
</div>';
|
|
}
|
|
|
|
send_json($ajson);
|
|
?>
|