230 lines
12 KiB
PHP
230 lines
12 KiB
PHP
<?php
|
|
|
|
/*******************************************************************
|
|
|
|
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
|
Module : /apps/php/repo/browse.php
|
|
Desc. : PHP - Tampilan Data Pelaporan
|
|
Created By : Siau Pheng ([email protected]).
|
|
Created Date : October 28th, 2011.
|
|
Last Modified : May 4th, 2026.
|
|
|
|
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
|
|
|
*******************************************************************/
|
|
|
|
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
|
require_once(__DIR__."/../func/esapipd.php");
|
|
|
|
use siaupheng\fonia3\DB\MySQL;
|
|
use siaupheng\fonia3\Web\Param;
|
|
use siaupheng\fonia3\Web\Table;
|
|
use siaupheng\fonia3\Web\Form;
|
|
use siaupheng\fonia3\Data\SimpleXLS;
|
|
|
|
$db = $db ?? new MySQL();
|
|
$ajson = [];
|
|
$data = Param::Get("data");
|
|
$mode = Param::Get("mode");
|
|
$mode_detail = Param::Get("mode_detail");
|
|
$bln_renja = $_SESSION['__WEB_APP']['REAL_BLN'];
|
|
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
|
|
$thn_submap = $_SESSION['__WEB_APP']['SUBMAP_TAHUN'];
|
|
$field_map = $_SESSION['__WEB_APP']['REAL_FIELD'];
|
|
$id_jenis = Param::Get("Jenis", 0);
|
|
$tanda_pagu = Param::Get("Tanda_Pagu", "A");
|
|
$nilai_pagu = Param::Get("Nilai_Pagu", 0);
|
|
$id_dprd = Param::Get("DPRDID", 0);
|
|
$id_kec = Param::Get("KecID", 0);
|
|
$id_kel = Param::Get("KelID", 0);
|
|
$id_opd = Param::Get("OPDID", 0);
|
|
$id_sub = Param::Get("SubID", 0);
|
|
$kunci_cari = Param::Get("Cari_Keg", "");
|
|
$aapp = $_SESSION['__WEB_APP'];
|
|
|
|
if ( in_array($data, ["tabel-keg","excel"]) ) {
|
|
$qsql1 = "Tahun='".$thn_renja."'";
|
|
|
|
if ($id_jenis > 0) $qsql1 .= " AND Jenis='".$id_jenis."'";
|
|
if ($id_dprd > 0) $qsql1 .= " AND DPRDID='".$id_dprd."'";
|
|
if ($id_kec > 0) $qsql1 .= " AND KecID='".$id_kec."'";
|
|
if ($id_kel > 0) $qsql1 .= " AND KelID='".$id_kel."'";
|
|
if ($id_opd > 0) $qsql1 .= " AND OPDID='".$id_opd."'";
|
|
if ($id_sub > 0) $qsql1 .= " AND SubID='".$id_sub."'";
|
|
|
|
if ($nilai_pagu > 0) $qsql1 .= " AND Rupiah".$field_map.($tanda_pagu=="A"?">":"<").$nilai_pagu;
|
|
}
|
|
|
|
if ( $data == "tabel-keg" ) {
|
|
if ($kunci_cari <> "") $qsql1 .= " AND CONCAT(Kode,Lokasi) LIKE '%".$kunci_cari."%'";
|
|
|
|
$obj = new Table($db);
|
|
$obj->set_table("(SELECT *,Rupiah".$field_map." Rupiah_X,Pending".$field_map." Pending_X,IF(OPDID=0 OR KecID=0,1,0) ITEM_ERR FROM sapi_keg WHERE ".$qsql1.") R LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID)", "R.*,X.Nama_Sub", "");
|
|
$obj->add_field("SapiID", "ID", "hid");
|
|
$obj->add_field("Kode", "Kode", "c");
|
|
$obj->add_field("Nama_Sub", "Nama Sub Kegiatan", "l");
|
|
$obj->add_field("Lokasi", "Lokasi", "l");
|
|
$obj->add_field("Rupiah_X", "Pagu", "r", "rupiah");
|
|
$obj->add_field("Pending_X", "Pend", "c", "checkbox");
|
|
$obj->add_field("Hidden", "Hidd", "c", "checkbox");
|
|
$obj->add_field("ITEM_ERR", "Status", "c", "Kolom_Status2");
|
|
$obj->set_field_order("Kode", "A");
|
|
$obj->set_row_color("ITEM_ERR", 1, "ryellow");
|
|
$obj->set_func_navi("RepoBrowseJS.data_query('tabel-keg')");
|
|
$ajson[] = $obj->db_table("divKEG");
|
|
|
|
} else if ( $data == "detail_filter" ) {
|
|
$form = new Form($db);
|
|
$tjenis = $form->radio("_", "Fi_Jenis", $id_jenis, true, false, [0=>"Semua",1=>"Pokir",2=>"Asmas",3=>"Renja"]);
|
|
$tpagu1 = '<input type="hidden" id="Fi_Tanda_Pagu" value="'.$tanda_pagu.'"><div class="form-check form-check-inline"><input class="form-check-input" type="radio" id="Fi_Tanda_PaguA" name="Fi_Tanda_Pagu" '.($tanda_pagu=="A"?'checked="checked"':'').' onclick="if(this.checked)$(\'#Fi_Tanda_Pagu\').val(\'A\');"><label class="form-check-label" for="Fi_Tanda_PaguA">> Lebih Dari</label></div><div class="form-check form-check-inline"><input class="form-check-input" type="radio" id="Fi_Tanda_PaguZ" name="Fi_Tanda_Pagu" '.($tanda_pagu=="Z"?'checked="checked"':'').' onclick="if(this.checked)$(\'#Fi_Tanda_Pagu\').val(\'Z\');"><label class="form-check-label" for="Fi_Tanda_PaguZ">< Kurang Dari</label></div>';
|
|
$tpagu2 = $form->textbox("_", "Fi_Nilai_Pagu", $nilai_pagu, true, false, "double");
|
|
$tdprd = $form->option_que("_", "Fi_DPRDID", $id_dprd, true, false, "SELECT * FROM para_dprd WHERE Aktif=1 AND DPRDID IN (SELECT DPRDID FROM sapi_keg WHERE Tahun='".$thn_renja."') ORDER BY K_DPRD", ["DPRDID","N_DPRD"], [0,"SEMUA ANGGOTA DEWAN"]);
|
|
$topd = $form->option_que("_", "Fi_OPDID", $id_opd, true, false, "SELECT * FROM vi_para90_opd WHERE Aktif=1 AND OPDID IN (SELECT OPDID FROM sapi_keg WHERE Tahun='".$thn_renja."') ORDER BY K_OPD", ["OPDID","Nama_OPD"], [0,"SEMUA PERANGKAT DAERAH"], null, "RepoBrowseJS.oc_OPD()");
|
|
$tsub = $form->option("_", "Fi_SubID", $id_sub, true, false, [$id_sub=>"SEMUA SUB KEGIATAN"]);
|
|
$tkec = $form->option_db("_", "Fi_KecID", $id_kec, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=1 AND Aktif=1 ORDER BY N_Lokasi", [0,"SEMUA KECAMATAN"], null, "RepoBrowseJS.oc_Kec()");
|
|
$tkel = $form->option("_", "Fi_KelID", $id_kel, true, false, [$id_kel=>"SEMUA KELURAHAN / DESA"]);
|
|
$ajson['html'] = '
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_Jenis">Sumber Kegiatan</label>
|
|
<div class="col-sm-8 col-lg-10 col-form-label">'.$tjenis.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_Nilai_Pagu">Kriteria Pagu</label>
|
|
<div class="col-sm-4 col-lg-5 col-form-label">'.$tpagu1.'</div>
|
|
<div class="col-sm-4 col-lg-5">'.$tpagu2.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_DPRDID">Anggota Dewan</label>
|
|
<div class="col-sm-8 col-lg-10">'.$tdprd.'</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-2 col-form-label" for="Fi_OPDID">Perangkat Daerah</label>
|
|
<div class="col-sm-8 col-lg-10">'.$topd.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_SubID">Sub Kegiatan</label>
|
|
<div class="col-sm-8 col-lg-10">'.$tsub.'</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-2 col-form-label" for="Fi_KecID">Kecamatan</label>
|
|
<div class="col-sm-8 col-lg-10">'.$tkec.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="Fi_KelID">Kelurahan / Desa</label>
|
|
<div class="col-sm-8 col-lg-10">'.$tkel.'</div>
|
|
</div>';
|
|
|
|
} else if ( $data == "detail_excel" ) {
|
|
$form = new Form($db);
|
|
$tsumber = $form->radio("_", "Ex_Sumber", 0, true, false, [0=>"Ya",1=>"Tidak"]);
|
|
$thidden = $form->radio("_", "Ex_Hidden", 0, true, false, [0=>"Ya",1=>"Tidak"]);
|
|
$tpend = $form->radio("_", "Ex_Pending", 0, true, false, [0=>"Ya",1=>"Tidak"]);
|
|
$ajson['html'] = '
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-4 col-form-label" for="Ex_Sumber">Tampilkan Sumber</label>
|
|
<div class="col-sm-8 col-lg-8 col-form-label">'.$tsumber.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-4 col-form-label" for="Ex_Hidden">Tampilkan Hidden</label>
|
|
<div class="col-sm-8 col-lg-8 col-form-label">'.$thidden.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-4 col-form-label" for="Ex_Pending">Tampilkan Pending</label>
|
|
<div class="col-sm-8 col-lg-8 col-form-label">'.$tpend.'</div>
|
|
</div>';
|
|
|
|
} else if ( $data == "option-sub" ) {
|
|
$aoption = ['type' => "option", 'id' => "Fi_SubID", 'value' => Param::Get("Fi_SubID",0), 'avalue' => []];
|
|
$db->Query("SELECT * FROM vi_para90_submap WHERE Tahun='".$thn_submap."' AND SubID IN (SELECT SubID FROM sapi_keg WHERE Tahun='".$thn_renja."' AND OPDID='".Param::Get("Fi_OPDID",0)."') ORDER BY K_Sub");
|
|
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA SUB KEGIATAN"];
|
|
while ($db->Next()) {
|
|
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("SubID");
|
|
$aoption['avalue'][] = ['value'=>$db->Row("SubID"), 'html'=>$db->Row("Nama_Sub")];
|
|
}
|
|
$ajson[] = $aoption;
|
|
|
|
} else if ( $data == "option-kel" ) {
|
|
$aoption = ['type' => "option", 'id' => "Fi_KelID", 'value' => Param::Get("Fi_KelID",0), 'avalue' => []];
|
|
$db->Query("SELECT * FROM para_lokasi WHERE Level=2 AND Aktif=1 AND IndukID='".Param::Get("Fi_KecID",0)."' ORDER BY N_Lokasi");
|
|
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>"SEMUA KELURAHAN / DESA"];
|
|
while ($db->Next()) {
|
|
if ($db->RecordCount()==1 && $aoption['value']==0) $aoption['value'] = $db->Row("LokasiID");
|
|
$aoption['avalue'][] = ['value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi")];
|
|
}
|
|
$ajson[] = $aoption;
|
|
|
|
} else if ( $data == "excel" ) {
|
|
$asumber = [1=>"Pokir", 2=>"Musrenbang", 3=>"Renja"];
|
|
$ex_sumber = Param::Get("Ex_Sumber", 0); // 0: Ya, 1: Tidak
|
|
$ex_hidden = Param::Get("Ex_Hidden", 0); // 0: Ya, 1: Tidak
|
|
$ex_pend = Param::Get("Ex_Pending", 0); // 0: Ya, 1: Tidak
|
|
$tgl_header = bulan_array()[$bln_renja] . " " . $thn_renja;
|
|
|
|
if ($ex_hidden == 1) $qsql1 .= " AND Hidden=0";
|
|
if ($ex_pend == 1) $qsql1 .= " AND Pending".$field_map."=0";
|
|
|
|
$db->Query("SELECT R.*,X.N_Sub,O.S_OPD FROM (SELECT SapiID,OPDID,SubID,Lokasi,Jenis,Rupiah".$field_map." Rupiah_X FROM sapi_keg WHERE ".$qsql1.") R LEFT JOIN (SELECT SubID,K_Sub,N_Sub,Nama_Sub FROM vi_para90_submap WHERE Tahun='".$aapp['SUBMAP_TAHUN']."') X ON (X.SubID=R.SubID) LEFT JOIN para90_opd O ON (O.OPDID=R.OPDID) ORDER BY O.K_OPD,X.K_Sub,R.Jenis");
|
|
|
|
$xls = new SimpleXLS([
|
|
'title'=>"Data Pelaporan",
|
|
'subject'=>"BAPPERIDA MEMPAWAH",
|
|
'desc'=>"Export Data Pelaporan dari ISAPIPD"
|
|
]);
|
|
$xls->add_span(["<b>DATA PELAPORAN</b>",1]);
|
|
$xls->add_span(["Periode : ".$tgl_header,1]);
|
|
$xls->add_empty_row();
|
|
|
|
$xls->add_field("No.", 6, "C");
|
|
$xls->add_field("Nama Sub Kegiatan", 40, "L");
|
|
$xls->add_field("Lokasi Kegiatan", 60, "L");
|
|
if ($ex_sumber == 0) $xls->add_field("Sumber", 12, "L");
|
|
$xls->add_field("Perangkat Daerah", 20, "L");
|
|
$xls->add_field("Nilai Pagu", 20, "R,N");
|
|
$xls->add_sheet("".$tgl_header, true);
|
|
|
|
$no = 1; $tot_pagu = 0;
|
|
while ($db->Next()) {
|
|
$tot_pagu += $db->Row("Rupiah_X");
|
|
$_arow = [$no++, $db->Row("N_Sub"), $db->Row("Lokasi")];
|
|
if ($ex_sumber == 0) $_arow[] = $asumber[$db->Row("Jenis")];
|
|
array_push($_arow, $db->Row("S_OPD"), $db->Row("Rupiah_X"));
|
|
$xls->add_value($_arow);
|
|
}
|
|
$xls->add_span(["JUMLAH",5-($ex_sumber==0?0:1),"B,C"], [$tot_pagu,1,",B,R,N"]);
|
|
$xls->add_stamp(1, true);
|
|
$xls->send("Data Pelaporan ".$tgl_header.".xlsx");
|
|
unset($xls);
|
|
|
|
} else if ( $data == "default" ) {
|
|
echo '
|
|
<div class="fade-in">
|
|
<div class="card"><div class="card-header custom-style">Data Pelaporan :: '.bulan_array()[$bln_renja].' '.$thn_renja.'</div><div class="card-body">
|
|
<div class="row mb-1">
|
|
<div class="col">
|
|
<div class="input-group">
|
|
<input class="form-control" id="Cari_Keg" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info" type="button" id="butSearch">Cari</button><button class="btn btn-secondary" type="button" id="butAll">Semua</button>
|
|
</div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<button class="btn btn-info" type="button" id="butFilter">Filter</button>
|
|
<button class="btn btn-success" type="button" id="butExcel">Excel</button>
|
|
</div>
|
|
</div>
|
|
<div id="divKEG"> </div>
|
|
<input type="hidden" id="Jenis" value="'.$id_jenis.'">
|
|
<input type="hidden" id="Tanda_Pagu" value="'.$tanda_pagu.'">
|
|
<input type="hidden" id="Nilai_Pagu" value="'.$nilai_pagu.'">
|
|
<input type="hidden" id="DPRDID" value="'.$id_dprd.'">
|
|
<input type="hidden" id="KecID" value="'.$id_kec.'">
|
|
<input type="hidden" id="KelID" value="'.$id_kel.'">
|
|
<input type="hidden" id="OPDID" value="'.$id_opd.'">
|
|
<input type="hidden" id="SubID" value="'.$id_sub.'">
|
|
</div></div>
|
|
</div>';
|
|
}
|
|
|
|
send_json($ajson);
|
|
?>
|