commit pertama

This commit is contained in:
2026-01-30 13:07:53 +07:00
commit 48199537d4
303 changed files with 136097 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/func/report.php
Desc. : PHP - Fungsi Report
Created By : Siau Pheng ([email protected]).
Created Date : May 15th, 2012.
Last Modified : January 9th, 2026.
(c) 2012 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
$fdb = (is_resource($fdb)) ? $fdb : new MySQL();
function Report_Empty($ltabel = "") {
global $fdb;
if ($ltabel == "") return false;
$fdb->Query("DELETE FROM rep_".$ltabel." WHERE (Unix='".user_unix()."' OR Unix<'".(user_unix()-604800)."') AND UserID='".user_id()."'");
}
function Report_Header($tlapor="", $tperiod="") {
$thasil = '<div style="text-align:center;font-size:12pt;"><b>'.strtoupper($_SESSION['__WEB_APP']['REG_NAME']);
$thasil .= (($tlapor=="") ? "" : '<br>'.$tlapor) . '</b>';
$thasil .= ($tperiod=="") ? "" : '<br><span style="font-size:11pt;">'.$tperiod.'</span>';
$thasil .= '</div><br>';
echo $thasil;
}
?>
+33
View File
@@ -0,0 +1,33 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/func/sippd.php
Desc. : PHP - Fungsi SIPPD
Created By : Siau Pheng ([email protected]).
Created Date : May 15th, 2012.
Last Modified : January 9th, 2026.
(c) 2012 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
$fdb = (is_resource($fdb)) ? $fdb : new MySQL();
function tahun_ang($t_extra = "") {
global $fdb;
$atahun = array();
$fdb->Query("SELECT Tahun FROM para_periode ORDER BY Tahun");
while ($fdb->Next()){
$atahun[$fdb->Row("Tahun")] = $t_extra . $fdb->Row("Tahun");
}
return $atahun;
}
?>
+101
View File
@@ -0,0 +1,101 @@
<?php
/*******************************************************************
Module : /apps/php/index.php
Desc. : PHP - Halaman Utama Desktop
Created By : Siau Pheng ([email protected]).
Created Date : May 24th, 2010.
Last Modified : August 30th, 2020.
(c) 2010 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Web\Register;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
if ( $data == "pagu-info" || $data == "pagu-chart" ) {
if ($_SESSION['__WEB_USER']['Level']==2) {
$tot_pagu = 0;
$db->Query("SELECT SUM(Rupiah) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")");
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
$db->Query("SELECT L.K_Lokasi K_Kec,L.N_Lokasi N_Kec,U.Pagu FROM (SELECT KelID,SUM(Rupiah) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].") GROUP BY KelID) U LEFT JOIN para_lokasi L ON (L.LokasiID=U.KelID) ORDER BY L.K_Lokasi");
} else {
$tot_pagu = 0;
$db->Query("SELECT SUM(Rupiah) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."'");
if ($db->Next()) $tot_pagu = $db->Row("Pagu");
$db->Query("SELECT L.K_Lokasi K_Kec,L.N_Lokasi N_Kec,U.Pagu FROM (SELECT KecID,SUM(Rupiah) Pagu FROM mus_usulan_desa WHERE Tahun='".$_SESSION['__WEB_APP']['RENC_THN']."' GROUP BY KecID) U LEFT JOIN para_lokasi L ON (L.LokasiID=U.KecID) ORDER BY L.K_Lokasi");
}
}
if ( $data == "pagu-info" ) {
$pagu_info = '<h4 class="text-end">Rekapitulasi Usulan Musrenbang '.$_SESSION['__WEB_APP']['RENC_THN'].'</h4>';
$pagu_info .= '<table class="table table-striped">';
$pagu_info .= '<thead><tr><th>'.($_SESSION['__WEB_USER']['Level']==7?"Indikator":($_SESSION['__WEB_USER']['Level']==2?"Kelurahan / Desa":"Kecamatan")).'</th><th>Total Anggaran</th></tr></thead><tbody>';
while ($db->Next()){
$pagu_info .= sprintf('<tr><td class="l">%s</td><td class="r">%s</td></tr>', $db->Row("N_Kec"), rupiah2($db->Row("Pagu")));
}
$pagu_info .= '</tbody></table>';
$ajson['html'] = $pagu_info;
} else if ( $data == "pagu-chart" ) {
$ajson['datasets'] = array();
$ajson['labels'] = array();
$atmp = array(); $acol = array();
$atmp[] = 100;
$col_r = mt_rand( 0, 255 );
$col_g = mt_rand( 0, 255 );
$col_b = mt_rand( 0, 255 );
$acol[] = "rgb(".$col_r.",".$col_g.",".$col_b.")";
$ajson['labels'][] = "Belum Ada Usulan";
if ($db->RecordCount()>0) {
$atmp = array();
$acol = array();
$ajson['labels'] = array();
}
while ($db->Next()){
$atmp[] = round($db->Row("Pagu") / $tot_pagu * 100, 2);
$col_r = mt_rand( 0, 255 );
$col_g = mt_rand( 0, 255 );
$col_b = mt_rand( 0, 255 );
$acol[] = "rgb(".$col_r.",".$col_g.",".$col_b.")";
$ajson['labels'][] = $db->Row("N_Kec");
}
$ajson['datasets'][] = array('data'=>$atmp, 'backgroundColor'=>$acol);
} else if ( $data == "default" ) {
$aapp = $_SESSION['__WEB_APP'];
$ajson['content'] = '
<div class="row">
<div class="col-sm-12 col-md-6 d-flex align-items-stretch">
<div class="card w-100 h-100"><div class="card-body d-flex flex-column" id="divHome1">
<div class="my-auto text-center"><img class="img-fluid" src="'.$aapp['WEB_PATH'].'assets/images/logo300.png" title="'.$aapp['REG_NAME'].'" style="width:25%">
<p class="mt-2">'.$aapp['REG_ADDRESS'].'<br>
'.$aapp['REG_CITY'].' '.$aapp['REG_POSTCODE'].'</p>
<p class="mt-3 mb-3"><i>Register ID : '.Register::reg_id().'</i></p>
<p>'.$aapp['APP_NAMES'].'<br>'.$aapp['APP_NAME'].' Ver. '.$aapp['APP_VER'].'<br>
Updated : '.$aapp['APP_UPDATED'].'</p></div>
</div></div>
</div>
<div class="col-sm-12 col-md-6 d-flex align-items-stretch">
<div class="card w-100 h-100"><div class="card-body d-flex flex-column" id="divHome2">
<div class="chart-wrapper pb-2">
<canvas id="pieChart"></canvas>
</div>
</div></div>
</div>
</div>
';
}
send_json($ajson);
?>
+60
View File
@@ -0,0 +1,60 @@
<?php
/*******************************************************************
Module : /apps/php/login.php
Desc. : PHP - Halaman Proses Login
Created By : Siau Pheng ([email protected]).
Created Date : January 5th, 2008.
Last Modified : June 28th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
$db = $db ?? new MySQL();
$auth = new Auth($db);
$ajson = [];
$mode = Param::Get("mode");
$aapp = $_SESSION['__WEB_APP'];
if ($mode == "login") {
$auser = [];
$auth->set_id_reg($aapp['PARENT_CODE']);
if ($auth->user_check(Param::Get("Username"), Param::Get("Password"))) {
$auser = $auth->user_data(Param::Get("Username"));
$_appurl = $_GET['redir'];
if (!empty($_appurl)) {
$_redir = $auth->redirect($_appurl);
//jika kosong, tampilkan pesan redirect tidak diijinkan
//jika berisi, js harus redirect ...
}
$ajson['token'] = $_SESSION['APP_TOKEN'];
$ajson['hasil'] = "SUKSES";
$ajson['pesan'] = '<div class="border border-success p-2 pt-3"><h5>Login berhasil,</h5><p><b>'.$auser["Username"].'</b> / '.$auser["Nama"].'<br>'.$auser["Posisi"].'<br><i>login terakhir :</i><br>'.tgl_sql2str($auser["Last_Date"],true).'<br>'.$auser["Last_IP"].'</p></div>';
} else {
$ajson['hasil'] = "ERROR";
$ajson['pesan'] = "Periksa kembali ID Pengguna atau Password Anda ...";
}
} else if ($mode == "logout") {
$auth->logout();
foreach ($_SESSION as $_key => $_val) {
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
}
require(__DIR__."/../cfg/app.php");
$nhost = ($_SERVER['SERVER_ADDR'] == "127.0.0.1") ? $_SESSION['__WEB_APP']['WEB_PATH']."../" : $_SESSION['__WEB_APP']['PARENT_SITE'];
$ajson['nexthost'] = $nhost;
}
send_json($ajson);
?>
+125
View File
@@ -0,0 +1,125 @@
<?php
/*******************************************************************
Module : /apps/php/sys/about.php
Desc. : PHP - Informasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : November 23th, 2011.
Last Modified : September 30th, 2025.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\DB\CheckSQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Web\Register;
use siaupheng\fonia3\Web\Update;
$db = $db ?? new MySQL();
$ajson = array();
$data = Param::Get("data");
$mode = Param::Get("mode");
$cpd = new Update($db);
if ( $data == "check_update") {
$ainfo = $cpd->check_update();
echo '<table width="100%">
<tr><td>Versi Sekarang</td><td>:</td><td>'.$ainfo['build_cur'].'</td></tr>
<tr><td>Versi Update</td><td>:</td><td>'.$ainfo['build_new'].'</td></tr>
<tr><td>Status Update</td><td>:</td><td>'.$ainfo['svr_status'].'</td></tr>
<input type="hidden" id="file_build" value="'.$ainfo['build_new'].'">
<input type="hidden" id="file_online" value="'.(($ainfo['build_new']>$ainfo['build_cur'])?1:0).'">
<input type="hidden" id="file_web" value="'.$ainfo['file_web'].'">
<input type="hidden" id="file_sql" value="'.$ainfo['file_sql'].'">
</table>';
} else if ( $data == "proses_update") {
$ajson['sukses'] = $cpd->go_update(Param::Get("file_web"), Param::Get("file_build"));
if ($ajson['sukses']==true && Param::Get("file_sql","")!=="") $cpd->update_mysql(Param::Get("file_sql"));
} else if ( $data == "check_db") {
$form = new Form($db);
$t_cek = $form->checkbox("_", "DB_Cek", 1, true, false, [1,0]);
$t_repa = $form->checkbox("_", "DB_Repair", 0, true, false, [1,0]);
$t_opti = $form->checkbox("_", "DB_Opti", 0, true, false, [1,0]);
$form->show('
<div class="row mb-4">
<div class="col-12"><div class="input-group">'.$t_cek.'<label for="DB_Cek">Cek Database</label></div><label class="small" for="DB_Cek">Proses Cek ini otomatis memperbaiki tabel yang bermasalah, jika ditemukan.</label></div>
</div>
<div class="row mb-4">
<div class="col-12"><div class="input-group">'.$t_repa.'<label for="DB_Repair">Perbaiki Database</label></div><label class="small" for="DB_Repair">Proses Perbaiki akan memperbaiki semua tabel yang bermasalah.</label></div>
</div>
<div class="row mb-1">
<div class="col-12"><div class="input-group">'.$t_opti.'<label for="DB_Opti">Optimalisasi Database</label></div><label class="small" for="DB_Opti">Proses Optimalisasi ini otomatis merapikan database, merampingkan database dari record data yang telah dihapus.</label></div>
</div>
<div class="d-none" id="DB_Hasil">&nbsp;</div>');
} else if ( $data == "proses_db") {
$chk = new CheckSQL($db);
$chk->ignore_table("app_auth","app_backup","app_config","app_menu","app_operator");
if (Param::Get("DB_Cek",0)==1) {
echo "<br>";
echo $chk->check_db();
}
if (Param::Get("DB_Repair",0)==1) {
echo "<br>";
echo $chk->repair_db();
}
if (Param::Get("DB_Opti",0)==1) {
echo "<br>";
echo $chk->optimize_db();
}
} else if ( $data == "default") {
$apps = $_SESSION['__WEB_APP'];
$apps['CREATOR_YEAR'] = ($apps['CREATOR_YEAR']!=date('Y')) ? $apps['CREATOR_YEAR']." - ".date('Y') : $apps['CREATOR_YEAR'];
$hasil = '<div>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="about-tab" data-bs-toggle="tab" data-bs-target="#about" type="button" role="tab" aria-controls="about" aria-selected="true">Tentang Aplikasi</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="other-tab" data-bs-toggle="tab" data-bs-target="#other" type="button" role="tab" aria-controls="other" aria-selected="false">Informasi Pendukung</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="tool-tab" data-bs-toggle="tab" data-bs-target="#tool" type="button" role="tab" aria-controls="tool" aria-selected="false">Tools</button>
</li>
</ul>
<div class="tab-content border border-top-0 p-3">
<div class="tab-pane fade active show" id="about" role="tabpanel" aria-labelledby="about-tab">
<div class="text-center text-secondary">
<span class="fs-5">'.$apps['REG_NAME'].'</span><br>'.$apps['REG_ADDRESS'].'<br>'.strtoupper($apps['REG_CITY']).' '.$apps['REG_POSTCODE'].'</div><br>
<table>
<tr><td>Register ID</td><td class="c pe-1">:</td><td nowrap>'.Register::reg_id().'</td></tr>
<tr><td>Register Code</td><td class="c">:</td><td>'.Register::reg_code().'</td></tr>
</table>
<hr class="my-2">
<div class="text-center text-secondary">'.$apps['APP_NAMES'].' Ver. '.$apps['APP_VER'].'<br>Updated : '.$apps['APP_UPDATED'].'</div>
</div>
<div class="tab-pane fade" id="other" role="tabpanel" aria-labelledby="other-tab">
<div class="row"><div class="col" id="divBuildInfo"></div></div>
</div>
<div class="tab-pane fade" id="tool" role="tabpanel" aria-labelledby="tool-tab">
<div class="row mb-2">
<div class="col-md-8">Silahkan jalankan proses Cek Database, jika terjadi masalah dengan database aplikasi.</div>
<div class="col-md-4 d-grid gap-2 my-auto"><button type="button" class="btn btn-info col-12" onclick="AboutJS.proses_checkdb();">Cek Database</button></div>
</div>
<div class="row">
<div class="col-md-8">Cek update aplikasi secara online.</div>
<div class="col-md-4 d-grip gap-2 my-auto"><button type="button" class="btn btn-info col-12" onclick="AboutJS.proses_update();">Cek Update</button></div>
</div>
</div>
</div>
</div>';
echo $hasil;
}
send_json($ajson);
?>
+127
View File
@@ -0,0 +1,127 @@
<?php
/*******************************************************************
Module : /apps/php/sys/akses_mus.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Musrenbang
Created By : Siau Pheng ([email protected]).
Created Date : August 8th, 2013.
Last Modified : January 1st, 2026.
(c) 2013 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/sippd.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_kec = Param::Get("KecID");
$id_akses = Param::Get("AksesID");
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT L.LokasiID KecID,L.N_Lokasi N_Kec,IFNULL(A.MUSKECID,0) MUSKECID,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_lokasi WHERE Level=1 AND LokasiID='".$id_kec."') L LEFT JOIN (SELECT * FROM sippd_akses_mus WHERE Tahun='".$tahun."' AND MUSKECID='".$id_akses."') A ON (L.LokasiID=A.KecID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$t_nama = $form->textbox("_", "N_Kec", $aakses['N_Kec'], false, false, "text");
$t_usul = $form->switch("_", "Hak_Usulan", $aakses['Hak_Usulan'], true, false, ["1","0"]);
$t_prio = $form->switch("_", "Hak_Prioritas", $aakses['Hak_Prioritas'], true, false, ["1","0"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_Kec">Nama Kecamatan</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Usulan">Akses Usulan</label>
<div class="col col-form-label">'.$t_usul.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Prioritas">Akses Prioritas</label>
<div class="col col-form-label">'.$t_prio.'</div>
</div>
<input type="hidden" id="AksesID" value="'.$aakses['MUSKECID'].'" >
<input type="hidden" id="KecID" value="'.$aakses['KecID'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >';
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$t_nama = $form->textbox("_", "Tahun2", $tahun, false, false, "text");
$t_usul = $form->switch("_", "Hak_Usulan", 0, true, false, ["1","0"]);
$t_prio = $form->switch("_", "Hak_Prioritas", 0, true, false, ["1","0"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun2">Tahun Perencanaan</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Usulan">Akses Usulan</label>
<div class="col col-form-label">'.$t_usul.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Prioritas">Akses Prioritas</label>
<div class="col col-form-label">'.$t_prio.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<div class="col-7 mx-auto"><div class="text-danger text-wrap fs-6">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-MUSRENBANG OLEH KECAMATAN SESUAI TAHUN TERPILIH.</div></div>
</div>';
} else if ( $data == "detail" ) {
if ( $mode=="save" || $mode=="save-all" ) {
$hak_usul = Param::Get("Hak_Usulan", 0);
$hak_prio = Param::Get("Hak_Prioritas", 0);
}
if ( $mode=="save" ) {
if ($id_akses == 0) {
$db->Query("INSERT INTO sippd_akses_mus SET MUSKECID='".$id_akses."',Tahun='".$tahun."',KecID='".$id_kec."',Hak_Usulan='".$hak_usul."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."'");
} else {
$db->Query("UPDATE sippd_akses_mus SET Hak_Usulan='".$hak_usul."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE MUSKECID='".$id_akses."' LIMIT 1");
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_mus (Tahun,KecID,UserID) SELECT '".$tahun."',LokasiID,'".user_id()."' FROM para_lokasi WHERE Level=1 AND LokasiID NOT IN (SELECT KecID FROM sippd_akses_mus WHERE Tahun='".$tahun."')");
$db->Query("UPDATE sippd_akses_mus SET Hak_Usulan='".$hak_usul."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE Tahun='".$tahun."'");
}
$tcari = trim(Param::Get("Cari_Akses"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(L.K_Lokasi,L.N_Lokasi) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT L.LokasiID,L.K_Lokasi,L.N_Lokasi,IFNULL(A.MUSKECID,0) MUSKECID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_lokasi WHERE Level=1 ORDER BY LokasiID) L LEFT JOIN (SELECT * FROM sippd_akses_mus WHERE Tahun='".$tahun."' ORDER BY KecID) A ON (L.LokasiID=A.KecID)".$tsql);
$obj->add_field("LokasiID", "ID1", "hid");
$obj->add_field("MUSKECID", "ID2", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
$obj->add_field("Hak_Usulan", "Usulan", "c", "checkbox");
$obj->add_field("Hak_Prioritas", "Prioritas", "c", "checkbox");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesMJS.detail_ubah");
$obj->set_func_navi("TAksesMJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("_", "Tahun", $tahun, true, false, tahun_ang("Tahun "), null, "TAksesMJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Musrenbang</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="Cari_Akses" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div><div class="col-md-3 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+139
View File
@@ -0,0 +1,139 @@
<?php
/*******************************************************************
Module : /apps/php/sys/akses_pok.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Pokir
Created By : Siau Pheng ([email protected]).
Created Date : August 8th, 2013.
Last Modified : January 1st, 2026.
(c) 2013 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/sippd.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_dprd = Param::Get("DPRDID");
$id_akses = Param::Get("AksesID");
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT D.DPRDID,D.N_DPRD,IFNULL(A.POKDPRDID,0) POKDPRDID,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Ubah,1) Hak_Ubah,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_dprd WHERE DPRDID='".$id_dprd."') D LEFT JOIN (SELECT * FROM sippd_akses_pok WHERE Tahun='".$tahun."' AND POKDPRDID='".$id_akses."') A ON (D.DPRDID=A.DPRDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$t_nama = $form->textbox("_", "N_DPRD", $aakses['N_DPRD'], false, false, "text");
$t_usul = $form->switch("_", "Hak_Usulan", $aakses['Hak_Usulan'], true, false, ["1","0"]);
$t_ubah = $form->switch("_", "Hak_Ubah", $aakses['Hak_Ubah'], true, false, ["1","0"]);
$t_prio = $form->switch("_", "Hak_Prioritas", $aakses['Hak_Prioritas'], true, false, ["1","0"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_DPRD">Nama Dewan</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Usulan">Akses Usulan</label>
<div class="col col-form-label">'.$t_usul.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Ubah">Akses Perubahan</label>
<div class="col col-form-label">'.$t_ubah.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Prioritas">Akses Prioritas</label>
<div class="col col-form-label">'.$t_prio.'</div>
</div>
<input type="hidden" id="AksesID" value="'.$aakses['POKDPRDID'].'" >
<input type="hidden" id="DPRDID" value="'.$aakses['DPRDID'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >';
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$t_nama = $form->textbox("_", "Tahun2", $tahun, false, false, "text");
$t_usul = $form->switch("_", "Hak_Usulan", 0, true, false, ["1","0"]);
$t_ubah = $form->switch("_", "Hak_Ubah", 0, true, false, ["1","0"]);
$t_prio = $form->switch("_", "Hak_Prioritas", 0, true, false, ["1","0"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun2">Tahun Perencanaan</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Usulan">Akses Usulan</label>
<div class="col col-form-label">'.$t_usul.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Ubah">Akses Perubahan</label>
<div class="col col-form-label">'.$t_ubah.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Hak_Prioritas">Akses Prioritas</label>
<div class="col col-form-label">'.$t_prio.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<div class="col-7 mx-auto"><div class="text-danger text-wrap fs-6">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-POKIR OLEH ANGGOTA DEWAN SESUAI TAHUN TERPILIH.</div></div>
</div>';
} else if ( $data == "detail" ) {
if ( $mode=="save" || $mode=="save-all" ) {
$hak_usul = Param::Get("Hak_Usulan", 0);
$hak_ubah = Param::Get("Hak_Ubah", 0);
$hak_prio = Param::Get("Hak_Prioritas", 0);
}
if ( $mode=="save" ) {
if ($id_akses == 0) {
$db->Query("INSERT INTO sippd_akses_pok SET POKDPRDID='".$id_akses."',Tahun='".$tahun."',DPRDID='".$id_dprd."',Hak_Usulan='".$hak_usul."',Hak_Ubah='".$hak_ubah."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."'");
} else {
$db->Query("UPDATE sippd_akses_pok SET Hak_Usulan='".$hak_usul."',Hak_Ubah='".$hak_ubah."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE POKDPRDID='".$id_akses."' LIMIT 1");
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_pok (Tahun,DPRDID,UserID) SELECT '".$tahun."',LokasiID,'".user_id()."' FROM para_dprd WHERE Aktif=1 AND DPRDID NOT IN (SELECT DPRDID FROM sippd_akses_pok WHERE Tahun='".$tahun."')");
$db->Query("UPDATE sippd_akses_pok SET Hak_Usulan='".$hak_usul."',Hak_Ubah='".$hak_ubah."',Hak_Prioritas='".$hak_prio."',UserID='".user_id()."' WHERE Tahun='".$tahun."'");
}
$tcari = trim(Param::Get("Cari_Akses"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(D.K_DPRD,D.N_DPRD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT D.DPRDID,D.K_DPRD,D.N_DPRD,IFNULL(A.POKDPRDID,0) POKDPRDID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Usulan,1) Hak_Usulan,IFNULL(A.Hak_Ubah,1) Hak_Ubah,IFNULL(A.Hak_Prioritas,1) Hak_Prioritas FROM (SELECT * FROM para_dprd WHERE Aktif=1) D LEFT JOIN (SELECT * FROM sippd_akses_pok WHERE Tahun='".$tahun."') A ON (D.DPRDID=A.DPRDID)".$tsql);
$obj->add_field("DPRDID", "ID1", "hid");
$obj->add_field("POKDPRDID", "ID2", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_DPRD", "Kode", "c");
$obj->add_field("N_DPRD", "Nama Dewan", "awr");
$obj->add_field("Hak_Usulan", "Usulan", "c", "checkbox");
$obj->add_field("Hak_Ubah", "Ubah", "c", "checkbox");
$obj->add_field("Hak_Prioritas", "Prioritas", "c", "checkbox");
$obj->set_field_order("K_DPRD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesPJS.detail_ubah");
$obj->set_func_navi("TAksesPJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("_", "Tahun", $tahun, true, false, tahun_ang("Tahun "), null, "TAksesPJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Pokir</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="Cari_Akses" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div><div class="col-md-3 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+118
View File
@@ -0,0 +1,118 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_sip.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Planning
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : July 19th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_opd = $ap->getParam("OPDID", 0);
$id = $ap->getParam("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = array();
if ($mode == "edit") {
$db->Query("SELECT O.OPDID,O.N_OPD,IFNULL(A.SIPOPDID,0) SIPOPDID,IFNULL(A.Hak_Renja1,1) Hak_Renja1 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND OPDID='".$id_opd."') O LEFT JOIN (SELECT * FROM sippd_akses_sip WHERE Tahun='".$tahun."' AND SIPOPDID='".$id."') A ON (O.OPDID=A.OPDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Nama OPD", "N_OPD", $aakses['N_OPD'], false, false, "text");
$form->switch_sq("Akses Renja Awal", "Hak_Renja1", $aakses['Hak_Renja1'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->switch_sq("Akses Renja", "Hak_Renja2", $aakses['Hak_Renja2'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("AksesID", $aakses['SIPOPDID']);
$form->hidden("OPDID", $aakses['OPDID']);
$form->show('
_N_OPD_
_Hak_Renja1_
_OPDID_ _AksesID_ ');
} else if ( $data == "akses-semua" ) {
$form = new cFORM();
$form->textbox("Tahun Perencanaan", "Tahun2", $tahun, false, false, "text");
$form->switch_sq("Akses Renja Awal", "Hak_Renja1", 0, true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->switch_sq("Akses Renja", "Hak_Renja2", 0, true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->show('
<div class="row">
<div class="col">
_Tahun2_
_Hak_Renja1_
</div>
</div>
<div class="row">
<div class="col">
<div class="badge badge-danger text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-PLANNING OLEH OPD SESUAI TAHUN TERPILIH.</p>
</div>
</div>
</div>');
} else if ( $data == "detail" ) {
if ( $mode=="save" || $mode=="save-all" ) {
$hak_renja1 = $ap->getParam("Hak_Renja1", 0);
$hak_renja2 = $ap->getParam("Hak_Renja2", 0);
}
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_sip SET SIPOPDID='".$id."',Tahun='".$tahun."',OPDID='".$id_opd."',Hak_Renja1='".$hak_renja1."',UserID='".user_id()."'");
} else {
$db->Query("UPDATE sippd_akses_sip SET Hak_Renja1='".$hak_renja1."',UserID='".user_id()."' WHERE SIPOPDID='".$id."' LIMIT 1");
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_sip SELECT null,'".$tahun."',OPDID,0,0,'".user_id()."' FROM para90_opd WHERE Aktif=1 AND IV=0 AND OPDID NOT IN (SELECT OPDID FROM sippd_akses_sip WHERE Tahun='".$tahun."')");
$db->Query("UPDATE sippd_akses_sip SET Hak_Renja1='".$hak_renja1."',UserID='".user_id()."' WHERE Tahun='".$tahun."'");
}
$tcari = trim($ap->getParam("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT O.OPDID,O.K_OPD,O.N_OPD,IFNULL(A.SIPOPDID,0) SIPOPDID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Renja1,1) Hak_Renja1 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND IV=0 ORDER BY OPDID) O LEFT JOIN (SELECT * FROM sippd_akses_sip WHERE Tahun='".$tahun."' ORDER BY OPDID) A ON (O.OPDID=A.OPDID)".$tsql);
$obj->add_field("OPDID", "ID", "hidden");
$obj->add_field("SIPOPDID", "ID", "hidden");
$obj->add_field("Tahun", "Tahun", "center");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama OPD", "left autowrap");
$obj->add_field("Hak_Renja1", "Renja Awal", "center", "checkbox");
$obj->add_field("Hak_Renja2", "Renja", "hidden");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("description", "Ubah", "TAksesSJS.detail_ubah");
$obj->set_func_navi("TAksesSJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail", 15);
} else if ( $data == "default") {
$form = new cFORM();
$op_tahun = $form->option("Tahun", "Tahun", $_SESSION['__WEB_APP']['RENC_THN'], true, true, tahun_ang("Tahun "), "", "TAksesMJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Planning</div><div class="card-body">
<div class="form-row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div>
<div class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<div class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+52
View File
@@ -0,0 +1,52 @@
<?php
/*******************************************************************
Module : /apps/php/sys/chpasswd.php
Desc. : PHP - Perubahan Password Operator
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2008.
Last Modified : April 25th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$auth = new Auth($db);
$ajson = [];
$data = Param::Get("data");
if ( $data == "default") {
$form = new Form($db);
$form->password("Password Lama", "LPass", $l_pass, true, true, "masukkan password lama", 20);
$form->password("Password Baru 1", "BPass1", $b_pass1, true, true, "masukkan password baru 1", 20);
$form->password("Password Baru 2", "BPass2", $b_pass2, true, true, "masukkan password baru 2", 20);
$form->show(' _LPass_ _BPass1_ _BPass2_ ');
} else if ( $data == "chpasswd") {
$l_pass = Param::Get("LPass");
$b_pass1 = Param::Get("BPass1");
$b_pass2 = Param::Get("BPass2");
$ajson['status'] = false;
if ($auth->user_check(user_user(), $l_pass)) {
$db->Query("UPDATE app_operator SET Password=MD5('".$b_pass1."') WHERE UserID='".user_id()."'");
$ajson['status'] = true;
$ajson['msg'] = "Sukses merubah password Anda!";
} else {
$ajson['msg'] = "Password lama Anda salah!";
}
}
send_json($ajson);
?>
+76
View File
@@ -0,0 +1,76 @@
<?php
/*******************************************************************
Module : /apps/php/sys/config.php
Desc. : PHP - Konfigurasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : May 25th, 2010.
Last Modified : September 30th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$data = Param::Get("data");
$mode = Param::Get("mode");
if ( $data == "master" ) {
if ( $mode == "save" ) {
$sql = new SQL($db);
$sql->set_table("app_config");
$sql->add_param("REG_ADDRESS");
$sql->add_param("REG_CITY");
$sql->add_param("REG_POSTCODE");
$sql->add_param("REG_PHONE");
$sql->add_param("REG_FAX");
$sql->add_param("REG_WEBSITE");
$sql->add_param("REG_EMAIL");
$sql->add_param_userid();
$sql->add_where("REG_ID");
$sql->UpdateDB();
$mode = "view";
}
$para = [];
$id = Param::Get("REG_ID", $_SESSION['__WEB_APP']['REG_ID']);
$tsql = ($id=="") ? " ORDER BY REG_ID ASC LIMIT 1" : " WHERE REG_ID='".$id."'";
$db->Query("SELECT * FROM app_config".$tsql);
if ($db->Next()) $para = $db->AllRow();
$benable = ($mode=="edit") ? true : false;
$form = new Form($db);
$form->textbox("Nama Instansi", "REG_NAME", $para['REG_NAME'], false, false, "text", "masukkan nama instansi");
$form->textarea("Alamat Instansi", "REG_ADDRESS", $para['REG_ADDRESS'], $benable, false, 1, "masukkan alamat instansi");
$form->textbox("Kabupaten / Kota", "REG_CITY", $para['REG_CITY'], $benable, false, "text", "masukkan nama kota");
$form->textbox("Kode Pos", "REG_POSTCODE", $para['REG_POSTCODE'], $benable, false, "integer", "masukkan nomor kodepos");
$form->textbox("No. Telpon", "REG_PHONE", $para['REG_PHONE'], $benable, false, "phone", "masukkan nomor telphone");
$form->textbox("No. Fax", "REG_FAX", $para['REG_FAX'], $benable, false, "phone", "masukkan nomor faximile");
$form->textbox("Website", "REG_WEBSITE", $para['REG_WEBSITE'], $benable, false, "text", "masukkan alamat website");
$form->textbox("Email", "REG_EMAIL", $para['REG_EMAIL'], $benable, false, "email", "masukkan alamat email");
$form->hidden("REG_ID", $para['REG_ID']);
$form->hidden("mode", $mode);
$form->show('
_REG_NAME_
_REG_ADDRESS_
_REG_CITY_
_REG_POSTCODE_
_REG_PHONE_
_REG_FAX_
_REG_WEBSITE_
_REG_EMAIL_
_mode_ _REG_ID_ ');
} else if ( $data == "default") {
echo '<div id="divMaster">&nbsp;</div>';
}
?>
+183
View File
@@ -0,0 +1,183 @@
<?php
/*******************************************************************
Module : /apps/php/sys/menu_grup.php
Desc. : PHP - Manajemen Data Grup Login Menu
Created By : Siau Pheng ([email protected]).
Created Date : August 8th, 2013.
Last Modified : January 1st, 2026.
(c) 2013 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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;
function modul_gen($alist = [], $amenu = []) {
$hasil = '<table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Nama Menu</th><th>Keterangan</th><th width="30"><input onchange="MenuGrupJS.menu_cek(this);" type="checkbox" class="form-check-input mx-2" value="'.$alist[0]['Modul'].'" /></th></tr></thead><tbody>';
for ($i=0; $i<count($alist); $i++) {
$checked = (in_array($alist[$i]['Kode'], $amenu)) ? "checked" : "";
$hasil .= sprintf('<tr><td class="l">%s</td><td class="l">%s</td><td class="c" width="30"><input type="checkbox" class="form-check-input %s" value="%s" %s/></td></tr>', str_repeat("--", $alist[$i]['Level']-1)."> ".$alist[$i]['Menu'], $alist[$i]['Judul'], $alist[$i]['Modul'], $alist[$i]['Kode'], $checked);
}
$hasil .= '</tbody></table>';
return $hasil;
}
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$id_grup = Param::Get("Grup_MenuID");
if ( $data == "grup-detail" ) {
$agrup = array('Aktif'=>1);
if ($mode == "edit") {
$db->Query("SELECT * FROM app_menu_grup WHERE Grup_MenuID='".$id_grup."'");
if ($db->Next()) $agrup = $db->AllRow();
}
$form = new Form($db);
$t_nama = $form->textbox("_", "Nama_Grup", $agrup['Nama_Grup'], true, false, "text", "nama grup menu");
$t_ket = $form->textarea("_", "Ket", $agrup['Ket'], true, false, 1, "keterangan grup menu");
$t_status = $form->switch("_", "Aktif", $agrup['Aktif'], true, false, ["1","0"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Nama_Grup">Nama Grup Menu</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Ket">Keterangan Grup</label>
<div class="col">'.$t_ket.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
<input type="hidden" id="Grup_MenuID" value="'.$agrup['Grup_MenuID'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >
';
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("app_menu_grup");
$sql->add_param("Nama_Grup");
$sql->add_param("Ket");
$sql->add_param("Aktif");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Grup_MenuID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "menu" ) {
$agrup = array('Grup_MenuID'=>0,'Nama_Grup'=>"",'Menu'=>"");
$db->Query("SELECT Grup_MenuID,Nama_Grup,DECODE(Menu,'".$_SESSION['__WEB_APP']['REG_ID']."') Menu FROM app_menu_grup WHERE Grup_MenuID='".$id_grup."' LIMIT 1");
if ($db->Next()) $agrup = $db->AllRow();
$amenu = explode(",", $agrup['Menu']);
$amodul = [];
$db->Query("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC");
while ($db->Next()) {
$amodul[] = $db->AllRow();
}
$hasil = '<div id="tabMenuList">';
if (count($amodul)>1) {
$hasil .= '<ul class="nav nav-tabs" role="tablist">';
for ($i=0; $i<count($amodul); $i++) {
$hasil .= '<li class="nav-item" role="presentation"><button class="nav-link'.($i==0?' active':'').'" id="i'.$amodul[$i]['Modul'].'-tab" data-bs-toggle="tab" data-bs-target="#i'.$amodul[$i]['Modul'].'" type="button" role="tab" aria-controls="i'.$amodul[$i]['Modul'].'" aria-selected="'.($i==0?'true':'false').'">'.$amodul[$i]['Menu'].'</button></li>';
}
$hasil .= '<li class="nav-item ms-auto"><a class="nav-link disabled text-uppercase">'.$agrup['Nama_Grup'].'</a></li></ul>';
$hasil .= '<div class="tab-content">';
for ($i=0; $i<count($amodul); $i++) {
$alist = array();
$db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[$i]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode");
while ($db->Next()) {
$akode[] = $db->Row("Kode");
$alist[] = $db->AllRow();
}
$hasil .= '<div class="tab-pane fade'.($i==0?' show active':'').'" role="tabpanel" id="i'.$amodul[$i]['Modul'].'" aria-labelledby="i'.$amodul[$i]['Modul'].'-tab">';
$hasil .= modul_gen($alist, $amenu);
$hasil .= '</div>';
}
$hasil .= '</div>';
} else {
$alist = [];
$db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[0]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode");
while ($db->Next()) {
$akode[] = $db->Row("Kode");
$alist[] = $db->AllRow();
}
$hasil .= modul_gen($alist, $amenu);
}
echo $hasil.'</div>';
$armenu = array();
for ($i=0; $i<count($amenu); $i++) {
if (!in_array($amenu[$i], $akode)) $armenu[] = $amenu[$i];
}
echo '<input type="hidden" id="Grup_MenuID" value="'. $agrup['Grup_MenuID'] .'" />';
echo '<input type="hidden" id="R_MENU" value="'.implode(",", $armenu).'" />';
} else if ( $data == "save-menu" ) {
$amenu = explode(",", Param::Get("Menu")); $ahasil = array();
$amodul = array();
$db->Query("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC");
while ($db->Next()) {
$amodul[] = $db->AllRow();
}
for ($i=0; $i<count($amodul); $i++) {
$asub = array();
$db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[$i]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode");
while ($db->Next()) {
if (in_array($db->Row("Kode"), $amenu)) $asub[] = $db->Row("Kode");
}
if (count($asub)>0) $ahasil = array_merge($ahasil, array($amodul[$i]['Kode']), $asub);
}
$db->Query("UPDATE app_menu_grup SET Menu=ENCODE('".implode(",",$ahasil)."','".$_SESSION['__WEB_APP']['REG_ID']."'),DateStamp=NOW(),UserID='".user_id()."' WHERE Grup_MenuID='".$id_grup."'");
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim(Param::Get("Cari_Grup"));
$tsql .= ($tcari=="") ? "" : " WHERE Nama_Grup LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT *,DATE_FORMAT(DateStamp,'%d-%m-%Y %H:%i:%s') DateStamp2,IF(Grup_MenuID=1,0,1) IDel FROM app_menu_grup".$tsql);
$obj->add_field("Grup_MenuID", "ID", "hid");
$obj->add_field("Nama_Grup", "Nama Grup");
$obj->add_field("Ket", "Keterangan");
$obj->add_field("DateStamp2", "Update Terakhir", "c");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("Nama_Grup", "A");
$obj->add_row_btn("menu-button", "Menu", "MenuGrupJS.menu_show");
$obj->add_row_btn("clipboard", "Ubah", "MenuGrupJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "MenuGrupJS.detail_hapus", "IDel", 1);
$obj->set_func_navi("MenuGrupJS.data_query('detail')");
$obj->set_func_btn("MenuGrupJS.detail_tambah", "+ Grup");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Grup Menu</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Grup" name="Cari_User" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+288
View File
@@ -0,0 +1,288 @@
<?php
/*******************************************************************
Module : /apps/php/sys/operator.php
Desc. : PHP - Manajemen Data Pengguna
Created By : Siau Pheng ([email protected]).
Created Date : August 1st, 2008.
Last Modified : January 1st, 2026.
(c) 2008 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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;
function modul_gen($alist=[], $amenu=[], $aglist=[]) {
$hasil = '<table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Nama Menu</th><th>Keterangan</th><th width="30"><input onchange="OperatorJS.menu_cek(this);" type="checkbox" class="form-check-input mx-2" value="'.$alist[0]['Modul'].'" /></th><th width="30"><input type="checkbox" class="form-check-input mx-2" disabled /></th></tr></thead><tbody>';
for ($i=0; $i<count($alist); $i++) {
$checked = (in_array($alist[$i]['Kode'], $amenu)) ? "checked" : "";
$gchecked = (in_array($alist[$i]['Kode'], $aglist)) ? "checked" : "";
$hasil .= sprintf('<tr><td class="l">%s</td><td class="l">%s</td><td class="c" width="30"><input type="checkbox" class="form-check-input %s" value="%s" %s/></td><td class="c" width="30"><input type="checkbox" class="form-check-input" disabled %s/></td></tr>', str_repeat("--", $alist[$i]['Level']-1)."> ".$alist[$i]['Menu'], $alist[$i]['Judul'], $alist[$i]['Modul'], $alist[$i]['Kode'], $checked, $gchecked);
}
$hasil .= '</tbody></table>';
return $hasil;
}
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$i_filt = Param::Get("Filter_Level", 0);
$id_user = Param::Get("UserID", 0);
if ( $data == "user-detail" ) {
$auser = ['Level'=>1, 'Aktif'=>1];
if ($mode == "edit") {
$db->Query("SELECT * FROM app_operator WHERE UserID='".$id_user."' LIMIT 1");
if ($db->Next()) $auser = $db->AllRow();
}
$form = new Form($db);
$t_user = $form->textbox("_", "Username", $auser['Username'], true, true, "text", "username");
$t_nama = $form->textbox("_", "Nama", $auser['Nama'], true, false, "text", "nama pengguna");
$t_posi = $form->textbox("_", "Posisi", $auser['Posisi'], true, false, "text", "posisi pengguna");
$t_level = $form->option_ulevel("_", "Level", $auser['Level'], true, false, "", "OperatorJS.oc_Level();");
$t_pass = $form->password("_", "Password", "", true, true, "", 50, "biarkan kosong jika tidak ingin mengubah password.");
$t_status = $form->switch("_", "Aktif", $auser['Aktif'], true, false, ["1","0"]);
$t_grup = $form->option_db("_", "Grup_MenuID", $auser['Grup_MenuID'], true, false, "app_menu_grup", ["Grup_MenuID","Nama_Grup"], "Aktif=1 AND Grup_MenuID NOT IN (3,4,5,6)", [0,"TANPA GRUP"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Username">Username</label>
<div class="col">'.$t_user.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Nama">Nama Pengguna</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Posisi">Posisi Pengguna</label>
<div class="col">'.$t_posi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Level">Level Pengguna</label>
<div class="col">'.$t_level.'</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="Grup_MenuID">Grup Menu</label>
<div class="col">'.$t_grup.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Password">Password</label>
<div class="col">'.$t_pass.'<div class="form-text">biarkan kosong jika tidak ingin mengubah password.</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
<input type="hidden" id="UserID" value="'.$auser['UserID'].'" >
<input type="hidden" id="UserLama" value="'.$auser['Username'].'" >
<input type="hidden" id="mode" value="'.$mode.'" >
';
} else if ( $data == "user-check") {
$ajson['ada'] = false;
$db->Query("SELECT COUNT(*) Jumlah FROM app_operator WHERE Username='".Param::Get("Username")."'");
if ($db->Next()) {
if ($db->Row("Jumlah", 0) > 0) $ajson['ada'] = true;
}
} else if ( $data == "save" ) {
$sql = new SQL($db);
$sql->set_table("app_operator");
$sql->add_param("Grup_MenuID");
$sql->add_param("Username");
$sql->add_param("Nama");
$sql->add_param("Posisi");
$sql->add_param("Level");
$sql->add_param("Aktif");
$sql->add_param("SuperID", user_id());
$sql->add_where("UserID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
// SIMPAN PASSWORD
$pass = Param::Get("Password");
if (($mode <> "del") and ($pass <> "")) {
$db->Query("UPDATE app_operator SET Password=MD5('".$pass."') WHERE Username='".Param::Get("Username")."'");
}
$ajson['status'] = true;
} else if ( $data == "menu" ) {
$auser = ['UserID'=>0,'Nama'=>"",'Grup_MenuID'=>0,'Menu'=>""];
$db->Query("SELECT UserID,Nama,Grup_MenuID,DECODE(Menu,'".$_SESSION['__WEB_APP']['PARENT_CODE']."') Menu FROM app_operator WHERE UserID='".$id_user."' LIMIT 1");
if ($db->Next()) $auser = $db->AllRow();
$amenu = explode(",", $auser['Menu']);
$akode = []; $aglist = [];
$db->Query("SELECT DECODE(Menu,'".$_SESSION['__WEB_APP']['PARENT_CODE']."') Menu FROM app_menu_grup WHERE Grup_MenuID='".$auser['Grup_MenuID']."' LIMIT 1");
if ($db->Next()) $aglist = explode(",", $db->Row("Menu"));
$amodul = [];
$db->Query("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC");
while ($db->Next()) {
$amodul[] = $db->AllRow();
}
$hasil = '<div id="tabMenuList">';
if (count($amodul)>1) {
$hasil .= '<ul class="nav nav-tabs" role="tablist">';
for ($i=0; $i<count($amodul); $i++) {
$hasil .= '<li class="nav-item" role="presentation"><button class="nav-link'.($i==0?' active':'').'" id="i'.$amodul[$i]['Modul'].'-tab" data-bs-toggle="tab" data-bs-target="#i'.$amodul[$i]['Modul'].'" type="button" role="tab" aria-controls="i'.$amodul[$i]['Modul'].'" aria-selected="'.($i==0?'true':'false').'">'.$amodul[$i]['Menu'].'</button></li>';
}
$hasil .= '<li class="nav-item ms-auto"><a class="nav-link disabled text-uppercase">'.$auser['Nama'].'</a></li></ul>';
$hasil .= '<div class="tab-content">';
for ($i=0; $i<count($amodul); $i++) {
$alist = array();
$db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[$i]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode");
while ($db->Next()) {
$akode[] = $db->Row("Kode");
$alist[] = $db->AllRow();
}
$hasil .= '<div class="tab-pane fade'.($i==0?' show active':'').'" role="tabpanel" id="i'.$amodul[$i]['Modul'].'" aria-labelledby="i'.$amodul[$i]['Modul'].'-tab">';
$hasil .= modul_gen($alist, $amenu, $aglist);
$hasil .= '</div>';
}
$hasil .= '</div>';
} else {
$alist = array();
$db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[0]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode");
while ($db->Next()) {
$akode[] = $db->Row("Kode");
$alist[] = $db->AllRow();
}
$hasil .= modul_gen($alist, $amenu, $aglist);
}
echo $hasil.'</div>';
$armenu = array();
for ($i=0; $i<count($amenu); $i++) {
if (!in_array($amenu[$i], $akode)) $armenu[] = $amenu[$i];
}
echo '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
echo '<input type="hidden" id="R_MENU" value="'.implode(",", $armenu).'" />';
} else if ( $data == "save-menu" ) {
$amenu = explode(",", Param::Get("Menu")); $ahasil = [];
$amodul = [];
$db->Query("SELECT * FROM app_menu WHERE Level=0 AND Modul<>'IND' AND Aktif=1 ORDER BY Urut ASC");
while ($db->Next()) {
$amodul[] = $db->AllRow();
}
for ($i=0; $i<count($amodul); $i++) {
$asub = [];
$db->Query("SELECT * FROM app_menu WHERE Modul='".$amodul[$i]['Modul']."' AND Level>0 AND Aktif=1 ORDER BY Kode");
while ($db->Next()) {
if (in_array($db->Row("Kode"), $amenu)) $asub[] = $db->Row("Kode");
}
if (count($asub)>0) $ahasil = array_merge($ahasil, array($amodul[$i]['Kode']), $asub);
}
$db->Query("UPDATE app_operator SET Menu=ENCODE('".implode(",",$ahasil)."','".$_SESSION['__WEB_APP']['PARENT_CODE']."'),SuperID='".user_id()."' WHERE UserID='".$id_user."'");
$ajson['status'] = true;
} else if ( $data == "opd" ) {
$auser = ['UserID'=>0,'AK_OPD'=>""];
$db->Query("SELECT UserID,AK_OPD FROM app_operator WHERE UserID='".$id_user."' LIMIT 1");
if ($db->Next()) $auser = $db->AllRow();
$aopd = explode(",", $auser['AK_OPD']);
$hasil = '<div id="tabOPDList"><table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Kode</th><th>Nama OPD</th><th width="30">C</th></tr></thead><tbody>';
$db->Query("SELECT * FROM para90_opd WHERE IV=0 AND Aktif=1 ORDER BY K_OPD");
while ($db->Next()) {
$checked = (in_array($db->Row("OPDID"), $aopd)) ? "checked" : "";
$hasil .= sprintf('<tr><td class="c">%s</td><td class="l">%s</td><td class="c" width="30"><input type="checkbox" class="form-check-input" value="%s" %s/></td></tr>', $db->Row("K_OPD"), $db->Row("N_OPD"), $db->Row("OPDID"), $checked);
}
$hasil .= '</tbody></table></div>';
$hasil .= '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
echo $hasil;
} else if ( $data == "save-opd" ) {
$aopd = array_filter(explode(",", Param::Get("AK_OPD"))); $ahasil = [0];
if (count($aopd) > 0) {
$ahasil = implode(",", $aopd);
}
$db->Query("UPDATE app_operator SET AK_OPD='".$ahasil."',SuperID='".user_id()."' WHERE UserID='".$id_user."'");
$ajson['status'] = true;
} else if ( $data == "kec" ) {
$auser = ['UserID'=>0,'AK_KEC'=>""];
$db->Query("SELECT UserID,AK_KEC FROM app_operator WHERE UserID='".$id_user."' LIMIT 1");
if ($db->Next()) $auser = $db->AllRow();
$akec = explode(",", $auser['AK_KEC']);
$hasil = '<div id="tabKecList"><table class="table table-striped table-bordered table-hover">';
$hasil .= '<thead><tr><th>Kode</th><th>Nama Kecamatan</th><th width="30">C</th></tr></thead><tbody>';
$db->Query("SELECT * FROM para_lokasi WHERE Level=1 AND Aktif=1 ORDER BY K_Lokasi");
while ($db->Next()) {
$checked = (in_array($db->Row("LokasiID"), $akec)) ? "checked" : "";
$hasil .= sprintf('<tr><td class="c">%s</td><td class="l">%s</td><td class="c" width="30"><input type="checkbox" class="form-check-input" value="%s" %s/></td></tr>', $db->Row("K_Lokasi"), $db->Row("N_Lokasi"), $db->Row("LokasiID"), $checked);
}
$hasil .= '</tbody></table></div>';
$hasil .= '<input type="hidden" id="UserID" value="'. $auser['UserID'] .'" />';
echo $hasil;
} else if ( $data == "save-kec" ) {
$akec = array_filter(explode(",", Param::Get("AK_KEC"))); $ahasil = [0];
if (count($akec) > 0) {
$ahasil = implode(",", $akec);
}
$db->Query("UPDATE app_operator SET AK_KEC='".$ahasil."',SuperID='".user_id()."' WHERE UserID='".$id_user."'");
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = Param::Get("Cari_User");
$tsql = (user_id()==1) ? "" : " AND UserID>2";
$tsql = (user_id()==2) ? " AND UserID>1" : $tsql;
$tsql .= ($i_filt==0) ? "" : " AND Level='".$i_filt."'";
$tsql .= ($tcari=="") ? "" : " AND CONCAT(Username,Nama) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT *,IF(Level IN (1,3),1,0) M_OPD FROM app_operator WHERE Level<>5 AND Level>=".$_SESSION['__WEB_USER']['Level'].$tsql);
$obj->add_field("UserID", "ID", "hid");
$obj->add_field("Username", "Username");
$obj->add_field("Nama", "Nama Pengguna", "awr");
$obj->add_field("Posisi", "Posisi");
$obj->add_field("Level", "Level", "l", $_SESSION['__WEB_APP']['USER_LEVEL']);
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("Username", "A");
$obj->add_row_btn("shield-check", "OPD", "OperatorJS.opd_show", "M_OPD", 1);
$obj->add_row_btn("signpost-2", "Kec", "OperatorJS.kec_show", "Level", 2);
$obj->add_row_btn("signpost", "Kel / Desa", "OperatorJS.kel_show", "Level", 7);
$obj->add_row_btn("menu-button", "Menu", "OperatorJS.menu_show");
$obj->add_row_btn("clipboard", "Ubah", "OperatorJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "OperatorJS.detail_hapus");
$obj->set_func_navi("OperatorJS.data_query('detail')");
$obj->set_func_btn("OperatorJS.detail_tambah", "+ Pengguna");
$ajson[] = $obj->json_table("divDetail");
} else if ($data == "detail_filter") {
$form = new Form($db);
$_form = $form->option_ulevel("Level Pengguna", "Fi_Level", $i_filt);
echo '
<div class="row mb-3"><div class="col text-center">Tampilan Berdasarkan :</div></div>
<div class="row"><div class="col text-center">'.$_form.'</div></div>';
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Pengguna</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_User" name="Cari_User" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div><div class="col-auto"><button class="btn btn-info shadow-none" type="button" id="butFilter">Filter</button><input type="hidden" id="Filter_Level"></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+74
View File
@@ -0,0 +1,74 @@
<?php
/*******************************************************************
Module : /apps/php/sys/config.php
Desc. : PHP - Konfigurasi Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : May 25th, 2010.
Last Modified : September 30th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$data = Param::Get("data");
$mode = Param::Get("mode");
$id = Param::Get("REG_ID", $_SESSION['__WEB_APP']['REG_ID']);
if ( $data == "master" ) {
if ( $mode == "save" ) {
$sql = new SQL($db);
$sql->set_table("sippd_config");
$sql->add_param("RENC_RPJMDID");
$sql->add_param("RENC_VISIID");
$sql->add_param("RENC_THN");
$sql->add_param("REAL_RPJMDID");
$sql->add_param("REAL_THN");
$sql->add_param("REAL_TW");
$sql->add_param("REAL_TGL");
$sql->add_param_userid();
$sql->add_where("REG_ID");
$sql->UpdateDB();
$_SESSION['__WEB_APP']['RENC_RPJMDID'] = Param::Get("RENC_RPJMDID");
$_SESSION['__WEB_APP']['RENC_VISIID'] = Param::Get("RENC_VISIID");
$_SESSION['__WEB_APP']['RENC_THN'] = Param::Get("RENC_THN");
$_SESSION['__WEB_APP']['REAL_RPJMDID'] = Param::Get("REAL_RPJMDID");
$_SESSION['__WEB_APP']['REAL_THN'] = Param::Get("REAL_THN");
$_SESSION['__WEB_APP']['REAL_TW'] = Param::Get("REAL_TW");
$_SESSION['__WEB_APP']['REAL_TGL'] = Param::Get("REAL_TGL");
$mode = "view";
}
$para = [];
$tsql = ($id=="") ? " ORDER BY REG_ID ASC LIMIT 1" : " WHERE REG_ID='".$id."'";
$db->Query("SELECT * FROM sippd_config".$tsql);
if ($db->Next()) $para = $db->AllRow();
$benable = ($mode=="edit") ? true : false;
$form = new Form($db);
$form->option_db("RPJMD Perencanaan", "RENC_RPJMDID", $para['RENC_RPJMDID'], $benable, true, "para_rpjmd", array("RPJMDID","Ket"));
$form->option_db("Visi Perencanaan", "RENC_VISIID", $para['RENC_VISIID'], $benable, true, "rpjmd_visi", array("RD_VISIID","Txt_Visi"), null, array(0,"&nbsp;"));
$form->option_db("Tahun Perencanaan", "RENC_THN", $para['RENC_THN'], $benable, true, "para_periode", array("Tahun","Tahun"), "Aktif=1");
$form->option_db("RPJMD Pelaporan", "REAL_RPJMDID", $para['REAL_RPJMDID'], $benable, true, "para_rpjmd", array("RPJMDID","Ket"));
$form->option_db("Tahun Pelaporan", "REAL_THN", $para['REAL_THN'], $benable, true, "para_periode", array("Tahun","Tahun"), "Aktif=1");
$form->option("Triwulan Pelaporan", "REAL_TW", $para['LAP_TW'], $benable, true, array(1=>"TW 1",2=>"TW 2",3=>"TW 3",4=>"TW 4"));
$form->datebox("Tanggal Terakhir", "REAL_TGL", $para['LAP_TGL'], $benable, true, "Tanggal Pelaporan");
$form->hidden("REG_ID", $para['REG_ID']);
$form->hidden("mode", $mode);
$form->show(' _RENC_RPJMDID_ _RENC_VISIID_ _RENC_THN_ <hr> _REAL_RPJMDID_ _REAL_THN_ _REAL_TW_ _REAL_TGL_ _mode_ _REG_ID_ ');
} else if ( $data == "default") {
echo '<div id="divMaster">&nbsp;</div>';
}
?>
+165
View File
@@ -0,0 +1,165 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/asb.php
Desc. : PHP - Tabel Master Standar ASB
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 30th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$mode_detail = $ap->getParam("mode_detail");
$id_asb = $ap->getParam("ASBID", 0);
$id_hspk = $ap->getParam("HSPKID", 0);
if ( $data == "tabel-asb" ) {
if ($mode_detail=="insert" || $mode_detail=="update" || $mode_detail=="delete") {
$sql = new cSQL();
$sql->set_table("para_asb");
$sql->add_param("K_ASB");
$sql->add_param("N_ASB");
$sql->add_param("D_ASB");
$sql->add_param("OPDID");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("ASBID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
$db->Query("DELETE FROM para_asb_detail WHERE ASBID='".$id_asb."'");
}
}
$tcari = trim($ap->getParam("Cari_ASB"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_ASB,N_ASB) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para_asb".$tsql);
$obj->add_field("ASBID", "ID", "hidden");
$obj->add_field("K_ASB", "Kode", "center");
$obj->add_field("N_ASB", "Nama Standar ASB", "left autowrap");
$obj->add_field("D_ASB", "Deskripsi", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_ASB", "A");
$obj->add_row_btn("description", "Ubah", "TASBJS.asb_ubah");
$obj->add_row_btn("trash", "Hapus", "TASBJS.asb_hapus");
$obj->add_row_btn("select", "HSPK", "TASBJS.asb_select");
$obj->set_func_navi("TASBJS.data_query('tabel-asb')");
$obj->set_func_btn("TASBJS.asb_tambah", "+ ASB");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divASB");
} else if ( $data == "tabel-hspk" ) {
if ($mode_detail=="insert" || $mode_detail=="update" || $mode_detail=="delete") {
$sql = new cSQL();
$sql->set_table("para_asb_detail");
$sql->add_param("HSPKID");
$sql->add_param("KOE");
$sql->add_param_userid();
$sql->add_where("ASBID");
$sql->add_where("ID");
if ( $mode_detail == "insert" ) {
$sql->add_param("ASBID", $id_asb);
$sql->InsertDB();
} else if ( $mode_detail == "update" ) {
$sql->UpdateDB();
} else if ( $mode_detail == "delete" ) {
$sql->DeleteDB();
}
if ($mode_detail<>"delete") {
$db->Query("UPDATE para_asb_detail A,para_hspk B SET A.Nilai_W1=A.KOE*B.Nilai_W1,A.Nilai_W2=A.KOE*B.Nilai_W2,A.Nilai_W3=A.KOE*B.Nilai_W3 WHERE A.HSPKID=B.HSPKID AND A.ASBID='".$id_asb."' AND A.HSPKID='".$id_hspk."'");
$db->Query("UPDATE para_asb A,(SELECT ASBID,SUM(Nilai_W1) W1,SUM(Nilai_W2) W2,SUM(Nilai_W3) W3 FROM para_asb_detail GROUP BY ASBID) B SET A.Nilai_W1=B.W1,A.Nilai_W2=B.W2,A.Nilai_W3=B.W3 WHERE A.ASBID=B.ASBID AND A.ASBID='".$id_asb."'");
}
}
$obj = new cGRIDTABLE();
$obj->set_query("SELECT D.*,H.K_HSPK,H.N_HSPK FROM (SELECT * FROM para_asb_detail WHERE ASBID='".$id_asb."') D LEFT JOIN para_hspk H ON (D.HSPKID=H.HSPKID)");
$obj->add_field("ID", "ID", "hidden");
$obj->add_field("K_HSPK", "Kode HSPK", "center");
$obj->add_field("N_HSPK", "Nama Standar HSPK", "left autowrap");
$obj->add_field("KOE", "Koefisien", "right", "rupiah5");
$obj->set_field_order("K_HSPK", "A");
$obj->add_row_btn("description", "Ubah", "TASBJS.hspk_ubah");
$obj->add_row_btn("trash", "Hapus", "TASBJS.hspk_hapus");
$obj->set_func_navi("TASBJS.data_query('tabel-hspk')");
$obj->set_func_btn("TASBJS.hspk_tambah", "+ Komponen HSPK");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divHSPK");
} else if ( $data == "detail-asb" ) {
$atabel = array('Aktif'=>1);
if ($mode_detail == "update") {
$db->Query("SELECT * FROM para_asb WHERE ASBID='".$id_asb."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Kode ASB", "K_ASB", $atabel['K_ASB'], true, true, "text", "masukkan kode asb");
$form->textarea("Nama Standar ASB", "N_ASB", $atabel['N_ASB'], true, true, 2, "masukkan nama standar asb");
$form->textarea("Deskripsi Standar", "D_ASB", $atabel['D_ASB'], true, true, 2, "masukkan deskripsi standar");
$form->option_db("Nama Perangkat Daerah", "OPDID", $atabel['OPDID'], true, true, "vi_para90_opd", array("OPDID","Nama_OPD"), "IV=0 ORDER BY K_OPD", array(0,"&nbsp;"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("ASBID2", $atabel['ASBID']);
$form->hidden("mode_detail", $mode_detail);
$form->show(' _K_ASB_ _N_ASB_ _D_ASB_ _OPDID_ _Aktif_ _ASBID2_ _mode_detail_ ');
} else if ( $data == "detail-hspk" ) {
$atabel = array('KOE'=>1);
if ($mode_detail == "update") {
$db->Query("SELECT * FROM para_asb_detail WHERE ID='".$ap->getParam("ID")."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->option_db("Komponen HSPK", "HSPKID", $atabel['HSPKID'], ($mode_detail=="insert"?true:false), true, "para_hspk", array("HSPKID","N_HSPK"), null, array(0,"&nbsp;"));
$form->textbox("Koefiesien Komponen", "KOE", $atabel['KOE'], true, true, "text", "masukkan koefisien komponen");
$form->hidden("ID", $atabel['ID']);
$form->hidden("mode_detail", $mode_detail);
$form->show(' _HSPKID_ _KOE_ _ID_ _mode_detail_ ');
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Standar ASB</div><div class="card-body">
<div class="form-row mb-1 d-none">
<div class="col"><div class="input-group"><input class="form-control" id="Cari_ASB" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_ASB" placeholder="Nama Standar ASB" type="text" readonly>
<input id="ASBID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" style="width:10em" type="button" id="butASB"><span><i class="c-icon cui-swap-horizontal"></span></i>Standar ASB</button>
</span>
</div>
</div>
</div>
<div id="divASB">&nbsp;</div>
<div id="divHSPK">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+97
View File
@@ -0,0 +1,97 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/bidu.php
Desc. : PHP - Tabel Master Bidang Urusan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("BUID", 0);
if ( $data == "bidu-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_bidu WHERE BUID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->option_db("Nama Urusan", "K_Urusan", $atabel['K_Urusan'], true, true, "vi_para90_urusan", array("K_Urusan","Nama_Urusan"), "Aktif=1", array(0,"&nbsp;"));
$form->textbox("Kode Bidang Urusan", "K_Bidu", $atabel['K_Bidu'], true, true, "text", "masukkan kode, default X.XX");
$form->textarea("Nama Bidang Urusan", "N_Bidu", $atabel['N_Bidu'], true, true, 1, "masukkan nama bidang urusan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("BUID", $atabel['BUID']);
$form->hidden("mode", $mode);
$form->show('
_K_Bidu_
_K_Urusan_
_N_Bidu_
_Aktif_
_mode_ _BUID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para90_bidu");
$sql->add_param("K_Urusan");
$sql->add_param("K_Bidu");
$sql->add_param("N_Bidu");
//$sql->add_param("S_Bidu", "CONCAT(SUBSTRING_INDEX(K_Bidu,'.',1)*1,'-',SUBSTRING_INDEX(K_Bidu,'.',-1)*1)", true);
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("BUID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Bidu"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(B.K_Bidu,B.N_Bidu) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT B.*,U.N_Urusan FROM para90_bidu B LEFT JOIN para90_urusan U ON (U.K_Urusan=B.K_Urusan)".$tsql);
$obj->add_field("BUID", "ID", "hidden");
$obj->add_field("K_Bidu", "Kode", "center");
$obj->add_field("N_Urusan", "Nama Urusan", "left autowrap");
$obj->add_field("N_Bidu", "Nama Bidang Urusan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Bidu", "A");
$obj->add_row_btn("description", "Ubah", "TBiduJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TBiduJS.detail_hapus");
$obj->set_func_navi("TBiduJS.data_query('detail')");
$obj->set_func_btn("TBiduJS.detail_tambah", "+ Bidang Urusan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Bidang Urusan</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Bidu" name="Cari_Bidu" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+94
View File
@@ -0,0 +1,94 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/dapil.php
Desc. : PHP - Tabel Master Daerah Pemilihan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("DapilID", 0);
if ( $data == "dapil-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_dapil WHERE DapilID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$t_nama = $form->textbox("_", "N_Dapil", $atabel['N_Dapil'], true, true, "text", "nama dapil");
$t_status = $form->switch("_", "Aktif", $atabel['Aktif'], true, true, [1,0]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_Dapil">Kelompok Dapil</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
<input type="hidden" id="DapilID" value="'.$atabel['DapilID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_dapil");
$sql->add_param("N_Dapil");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("DapilID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_Dapil"));
$tsql = ($tcari=="") ? "" : " WHERE N_Dapil LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_dapil".$tsql);
$obj->add_field("DapilID", "ID", "hid");
$obj->add_field("N_Dapil", "Kelompok Dapil", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("N_Dapil", "A");
$obj->add_row_btn("clipboard", "Ubah", "TDapilJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TDapilJS.detail_hapus");
$obj->set_func_navi("TDapilJS.data_query('detail')");
$obj->set_func_btn("TDapilJS.detail_tambah", "+ Kelompok Dapil");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kelompok Dapil</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Dapil" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+108
View File
@@ -0,0 +1,108 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/desa.php
Desc. : PHP - Tabel Master Kelurahan / Desa
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("LokasiID", 0);
if ( $data == "desa-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$tkode = $form->textbox("_", "K_Lokasi", $atabel['K_Lokasi'], true, true, "text", "kode kel / desa, default : XXX");
$tnama = $form->textarea("_", "N_Lokasi", $atabel['N_Lokasi'], true, true, 1, "nama kel / desa");
$tinduk = $form->option_db("_", "IndukID", $atabel['IndukID'], true, false, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=1 AND Aktif=1", [0,"&nbsp;"]);
$tstatus = $form->switch("_", "Aktif", $atabel['Aktif'], true, true, [1,0]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="K_Lokasi">Kode Kelurahan / Desa</label>
<div class="col-sm-4 col-lg-3">'.$tkode.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="IndukID">Nama Kecamatan</label>
<div class="col">'.$tinduk.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_Lokasi">Nama Kelurahan / Desa</label>
<div class="col">'.$tnama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$tstatus.'</div>
</div>
<input type="hidden" id="LokasiID" value="'.$atabel['LokasiID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_lokasi");
$sql->add_param("IndukID");
$sql->add_param("K_Lokasi");
$sql->add_param("N_Lokasi");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("LokasiID");
if ($mode_detail=="insert") {
$sql->add_param("Level", 2);
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_Kec"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(K_Desan,N_Desa,K_Kec,N_Kec) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM vi_para_desa".$tsql);
$obj->add_field("DesaID", "ID", "hid");
$obj->add_field("K_Desa", "Kode", "c");
$obj->add_field("Nama_KD", "Nama Kecamatan & Kelurahan / Desa", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("K_Desa", "A");
$obj->add_row_btn("clipboard", "Ubah", "TDesaJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TDesaJS.detail_hapus");
$obj->set_func_navi("TDesaJS.data_query('detail')");
$obj->set_func_btn("TDesaJS.detail_tambah", "+ Kelurahan / Desa");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kelurahan / Desa</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Desa" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+167
View File
@@ -0,0 +1,167 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/dprd.php
Desc. : PHP - Tabel Master Anggota DPRD
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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;
function DPRD_Kode_Baru() {
global $db;
$ino = 0;
$db->Query("SELECT MAX(K_DPRD) Nomor FROM para_dprd");
if ($db->Next()) $ino = (int)$db->Row("Nomor", 0);
$tno = isi_nol($ino+1, 2);
return $tno;
}
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("DPRDID", 0);
if ( $data == "dprd-detail" ) {
$atabel = ['K_DPRD' => DPRD_Kode_Baru()];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_dprd WHERE DPRDID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
if ($atabel['DPRDID']>0) {
$db->Query("SELECT Username FROM app_operator WHERE Level=5 AND AK_DPRD='".$atabel['DPRDID']."' LIMIT 1");
if ($db->Next()) $atabel = array_merge($atabel, $db->AllRow());
}
}
$form = new Form($db);
$t_kode = $form->textbox("_", "K_DPRD", $atabel['K_DPRD'], true, true, "text", "kode anggota");
$t_nama = $form->textbox("_", "N_DPRD", $atabel['N_DPRD'], true, true, "text", "nama anggota");
$t_fraksi = $form->textbox("_", "F_DPRD", $atabel['F_DPRD'], true, true, "text", "fraksi anggota");
$t_komisi = $form->textbox("_", "Komisi_DPRD", $atabel['Komisi_DPRD'], true, true, "text", "komisi anggota");
$t_dapil = $form->option_db("_", "DapilID", $atabel['DapilID'], true, false, "para_dapil", array("DapilID","N_Dapil"), "Aktif=1", array(0,"&nbsp;"));
$t_user = $form->textbox("_", "Username", $atabel['Username'], true, true, "text", "username");
$t_pass = $form->password("_", "Password", "", true, true, "password");
$t_status = $form->switch("_", "Aktif", $atabel['Aktif'], true, true, [1,0]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="K_DPRD">Kode Anggota</label>
<div class="col-sm-4 col-lg-3">'.$t_kode.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_DPRD">Nama Anggota</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="F_DPRD">Fraksi Anggota</label>
<div class="col">'.$t_fraksi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Komisi_DPRD">Komisi Anggota</label>
<div class="col">'.$t_komisi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="DapilID">Kelompok Dapil</label>
<div class="col-sm-8 col-lg-9">'.$t_dapil.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</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="Username">Username</label>
<div class="col">'.$t_user.'<div class="form-text">username untuk login e-pokir; tanpa spasi dan tanda baca</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Password">Password</label>
<div class="col">'.$t_pass.'<div class="form-text">password untuk login e-pokir; kosongkan jika tidak ingin mengubah</div></div>
</div>
<input type="hidden" id="DPRDID" value="'.$atabel['DPRDID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_dprd");
$sql->add_param("K_DPRD");
$sql->add_param("N_DPRD");
$sql->add_param("F_DPRD");
$sql->add_param("Komisi_DPRD");
$sql->add_param("DapilID");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("DPRDID");
if ($mode_detail=="insert") {
$sql->InsertDB();
$id_tm = $db->LastInsertID();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
$db->Query("UPDATE app_operator SET Aktif=0 WHERE Level=5 AND AK_DPRD='".$id_tm."' LIMIT 1");
}
if ($mode_detail <> "delete") {
$luser = Param::Get("Username", "");
$lpass = Param::Get("Password", "");
$lnama = Param::Get("N_DPRD", "");
$laktif = Param::Get("Aktif", "");
$is_new = true;
$db->Query("SELECT * FROM app_operator WHERE Level=5 AND AK_DPRD LIKE '%".$id_tm."%' LIMIT 1");
if ($db->Next()) $is_new = false;
if ($is_new == true) $db->Query("INSERT INTO app_operator SET Level=5,AK_DPRD='".$id_tm."'");
$tsql = ($lpass=="") ? "" : ",Password=MD5('".$lpass."')";
$db->Query("UPDATE app_operator SET Username='".$luser."',Nama='".$lnama."',Posisi='Anggota DPRD',Level=5,Aktif='".$laktif."'".$tsql." WHERE Level=5 AND AK_DPRD='".$id_tm."' LIMIT 1");
}
}
$tcari = trim(Param::Get("Cari_DPRD"));
$tsql = ($tcari=="") ? "" : " WHERE N_DPRD LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT A.*,D.N_Dapil FROM para_dprd A LEFT JOIN para_dapil D ON (A.DapilID=D.DapilID)".$tsql);
$obj->add_field("DPRDID", "ID", "hid");
$obj->add_field("K_DPRD", "Kode", "c");
$obj->add_field("N_DPRD", "Nama Anggota", "awr");
$obj->add_field("F_DPRD", "Fraksi DPRD", "awr");
$obj->add_field("N_Dapil", "Dapil", "l");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("K_DPRD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TDPRDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TDPRDJS.detail_hapus");
$obj->set_func_navi("TDPRDJS.data_query('detail')");
$obj->set_func_btn("TDPRDJS.detail_tambah", "+ Anggota DPRD");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "user-check") {
$ajson['ada'] = false;
$db->Query("SELECT COUNT(*) Jumlah FROM app_operator WHERE Username='".Param::Get("Username")."' AND AK_DPRD<>'".$id_tm."'");
if ($db->Next()) {
if ($db->Row("Jumlah", 0) > 0) $ajson['ada'] = true;
}
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Anggota DPRD</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_DPRD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+94
View File
@@ -0,0 +1,94 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/forum.php
Desc. : PHP - Tabel Master Kelompok Forum OPD
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("ForumID", 0);
if ( $data == "forum-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_forum WHERE ForumID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$t_nama = $form->textbox("_", "N_Forum", $atabel['N_Forum'], true, true, "text", "nama kelompok forum");
$t_status = $form->switch("_", "Aktif", $atabel['Aktif'], true, true, [1,0]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_Forum">Kelompok Forum</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
<input type="hidden" id="ForumID" value="'.$atabel['ForumID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_forum");
$sql->add_param("N_Forum");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("ForumID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_Forum"));
$tsql = ($tcari=="") ? "" : " WHERE N_Forum LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_forum".$tsql);
$obj->add_field("ForumID", "ID", "hid");
$obj->add_field("N_Forum", "Kelompok Forum", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("N_Forum", "A");
$obj->add_row_btn("clipboard", "Ubah", "TForumJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TForumJS.detail_hapus");
$obj->set_func_navi("TForumJS.data_query('detail')");
$obj->set_func_btn("TForumJS.detail_tambah", "+ Kelompok Forum");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kelompok Forum</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Forum" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+99
View File
@@ -0,0 +1,99 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/hspk.php
Desc. : PHP - Tabel Master Standar HSPK
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : January 22nd, 2021.
(c) 2012 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("HSPKID", 0);
if ( $data == "hspk-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para_hspk WHERE HSPKID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Kode HSPK", "K_HSPK", $atabel['K_HSPK'], true, true, "text", "masukkan kode hspk");
$form->textarea("Nama HSPK", "N_HSPK", $atabel['N_HSPK'], true, true, 2, "masukkan nama hspk");
$form->textbox("Nama Satuan", "Satuan", $atabel['Satuan'], true, true, "text", "masukkan nama satuan");
$form->textbox("Nilai Wilayah I", "Nilai_W1", $atabel['Nilai_W1'], true, true, "double", "masukkan nilai wilayah i");
$form->textbox("Nilai Wilayah II", "Nilai_W2", $atabel['Nilai_W2'], true, true, "double", "masukkan nilai wilayah ii");
$form->textbox("Nilai Wilayah III", "Nilai_W3", $atabel['Nilai_W3'], true, true, "double", "masukkan nilai wilayah iii");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("HSPKID", $atabel['HSPKID']);
$form->hidden("mode", $mode);
$form->show(' _K_HSPK_ _N_HSPK_ _Satuan_ _Nilai_W1_ _Nilai_W2_ _Nilai_W3_ _Aktif_ _HSPKID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para_hspk");
$sql->add_param("K_HSPK");
$sql->add_param("N_HSPK");
$sql->add_param("Satuan");
$sql->add_param("Nilai_W1");
$sql->add_param("Nilai_W2");
$sql->add_param("Nilai_W3");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("HSPKID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_HSPK"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_HSPK,N_HSPK) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para_hspk".$tsql);
$obj->add_field("HSPKID", "ID", "hidden");
$obj->add_field("K_HSPK", "Kode", "center");
$obj->add_field("N_HSPK", "Nama Standar HSPK", "left autowrap");
$obj->add_field("Satuan", "Satuan", "left");
$obj->add_field("Nilai_W1", "Nilai W I", "right", "rupiah2");
$obj->add_field("Nilai_W2", "Nilai W II", "right", "rupiah2");
$obj->add_field("Nilai_W3", "Nilai W III", "right", "rupiah2");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_HSPK", "A");
$obj->add_row_btn("description", "Ubah", "THSPKJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "THSPKJS.detail_hapus");
$obj->set_func_navi("THSPKJS.data_query('detail')");
$obj->set_func_btn("THSPKJS.detail_tambah", "+ HSPK");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Standar HSPK</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_HSPK" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+112
View File
@@ -0,0 +1,112 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/jalan.php
Desc. : PHP - Tabel Master Jalan / Gang
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : January 22nd, 2021.
(c) 2012 - 2021, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("JalanID", 0);
if ( $data == "jalan-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para_jalan WHERE JalanID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->option_db("Nama Kecamatan", "KecID", $atabel['KecID'], true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Level=1 AND Aktif=1", array(0,"&nbsp;"), null, "TJalanJS.oc_Kec()");
$form->option_db("Nama Kelurahan / Desa", "KelID", $atabel['KelID'], true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Level=2 AND Aktif=1 AND IndukID='".$atabel['KecID']."'", array(0,"&nbsp;"));
$form->textbox("Nama Jalan / Gang", "N_Jalan", $atabel['N_Jalan'], true, true, "text", "masukkan jalan / gang");
$form->textarea("Lokasi Jalan / Gang", "Lokasi", $atabel['Lokasi'], true, true, 1, "masukkan lokasi detail jalan / gang");
$form->textbox("Panjang Jalan / Gang", "Panjang", $atabel['Panjang'], true, true, "double", "masukkan panjang jalan / gang");
$form->textbox("Mantap", "Mantap", $atabel['Mantap'], true, true, "double", "masukkan ukuran mantap");
$form->textbox("Rusak Ringan", "Rusak_Ringan", $atabel['Rusak_Ringan'], true, true, "double", "masukkan ukuran rusak ringan");
$form->textbox("Rusak Berat", "Rusak_Berat", $atabel['Rusak_Berat'], true, true, "double", "masukkan ukuran rusak berat");
$form->radio("Status Jalan", "JU", $atabel['JU'], true, true, array('1'=>"Jalan Utama / Poros",'0'=>"Jalan Lingkungan"));
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("JalanID", $atabel['JalanID']);
$form->hidden("mode", $mode);
$form->show(' _KecID_ _KelID_ _N_Jalan_ _Lokasi_ _Panjang_ _Mantap_ _Rusak_Ringan_ _Rusak_Berat_ _JU_ _Aktif_ _JalanID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para_jalan");
$sql->add_param("KecID");
$sql->add_param("KelID");
$sql->add_param("N_Jalan");
$sql->add_param("Lokasi");
$sql->add_param("Panjang");
$sql->add_param("Mantap");
$sql->add_param("Rusak_Ringan");
$sql->add_param("Rusak_Berat");
$sql->add_param("JU");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("JalanID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Jalan"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_Jalan,N_Jalan,Lokasi) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para_jalan".$tsql);
$obj->add_field("JalanID", "ID", "hidden");
$obj->add_field("K_Jalan", "Kode", "hidden");
$obj->add_field("N_Jalan", "Nama Jalan / Gang", "left autowrap");
$obj->add_field("Lokasi", "Lokasi", "left autowrap");
$obj->add_field("JU", "Poros", "center", "checkbox");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("N_Jalan", "A");
$obj->add_row_btn("description", "Ubah", "TJalanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TJalanJS.detail_hapus");
$obj->set_func_navi("TJalanJS.data_query('detail')");
$obj->set_func_btn("TJalanJS.detail_tambah", "+ Jalan / Gang");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "option-kel" ) {
$aoption = array('type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$ap->getParam("KecID",0)."' ORDER BY N_Lokasi");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"-");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = array('value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Jalan / Gang</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Jalan" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+107
View File
@@ -0,0 +1,107 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/kec.php
Desc. : PHP - Tabel Master Kecamatan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("LokasiID", 0);
if ( $data == "kec-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$tkode = $form->textbox("_", "K_Lokasi", $atabel['K_Lokasi'], true, true, "text", "kode kecamatan, default : XXX");
$tnama = $form->textarea("_", "N_Lokasi", $atabel['N_Lokasi'], true, true, 1, "nama kecamatan");
$tdapil = $form->option_db("_", "DapilID", $atabel['DapilID'], true, false, "para_dapil", ["DapilID","N_Dapil"], "Aktif=1", [0,"&nbsp;"]);
$tstatus = $form->switch("_", "Aktif", $atabel['Aktif'], true, true, [1,0]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="K_Lokasi">Kode Kecamatan</label>
<div class="col-sm-4 col-lg-3">'.$tkode.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_Lokasi">Nama Kecamatan</label>
<div class="col">'.$tnama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="DapilID">Daerah Pemilihan</label>
<div class="col">'.$tdapil.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$tstatus.'</div>
</div>
<input type="hidden" id="LokasiID" value="'.$atabel['LokasiID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_lokasi");
$sql->add_param("K_Lokasi");
$sql->add_param("N_Lokasi");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("LokasiID");
if ($mode_detail=="insert") {
$sql->add_param("Level", 1);
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_Kec"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(K_Lokasi,N_Lokasi) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_lokasi WHERE Level=1".$tsql);
$obj->add_field("LokasiID", "ID", "hid");
$obj->add_field("K_Lokasi", "Kode", "c");
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("K_Lokasi", "A");
$obj->add_row_btn("clipboard", "Ubah", "TKecJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TKecJS.detail_hapus");
$obj->set_func_navi("TKecJS.data_query('detail')");
$obj->set_func_btn("TKecJS.detail_tambah", "+ Kecamatan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kecamatan</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Kec" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+96
View File
@@ -0,0 +1,96 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/kegiatan.php
Desc. : PHP - Tabel Master Kegiatan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("KegID", 0);
if ( $data == "kegiatan-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_keg WHERE KegID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->option_db("Nama Program", "ProgID", $atabel['ProgID'], true, true, "vi_para90_prog", array("ProgID","Nama_Prog"), "Aktif=1", array(0,"&nbsp;"));
$form->textbox("Kode Kegiatan", "K_Keg", $atabel['K_Keg'], true, true, "text", "masukkan kode, default X.XX.XX.2.XX");
$form->textarea("Nama Kegiatan", "N_Keg", $atabel['N_Keg'], true, true, 1, "masukkan nama kegiatan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("KegID", $atabel['KegID']);
$form->hidden("mode", $mode);
$form->show('
_K_Keg_
_ProgID_
_N_Keg_
_Aktif_
_KegID_ _mode_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para90_keg");
$sql->add_param("ProgID");
$sql->add_param("K_Keg");
$sql->add_param("N_Keg");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("KegID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Keg"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K.K_Keg,K.N_Keg) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT K.*,P.N_Prog FROM para90_keg K LEFT JOIN para90_prog P ON (P.ProgID=K.ProgID)".$tsql);
$obj->add_field("KegID", "ID", "hidden");
$obj->add_field("K_Keg", "Kode", "center");
$obj->add_field("N_Prog", "Nama Program", "left autowrap");
$obj->add_field("N_Keg", "Nama Kegiatan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Keg", "A");
$obj->add_row_btn("description", "Ubah", "TKegiatanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TKegiatanJS.detail_hapus");
$obj->set_func_navi("TKegiatanJS.data_query('detail')");
$obj->set_func_btn("TKegiatanJS.detail_tambah", "+ Kegiatan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Kegiatan</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Keg" name="Cari_Keg" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+189
View File
@@ -0,0 +1,189 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/opd.php
Desc. : PHP - Tabel Master OPD
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("OPDID", 0);
if ( $data == "opd-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$t_bidu1 = $form->option_db("_", "K_Bidu1", $atabel['K_Bidu1'], true, false, "vi_para90_bidu", ["K_Bidu","Nama_Bidu"], "BUID>1 AND Aktif=1", ["0.00","(0.00) SEMUA BIDANG"]);
$t_bidu2 = $form->option_db("_", "K_Bidu2", $atabel['K_Bidu2'], true, false, "vi_para90_bidu", ["K_Bidu","Nama_Bidu"], "BUID>1 AND Aktif=1", ["0.00","(0.00) SEMUA BIDANG"]);
$t_bidu3 = $form->option_db("_", "K_Bidu3", $atabel['K_Bidu3'], true, false, "vi_para90_bidu", ["K_Bidu","Nama_Bidu"], "BUID>1 AND Aktif=1", ["0.00","(0.00) SEMUA BIDANG"]);
$t_biduu = $form->textbox("_", "U_Bidu", $atabel['U_Bidu'], true, true, "text", "masukkan kode opd, default XX.XXXX", 10);
$t_nama = $form->textarea("_", "N_OPD", $atabel['N_OPD'], true, true, 1, "masukkan nama opd");
$t_singkat = $form->textbox("_", "S_OPD", $atabel['S_OPD'], true, true, "text", "masukkan singkatan opd");
$t_lokasi = $form->textbox("_", "N_Lokasi", $atabel['N_Lokasi'], true, true, "text", "masukkan lokasi opd");
$t_forum = $form->option_db("_", "ForumID", $atabel['ForumID'], true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1", array(0,"&nbsp;"));
$t_ik = $form->switch("_", "IK", $atabel['IK'], true, true, [1,0]);
$t_iv = $form->switch("_", "IV", $atabel['IV'], true, true, [1,0]);
$p_nip = $form->textbox("_", "P_NIP", $atabel['P_NIP'], true, true, "text", "masukkan nip pejabat");
$p_nama = $form->textbox("_", "P_Nama", $atabel['P_Nama'], true, true, "text", "masukkan nama pejabat");
$p_jabat = $form->textbox("_", "P_Jabatan", $atabel['P_Jabatan'], true, true, "text", "masukkan jabatan pejabat");
$p_pangkat = $form->textbox("_", "P_Pangkat", $atabel['P_Pangkat'], true, true, "text", "masukkan pangkat pejabat");
$t_status = $form->switch("_", "Aktif", $atabel['Aktif'], true, true, [1,0]);
echo '
<div id="tabMenuList"><ul class="nav nav-tabs" role="tablist">
<li class="nav-item"><a class="nav-link active" data-bs-toggle="tab" role="tab" href="#iOPD" aria-controls="iOPD">Informasi OPD</a></li>
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" role="tab" href="#iPejabat" aria-controls="iPejabat">Pejabat OPD</a></li>
<li class="nav-item"><a class="nav-link" data-bs-toggle="tab" role="tab" href="#iLain" aria-controls="iLain">Informasi Lain</a></li>
<li class="nav-item ms-auto"><a class="nav-link disabled nav-head">'.$atabel['K_OPD'].'</a></li></ul>
<div class="tab-content mt-2">
<div class="tab-pane active" role="tabpanel" id="iOPD">
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="K_Bidu1">Bidang Urusan 1</label>
<div class="col-sm-8 col-lg-9">'.$t_bidu1.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="K_Bidu2">Bidang Urusan 2</label>
<div class="col-sm-8 col-lg-9">'.$t_bidu2.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="K_Bidu3">Bidang Urusan 3</label>
<div class="col-sm-8 col-lg-9">'.$t_bidu3.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="U_Bidu">Kode OPD</label>
<div class="col-sm-4 col-lg-3">'.$t_biduu.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_OPD">Nama OPD</label>
<div class="col">'.$t_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="S_OPD">Singkatan OPD</label>
<div class="col">'.$t_singkat.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_Lokasi">Lokasi OPD</label>
<div class="col">'.$t_lokasi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Aktif">Status Aktif ?</label>
<div class="col col-form-label">'.$t_status.'</div>
</div>
</div>
<div class="tab-pane" role="tabpanel" id="iPejabat">
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="P_NIP">NIP Pejabat</label>
<div class="col">'.$p_nip.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="P_Nama">Nama Pejabat</label>
<div class="col">'.$p_nama.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="P_Jabatan">Jabatan Pejabat</label>
<div class="col">'.$p_jabat.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="P_Pangkat">Pangkat Pejabat</label>
<div class="col">'.$p_pangkat.'</div>
</div>
</div>
<div class="tab-pane" role="tabpanel" id="iLain">
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="IK">OPD Kecamatan</label>
<div class="col">'.$t_ik.'<div class="form-text">Ya - jika opd merupakan opd kecamatan, supaya tidak masuk dalam opsi tujuan usulan musrenbang & sidang opd</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="IV">Instansi Vertikal</label>
<div class="col">'.$t_iv.'<div class="form-text">Ya - jika opd merupakan opd vertikal, supaya tidak masuk dalam opsi rkpd opd</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Forum OPD</label>
<div class="col-sm-8 col-lg-9">'.$t_forum.'</div>
</div>
</div>
</div>
</div>
<input type="hidden" id="OPDID" value="'.$atabel['OPDID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para90_opd");
$sql->add_param("K_Bidu1");
$sql->add_param("K_Bidu2");
$sql->add_param("K_Bidu3");
$sql->add_param("U_Bidu");
$sql->add_param("K_OPD", "CONCAT(K_Bidu1,'.',K_Bidu2,'.',K_Bidu3,'.',U_Bidu)", true);
$sql->add_param("N_OPD");
$sql->add_param("S_OPD");
$sql->add_param("N_Lokasi");
$sql->add_param("ForumID");
$sql->add_param("IV");
$sql->add_param("IK");
$sql->add_param("P_NIP");
$sql->add_param("P_Nama");
$sql->add_param("P_Jabatan");
$sql->add_param("P_Pangkat");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("OPDID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(K_OPD,N_OPD,S_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_opd".$tsql);
$obj->add_field("OPDID", "ID", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("S_OPD", "Singkatan", "awr");
$obj->add_field("Aktif", "Aktif", "c", "checkbox");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TOPDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TOPDJS.detail_hapus");
$obj->set_func_navi("TOPDJS.data_query('detail')");
$obj->set_func_btn("TOPDJS.detail_tambah", "+ OPD");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar OPD</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+105
View File
@@ -0,0 +1,105 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/opd_pagu.php
Desc. : PHP - Tabel Master Pagu OPD
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/sippd.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_opd = Param::Get("OPDID", 0);
$id_tm = Param::Get("OPDPAGUID", 0);
if ( $data == "opd-detail" ) {
$atabel = ['OPDPAGUID'=>0, 'OPDID'=>$id_opd, 'Pagu'=>0];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para90_opd_pagu WHERE Tahun='".$tahun."' AND OPDPAGUID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
if ($atabel['OPDID'] > 0) {
$db->Query("SELECT N_OPD FROM para90_opd WHERE OPDID='".$atabel['OPDID']."' LIMIT 1");
if ($db->Next()) $atabel = array_merge($atabel, $db->AllRow());
}
$form = new Form($db);
$t_opd = $form->textbox("_", "N_OPD", $atabel['N_OPD'], false, false, "text");
$t_pagu = $form->textbox("_", "Pagu", $atabel['Pagu'], true, true, "double", "nilai pagu");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="N_OPD">Nama OPD</label>
<div class="col">'.$t_opd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Pagu">Nilai Pagu</label>
<div class="col-sm-8 col-lg-5">'.$t_pagu.'</div>
</div>
<input type="hidden" id="OPDPAGUID" value="'.$atabel['OPDPAGUID'].'">';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para90_opd_pagu");
$sql->add_param("Tahun");
$sql->add_param("OPDID");
$sql->add_param("Pagu");
$sql->add_param_userid();
$sql->add_where("OPDPAGUID");
if ($mode_detail=="update") {
if ($id_tm == 0) {
$sql->InsertDB();
} else $sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT O.*,IFNULL(P.OPDPAGUID,0) OPDPAGUID,IFNULL(P.Pagu,0) Pagu FROM para90_opd O LEFT JOIN (SELECT * FROM para90_opd_pagu WHERE Tahun='".$tahun."' ORDER BY OPDID) P ON (O.OPDID=P.OPDID) WHERE O.Aktif=1 AND O.IV=0".$tsql);
$obj->add_field("OPDPAGUID", "ID1", "hid");
$obj->add_field("OPDID", "ID2", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("Pagu", "Total Pagu", "r", "rupiah2", "rupiah2");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TOPDPaguJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TOPDPaguJS.detail_hapus");
$obj->set_func_navi("TOPDPaguJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("_", "Tahun", $tahun, true, false, tahun_ang("Tahun "), null, "TOPDPaguJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Pagu OPD</div><div class="card-body"><div class="row mb-1"><div class="col-md-10 col-sm-8"><div class="input-group"><input class="form-control" id="Cari_OPD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div><div class="col-md-2 col-sm-4 mt-2 mt-sm-0">'.$op_tahun.'</div>
</div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+94
View File
@@ -0,0 +1,94 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/periode.php
Desc. : PHP - Pengaturan Periode Data
Created By : Siau Pheng ([email protected]).
Created Date : May 19th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("THNID", 0);
if ( $data == "periode-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_periode WHERE THNID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$ttahun = $form->textbox("_", "Tahun", $atabel['Tahun'], true, true, "integer", "tahun");
$tket = $form->textbox("_", "Ket", $atabel['Ket'], true, true, "text", "keterangan");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Ket">Keterangan</label>
<div class="col">'.$tket.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun</label>
<div class="col">'.$ttahun.'</div>
</div>
<input type="hidden" id="THNID" value="'.$atabel['THNID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_periode");
$sql->add_param("Ket");
$sql->add_param("Tahun");
$sql->add_param_userid();
$sql->add_where("THNID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_Tahun"));
$tsql = ($tcari=="") ? "" : " WHERE Ket LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT P.*,R.Ket Ket_RPJMD FROM para_periode P LEFT JOIN para_rpjmd R ON (R.RPJMDID=P.RPJMDID)".$tsql);
$obj->add_field("THNID", "ID", "hid");
$obj->add_field("Tahun", "TAHUN", "c");
$obj->add_field("Ket", "Keterangan", "awr");
$obj->add_field("Ket_RPJMD", "Periode RPJMD", "l");
$obj->set_field_order("Tahun", "A");
$obj->add_row_btn("clipboard", "Ubah", "TPeriodeJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TPeriodeJS.detail_hapus");
$obj->set_func_navi("TPeriodeJS.data_query('detail')");
$obj->set_func_btn("TPeriodeJS.detail_tambah", "+ Tahun");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Periode Data</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Tahun" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/prio_dae.php
Desc. : PHP - Tabel Master Prioritas Daerah
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("PrioDID", 0);
if ( $data == "priodae-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para_prio_dae WHERE PrioDID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Kode Prioritas Daerah", "K_PrioD", $atabel['K_PrioD'], true, true, "text", "masukkan kode prioritas daerah");
$form->textarea("Nama Prioritas Daerah", "N_PrioD", $atabel['N_PrioD'], true, true, 1, "masukkan nama prioritas daerah");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("PrioDID", $atabel['PrioDID']);
$form->hidden("mode", $mode);
$form->show('
_K_PrioD_
_N_PrioD_
_Aktif_
_mode_ _PrioDID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para_prio_dae");
$sql->add_param("K_PrioD");
$sql->add_param("N_PrioD");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("PrioDID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_PrioD"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_PrioD,N_PrioD) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para_prio_dae".$tsql);
$obj->add_field("PrioDID", "ID", "hidden");
$obj->add_field("K_PrioD", "Kode", "center");
$obj->add_field("N_PrioD", "Nama Prioritas Daerah", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_PrioD", "A");
$obj->add_row_btn("description", "Ubah", "TPrioDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TPrioDJS.detail_hapus");
$obj->set_func_navi("TPrioDJS.data_query('detail')");
$obj->set_func_btn("TPrioDJS.detail_tambah", "+ Prioritas Daerah");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Prioritas Daerah</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_PrioD" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/prio_nas.php
Desc. : PHP - Tabel Master Prioritas Nasional
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 31st, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("PrioNID", 0);
if ( $data == "prionas-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para_prio_nas WHERE PrioNID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Kode Prioritas Nasional", "K_PrioN", $atabel['K_PrioN'], true, true, "text", "masukkan kode prioritas nasional");
$form->textarea("Nama Prioritas Nasional", "N_PrioN", $atabel['N_PrioN'], true, true, 1, "masukkan nama prioritas nasional");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("PrioNID", $atabel['PrioNID']);
$form->hidden("mode", $mode);
$form->show('
_K_PrioN_
_N_PrioN_
_Aktif_
_mode_ _PrioNID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para_prio_nas");
$sql->add_param("K_PrioN");
$sql->add_param("N_PrioN");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("PrioNID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_PrioN"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_PrioN,N_PrioN) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para_prio_nas".$tsql);
$obj->add_field("PrioNID", "ID", "hidden");
$obj->add_field("K_PrioN", "Kode", "center");
$obj->add_field("N_PrioN", "Nama Prioritas Nasional", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_PrioN", "A");
$obj->add_row_btn("description", "Ubah", "TPrioNJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TPrioNJS.detail_hapus");
$obj->set_func_navi("TPrioNJS.data_query('detail')");
$obj->set_func_btn("TPrioNJS.detail_tambah", "+ Prioritas Nasional");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Prioritas Nasional</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_PrioN" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+97
View File
@@ -0,0 +1,97 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/program.php
Desc. : PHP - Tabel Master Program
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("ProgID", 0);
if ( $data == "program-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_prog WHERE ProgID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->option_db("Nama Bidang Urusan", "K_Bidu", $atabel['K_Bidu'], true, true, "vi_para90_bidu", array("K_Bidu","Nama_Bidu"), "Aktif=1", array(0,"&nbsp;"));
$form->textbox("Kode Program", "K_Prog", $atabel['K_Prog'], true, true, "text", "masukkan kode, default X.XX.XX");
$form->textarea("Nama Program", "N_Prog", $atabel['N_Prog'], true, true, 1, "masukkan nama program");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("ProgID", $atabel['ProgID']);
$form->hidden("mode", $mode);
$form->show('
_K_Prog_
_K_Bidu_
_N_Prog_
_Aktif_
_mode_ _ProgID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para90_prog");
$sql->add_param("K_Bidu");
$sql->add_param("K_Prog");
$sql->add_param("N_Prog");
$sql->add_param("N_Urut", "RIGHT(K_Prog,2)", true);
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("ProgID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Prog"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(P.K_Prog,P.N_Prog) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT P.*,B.N_Bidu FROM para90_prog P LEFT JOIN para90_bidu B ON (P.K_Bidu=B.K_Bidu)".$tsql);
$obj->add_field("ProgID", "ID", "hidden");
$obj->add_field("K_Prog", "Kode", "center");
$obj->add_field("N_Bidu", "Nama Bidang Urusan", "left autowrap");
$obj->add_field("N_Prog", "Nama Program", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Prog", "A");
$obj->add_row_btn("description", "Ubah", "TProgramJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TProgramJS.detail_hapus");
$obj->set_func_navi("TProgramJS.data_query('detail')");
$obj->set_func_btn("TProgramJS.detail_tambah", "+ Program");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Program</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Prog" name="Cari_Prog" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+121
View File
@@ -0,0 +1,121 @@
<?php
/*******************************************************************
App. Name : INVENTORY AND SALES SYSTEMS
Module : /apps/php/tab/rpjmd.php
Desc. : PHP - Konfigurasi Periode RPJMD
Created By : Siau Pheng ([email protected]).
Created Date : May 19th, 2010.
Last Modified : October 18th, 2025.
(c) 2010 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.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 = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode_detail = Param::Get("mode_detail");
$id_tm = Param::Get("RPJMDID", 0);
if ( $data == "rpjmd-detail" ) {
$atabel = [];
if ($id_tm > 0) {
$db->Query("SELECT * FROM para_rpjmd WHERE RPJMDID='".$id_tm."' LIMIT 1");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new Form($db);
$tket = $form->textbox("_", "Ket", $atabel['Ket'], true, true, "text", "keterangan");
$tthn1 = $form->option_db("_", "Tahun1", $atabel['Tahun1'], true, false, "para_periode", ["Tahun","Tahun"], "", [0,"&nbsp;"]);
$tthn2 = $form->option_db("_", "Tahun2", $atabel['Tahun2'], true, false, "para_periode", ["Tahun","Tahun"], "", [0,"&nbsp;"]);
$tthn3 = $form->option_db("_", "Tahun3", $atabel['Tahun3'], true, false, "para_periode", ["Tahun","Tahun"], "", [0,"&nbsp;"]);
$tthn4 = $form->option_db("_", "Tahun4", $atabel['Tahun4'], true, false, "para_periode", ["Tahun","Tahun"], "", [0,"&nbsp;"]);
$tthn5 = $form->option_db("_", "Tahun5", $atabel['Tahun5'], true, false, "para_periode", ["Tahun","Tahun"], "", [0,"&nbsp;"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Ket">Keterangan</label>
<div class="col">'.$tket.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun1">Tahun 1</label>
<div class="col-4">'.$tthn1.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun2">Tahun 2</label>
<div class="col-4">'.$tthn2.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun3">Tahun 3</label>
<div class="col-4">'.$tthn3.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun4">Tahun 4</label>
<div class="col-4">'.$tthn4.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun5">Tahun 5</label>
<div class="col-4">'.$tthn5.'</div>
</div>
<input type="hidden" id="RPJMDID" value="'.$atabel['RPJMDID'].'" >
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" >';
} else if ( $data == "detail" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("para_rpjmd");
$sql->add_param("Ket");
$sql->add_param("Tahun1");
$sql->add_param("Tahun2");
$sql->add_param("Tahun3");
$sql->add_param("Tahun4");
$sql->add_param("Tahun5");
$sql->add_param_userid();
$sql->add_where("RPJMDID");
if ($mode_detail=="insert") {
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$tcari = trim(Param::Get("Cari_RPJMD"));
$tsql = ($tcari=="") ? "" : " WHERE Ket LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para_rpjmd".$tsql);
$obj->add_field("RPJMDID", "ID", "hid");
$obj->add_field("Ket", "Keterangan", "awr");
$obj->add_field("Tahun1", "Tahun 1", "c");
$obj->add_field("Tahun2", "Tahun 2", "c");
$obj->add_field("Tahun3", "Tahun 3", "c");
$obj->add_field("Tahun4", "Tahun 4", "c");
$obj->add_field("Tahun5", "Tahun 5", "c");
$obj->set_field_order("Ket", "A");
$obj->add_row_btn("clipboard", "Ubah", "TRPJMDJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TRPJMDJS.detail_hapus");
$obj->set_func_navi("TRPJMDJS.data_query('detail')");
$obj->set_func_btn("TRPJMDJS.detail_tambah", "+ RPJMD");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Periode RPJMD</div><div class="card-body"><div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_RPJMD" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/satuan.php
Desc. : PHP - Tabel Master Satuan Kegiatan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 30th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("SatuanID", 0);
if ( $data == "satuan-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para_satuan WHERE SatuanID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Kode Satuan", "K_Satuan", $atabel['K_Satuan'], true, true, "text", "masukkan kode satuan");
$form->textarea("Nama Satuan", "N_Satuan", $atabel['N_Satuan'], true, true, 1, "masukkan nama satuan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("SatuanID", $atabel['SatuanID']);
$form->hidden("mode", $mode);
$form->show('
_K_Satuan_
_N_Satuan_
_Aktif_
_mode_ _SatuanID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para_satuan");
$sql->add_param("K_Satuan");
$sql->add_param("N_Satuan");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("SatuanID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Satuan"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(K_Satuan,N_Satuan) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para_satuan".$tsql);
$obj->add_field("SatuanID", "ID", "hidden");
$obj->add_field("K_Satuan", "Kode", "center");
$obj->add_field("N_Satuan", "Nama Satuan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Satuan", "A");
$obj->add_row_btn("description", "Ubah", "TSatuanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TSatuanJS.detail_hapus");
$obj->set_func_navi("TSatuanJS.data_query('detail')");
$obj->set_func_btn("TSatuanJS.detail_tambah", "+ Satuan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Satuan Kegiatan</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Satuan" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+99
View File
@@ -0,0 +1,99 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/subkeg.php
Desc. : PHP - Tabel Master Sub Kegiatan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("SubID", 0);
if ( $data == "subkeg-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_sub WHERE SubID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->option_db("Nama Program", "ProgID", $atabel['ProgID'], true, true, "vi_para90_prog", array("ProgID","Nama_Prog"), "Aktif=1", array(0,"&nbsp;"));
$form->option_db("Nama Kegiatan", "KegID", $atabel['KegID'], true, true, "vi_para90_keg", array("KegID","Nama_Keg"), "Aktif=1 AND ProgID='".$atabel['ProgID']."'", array(0,"&nbsp;"));
$form->textbox("Kode Sub Kegiatan", "K_Sub", $atabel['K_Sub'], true, true, "text", "masukkan kode, default X.XX.XX.2.XX.XX");
$form->textarea("Nama Sub Kegiatan", "N_Sub", $atabel['N_Sub'], true, true, 1, "masukkan nama sub kegiatan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("SubID", $atabel['SubID']);
$form->hidden("mode", $mode);
$form->show('
_K_Sub_
_ProgID_
_KegID_
_N_Sub_
_Aktif_
_mode_ _SubID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para90_sub");
$sql->add_param("ProgID");
$sql->add_param("KegID");
$sql->add_param("K_Sub");
$sql->add_param("N_Sub");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("SubID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Sub"));
$tsql .= ($tcari=="") ? "" : " WHERE CONCAT(S.K_Sub,S.N_Sub) LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.*,K.N_Keg FROM para90_sub S LEFT JOIN para90_keg K ON (K.KegID=S.KegID)".$tsql);
$obj->add_field("SubID", "ID", "hidden");
$obj->add_field("K_Sub", "Kode", "center");
$obj->add_field("N_Keg", "Nama Kegiatan", "left autowrap");
$obj->add_field("N_Sub", "Nama Sub Kegiatan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Sub", "A");
$obj->add_row_btn("description", "Ubah", "TSubKegJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TSubKegJS.detail_hapus");
$obj->set_func_navi("TSubKegJS.data_query('detail')");
$obj->set_func_btn("TSubKegJS.detail_tambah", "+ Sub Kegiatan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Sub Kegiatan</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Sub" name="Cari_Sub" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/tab/urusan.php
Desc. : PHP - Tabel Master Urusan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2010.
Last Modified : July 19th, 2020.
(c) 2012 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$id_tm = $ap->getParam("UrusanID", 0);
if ( $data == "urusan-detail" ) {
$atabel = array();
if ($mode == "edit") {
$db->Query("SELECT * FROM para90_urusan WHERE UrusanID='".$id_tm."'");
if ($db->Next()) $atabel = $db->AllRow();
}
$form = new cFORM();
$form->textbox("Kode Urusan", "K_Urusan", $atabel['K_Urusan'], true, true, "text", "masukkan kode, default X");
$form->textarea("Nama Urusan", "N_Urusan", $atabel['N_Urusan'], true, true, 1, "masukkan nama urusan");
$form->switch_sq("Status Aktif", "Aktif", $atabel['Aktif'], true, true, array('1'=>"Ya",'0'=>"Tdk"));
$form->hidden("UrusanID", $atabel['UrusanID']);
$form->hidden("mode", $mode);
$form->show('
_K_Urusan_
_N_Urusan_
_Aktif_
_mode_ _UrusanID_ ');
} else if ( $data == "save" ) {
$sql = new cSQL();
$sql->set_table("para90_urusan");
$sql->add_param("K_Urusan");
$sql->add_param("N_Urusan");
$sql->add_param("Aktif");
$sql->add_param_userid();
$sql->add_where("UrusanID");
if ($mode=="add") {
$sql->InsertDB();
} else if ($mode=="edit") {
$sql->UpdateDB();
} else if ($mode=="del") {
$sql->DeleteDB();
}
$ajson['status'] = true;
} else if ( $data == "detail" ) {
$tcari = trim($ap->getParam("Cari_Urusan"));
$tsql .= ($tcari=="") ? "" : " WHERE N_Urusan LIKE '%".$tcari."%'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT * FROM para90_urusan".$tsql);
$obj->add_field("UrusanID", "ID", "hidden");
$obj->add_field("K_Urusan", "Kode", "center");
$obj->add_field("N_Urusan", "Nama Urusan", "left autowrap");
$obj->add_field("Aktif", "Aktif", "center", "checkbox");
$obj->set_field_order("K_Urusan", "A");
$obj->add_row_btn("description", "Ubah", "TUrusanJS.detail_ubah");
$obj->add_row_btn("trash", "Hapus", "TUrusanJS.detail_hapus");
$obj->set_func_navi("TUrusanJS.data_query('detail')");
$obj->set_func_btn("TUrusanJS.detail_tambah", "+ Urusan");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Urusan</div><div class="card-body"><div class="form-row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Urusan" name="Cari_Urusan" placeholder="Kunci Pencarian" type="text"><span class="input-group-append"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button></span><span class="input-group-append"><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></span></div></div></div><div id="divDetail">&nbsp;</div></div></div>
</div>';
}
send_json($ajson);
?>
+239
View File
@@ -0,0 +1,239 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/data_hasil_forum.php
Desc. : PHP - Export Data Hasil Forum OPD
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : March 21st, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../vendor/autoload.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
ini_set("max_execution_time", "300");
ini_set("pcre.backtrack_limit", "5000000");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$id_rpjmd = $ap->getParam("RPJMDID", $_SESSION['__WEB_APP']['RENC_RPJMDID']);
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_forum = $ap->getParam("ForumID", 0);
$id_opd = $ap->getParam("OPDID", 0);
$id_kec = $ap->getParam("KecID", 0);
$id_status = $ap->getParam("StatusID", 0);
if ( $data == "excel" ) {
$tsql = " Tahun='".$tahun."'";
$tsql .= ($id_forum==0) ? "" : " AND OPDID IN (SELECT OPDID FROM para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."')";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan,T.K_Status,T.S_Status FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID) LEFT JOIN para_status T ON (U.StatusID=T.StatusID)");
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Hasil Forum OPD ".$tahun)
->setCategory("Data Hasil Forum OPD ".$tahun)
->setSubject($tahun)
->setDescription("Data Hasil Forum OPD ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("HASIL FORUM");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AC1');
$sheet->setCellValue("A2", "DATA HASIL FORUM OPD TAHUN ".$tahun);
$sheet->mergeCells('A2:AC2');
$sheet->getStyle('A1:AC2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(7);
$sheet->getColumnDimension('W')->setWidth(15);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(8);
$sheet->getColumnDimension('AB')->setWidth(8);
$sheet->getColumnDimension('AC')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "Status");
$sheet->setCellValue("W4", "Ket Status");
$sheet->setCellValue("X4", "ID UNIQ");
$sheet->setCellValue("Y4", "ID OPD");
$sheet->setCellValue("Z4", "ID Kec");
$sheet->setCellValue("AA4", "ID Kel");
$sheet->setCellValue("AB4", "ID Bel");
$sheet->setCellValue("AC4", "ID Satuan");
$sheet->getStyle('A4:AC4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("K_Status"));
$sheet->setCellValue("W".$baris, $db->Row("S_Status"));
$sheet->setCellValue("X".$baris, $db->RowFloat("UsulanLID"));
$sheet->setCellValue("Y".$baris, $db->RowFloat("OPDID"));
$sheet->setCellValue("Z".$baris, $db->RowFloat("KecID"));
$sheet->setCellValue("AA".$baris, $db->RowFloat("KelID"));
$sheet->setCellValue("AB".$baris, $db->RowFloat("BelID"));
$sheet->setCellValue("AC".$baris, $db->RowFloat("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Hasil Forum OPD '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-opd" ) {
$aoption = array('type' => "option", 'id' => "OPDID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM vi_para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."'".($_SESSION['__WEB_USER']['Level']==3?" AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")":""));
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("OPDID");
$aoption['avalue'][] = array('value'=>$db->Row("OPDID"), 'html'=>$db->Row("Nama_OPD"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new cFORM();
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tforum = $form->option_db("_", "ForumID", 0, true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1 ORDER BY ForumID", array(0,"SEMUA FORUM"), null, "XDataHasilForumJS.oc_Forum()");
$topd = $form->option("_", "OPDID", 0, true, true, array(0=>"SEMUA OPD"));
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")));
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Nama Forum</label>
<div class="col-sm-8 col-lg-9">'.$tforum.'</div>
</div>
<div class="form-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="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
<div class="col-sm-8 col-lg-9">'.$tstatus.'</div>
</div>';
}
send_json($ajson);
?>
+124
View File
@@ -0,0 +1,124 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sip/data_renja_opd.php
Desc. : PHP - Export Data Renja OPD
Created By : Siau Pheng ([email protected]).
Created Date : May 8th, 2020.
Last Modified : July 7th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules/data.xls.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
function report_show() {
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
form_clear();
form_option("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA'], "enabled", "para_periode", array("Tahun","Tahun"));
form_option("OPDID", 0, "enabled", "vi_para_opd", array("OPDID","Nama_OPD"), "", "IV=0 AND Aktif=1".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?"":array(0,"SEMUA OPD")));
form_radio_array("OAksi", 9, "enabled", array(9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"));
form_show('<table width="100%" height="160">
<tr>
<td width="150">Tahun Data</td>
<td>_Tahun_</td>
</tr>
<tr>
<td>Nama OPD</td>
<td>_OPDID_</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td>Asistensi Renja</td>
<td>_OAksi_</td>
</tr>
</table>');
}
function Lo_Dana($arec, $id) {
return ($arec['DanaID']==$id?$arec['Ini_Pagu']:0);
}
/************************** RESPON HERE ***************************/
$db = DB();
$data = $ap->getParam("data");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA']);
$id_opd = $ap->getParam("OPDID", 0);
$ak_o = $ap->getParam("OAksi", 0);
if ( $data == "excel" ) {
$tsql = " WHERE Tahun='".$tahun."' AND Ini_Pagu>0";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN RENJA ".$tahun;
$db->Query("SELECT O.K_OPD KO_OPD,BU.K_BidangU KO_BIDU,PR.K_Prog KO_PROG,T.K_RKA,T.K_Keg,T.N_Keg,O.N_OPD N_OPD,BU.N_BidangU N_BIDU,P.N_Prog N_PROG,T.DanaID,T.OPDID,T.ProgID,T.KegID,T.RKegID,T.Ini_Pagu,T.Dpn_Pagu,T.Keg_Indi,T.Keg_Target,T.Sasaran,T.Lokasi,D.K_Dana,R.DanaID DanaID2,R.KelID,R.ID,R.Kode,R.Uraian,R.Volume,R.SatuanID,S.N_Satuan,R.Rupiah,R.Ini_Pagu Ini_Pagu2,R.Dpn_Pagu Dpn_Pagu2,R.UsulanLID,R.UsulanDID,IFNULL(L.K_Desa,'') K_Desa,IFNULL(L.N_Desa,'') N_Desa,IFNULL(L.N_Kec,'') N_Kec,PR.Prog_Indi,PR.Prog_Target FROM (SELECT *,LEFT(K_Keg,4) K_BidangU FROM renja_keg".$tsql.") T LEFT JOIN renja_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.ProgID=PR.ProgID) LEFT JOIN para_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_program P ON (P.ProgID=T.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=T.K_BidangU) LEFT JOIN para_dana D ON (D.DanaID=T.DanaID) INNER JOIN (SELECT * FROM renja_rincian WHERE Tahun='".$tahun."' AND Ini_Pagu>0) R ON (R.K_RKA=T.K_RKA) LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID) LEFT JOIN vi_para_desa L ON (R.KelID=L.DesaID) ORDER BY T.K_OPD,T.K_BidangU,PR.K_Prog,T.K_Keg,R.Kode");
$xls = new cXLS("DATA RENJA OPD");
$xls->add_header(strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$xls->add_header("DATA RENJA OPD");
$xls->add_header($tglheader);
$xls->add_field("OPD", 6, "L");
$xls->add_field("BU", 5, "L");
$xls->add_field("PROG", 13, "L");
$xls->add_field("KEG", 16, "L");
$xls->add_field("Nama OPD", 20, "L");
$xls->add_field("Nama BU", 20, "L");
$xls->add_field("Nama Prog", 20, "L");
$xls->add_field("Nama Keg", 20, "L");
$xls->add_field("Dana", 11, "L");
$xls->add_field("Pagu ".$tahun, 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Indikator", 20, "L");
$xls->add_field("Target", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Rinci", 5, "C");
$xls->add_field("Uraian Rincian", 20, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Nilai @", 12, "R,N");
$xls->add_field("Jumlah", 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Kode Desa", 30, "L");
$xls->add_field("Nama Desa", 30, "L");
$xls->add_field("Nama Kecamatan", 30, "L");
$xls->add_field("Indikator Program", 30, "L");
$xls->add_field("Target Program", 30, "L");
$xls->add_field("Kode UNIQ", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Prog", 8, "L,N0");
$xls->add_field("ID Keg", 8, "L,N0");
$xls->add_field("ID Dana", 8, "L,N0");
$xls->add_field("ID Rinci", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_field("ID Usul Desa", 10, "L,N0");
$xls->add_field("ID Usul Dewan", 10, "L,N0");
$xls->add_sheet("Renja ".$tahun, false);
$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("KO_OPD"), $db->Row("KO_BIDU"), $db->Row("KO_PROG"), $db->Row("K_Keg"), $db->Row("N_OPD"), $db->Row("N_BIDU"), $db->Row("N_PROG"), $db->Row("N_Keg"), $db->Row("K_Dana"), $db->RowFloat("Ini_Pagu"), $db->RowFloat("Dpn_Pagu"), $db->Row("Keg_Indi"), $db->Row("Keg_Target"), $db->Row("Sasaran"), $db->Row("Lokasi"),$db->Row("Kode"), $db->Row("Uraian"), $db->RowFloat("Volume"), $db->Row("N_Satuan"), $db->RowFloat("Rupiah"), $db->RowFloat("Ini_Pagu2"), $db->RowFloat("Dpn_Pagu2"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("Prog_Indi"), $db->Row("Prog_Target"), $db->Row("K_RKA"), $db->Row("RKegID"), $db->Row("OPDID"), $db->Row("ProgID"), $db->Row("KegID"), $db->Row("DanaID"), $db->Row("ID"), $db->Row("KelID"), $db->Row("SatuanID"), $db->Row("UsulanLID"), $db->Row("UsulanDID"));
}
$xls->add_stamp(1, true);
$xls->send();
unset($xls);
} else if ( $data == "default") {
report_show();
}
?>
+248
View File
@@ -0,0 +1,248 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/data_usul_desa.php
Desc. : PHP - Export Data Usulan / Desa
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : March 4th, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../vendor/autoload.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_kec = $ap->getParam("KecID", 0);
$id_kel = $ap->getParam("KelID", 0);
$jen_awal = $ap->getParam("Jenis_Awal", 0);
$jen_susul = $ap->getParam("Jenis_Susul", 0);
$jen_kec = $ap->getParam("Jenis_Kec", 0);
if ( $data == "excel" ) {
$ajenis = array();
if ($jen_awal>0) array_push($ajenis, 0, 2);
if ($jen_susul>0) array_push($ajenis, 1);
if ($jen_kec>0) array_push($ajenis, 3);
$tsql = " Tahun='".$tahun."' AND JU IN (".implode(",",$ajenis).")";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID)");
$client = new \Redis();
$client->connect('127.0.0.1', 6379);
$pool = new \Cache\Adapter\Redis\RedisCachePool($client);
$simpleCache = new \Cache\Bridge\SimpleCache\SimpleCacheBridge($pool);
\PhpOffice\PhpSpreadsheet\Settings::setCache($simpleCache);
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Usulan Desa ".$tahun)
->setCategory("Data Usulan Desa ".$tahun)
->setSubject($tahun)
->setDescription("Data Usulan Desa ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("USULAN DESA");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AA1');
$sheet->setCellValue("A2", "DATA USULAN DESA TAHUN ".$tahun);
$sheet->mergeCells('A2:AA2');
$sheet->getStyle('A1:AA2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(8);
$sheet->getColumnDimension('W')->setWidth(8);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "ID UNIQ");
$sheet->setCellValue("W4", "ID OPD");
$sheet->setCellValue("X4", "ID Kec");
$sheet->setCellValue("Y4", "ID Kel");
$sheet->setCellValue("Z4", "ID Bel");
$sheet->setCellValue("AA4", "ID Satuan");
$sheet->getStyle('A4:AA4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("UsulanLID"));
$sheet->setCellValue("W".$baris, $db->Row("OPDID"));
$sheet->setCellValue("X".$baris, $db->Row("KecID"));
$sheet->setCellValue("Y".$baris, $db->Row("KelID"));
$sheet->setCellValue("Z".$baris, $db->Row("BelID"));
$sheet->setCellValue("AA".$baris, $db->Row("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Usulan Desa '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-kel" ) {
$aoption = array('type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."'");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"SEMUA DESA");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = array('value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new cFORM();
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")), null, "XDataUsulDesaJS.oc_Kec()");
$tkel = $form->option("_", "KelID", 0, true, true, array(0=>"SEMUA DESA"));
$tjawal = $form->radio("_", "Jenis_Awal", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjsusul = $form->radio("_", "Jenis_Susul", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjkec = $form->radio("_", "Jenis_Kec", 1, true, true, array(1=>"Ya",0=>"Tidak"));
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa</label>
<div class="col-sm-8 col-lg-9">'.$tkel.'</div>
</div>
<div class="form-row mb-1"><div class="col"><hr /></div></div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Awal">Usulan Awal</label>
<div class="col-sm-8 col-lg-9">'.$tjawal.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Susul">Usulan Susulan</label>
<div class="col-sm-8 col-lg-9">'.$tjsusul.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Kec">Usulan Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tjkec.'</div>
</div>';
}
send_json($ajson);
?>
+122
View File
@@ -0,0 +1,122 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/pok/data_usul_dewan.php
Desc. : PHP - Export Data Usulan / Dewan
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2020.
Last Modified : May 4th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules/data.xls.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
function report_show() {
$id_dprd = ($_SESSION['__WEB_USER']['Level']==5) ? $_SESSION['__WEB_USER']['DPRDID'] : 0;
form_clear();
form_option("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA'], "enabled", "para_periode", array("Tahun","Tahun"));
form_option("DPRDID", $id_dprd, "enabled", "para_dprd", array("DPRDID","N_DPRD"), "", "Aktif=1 ORDER BY N_DPRD", ($_SESSION['__WEB_USER']['Level']==5?"":array(0,"SEMUA DEWAN")));
form_radio_array("BAksi", 9, "enabled", array(9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"));
form_radio_array("OAksi", 9, "enabled", array(9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"));
form_show('<table width="100%" height="180">
<tr>
<td width="150">Tahun Data</td>
<td>_Tahun_</td>
</tr>
<tr>
<td>Nama Dewan</td>
<td>_DPRDID_</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td>Verifikasi Bappeda</td>
<td>_BAksi_</td>
</tr>
<tr>
<td>Verifikasi OPD</td>
<td>_OAksi_</td>
</tr>
</table>');
}
/************************** RESPON HERE ***************************/
$db = DB();
$data = $ap->getParam("data");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA']);
$id_dprd = $ap->getParam("DPRDID", 0);
$ak_b = $ap->getParam("BAksi", 0);
$ak_o = $ap->getParam("OAksi", 0);
if ( $data == "excel" ) {
$tsql = ($id_dprd==0) ? "" : " AND DPRDID='".$id_dprd."'";
$tsql .= ($ak_b==9) ? "" : " AND BAksi='".$ak_b."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,L.K_DPRD,L.N_DPRD,O.K_OPD,O.N_OPD,D.K_Lokasi K_Desa,D.N_Lokasi N_Desa,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,S.N_Satuan,IFNULL(R.K_Keg,'') K_Keg FROM (SELECT * FROM pok_usulan_dewan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_dprd L ON (U.DPRDID=L.DPRDID) LEFT JOIN para_opd O ON (U.OPDID=O.OPDID) LEFT JOIN para_lokasi K ON (U.KecID=K.LokasiID AND K.Level=1) LEFT JOIN para_lokasi D ON (U.KelID=D.LokasiID AND D.Level=2) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) LEFT JOIN (SELECT RKegID,K_Keg FROM renja_keg WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."') R ON (U.RKegID=R.RKegID)");
$xls = new cXLS("DATA USULAN DEWAN");
$xls->add_header(strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$xls->add_header("DATA USULAN DEWAN");
$xls->add_header($tglheader);
$xls->add_field("Kode", 6, "C");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Dusun", 20, "L");
$xls->add_field("RT", 10, "L");
$xls->add_field("Masalah", 20, "L");
$xls->add_field("Usulan", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Waktu", 10, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Anggaran", 12, "R,N");
$xls->add_field("Veri Bappeda", 6, "C,N0");
$xls->add_field("Catatan Bappeda", 30, "L");
$xls->add_field("Veri OPD", 6, "C,N0");
$xls->add_field("Catatan OPD", 30, "L");
$xls->add_field("Kode Urusan", 8, "L");
$xls->add_field("Kode Program", 10, "L");
$xls->add_field("Kode Kegiatan", 12, "L");
$xls->add_field("Jenis Usulan", 20, "L");
$xls->add_field("Dewan", 5, "L");
$xls->add_field("Nama Dewan", 12, "L");
$xls->add_field("OPD", 5, "L");
$xls->add_field("Nama OPD", 12, "L");
$xls->add_field("Desa", 5, "L");
$xls->add_field("Nama Desa", 12, "L");
$xls->add_field("Kec", 4, "L");
$xls->add_field("Nama Kec", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID DPRD", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Kec", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_sheet("Usulan Dewan", false);
$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("Kode"), $db->Row("Lokasi"), $db->Row("Dusun"), $db->Row("RT"), $db->Row("Masalah"), $db->Row("Usulan"), $db->Row("Sasaran"), $db->Row("Waktu"), $db->Row("Volume"), $db->Row("N_Satuan"), $db->Row("Rupiah"), $db->Row("BAksi"), $db->Row("BKet"), $db->Row("OAksi"), $db->Row("OKet"), substr($db->Row("K_Keg"),0,4), substr($db->Row("K_Keg"),0,13), $db->Row("K_Keg"), $db->Row("OJenis"), $db->Row("K_DPRD"), $db->Row("N_DPRD"),$db->Row("K_OPD"), $db->Row("N_OPD"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("K_Kec"), $db->Row("N_Kec"), $db->Row("UsulanDID"), $db->Row("DPRDID"), $db->Row("OPDID"), $db->Row("KecID"), $db->Row("KelID"), $db->Row("SatuanID"));
}
$xls->add_stamp(1, true);
$xls->send();
unset($xls);
} else if ( $data == "default") {
report_show();
}
?>
+236
View File
@@ -0,0 +1,236 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/hasil_forum.php
Desc. : PHP - Export Data Hasil Forum
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_forum = Param::Get("ForumID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_kec = Param::Get("KecID", 0);
$id_status = Param::Get("StatusID", 0);
if ( $data == "excel" ) {
$tsql = " Tahun='".$tahun."'";
$tsql .= ($id_forum==0) ? "" : " AND OPDID IN (SELECT OPDID FROM para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."')";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan,T.K_Status,T.S_Status FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID) LEFT JOIN para_status T ON (U.StatusID=T.StatusID)");
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Hasil Forum OPD ".$tahun)
->setCategory("Data Hasil Forum OPD ".$tahun)
->setSubject($tahun)
->setDescription("Data Hasil Forum OPD ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("HASIL FORUM");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AC1');
$sheet->setCellValue("A2", "DATA HASIL FORUM OPD TAHUN ".$tahun);
$sheet->mergeCells('A2:AC2');
$sheet->getStyle('A1:AC2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(7);
$sheet->getColumnDimension('W')->setWidth(15);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(8);
$sheet->getColumnDimension('AB')->setWidth(8);
$sheet->getColumnDimension('AC')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "Status");
$sheet->setCellValue("W4", "Ket Status");
$sheet->setCellValue("X4", "ID UNIQ");
$sheet->setCellValue("Y4", "ID OPD");
$sheet->setCellValue("Z4", "ID Kec");
$sheet->setCellValue("AA4", "ID Kel");
$sheet->setCellValue("AB4", "ID Bel");
$sheet->setCellValue("AC4", "ID Satuan");
$sheet->getStyle('A4:AC4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("K_Status"));
$sheet->setCellValue("W".$baris, $db->Row("S_Status"));
$sheet->setCellValue("X".$baris, $db->RowFloat("UsulanLID"));
$sheet->setCellValue("Y".$baris, $db->RowFloat("OPDID"));
$sheet->setCellValue("Z".$baris, $db->RowFloat("KecID"));
$sheet->setCellValue("AA".$baris, $db->RowFloat("KelID"));
$sheet->setCellValue("AB".$baris, $db->RowFloat("BelID"));
$sheet->setCellValue("AC".$baris, $db->RowFloat("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Hasil Forum OPD '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-opd" ) {
$aoption = array('type' => "option", 'id' => "OPDID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM vi_para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."'".($_SESSION['__WEB_USER']['Level']==3?" AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")":""));
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("OPDID");
$aoption['avalue'][] = array('value'=>$db->Row("OPDID"), 'html'=>$db->Row("Nama_OPD"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tforum = $form->option_db("_", "ForumID", 0, true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1 ORDER BY ForumID", array(0,"SEMUA FORUM"), null, "XDataHasilForumJS.oc_Forum()");
$topd = $form->option("_", "OPDID", 0, true, true, array(0=>"SEMUA OPD"));
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")));
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Nama Forum</label>
<div class="col">'.$tforum.'</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">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
<div class="col">'.$tstatus.'</div>
</div>';
}
send_json($ajson);
?>
+126
View File
@@ -0,0 +1,126 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/renja_opd.php
Desc. : PHP - Export Data Renja OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
function Lo_Dana($arec, $id) {
return ($arec['DanaID']==$id?$arec['Ini_Pagu']:0);
}
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_opd = Param::Get("OPDID", 0);
$ak_o = Param::Get("OAksi", 0);
if ( $data == "excel" ) {
$tsql = " WHERE Tahun='".$tahun."' AND Ini_Pagu>0";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN RENJA ".$tahun;
$db->Query("SELECT O.K_OPD KO_OPD,BU.K_BidangU KO_BIDU,PR.K_Prog KO_PROG,T.K_RKA,T.K_Keg,T.N_Keg,O.N_OPD N_OPD,BU.N_BidangU N_BIDU,P.N_Prog N_PROG,T.DanaID,T.OPDID,T.ProgID,T.KegID,T.RKegID,T.Ini_Pagu,T.Dpn_Pagu,T.Keg_Indi,T.Keg_Target,T.Sasaran,T.Lokasi,D.K_Dana,R.DanaID DanaID2,R.KelID,R.ID,R.Kode,R.Uraian,R.Volume,R.SatuanID,S.N_Satuan,R.Rupiah,R.Ini_Pagu Ini_Pagu2,R.Dpn_Pagu Dpn_Pagu2,R.UsulanLID,R.UsulanDID,IFNULL(L.K_Desa,'') K_Desa,IFNULL(L.N_Desa,'') N_Desa,IFNULL(L.N_Kec,'') N_Kec,PR.Prog_Indi,PR.Prog_Target FROM (SELECT *,LEFT(K_Keg,4) K_BidangU FROM renja_keg".$tsql.") T LEFT JOIN renja_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.ProgID=PR.ProgID) LEFT JOIN para_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_program P ON (P.ProgID=T.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=T.K_BidangU) LEFT JOIN para_dana D ON (D.DanaID=T.DanaID) INNER JOIN (SELECT * FROM renja_rincian WHERE Tahun='".$tahun."' AND Ini_Pagu>0) R ON (R.K_RKA=T.K_RKA) LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID) LEFT JOIN vi_para_desa L ON (R.KelID=L.DesaID) ORDER BY T.K_OPD,T.K_BidangU,PR.K_Prog,T.K_Keg,R.Kode");
$xls = new SimpleXLS([
'title'=>"Data Renja OPD",
'desc'=>"Export Data Renja OPD"
]);
$xls->add_header("<b>".$_SESSION['__WEB_APP']['REG_NAME']."</b>");
$xls->add_header("<b>DATA RENJA OPD</b>");
$xls->add_header($tglheader);
$xls->add_field("OPD", 6, "L");
$xls->add_field("BU", 5, "L");
$xls->add_field("PROG", 13, "L");
$xls->add_field("KEG", 16, "L");
$xls->add_field("Nama OPD", 20, "L");
$xls->add_field("Nama BU", 20, "L");
$xls->add_field("Nama Prog", 20, "L");
$xls->add_field("Nama Keg", 20, "L");
$xls->add_field("Dana", 11, "L");
$xls->add_field("Pagu ".$tahun, 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Indikator", 20, "L");
$xls->add_field("Target", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Rinci", 5, "C");
$xls->add_field("Uraian Rincian", 20, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Nilai @", 12, "R,N");
$xls->add_field("Jumlah", 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Kode Desa", 30, "L");
$xls->add_field("Nama Desa", 30, "L");
$xls->add_field("Nama Kecamatan", 30, "L");
$xls->add_field("Indikator Program", 30, "L");
$xls->add_field("Target Program", 30, "L");
$xls->add_field("Kode UNIQ", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Prog", 8, "L,N0");
$xls->add_field("ID Keg", 8, "L,N0");
$xls->add_field("ID Dana", 8, "L,N0");
$xls->add_field("ID Rinci", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_field("ID Usul Desa", 10, "L,N0");
$xls->add_field("ID Usul Dewan", 10, "L,N0");
$xls->add_sheet("Renja ".$tahun, false);
$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("KO_OPD"), $db->Row("KO_BIDU"), $db->Row("KO_PROG"), $db->Row("K_Keg"), $db->Row("N_OPD"), $db->Row("N_BIDU"), $db->Row("N_PROG"), $db->Row("N_Keg"), $db->Row("K_Dana"), $db->RowFloat("Ini_Pagu"), $db->RowFloat("Dpn_Pagu"), $db->Row("Keg_Indi"), $db->Row("Keg_Target"), $db->Row("Sasaran"), $db->Row("Lokasi"),$db->Row("Kode"), $db->Row("Uraian"), $db->RowFloat("Volume"), $db->Row("N_Satuan"), $db->RowFloat("Rupiah"), $db->RowFloat("Ini_Pagu2"), $db->RowFloat("Dpn_Pagu2"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("Prog_Indi"), $db->Row("Prog_Target"), $db->Row("K_RKA"), $db->Row("RKegID"), $db->Row("OPDID"), $db->Row("ProgID"), $db->Row("KegID"), $db->Row("DanaID"), $db->Row("ID"), $db->Row("KelID"), $db->Row("SatuanID"), $db->Row("UsulanLID"), $db->Row("UsulanDID"));
}
$xls->add_stamp(1, true);
$xls->send("Data Renja OPD.xlsx");
unset($xls);
} else if ( $data == "default") {
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, false, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$topd = $form->option_db("_", "OPDID", 0, true, false, "vi_para90_opd", array("OPDID","Nama_OPD"), "IV=0 AND Aktif=1".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?"":array(0,"SEMUA OPD")));
$toaksi = $form->radio("_", "OAksi", 9, true, true, [9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</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">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="OAksi">Asistensi Renja</label>
<div class="col col-form-label">'.$toaksi.'</div>
</div>';
}
send_json($ajson);
?>
+248
View File
@@ -0,0 +1,248 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/usul_desa.php
Desc. : PHP - Export Data Usulan / Desa
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$jen_awal = Param::Get("Jenis_Awal", 0);
$jen_susul = Param::Get("Jenis_Susul", 0);
$jen_kec = Param::Get("Jenis_Kec", 0);
if ( $data == "excel" ) {
$ajenis = array();
if ($jen_awal>0) array_push($ajenis, 0, 2);
if ($jen_susul>0) array_push($ajenis, 1);
if ($jen_kec>0) array_push($ajenis, 3);
$tsql = " Tahun='".$tahun."' AND JU IN (".implode(",",$ajenis).")";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID)");
/*
$client = new \Redis();
$client->connect('127.0.0.1', 6379);
$pool = new \Cache\Adapter\Redis\RedisCachePool($client);
$simpleCache = new \Cache\Bridge\SimpleCache\SimpleCacheBridge($pool);
\PhpOffice\PhpSpreadsheet\Settings::setCache($simpleCache);*/
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Usulan Desa ".$tahun)
->setCategory("Data Usulan Desa ".$tahun)
->setSubject($tahun)
->setDescription("Data Usulan Desa ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("USULAN DESA");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AA1');
$sheet->setCellValue("A2", "DATA USULAN DESA TAHUN ".$tahun);
$sheet->mergeCells('A2:AA2');
$sheet->getStyle('A1:AA2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(8);
$sheet->getColumnDimension('W')->setWidth(8);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "ID UNIQ");
$sheet->setCellValue("W4", "ID OPD");
$sheet->setCellValue("X4", "ID Kec");
$sheet->setCellValue("Y4", "ID Kel");
$sheet->setCellValue("Z4", "ID Bel");
$sheet->setCellValue("AA4", "ID Satuan");
$sheet->getStyle('A4:AA4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("UsulanLID"));
$sheet->setCellValue("W".$baris, $db->Row("OPDID"));
$sheet->setCellValue("X".$baris, $db->Row("KecID"));
$sheet->setCellValue("Y".$baris, $db->Row("KelID"));
$sheet->setCellValue("Z".$baris, $db->Row("BelID"));
$sheet->setCellValue("AA".$baris, $db->Row("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Usulan Desa '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-kel" ) {
$aoption = array('type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."'");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"SEMUA DESA");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = array('value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")), null, "XDataUsulDesaJS.oc_Kec()");
$tkel = $form->option("_", "KelID", 0, true, true, array(0=>"SEMUA DESA"));
$tjawal = $form->radio("_", "Jenis_Awal", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjsusul = $form->radio("_", "Jenis_Susul", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjkec = $form->radio("_", "Jenis_Kec", 1, true, true, array(1=>"Ya",0=>"Tidak"));
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa</label>
<div class="col-sm-8 col-lg-9">'.$tkel.'</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="Jenis_Awal">Usulan Awal</label>
<div class="col col-form-label">'.$tjawal.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Susul">Usulan Susulan</label>
<div class="col col-form-label">'.$tjsusul.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Kec">Usulan Kecamatan</label>
<div class="col col-form-label">'.$tjkec.'</div>
</div>';
}
send_json($ajson);
?>
+123
View File
@@ -0,0 +1,123 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/usul_dewan.php
Desc. : PHP - Export Data Usulan / Dewan
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_dprd = Param::Get("DPRDID", 0);
$ak_b = Param::Get("BAksi", 0);
$ak_o = Param::Get("OAksi", 0);
if ( $data == "excel" ) {
$tsql = ($id_dprd==0) ? "" : " AND DPRDID='".$id_dprd."'";
$tsql .= ($ak_b==9) ? "" : " AND BAksi='".$ak_b."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,L.K_DPRD,L.N_DPRD,O.K_OPD,O.N_OPD,D.K_Lokasi K_Desa,D.N_Lokasi N_Desa,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,S.N_Satuan,IFNULL(R.K_Keg,'') K_Keg FROM (SELECT * FROM pok_usulan_dewan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_dprd L ON (U.DPRDID=L.DPRDID) LEFT JOIN para_opd O ON (U.OPDID=O.OPDID) LEFT JOIN para_lokasi K ON (U.KecID=K.LokasiID AND K.Level=1) LEFT JOIN para_lokasi D ON (U.KelID=D.LokasiID AND D.Level=2) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) LEFT JOIN (SELECT RKegID,K_Keg FROM renja_keg WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."') R ON (U.RKegID=R.RKegID)");
$xls = new SimpleXLS([
'title'=>"Data Usulan Dewan",
'desc'=>"Export Data Usulan Dewan"
]);
$xls->add_header("<b>".$_SESSION['__WEB_APP']['REG_NAME']."</b>");
$xls->add_header("<b>DATA USULAN DEWAN</b>");
$xls->add_header($tglheader);
$xls->add_field("Kode", 6, "C");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Dusun", 20, "L");
$xls->add_field("RT", 10, "L");
$xls->add_field("Masalah", 20, "L");
$xls->add_field("Usulan", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Waktu", 10, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Anggaran", 12, "R,N");
$xls->add_field("Veri Bappeda", 6, "C,N0");
$xls->add_field("Catatan Bappeda", 30, "L");
$xls->add_field("Veri OPD", 6, "C,N0");
$xls->add_field("Catatan OPD", 30, "L");
$xls->add_field("Kode Urusan", 8, "L");
$xls->add_field("Kode Program", 10, "L");
$xls->add_field("Kode Kegiatan", 12, "L");
$xls->add_field("Jenis Usulan", 20, "L");
$xls->add_field("Dewan", 5, "L");
$xls->add_field("Nama Dewan", 12, "L");
$xls->add_field("OPD", 5, "L");
$xls->add_field("Nama OPD", 12, "L");
$xls->add_field("Desa", 5, "L");
$xls->add_field("Nama Desa", 12, "L");
$xls->add_field("Kec", 4, "L");
$xls->add_field("Nama Kec", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID DPRD", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Kec", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_sheet("Usulan Dewan", true);
while ($db->Next()) {
$xls->add_value($db->Row("Kode"), $db->Row("Lokasi"), $db->Row("Dusun"), $db->Row("RT"), $db->Row("Masalah"), $db->Row("Usulan"), $db->Row("Sasaran"), $db->Row("Waktu"), $db->Row("Volume"), $db->Row("N_Satuan"), $db->Row("Rupiah"), $db->Row("BAksi"), $db->Row("BKet"), $db->Row("OAksi"), $db->Row("OKet"), substr($db->Row("K_Keg"),0,4), substr($db->Row("K_Keg"),0,13), $db->Row("K_Keg"), $db->Row("OJenis"), $db->Row("K_DPRD"), $db->Row("N_DPRD"),$db->Row("K_OPD"), $db->Row("N_OPD"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("K_Kec"), $db->Row("N_Kec"), $db->Row("UsulanDID"), $db->Row("DPRDID"), $db->Row("OPDID"), $db->Row("KecID"), $db->Row("KelID"), $db->Row("SatuanID"));
}
$xls->add_stamp(1, true);
$xls->send("Data Usulan Dewan.xlsx");
unset($xls);
} else if ( $data == "default") {
$id_dprd = ($_SESSION['__WEB_USER']['Level']==5) ? $_SESSION['__WEB_USER']['DPRDID'] : 0;
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tdprd = $form->option_db("_", "DPRDID", $id_dprd, true, false, "para_dprd", ["DPRDID","N_DPRD"], "Aktif=1 ORDER BY N_DPRD", ($_SESSION['__WEB_USER']['Level']==5?"":[0,"SEMUA DEWAN"]));
$tbaksi = $form->radio("_", "BAksi", 9, true, true, [9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"]);
$toaksi = $form->radio("_", "OAksi", 9, true, true, [9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="DPRDID">Nama Dewan</label>
<div class="col-sm-8 col-lg-9">'.$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-3 col-form-label" for="BAksi">Verifikasi Bappeda</label>
<div class="col col-form-label">'.$tbaksi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="OAksi">Verifikasi OPD</label>
<div class="col col-form-label">'.$toaksi.'</div>
</div>';
}
send_json($ajson);
?>