commit pertama
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/func/musrenbang.php
|
||||
Desc. : PHP - Fungsi Musrenbang
|
||||
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 ID_Usulan_Desa($id_rpjmd = 0, $tahun = 0) {
|
||||
global $fdb;
|
||||
$ino = 1;
|
||||
$fdb->Query("SELECT MAX(UsulanLID)+1 Nomor FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."'");
|
||||
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 1);
|
||||
return $ino;
|
||||
}
|
||||
|
||||
function Kode_Usulan_Desa($tahun = 0, $id_desa = 0) {
|
||||
global $fdb;
|
||||
$k_desa = "000";
|
||||
if ($id_desa > 0) {
|
||||
$fdb->Query("SELECT K_Lokasi FROM para_lokasi WHERE LokasiID='".$id_desa."' LIMIT 1");
|
||||
if ($fdb->Next()) $k_desa = $fdb->Row("K_Lokasi");
|
||||
}
|
||||
$tno = $k_desa . "-"; $ino = 0;
|
||||
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan_desa WHERE Tahun='".$tahun."' AND LEFT(Kode,".strlen($tno).")='".$tno."'");
|
||||
if ($fdb->Next()) $ino = (int)$fdb->Row("Nomor", 0);
|
||||
$tno .= isi_nol($ino+1, 3);
|
||||
return $tno;
|
||||
}
|
||||
|
||||
function Kode_Usulan_Kec($tahun = 0, $id_kec = 0) {
|
||||
global $fdb;
|
||||
$k_kec = "00";
|
||||
if ($id_kec > 0) {
|
||||
$fdb->Query("SELECT RIGHT(K_Lokasi,2) Kode FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($fdb->Next()) $k_kec = $fdb->Row("Kode");
|
||||
}
|
||||
$tno = $k_kec . "-"; $ino = 0;
|
||||
$fdb->Query("SELECT MAX(RIGHT(Kode,3)) Nomor FROM mus_usulan_desa WHERE Tahun='".$tahun."' AND KecID='".$id_kec."' AND JU=3");
|
||||
if ($fdb->Next()) $ino = (int)$fdb->Row("Nomor", 0);
|
||||
$tno .= isi_nol($ino+1, 3);
|
||||
return $tno;
|
||||
}
|
||||
|
||||
function MUSPrio($iprio=0) {
|
||||
$hasil = '<select class="form-select form-select-sm" onchange="MUsulPrioJS.oc_Prio(this);" required=true aria-label="Pilihan Prioritas" >';
|
||||
for ($o=0; $o<=5; $o++) {
|
||||
$hasil .= '<option value="'.$o.'"'.($o==$iprio?' selected="selected"':'').'>'.$o.'</option>';
|
||||
}
|
||||
$hasil .= '</select>';
|
||||
return $hasil;
|
||||
}
|
||||
|
||||
function MusPrio_Array() {
|
||||
return [0=>"0", 1=>"1", 2=>"2", 3=>"3", 4=>"4", 5=>"5"];
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -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);
|
||||
?>
|
||||
@@ -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);
|
||||
?>
|
||||
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/form_kec.php
|
||||
Desc. : PHP - Cetak Form Usulan Musrenbang Kecamatan
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : March 21st, 2014.
|
||||
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);
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_kec = "Semua Kecamatan";
|
||||
if ($id_kec > 0) {
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($db->Next()) $nama_kec = $db->Row("N_Lokasi");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND JU IN (0,2)";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_kec");
|
||||
Report_Empty("mus_kel");
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_kec SELECT T.Tahun,T.KecID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID");
|
||||
$db->Query("INSERT INTO rep_mus_kel SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.KelID");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,O.SidangID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) GROUP BY T.KecID,T.KelID,O.SidangID");
|
||||
|
||||
$db->Query("SELECT T.*,D.K_Kec,D.N_Kec,D.K_Desa,D.N_Desa,CONCAT(D.K_Kec,'.',T.Kode) Kode_Usul,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,T.OPDID OPDID2,O.K_OPD,O.S_OPD,G.SidangID,G.N_Sidang,IF(T.Prio=0,9,Prio) Kode_Prio,RC.*,RD.*,RO.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN vi_para_desa D ON (D.DesaID=T.KelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_sidang G ON (G.SidangID=O.SidangID) LEFT JOIN rep_mus_kec RC ON (T.KecID=RC.KecID AND T.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_kel RD ON (T.KecID=RD.KecID AND T.KelID=RD.KelID AND T.Tahun=RD.Tahun AND RD.UserID='".user_id()."' AND RD.Unix='".user_unix()."') LEFT JOIN rep_mus_opd RO ON (T.KecID=RO.KecID AND T.KelID=RO.KelID AND G.SidangID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY D.N_Kec,D.N_Desa,G.SidangID,O.S_OPD,Kode_Prio,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
$html = '<p class="judul">Daftar Usulan Pembangunan untuk Tahun '.$tahun.'<br>Berdasarkan Desa dan Kelompok Sidang</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th colspan="2">Usulan Kegiatan</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th>Kode</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div><table class="ttd"><tr><td>Kepala Desa<br>%s<br><br><br>( ............................ )</td></tr></table>';
|
||||
|
||||
$_line = '<tr><td class="c kotak" rowspan="2"><table><tr><td class="c">%s</td><tr></table></td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td class="c small">%s</td></tr><tr><td class="i" colspan="2">%s</td><td class="i" colspan="3">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="4" class="b">%s</td><td class="r b">%s</td><td class="b"> </td></tr>';
|
||||
$_judul = '<tr><td colspan="6" class="c b" style="font-size:12pt;">%s</td></tr>';
|
||||
$_catat = '<tr><td colspan="6" class="b">TIAP DESA AGAR MEMBERIKAN NOMOR PRIORITAS 1 - 5 PADA DAFTAR USULAN DIBAWAH INI.</td></tr>';
|
||||
|
||||
$body = '';
|
||||
$kkec = ""; $kdesa = ""; $ksidang = ""; $kopd = ""; $n_desa = "";
|
||||
while ($db->Next()) {
|
||||
$n_desa = $db->Row("N_Desa");
|
||||
if ($kdesa == "") {
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_Desa"), $n_desa);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Desa"));
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kdesa <> $db->Row("K_Desa")) {
|
||||
if ($kdesa <> "") {
|
||||
$body .= sprintf($t_foot, $l_desa);
|
||||
$body .= '<pagebreak orientation="portrait" />';
|
||||
$body .= $t_head;
|
||||
}
|
||||
$body .= sprintf($_sub, "desa", $n_desa, rupiah($db->Row("KEL_RUPIAH")));
|
||||
if ($kdesa <> "") {
|
||||
$html .= sprintf($footer, $db->Row("K_Desa"), $n_desa);
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Desa"));
|
||||
}
|
||||
$kdesa = $db->Row("K_Desa");
|
||||
$ksidang = "";
|
||||
}
|
||||
if ($ksidang <> $db->Row("SidangID")) {
|
||||
if ($ksidang <> "") {
|
||||
$body .= sprintf($t_foot, $n_desa);
|
||||
$body .= '<pagebreak orientation="portrait" />';
|
||||
$body .= $t_head;
|
||||
}
|
||||
$body .= sprintf($_judul, $n_desa);
|
||||
$body .= sprintf($_sub, "forum", $db->Row("N_Sidang"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$body .= $_catat;
|
||||
$ksidang = $db->Row("SidangID");
|
||||
$kopd = "";
|
||||
}
|
||||
if ($kopd <> $db->Row("OPDID2")) {
|
||||
$body .= sprintf($_sub, "opd", $db->Row("S_OPD"), "");
|
||||
$kopd = $db->Row("OPDID2");
|
||||
}
|
||||
$body .= sprintf($_line, ($db->RowFloat("Prio")==0?" ":$db->Row("Prio")), $db->Row("Usulan"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), $db->Row("Kode_Usul"), "Permasalahan : ".$db->Row("Masalah"), "Dusun : ".$db->Row("Dusun")." / RT : ".$db->Row("RT"));
|
||||
$l_desa = $db->Row("N_Desa");
|
||||
}
|
||||
$body .= sprintf($t_foot, $l_desa);
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/musrenbang.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Form Usulan ".$nama_kec);
|
||||
$mpdf->Output("Form Usulan ".$nama_kec.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "option-kel" ) {
|
||||
$aoption = ['type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => []];
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."' ORDER BY K_Lokasi");
|
||||
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
|
||||
while ($db->Next()) {
|
||||
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
|
||||
$aoption['avalue'][] = ['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, false, "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, "RepoFormKecJS.oc_Kec()");
|
||||
$tkel = $form->option("_", "KelID", 0, true, true, array(0=>"SEMUA DESA"));
|
||||
|
||||
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>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/hasil_kec.php
|
||||
Desc. : PHP - Cetak Hasil Usulan Musrenbang Kecamatan
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : March 21st, 2014.
|
||||
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);
|
||||
$tipe = Param::Get("Tipe", "D");
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_kec = "Semua Kecamatan";
|
||||
if ($id_kec > 0) {
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($db->Next()) $nama_kec = $db->Row("N_Lokasi");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND JU IN (0,2)";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($tipe=="D") ? " AND Prio IN (1,2,3,4,5)" : " AND Prio NOT IN (1,2,3,4,5)";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_kec");
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_kec SELECT T.Tahun,T.KecID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,O.SidangID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) GROUP BY T.KecID,O.SidangID");
|
||||
|
||||
$db->Query("SELECT T.*,D.K_Kec,D.N_Kec,D.N_Desa,CONCAT(D.K_Kec,'.',T.Kode) Kode_Usul,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,G.SidangID,G.N_Sidang,RC.*,RO.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN vi_para_desa D ON (D.DesaID=T.KelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_sidang G ON (G.SidangID=O.SidangID) LEFT JOIN rep_mus_kec RC ON (T.KecID=RC.KecID AND T.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_opd RO ON (T.KecID=RO.KecID AND G.SidangID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY D.N_Kec,G.SidangID,T.Prio,D.K_Desa,T.Kode");
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
if ($tipe == "D") {
|
||||
$html = '<p class="judul">Hasil Sidang Kelompok Musrenbang Kecamatan<br>Usulan Pembangunan Tahun '.($tahun-1).'</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th colspan="2">Usulan Kegiatan</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th>Desa</th><th>OPD</th><th>Kode</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c kotakh"><table><tr><td>%s</td><tr></table></td><td>%s</td><td class="r" nowrap>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td class="c">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="4" class="b">%s</td><td class="r b">%s</td><td class="b"> </td><td class="b"> </td><td class="b"> </td></tr>';
|
||||
|
||||
$body = '';
|
||||
$kkec = ""; $ksidang = "";
|
||||
while ($db->Next()) {
|
||||
if ($kkec == "") {
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_Kec"), $db->Row("N_Kec"));
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Kec"));
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($ksidang <> $db->Row("SidangID")) {
|
||||
$body .= sprintf($_sub, "forum", $db->Row("N_Sidang"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$ksidang = $db->Row("SidangID");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Prio"), $db->Row("Usulan"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), $db->Row("N_Desa"), $db->Row("S_OPD"), $db->Row("Kode_Usul"));
|
||||
}
|
||||
$body .= $t_foot;
|
||||
|
||||
} else {
|
||||
$html = '<p class="judul">Daftar Usulan Musrenbang Kecamatan Tahun '.($tahun-1).'<br>Yang Belum Disepakati</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>Kode</th><th>Usulan Kegiatan</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th><th>Desa</th><th>OPD</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td class="r" nowrap>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td>%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="4" class="b">%s</td><td class="r b">%s</td><td class="b"> </td><td class="b"> </td></tr>';
|
||||
|
||||
$body = '';
|
||||
$kkec = ""; $ksidang = "";
|
||||
while ($db->Next()) {
|
||||
if ($kkec == "") {
|
||||
$body .= $t_head;
|
||||
$html .= sprintf($footer, $db->Row("K_Kec"), $db->Row("N_Kec"));
|
||||
$body .= sprintf($_setfoot, $db->Row("K_Kec"));
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($ksidang <> $db->Row("SidangID")) {
|
||||
$body .= sprintf($_sub, "forum", $db->Row("N_Sidang"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$ksidang = $db->Row("SidangID");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Kode_Usul"), $db->Row("Usulan"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), $db->Row("N_Desa"), $db->Row("S_OPD"));
|
||||
}
|
||||
$body .= $t_foot;
|
||||
}
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/musrenbang.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Usulan ".$nama_kec);
|
||||
$mpdf->Output("Usulan ".$nama_kec.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} 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);
|
||||
$ttipe = $form->radio("_", "Tipe", "D", true, true, array('D'=>"Disepakati",'B'=>"Belum Disepakati"));
|
||||
$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']."'");
|
||||
$tkec = $form->option_db("_", "KecID", 0, true, false, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", array(0," "));
|
||||
|
||||
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="Tipe">Jenis Laporan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$ttipe.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,275 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/usul_desa.php
|
||||
Desc. : PHP - Laporan Daftar Usulan / Desa
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : March 21st, 2014.
|
||||
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);
|
||||
$tipe = Param::Get("Tipe", "D");
|
||||
|
||||
if ( $data == "print" || $data == "xls") {
|
||||
$adesa = array();
|
||||
if ($id_kel > 0) {
|
||||
$db->Query("SELECT * FROM vi_para_desa WHERE DesaID='".$id_kel."' LIMIT 1");
|
||||
if ($db->Next()) $adesa = $db->AllRow();
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND JU IN (0,2)";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_bel");
|
||||
$db->Query("INSERT INTO rep_mus_bel SELECT T.Tahun,T.KelID,T.BelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.BelID");
|
||||
|
||||
if ($tipe == "D") {
|
||||
$db->Query("SELECT T.*,B.K_Belanja,B.N_Belanja,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,O.S_OPD,RB.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN para_belanja B ON (B.BelID=T.BelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_bel RB ON (T.KelID=RB.KelID AND T.BelID=RB.BelID AND T.Tahun=RB.Tahun AND RB.UserID='".user_id()."' AND RB.Unix='".user_unix()."') ORDER BY B.K_Belanja,T.Kode");
|
||||
} else {// REKAP
|
||||
$db->Query("SELECT RB.*,B.K_Belanja,B.N_Belanja FROM (SELECT * FROM rep_mus_bel WHERE Tahun='".$tahun."' AND KelID='".$id_kel."' AND Unix='".user_unix()."' AND UserID='".user_id()."') RB LEFT JOIN para_belanja B ON (RB.BelID=B.BelID) ORDER BY B.K_Belanja");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "print" ) {
|
||||
if ($tipe == "D") {
|
||||
$t_head = '<div><p class="judul">REKAP USULAN RKP DESA TAHUN '.($tahun-1).'<br>UNTUK MUSRENBANG KECAMATAN TAHUN '.$tahun.'</p></div>
|
||||
<table><tr><td width="150">DESA</td><td>'.$adesa['N_Desa'].'</td></tr><tr><td>KECAMATAN</td><td>'.$adesa['N_Kec'].'</td></tr><tr><td>KABUPATEN</td><td>SAMBAS</td></tr></table>
|
||||
<div><table class="garis" autosize="1"><thead><tr><th colspan="2">Usulan Kegiatan</th><th>Lokasi</th><th>Volume</th><th>Sasaran</th><th>Waktu</th><th>Jumlah</th><th>OPD</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td></tr>';
|
||||
$_sub = '<tr class="bel"><td class="b c">%s</td><td colspan="5" class="b">%s</td><td class="b r">%s</td><td class="b"> </td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
|
||||
$kbel = "";
|
||||
while ($db->Next()) {
|
||||
if ($kbel <> $db->Row("K_Belanja")) {
|
||||
$body .= sprintf($_sub, $db->Row("K_Belanja"), $db->Row("N_Belanja"), rupiah($db->Row("BEL_RUPIAH")));
|
||||
$kbel = $db->Row("K_Belanja");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Kode"), $db->Row("Usulan"), $db->Row("Lokasi"), $db->Row("Vol_Satuan"), $db->Row("Sasaran"), $db->Row("Waktu"), rupiah($db->Row("Rupiah")), $db->Row("S_OPD"));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
} else {// REKAP
|
||||
$t_head = '<div><p class="judul">REKAP USULAN RKP DESA TAHUN '.($tahun-1).'<br>UNTUK MUSRENBANG KECAMATAN TAHUN '.$tahun.'</p></div>
|
||||
<table><tr><td width="150">DESA</td><td>'.$adesa['N_Desa'].'</td></tr><tr><td>KECAMATAN</td><td>'.$adesa['N_Kec'].'</td></tr><tr><td>KABUPATEN</td><td>SAMBAS</td></tr></table>
|
||||
<div><table class="garis" autosize="1"><thead><tr><th>Kode</th><th>Jenis Belanja</th><th>Jumlah</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
$_line = '<tr><td class="c">%s</td><td>%s</td><td class="r">%s</td></tr>';
|
||||
$_sub = '<tr><td colspan="2" class="b c">%s</td><td class="b r">%s</td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
|
||||
$tot_rupiah = 0;
|
||||
while ($db->Next()) {
|
||||
$body .= sprintf($_line, $db->Row("K_Belanja"), $db->Row("N_Belanja"), rupiah($db->Row("BEL_RUPIAH")));
|
||||
$tot_rupiah += $db->Row("BEL_RUPIAH");
|
||||
}
|
||||
$body .= sprintf($_sub, "JUMLAH USULAN KEGIATAN ".$adesa['N_Desa'], rupiah($tot_rupiah));
|
||||
$body .= sprintf($t_foot);
|
||||
}
|
||||
echo $html . $body;
|
||||
|
||||
} else if ( $data == "xls") {
|
||||
\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("Rekap Usulan RKP Desa Tahun ".$tahun)
|
||||
->setCategory("Rekap Usulan RKP Desa")
|
||||
->setSubject("Rekap Usulan RKP Desa")
|
||||
->setDescription("Rekap Usulan RKP Desa")
|
||||
->setCompany("Bappeda Kabupaten Sambas");
|
||||
$sheet = $ssheet->getActiveSheet();
|
||||
$sheet->setTitle("USULAN DESA");
|
||||
|
||||
// header
|
||||
$styleHeader = [
|
||||
'font' => ['bold' => true],
|
||||
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
|
||||
];
|
||||
$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("A1", "REKAP USULAN RKP DESA TAHUN ".($tahun-1));
|
||||
$sheet->setCellValue("A2", "UNTUK MUSRENBANG KECAMATAN TAHUN ".$tahun);
|
||||
|
||||
$sheet->setCellValue("A3", "DESA : ".$adesa['N_Desa']);
|
||||
$sheet->setCellValue("A4", "KECAMATAN : ".$adesa['N_Kec']);
|
||||
$sheet->setCellValue("A5", "KABUPATEN : SAMBAS");
|
||||
|
||||
if ($tipe == "D") {
|
||||
$sheet->mergeCells('A1:H1');
|
||||
$sheet->mergeCells('A2:H2');
|
||||
$sheet->getStyle('A1:H2')->applyFromArray($styleHeader);
|
||||
// table header
|
||||
$sheet->getColumnDimension('A')->setWidth(10);
|
||||
$sheet->getColumnDimension('B')->setWidth(50);
|
||||
$sheet->getColumnDimension('C')->setWidth(30);
|
||||
$sheet->getColumnDimension('D')->setWidth(20);
|
||||
$sheet->getColumnDimension('E')->setWidth(30);
|
||||
$sheet->getColumnDimension('F')->setWidth(10);
|
||||
$sheet->getColumnDimension('G')->setWidth(18);
|
||||
$sheet->getColumnDimension('H')->setWidth(22);
|
||||
|
||||
$sheet->setCellValue("A6", "Usulan Kegiatan");
|
||||
$sheet->mergeCells('A6:B6');
|
||||
$sheet->setCellValue("C6", "Lokasi");
|
||||
$sheet->setCellValue("D6", "Volume");
|
||||
$sheet->setCellValue("E6", "Sasaran");
|
||||
$sheet->setCellValue("F6", "Waktu");
|
||||
$sheet->setCellValue("G6", "Jumlah");
|
||||
$sheet->setCellValue("H6", "OPD");
|
||||
$sheet->getStyle('A6:H6')->applyFromArray($styleTableH);
|
||||
|
||||
$baris = 7; $kbel = "";
|
||||
$styleBEL = [
|
||||
'font' => ['bold' => true],
|
||||
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"A2FFFF"]]
|
||||
];
|
||||
while ($db->Next()) {
|
||||
if ($kbel <> $db->Row("K_Belanja")) {
|
||||
$sheet->setCellValue("A".$baris, $db->Row("K_Belanja"));
|
||||
$sheet->setCellValue("B".$baris, $db->Row("N_Belanja"));
|
||||
$sheet->mergeCells('B'.$baris.':F'.$baris);
|
||||
$sheet->setCellValue("G".$baris, $db->RowFloat("BEL_RUPIAH"));
|
||||
$sheet->getStyle('G'.$baris.':G'.$baris)->applyFromArray($styleNum);
|
||||
$sheet->getStyle('A'.$baris.':H'.$baris)->applyFromArray($styleBEL);
|
||||
$baris++;
|
||||
$kbel = $db->Row("K_Belanja");
|
||||
}
|
||||
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
|
||||
$sheet->setCellValue("B".$baris, $db->Row("Usulan"));
|
||||
$sheet->setCellValue("C".$baris, $db->Row("Lokasi"));
|
||||
$sheet->setCellValue("D".$baris, $db->Row("Vol_Satuan"));
|
||||
$sheet->setCellValue("E".$baris, $db->Row("Sasaran"));
|
||||
$sheet->setCellValue("F".$baris, $db->Row("Waktu"));
|
||||
$sheet->setCellValue("G".$baris, $db->RowFloat("Rupiah"));
|
||||
$sheet->setCellValue("H".$baris, $db->Row("S_OPD"));
|
||||
$sheet->getStyle('G'.$baris.':G'.$baris)->applyFromArray($styleNum);
|
||||
$baris++;
|
||||
}
|
||||
$sheet->getStyle('A7:H'.($baris-1))->applyFromArray(['borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]]]);
|
||||
|
||||
} else {// REKAP
|
||||
$sheet->mergeCells('A1:C1');
|
||||
$sheet->mergeCells('A2:C2');
|
||||
$sheet->getStyle('A1:C2')->applyFromArray($styleHeader);
|
||||
// table header
|
||||
$sheet->getColumnDimension('A')->setWidth(10);
|
||||
$sheet->getColumnDimension('B')->setWidth(70);
|
||||
$sheet->getColumnDimension('C')->setWidth(18);
|
||||
|
||||
$sheet->setCellValue("A6", "Kode");
|
||||
$sheet->setCellValue("B6", "Jenis Belanja");
|
||||
$sheet->setCellValue("C6", "Jumlah");
|
||||
$sheet->getStyle('A6:C6')->applyFromArray($styleTableH);
|
||||
|
||||
$baris = 7; $tot_rupiah = 0;
|
||||
$styleBEL = [
|
||||
'font' => ['bold' => true],
|
||||
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"A2FFFF"]]
|
||||
];
|
||||
while ($db->Next()) {
|
||||
$sheet->setCellValue("A".$baris, $db->Row("K_Belanja"));
|
||||
$sheet->setCellValue("B".$baris, $db->Row("N_Belanja"));
|
||||
$sheet->setCellValue("C".$baris, $db->RowFloat("BEL_RUPIAH"));
|
||||
$sheet->getStyle('C'.$baris.':C'.$baris)->applyFromArray($styleNum);
|
||||
$baris++;
|
||||
$tot_rupiah += $db->Row("BEL_RUPIAH");
|
||||
}
|
||||
$sheet->setCellValue("B".$baris, "JUMLAH USULAN KEGIATAN ".$adesa['N_Desa']);
|
||||
$sheet->setCellValue("C".$baris, $tot_rupiah);
|
||||
$sheet->getStyle('C'.$baris.':C'.$baris)->applyFromArray($styleNum);
|
||||
$sheet->getStyle('A'.$baris.':C'.$baris)->applyFromArray(['font' => ['bold' => true]]);
|
||||
$baris++;
|
||||
|
||||
$sheet->getStyle('A7:C'.($baris-1))->applyFromArray(['borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN]]]);
|
||||
|
||||
}
|
||||
|
||||
$sheet->getSheetView()->setZoomScale(75);
|
||||
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
||||
header('Content-Disposition: attachment;filename="Usulan Desa '.$adesa['N_Desa'].'.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 = ['type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => []];
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."' ORDER BY K_Lokasi");
|
||||
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
|
||||
while ($db->Next()) {
|
||||
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
|
||||
$aoption['avalue'][] = ['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);
|
||||
$ttipe = $form->radio("_", "Tipe", "D", true, true, array('D'=>"Detail",'R'=>"Rekap"));
|
||||
$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", array(0," "), null, "RepoUsulDesaJS.oc_Kec()");
|
||||
$tkel = $form->option("_", "KelID", 0, true, true, array());
|
||||
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">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tipe">Jenis Laporan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$ttipe.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,187 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/usul_kecopd.php
|
||||
Desc. : PHP - Laporan Daftar Usulan / Kecamatan & OPD
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : March 21st, 2014.
|
||||
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);
|
||||
$tipe = Param::Get("Tipe", "D");
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_kec = "Semua Kecamatan";
|
||||
if ($id_kec > 0) {
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($db->Next()) $nama_kec = $db->Row("N_Lokasi");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND JU IN (0,2)";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_kec");
|
||||
Report_Empty("mus_kel");
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_kec SELECT T.Tahun,T.KecID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID");
|
||||
$db->Query("INSERT INTO rep_mus_kel SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.KelID");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.KelID,T.OPDID");
|
||||
|
||||
if ($tipe == "D") {
|
||||
$db->Query("SELECT T.*,D.K_Kec,D.N_Kec,D.K_Desa,D.N_Desa,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,O.K_OPD,O.N_OPD,RC.*,RO.*,RD.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN vi_para_desa D ON (D.DesaID=T.KelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_kec RC ON (T.KecID=RC.KecID AND T.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_kel RD ON (T.KecID=RD.KecID AND T.KelID=RD.KelID AND T.Tahun=RD.Tahun AND RD.UserID='".user_id()."' AND RD.Unix='".user_unix()."') LEFT JOIN rep_mus_opd RO ON (T.KecID=RO.KecID AND T.KelID=RO.KelID AND T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') ORDER BY D.N_Kec,D.N_Desa,O.N_OPD,T.Kode");
|
||||
} else {// REKAP
|
||||
$db->Query("SELECT RO.*,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,O.K_OPD,O.N_OPD,RC.*,RD.* FROM (SELECT * FROM rep_mus_opd WHERE".str_replace("AND JU IN (0,2)", "", $tsql)." AND Unix='".user_unix()."' AND UserID='".user_id()."') RO LEFT JOIN vi_para_desa D ON (RO.KelID=D.DesaID) LEFT JOIN para90_opd O ON (O.OPDID=RO.OPDID) LEFT JOIN rep_mus_kec RC ON (RO.KecID=RC.KecID AND RO.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_kel RD ON (RD.KecID=RO.KecID AND RD.KelID=RO.KelID AND RD.Tahun=RO.Tahun AND RD.UserID='".user_id()."' AND RD.Unix='".user_unix()."')");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
if ($tipe == "D") {
|
||||
$html = '<p class="judul">Daftar Usulan Pembangunan Desa untuk Tahun '.$tahun.'<br>Berdasarkan Kecamatan dan Desa</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th colspan="2">Usulan Kegiatan</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c" rowspan="2">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td></tr><tr><td class="i" colspan="2">%s</td><td class="i" colspan="2">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="4" class="b">%s</td><td class="r b">%s</td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kkec = ""; $kopd = ""; $kdesa = ""; $n_desa = "";
|
||||
while ($db->Next()) {
|
||||
$n_desa = $db->Row("N_Desa");
|
||||
if ($kdesa == "") {
|
||||
$html .= sprintf($footer, $db->Row("KelID"), $n_desa);
|
||||
$body .= sprintf($_setfoot, $db->Row("KelID"));
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kdesa <> $db->Row("K_Desa")) {
|
||||
$body .= sprintf($_sub, "desa", $n_desa, rupiah($db->Row("KEL_RUPIAH")));
|
||||
if ($kdesa <> "") {
|
||||
$html .= sprintf($footer, $db->Row("KelID"), $n_desa);
|
||||
$body .= sprintf($_setfoot, $db->Row("KelID"));
|
||||
}
|
||||
$kdesa = $db->Row("K_Desa");
|
||||
$kopd = "";
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
$body .= sprintf($_sub, "opd", $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Kode"), $db->Row("Usulan"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), "Permasalahan : ".$db->Row("Masalah"), "Dusun : ".$db->Row("Dusun")." / RT : ".$db->Row("RT"));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
} else {
|
||||
$html = '<p class="judul">Rekap Usulan Pembangunan Desa untuk Tahun '.$tahun.'<br>Berdasarkan Kecamatan dan Desa</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>Kecamatan / Desa / OPD</th><th>Jumlah</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td>%s</td><td class="r">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td class="b">%s</td><td class="r b">%s</td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$html .= sprintf($footer, "1", "Rekap Usulan Desa");
|
||||
$body .= sprintf($_setfoot, "1");
|
||||
|
||||
$kkec = ""; $kdesa = "";
|
||||
while ($db->Next()) {
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kdesa <> $db->Row("K_Desa")) {
|
||||
$body .= sprintf($_sub, "desa", $db->Row("N_Desa"), rupiah($db->Row("KEL_RUPIAH")));
|
||||
$kdesa = $db->Row("K_Desa");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
}
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/musrenbang.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Usulan ".$nama_kec);
|
||||
$mpdf->Output("Usulan ".$nama_kec.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} else if ( $data == "option-kel" ) {
|
||||
$aoption = ['type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => []];
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."' ORDER BY K_Lokasi");
|
||||
if ($db->RecordCount()<>1) $aoption['avalue'][] = ['value'=>0, 'html'=>""];
|
||||
while ($db->Next()) {
|
||||
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
|
||||
$aoption['avalue'][] = ['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);
|
||||
$ttipe = $form->radio("_", "Tipe", "D", true, true, array('D'=>"Detail",'R'=>"Rekap"));
|
||||
$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, "RepoUsulKecDesaJS.oc_Kec()");
|
||||
$tkel = $form->option("_", "KelID", 0, true, false, array(0=>"SEMUA DESA"));
|
||||
|
||||
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">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tipe">Jenis Laporan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$ttipe.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,175 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/repo/usul_kecopd.php
|
||||
Desc. : PHP - Laporan Daftar Usulan / Kecamatan & OPD
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : March 21st, 2014.
|
||||
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_opd = Param::Get("OPDID", 0);
|
||||
$tipe = Param::Get("Tipe", "D");
|
||||
|
||||
if ( $data == "pdf" || $data == "print") {
|
||||
$nama_kec = "Semua Kecamatan";
|
||||
if ($id_kec > 0) {
|
||||
$db->Query("SELECT * FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1");
|
||||
if ($db->Next()) $nama_kec = $db->Row("N_Lokasi");
|
||||
}
|
||||
|
||||
$tsql = " Tahun='".$tahun."' AND JU IN (0,2)";
|
||||
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
|
||||
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
|
||||
|
||||
// proses rekap database
|
||||
Report_Empty("mus_kec");
|
||||
Report_Empty("mus_kel");
|
||||
Report_Empty("mus_opd");
|
||||
$db->Query("INSERT INTO rep_mus_kec SELECT T.Tahun,T.KecID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID");
|
||||
$db->Query("INSERT INTO rep_mus_opd SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.OPDID");
|
||||
$db->Query("INSERT INTO rep_mus_kel SELECT T.Tahun,T.KecID,T.OPDID,T.KelID,SUM(T.Rupiah),'".user_unix()."','".user_id()."' FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T GROUP BY T.KecID,T.OPDID,T.KelID");
|
||||
|
||||
if ($tipe == "D") {
|
||||
$db->Query("SELECT T.*,D.K_Kec,D.N_Kec,D.K_Desa,D.N_Desa,CONCAT(T.Volume,' ',S.N_Satuan) Vol_Satuan,T.OPDID OPDID2,O.K_OPD,O.N_OPD,RC.*,RO.*,RD.* FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") T LEFT JOIN vi_para_desa D ON (D.DesaID=T.KelID) LEFT JOIN para_satuan S ON (S.SatuanID=T.SatuanID) LEFT JOIN para90_opd O ON (O.OPDID=T.OPDID) LEFT JOIN rep_mus_kec RC ON (T.KecID=RC.KecID AND T.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_opd RO ON (T.KecID=RO.KecID AND T.OPDID=RO.OPDID AND T.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') LEFT JOIN rep_mus_kel RD ON (T.KecID=RD.KecID AND T.OPDID=RD.OPDID AND T.KelID=RD.KelID AND T.Tahun=RD.Tahun AND RD.UserID='".user_id()."' AND RD.Unix='".user_unix()."') ORDER BY D.N_Kec,O.N_OPD,D.N_Desa,T.Kode");
|
||||
} else {// REKAP
|
||||
$db->Query("SELECT RD.*,D.N_Desa,D.K_Kec,D.N_Kec,O.K_OPD,O.N_OPD,RC.*,RO.* FROM (SELECT * FROM rep_mus_kel WHERE".str_replace("AND JU IN (0,2)", "", $tsql)." AND Unix='".user_unix()."' AND UserID='".user_id()."') RD LEFT JOIN vi_para_desa D ON (RD.KelID=D.DesaID) LEFT JOIN para90_opd O ON (O.OPDID=RD.OPDID) LEFT JOIN rep_mus_kec RC ON (RD.KecID=RC.KecID AND RD.Tahun=RC.Tahun AND RC.UserID='".user_id()."' AND RC.Unix='".user_unix()."') LEFT JOIN rep_mus_opd RO ON (RD.KecID=RO.KecID AND RD.OPDID=RO.OPDID AND RD.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."')");
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "pdf" ) {
|
||||
if ($tipe == "D") {
|
||||
$html = '<p class="judul">Daftar Usulan Pembangunan Desa untuk Tahun '.$tahun.'<br>Berdasarkan Kecamatan dan OPD</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th colspan="2">Usulan Kegiatan</th><th>Volume</th><th>Lokasi</th><th>Jumlah</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td class="c" rowspan="2">%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td></tr><tr><td class="i" colspan="2">%s</td><td class="i" colspan="2">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td colspan="4" class="b">%s</td><td class="r b">%s</td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$kkec = ""; $kopd = ""; $kdesa = ""; $n_opd = "";
|
||||
while ($db->Next()) {
|
||||
$n_opd = $db->Row("N_OPD");
|
||||
if ($kopd == "") {
|
||||
$html .= sprintf($footer, $db->Row("OPDID"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("OPDID"));
|
||||
}
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
$body .= sprintf($_sub, "opd", $n_opd, rupiah($db->Row("OPD_RUPIAH")));
|
||||
if ($kopd <> "") {
|
||||
$html .= sprintf($footer, $db->Row("OPDID"), $n_opd);
|
||||
$body .= sprintf($_setfoot, $db->Row("OPDID"));
|
||||
}
|
||||
$kopd = $db->Row("K_OPD");
|
||||
$kdesa = "";
|
||||
}
|
||||
if ($kdesa <> $db->Row("K_Desa")) {
|
||||
$body .= sprintf($_sub, "desa", $db->Row("N_Desa"), rupiah($db->Row("KEL_RUPIAH")));
|
||||
$kdesa = $db->Row("K_Desa");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("Kode"), $db->Row("Usulan"), $db->Row("Vol_Satuan"), $db->Row("Lokasi"), rupiah($db->Row("Rupiah")), "Permasalahan : ".$db->Row("Masalah"), "Dusun : ".$db->Row("Dusun")." / RT : ".$db->Row("RT"));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
|
||||
} else {
|
||||
$html = '<p class="judul">Rekap Usulan Pembangunan Desa untuk Tahun '.$tahun.'<br>Berdasarkan Kecamatan dan OPD</p>';
|
||||
$footer = '<htmlpagefooter name="RepFoot%s"><table class="footer"><tr><td width="33%%">eMusrenbang - Kabupaten Sambas</td><td width="34%%" class="c">%s</td><td width="33%%" class="r i">{DATE d-m-Y H:i} / Halaman : {PAGENO} dari {nbpg}</td></tr></table></htmlpagefooter>';
|
||||
$_setfoot = '<sethtmlpagefooter name="RepFoot%s" show-this-page="1" value="on" />';
|
||||
|
||||
$t_head = '<div><table class="garis" autosize="1"><thead><tr><th>Kecamatan / OPD / Desa</th><th>Jumlah</th></tr></thead><tbody>';
|
||||
$t_foot = '</tbody></table></div>';
|
||||
|
||||
$_line = '<tr><td>%s</td><td class="r">%s</td></tr>';
|
||||
$_sub = '<tr class="%s"><td class="b">%s</td><td class="r b">%s</td></tr>';
|
||||
|
||||
$body = $t_head;
|
||||
$html .= sprintf($footer, "1", "Rekap Usulan OPD");
|
||||
$body .= sprintf($_setfoot, "1");
|
||||
|
||||
$kkec = ""; $kopd = "";
|
||||
while ($db->Next()) {
|
||||
if ($kkec <> $db->Row("K_Kec")) {
|
||||
$body .= sprintf($_sub, "kec", "KECAMATAN ".$db->Row("N_Kec"), rupiah($db->Row("KEC_RUPIAH")));
|
||||
$kkec = $db->Row("K_Kec");
|
||||
}
|
||||
if ($kopd <> $db->Row("K_OPD")) {
|
||||
$body .= sprintf($_sub, "opd", $db->Row("N_OPD"), rupiah($db->Row("OPD_RUPIAH")));
|
||||
$kopd = $db->Row("K_OPD");
|
||||
}
|
||||
$body .= sprintf($_line, $db->Row("N_Desa"), rupiah($db->Row("KEL_RUPIAH")));
|
||||
}
|
||||
$body .= sprintf($t_foot);
|
||||
}
|
||||
|
||||
$mpdf = new \Mpdf\Mpdf([
|
||||
'mode' => 'c',
|
||||
'format' => 'A4-L',
|
||||
'margin_left' => 8,
|
||||
'margin_right' => 8,
|
||||
'margin_top' => 8,
|
||||
'margin_header' => 5,
|
||||
'margin_footer' => 5
|
||||
]);
|
||||
$mpdf->SetDisplayMode('fullpage');
|
||||
$css = file_get_contents($_SESSION['__WEB_APP']['REAL_PATH'].'assets/css/pdf/musrenbang.css');
|
||||
$mpdf->WriteHTML($css, \Mpdf\HTMLParserMode::HEADER_CSS);
|
||||
$mpdf->WriteHTML($html . $body, \Mpdf\HTMLParserMode::HTML_BODY);
|
||||
$mpdf->SetAuthor($_SESSION['__WEB_APP']['REG_NAME']);
|
||||
$mpdf->SetCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER']);
|
||||
$mpdf->setTitle("Usulan ".$nama_kec);
|
||||
$mpdf->Output("Usulan ".$nama_kec.".pdf", \Mpdf\Output\Destination::INLINE);
|
||||
|
||||
} 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);
|
||||
$ttipe = $form->radio("_", "Tipe", "D", true, true, array('D'=>"Detail",'R'=>"Rekap"));
|
||||
$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")));
|
||||
$topd = $form->option_db("_", "OPDID", 0, true, false, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1 ORDER BY K_OPD", array(0,"SEMUA OPD"));
|
||||
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="OPDID">Nama Perangkat Deerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Tipe">Jenis Laporan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$ttipe.'</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -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);
|
||||
?>
|
||||
@@ -0,0 +1,285 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/desa.php
|
||||
Desc. : PHP - Usulan Desa
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$emus_enable = Param::Get("Hak_Usulan", 0);
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_bel = Param::Get("BelID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-bel","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU IN (0,2)";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-bel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND BelID='".$id_bel."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0])) ? 1: 0;
|
||||
if (in_array($_SESSION['__WEB_USER']['Level'],[2,7])) {
|
||||
$f_usul = "IFNULL(H.Hak_Usulan,1)";
|
||||
}
|
||||
$qakses = "Tahun='".$thn_renja."'";
|
||||
$qakses .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,IFNULL(K.Waktu,'0000-00-00 00:00:00') Waktu0,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,".$f_usul." Hak_Usulan FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,MAX(DateStamp) Waktu FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID) LEFT JOIN (SELECT KecID,Hak_Usulan FROM sippd_akses_mus WHERE ".$qakses." ORDER BY KecID) H ON (H.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("Hak_Usulan", "Akses", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->add_field("Waktu0", "Terakhir Input", "c nwr", "sqljams", "", "val-tgljams");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Desa", "MUsulDesaJS.kec_select");
|
||||
$obj->set_func_navi("MUsulDesaJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Belanja", "MUsulDesaJS.kel_select");
|
||||
$obj->set_func_navi("MUsulDesaJS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-bel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.BelID BelID2,M.K_Belanja,M.N_Belanja FROM (SELECT * FROM para_belanja WHERE ".$msql.") M LEFT JOIN (SELECT BelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY BelID) K ON (K.BelID=M.BelID)");
|
||||
$obj->add_field("BelID2", "ID", "hid");
|
||||
$obj->add_field("K_Belanja", "Kode", "c");
|
||||
$obj->add_field("N_Belanja", "Jenis Belanja", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("K_Belanja", "A");
|
||||
$obj->add_row_btn("save", "Usulan", "MUsulDesaJS.bel_select");
|
||||
$obj->set_func_navi("MUsulDesaJS.data_query('tabel-bel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divBEL");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["insert","update","delete"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Lokasi");
|
||||
$sql->add_param("Dusun");
|
||||
$sql->add_param("RT");
|
||||
$sql->add_param("Masalah");
|
||||
$sql->add_param("Usulan");
|
||||
$sql->add_param("Sasaran");
|
||||
$sql->add_param("Waktu");
|
||||
$sql->add_param("Volume");
|
||||
$sql->add_param("SatuanID");
|
||||
$sql->add_param("Rupiah");
|
||||
$sql->add_param("OPDID");
|
||||
$sql->add_param_stamp();
|
||||
$sql->add_param_userid();
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID", $id_usul);
|
||||
|
||||
if ( $mode_detail == "insert" ) {
|
||||
$id_usul = ID_Usulan_Desa($id_rpjmd, $thn_renja);
|
||||
$sql->add_param("RPJMDID", $id_rpjmd);
|
||||
$sql->add_param("Tahun", $thn_renja);
|
||||
$sql->add_param("UsulanLID", $id_usul);
|
||||
$sql->add_param("KecID", $id_kec);
|
||||
$sql->add_param("KelID", $id_kel);
|
||||
$sql->add_param("BelID", $id_bel);
|
||||
$sql->add_param("Kode", Kode_Usulan_Desa($thn_renja, $id_kel));
|
||||
$sql->add_param("K_RKA", "CONCAT(Tahun,'-',Kode)", true);
|
||||
$sql->InsertDB();
|
||||
} else if ( $mode_detail == "update" ) {
|
||||
$sql->UpdateDB();
|
||||
} else if ( $mode_detail == "delete" ) {
|
||||
$sql->DeleteDB();
|
||||
}
|
||||
if (in_array($mode_detail, ["insert","update"])) {
|
||||
$db->Query("UPDATE mus_usulan_desa SET Lokasi2=Lokasi,Dusun2=Dusun,RT2=RT,Masalah2=Masalah,Usulan2=Usulan,Sasaran2=Sasaran,Waktu2=Waktu,Volume2=Volume,SatuanID2=SatuanID,Rupiah2=Rupiah WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' AND FUbah=0");
|
||||
}
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(BAksi=0,'Belum Verifikasi','Ok') XKet,IF(BAksi=0,0,1) XAksi FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah) Rupiah FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("XKet", "Status", "l");
|
||||
$obj->set_field_order("Usulan", "A");
|
||||
$obj->set_row_color("BAksi", 1, "rsuccess");
|
||||
$obj->set_row_color("BAksi", 2, "rdanger");
|
||||
$obj->set_row_color("BAksi", 3, "rwarning");
|
||||
if ($emus_enable) {
|
||||
$obj->add_row_btn("clipboard", "Ubah", "MUsulDesaJS.keg_ubah");
|
||||
$obj->add_row_btn("trash", "Hapus", "MUsulDesaJS.keg_hapus", "KelID", $id_kel);
|
||||
$obj->set_func_btn("MUsulDesaJS.keg_tambah", "+ Usulan");
|
||||
} else {
|
||||
$obj->add_row_btn("clipboard", "Detail", "MUsulDesaJS.keg_ubah");
|
||||
}
|
||||
$obj->set_func_navi("MUsulDesaJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($emus_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT", $adetail['RT'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun", $adetail['Dusun'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan", $adetail['Usulan'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran", $adetail['Sasaran'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu", $adetail['Waktu'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume", $adetail['Volume'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID", $adetail['SatuanID'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double", "nilai anggaran");
|
||||
|
||||
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Input Usulan Desa - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<input id="Hak_Usulan" type="hidden" value="1">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_BEL" placeholder="Jenis Belanja" type="text" readonly>
|
||||
<input id="BelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butBEL"><span><i class="bi-arrow-left-right"></span></i>Belanja</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divBEL"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,239 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/hasil.php
|
||||
Desc. : PHP - nput Hasil Usulan Desa
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$emus_enable = true;
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-opd","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU IN (0,2)";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-opd" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND OPDID='".$id_opd."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Desa", "MUsulHasilJS.kec_select");
|
||||
$obj->set_func_navi("MUsulHasilJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "OPD", "MUsulHasilJS.kel_select");
|
||||
$obj->set_func_navi("MUsulHasilJS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-opd" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,IF(K.TOT_PRIO>0,1,0) W_OPD FROM (SELECT OPDID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(Prio) TOT_PRIO FROM mus_usulan_desa WHERE ".$qsql." GROUP BY OPDID) K LEFT JOIN (SELECT * FROM para90_opd WHERE ".$msql.") M ON (M.OPDID=K.OPDID)");
|
||||
$obj->add_field("OPDID2", "ID", "hid");
|
||||
$obj->add_field("K_OPD", "Kode", "c");
|
||||
$obj->add_field("N_OPD", "Perangkat Daerah", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("K_OPD", "A");
|
||||
$obj->set_row_color("W_OPD", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Usulan", "MUsulHasilJS.opd_select");
|
||||
$obj->set_func_navi("MUsulHasilJS.data_query('tabel-opd')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divOPD");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["update"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Prio");
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID", $id_usul);
|
||||
$sql->UpdateDB();
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(Prio>0,1,0) XPrio FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah) Rupiah FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->set_field_order("Usulan", "A");
|
||||
$obj->set_row_color("XPrio", 1, "rsuccess");
|
||||
$obj->add_row_btn("clipboard", "Hasil", "MUsulHasilJS.keg_ubah");
|
||||
$obj->set_func_navi("MUsulHasilJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($emus_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], false, false, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT", $adetail['RT'], false, false, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun", $adetail['Dusun'], false, false, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], false, false, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan", $adetail['Usulan'], false, false, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran", $adetail['Sasaran'], false, false, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu", $adetail['Waktu'], false, false, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], false, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume", $adetail['Volume'], false, false, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID", $adetail['SatuanID'], false, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], false, false, "double", "nilai anggaran");
|
||||
$tprio = $form->option("_", "Prio", $adetail['Prio'], $enable, false, MusPrio_Array());
|
||||
|
||||
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
<label class="col-sm-3 col-lg-5 col-form-label text-end" for="Prio">Prioritas</label>
|
||||
<div class="col-sm-2 col-lg-1">'.$tprio.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Input Hasil Usulan Desa - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_OPD" placeholder="Perangkat Daerah" type="text" readonly>
|
||||
<input id="OPDID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divOPD"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,235 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/kec.php
|
||||
Desc. : PHP - Usulan Kecamatan
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$emus_enable = Param::Get("Hak_Usulan", 0);
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU=3";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0])) ? 1: 0;
|
||||
if (in_array($_SESSION['__WEB_USER']['Level'],[2,7])) {
|
||||
$f_usul = "IFNULL(H.Hak_Usulan,1)";
|
||||
}
|
||||
$qakses = "Tahun='".$thn_renja."'";
|
||||
$qakses .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,IFNULL(K.Waktu,'0000-00-00 00:00:00') Waktu0,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,".$f_usul." Hak_Usulan FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(*) ITEM_KEG,SUM(Rupiah2) TOT_RUPIAH,MAX(DateStamp) Waktu FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID) LEFT JOIN (SELECT KecID,Hak_Usulan FROM sippd_akses_mus WHERE ".$qakses." ORDER BY KecID) H ON (H.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("Hak_Usulan", "Akses", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->add_field("Waktu0", "Terakhir Input", "c nwr", "sqljams", "", "val-tgljams");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Usulan", "MUsulKecJS.kec_select");
|
||||
$obj->set_func_navi("MUsulKecJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["insert","update","delete"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Lokasi2");
|
||||
$sql->add_param("Dusun2");
|
||||
$sql->add_param("RT2");
|
||||
$sql->add_param("Masalah2");
|
||||
$sql->add_param("Usulan2");
|
||||
$sql->add_param("Sasaran2");
|
||||
$sql->add_param("Waktu2");
|
||||
$sql->add_param("Volume2");
|
||||
$sql->add_param("SatuanID2");
|
||||
$sql->add_param("Rupiah2");
|
||||
$sql->add_param("OPDID");
|
||||
$sql->add_param("KelID");
|
||||
$sql->add_param("FUbah", 1);//update oleh forum
|
||||
$sql->add_param("JU", 3);//jenis usulan kecamatan
|
||||
$sql->add_param_stamp();
|
||||
$sql->add_param_userid();
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID", $id_usul);
|
||||
|
||||
if ( $mode_detail == "insert" ) {
|
||||
$id_usul = ID_Usulan_Desa($id_rpjmd, $thn_renja);
|
||||
$sql->add_param("RPJMDID", $id_rpjmd);
|
||||
$sql->add_param("Tahun", $thn_renja);
|
||||
$sql->add_param("UsulanLID", $id_usul);
|
||||
$sql->add_param("KecID", $id_kec);
|
||||
$sql->add_param("Kode", Kode_Usulan_Kec($thn_renja, $id_kec));
|
||||
$sql->add_param("K_RKA", "CONCAT(Tahun,'-',Kode)", true);
|
||||
$sql->InsertDB();
|
||||
} else if ( $mode_detail == "update" ) {
|
||||
$sql->UpdateDB();
|
||||
} else if ( $mode_detail == "delete" ) {
|
||||
$sql->DeleteDB();
|
||||
}
|
||||
if (in_array($mode_detail, ["insert","update"])) {
|
||||
$db->Query("UPDATE mus_usulan_desa SET Lokasi=Lokasi2,Dusun=Dusun2,RT=RT2,Masalah=Masalah2,Usulan=Usulan2,Sasaran=Sasaran2,Waktu=Waktu2,Volume=Volume2,SatuanID=SatuanID2,Rupiah=Rupiah2 WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' AND FUbah=1 AND JU=3");
|
||||
}
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume2,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(BAksi=0,'Belum Verifikasi','Ok') XKet,IF(BAksi=0,0,1) XAksi FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID2=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah2) Rupiah2 FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan2", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi2", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah2", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("XKet", "Status", "l");
|
||||
$obj->set_field_order("Usulan2", "A");
|
||||
$obj->set_row_color("BAksi", 1, "rsuccess");
|
||||
$obj->set_row_color("BAksi", 2, "rdanger");
|
||||
$obj->set_row_color("BAksi", 3, "rwarning");
|
||||
if ($emus_enable) {
|
||||
$obj->add_row_btn("clipboard", "Ubah", "MUsulKecJS.keg_ubah");
|
||||
$obj->add_row_btn("trash", "Hapus", "MUsulKecJS.keg_hapus", "KecID", $id_kec);
|
||||
$obj->set_func_btn("MUsulKecJS.keg_tambah", "+ Usulan");
|
||||
} else {
|
||||
$obj->add_row_btn("clipboard", "Detail", "MUsulKecJS.keg_ubah");
|
||||
}
|
||||
$obj->set_func_navi("MUsulKecJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($emus_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi2", $adetail['Lokasi2'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT2", $adetail['RT2'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun2", $adetail['Dusun2'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah2", $adetail['Masalah2'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan2", $adetail['Usulan2'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran2", $adetail['Sasaran2'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu2", $adetail['Waktu2'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tkel = $form->option_db("_", "KelID", $adetail['KelID'], $enable, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Level=2 AND Aktif=1 AND IndukID='".$id_kec."' ORDER BY K_Lokasi", [0,"SATU KECAMATAN"]);
|
||||
$tvol = $form->textbox("_", "Volume2", $adetail['Volume2'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID2", $adetail['SatuanID2'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah2", $adetail['Rupiah2'], $enable, true, "double", "nilai anggaran");
|
||||
|
||||
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa *</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tkel.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi2">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun2">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah2">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan2">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran2">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu2">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume2">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah2">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Input Usulan Kecamatan - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<input id="Hak_Usulan" type="hidden" value="1">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,259 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/prio.php
|
||||
Desc. : PHP - Prioritas Usulan Desa
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 9th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$emus_enable = Param::Get("Hak_Prioritas", 0);
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_sidang = Param::Get("SidangID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-sid","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU IN (0,2)";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-sid" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND OPDID IN (SELECT OPDID FROM para90_opd WHERE SidangID='".$id_sidang."')";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0])) ? 1: 0;
|
||||
if (in_array($_SESSION['__WEB_USER']['Level'],[2,7])) {
|
||||
$f_usul = "IFNULL(H.Hak_Prioritas,1)";
|
||||
}
|
||||
$qakses = "Tahun='".$thn_renja."'";
|
||||
$qakses .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,".$f_usul." Hak_Prioritas FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID) LEFT JOIN (SELECT KecID,Hak_Prioritas FROM sippd_akses_mus WHERE ".$qakses." ORDER BY KecID) H ON (H.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("Hak_Prioritas", "Akses", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Desa", "MUsulPrioJS.kec_select");
|
||||
$obj->set_func_navi("MUsulPrioJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->add_row_btn("save", "Kelompok", "MUsulPrioJS.kel_select");
|
||||
$obj->set_func_navi("MUsulPrioJS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-sid" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.SidangID SidangID2,M.N_Sidang,IF(K.ITEM_PRIO=7,1,0) W_SID FROM (SELECT * FROM para_sidang WHERE ".$msql.") M LEFT JOIN (SELECT O.SidangID,SUM(A.ITEM_KEG) ITEM_KEG,SUM(TOT_RUPIAH) TOT_RUPIAH,SUM(A.ITEM_PRIO) ITEM_PRIO FROM (SELECT OPDID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(Prio>0,1,0)) ITEM_PRIO FROM mus_usulan_desa WHERE ".$qsql." GROUP BY OPDID) A LEFT JOIN para90_opd O ON (A.OPDID=O.OPDID) GROUP BY O.SidangID) K ON (K.SidangID=M.SidangID)");
|
||||
$obj->add_field("SidangID2", "ID", "hid");
|
||||
$obj->add_field("SidangID2", "Kode", "c");
|
||||
$obj->add_field("N_Sidang", "Kelompok Sidang", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->add_field("ITEM_PRIO", "Prioritas", "r", "rupiah");
|
||||
$obj->set_field_order("SidangID2", "A");
|
||||
$obj->set_row_color("W_SID", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Usulan", "MUsulPrioJS.sid_select");
|
||||
$obj->set_func_navi("MUsulPrioJS.data_query('tabel-sid')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divSID");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if ($mode_detail=="update") {
|
||||
$i_prio = Param::Get("Prio", 0);
|
||||
if ($i_prio>0) {
|
||||
$ada = false;
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE JU IN (0,2) AND RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND OPDID IN (SELECT OPDID FROM para90_opd WHERE SidangID='".$id_sidang."') AND UsulanLID<>'".$id_usul."' AND Prio='".$i_prio."'");
|
||||
if ($db->Next()) $ada = true;
|
||||
if ($ada==true) $db->Query("UPDATE mus_usulan_desa SET Prio=IF(Prio+1>5,0,Prio+1) WHERE JU IN (0,2) AND RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND OPDID IN (SELECT OPDID FROM para90_opd WHERE SidangID='".$id_sidang."') AND UsulanLID<>'".$id_usul."' AND Prio>='".$i_prio."'");
|
||||
}
|
||||
$db->Query("UPDATE mus_usulan_desa SET Prio='".$i_prio."' WHERE JU IN (0,2) AND RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."'");
|
||||
$db->Query("UPDATE mus_usulan_desa SET JU=2 WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND Prio>0");
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume,' ',S.N_Satuan) N_Satuan FROM (SELECT * FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah) Rupiah FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
if ($emus_enable) {
|
||||
$obj->add_field("Prio", "Prio", "c select", "MUSPrio", "", "dom-select-zerolast");
|
||||
} else {
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
}
|
||||
$obj->set_field_order("Prio", "A");
|
||||
$obj->set_row_color("Prio", 1, "rp1");
|
||||
$obj->set_row_color("Prio", 2, "rp2");
|
||||
$obj->set_row_color("Prio", 3, "rp3");
|
||||
$obj->set_row_color("Prio", 4, "rp4");
|
||||
$obj->set_row_color("Prio", 5, "rp5");
|
||||
$obj->add_row_btn("clipboard", "Detail", "MUsulPrioJS.keg_ubah");
|
||||
$obj->set_func_navi("MUsulPrioJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($emus_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], false, false);
|
||||
$trt = $form->textbox("_", "RT", $adetail['RT'], false, false, "text");
|
||||
$tdusun = $form->textbox("_", "Dusun", $adetail['Dusun'], false, false, "text");
|
||||
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], false, false, 2);
|
||||
$tusulan = $form->textarea("_", "Usulan", $adetail['Usulan'], false, false, 2);
|
||||
$tsasa = $form->textbox("_", "Sasaran", $adetail['Sasaran'], false, false, "text");
|
||||
$twaktu = $form->textbox("_", "Waktu", $adetail['Waktu'], false, false, "text");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], false, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume", $adetail['Volume'], false, false, "double");
|
||||
$tsatu = $form->option_db("_", "SatuanID", $adetail['SatuanID'], false, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], false, false, "double");
|
||||
$tprio = $form->option("_", "Prio", $adetail['Prio'], $enable, false, MusPrio_Array());
|
||||
|
||||
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
<label class="col-sm-3 col-lg-5 col-form-label text-end" for="Prio">Prioritas</label>
|
||||
<div class="col-sm-2 col-lg-1">'.$tprio.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Input Prioritas Usulan Desa - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<input id="Hak_Prioritas" type="hidden" value="1">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_SID" placeholder="Jenis Belanja" type="text" readonly>
|
||||
<input id="SidangID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butSID"><span><i class="bi-arrow-left-right"></span></i>Sidang</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divSID"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
@@ -0,0 +1,260 @@
|
||||
<?php
|
||||
|
||||
/*******************************************************************
|
||||
|
||||
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
|
||||
Module : /apps/php/usul/valid.php
|
||||
Desc. : PHP - Validasi Usulan Desa
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : October 28th, 2011.
|
||||
Last Modified : January 13th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
*******************************************************************/
|
||||
|
||||
require_once(__DIR__."/../../../../../vendor/autoload.php");
|
||||
require_once(__DIR__."/../func/musrenbang.php");
|
||||
|
||||
use siaupheng\fonia3\DB\MySQL;
|
||||
use siaupheng\fonia3\DB\SQL;
|
||||
use siaupheng\fonia3\Web\Param;
|
||||
use siaupheng\fonia3\Web\Table;
|
||||
use siaupheng\fonia3\Web\Form;
|
||||
|
||||
$db = (is_resource($db)) ? $db : new MySQL();
|
||||
$ajson = [];
|
||||
$data = Param::Get("data");
|
||||
$mode = Param::Get("mode");
|
||||
$mode_detail = Param::Get("mode_detail");
|
||||
$emus_enable = true;
|
||||
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
|
||||
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
|
||||
$id_kec = Param::Get("KecID", 0);
|
||||
$id_kel = Param::Get("KelID", 0);
|
||||
$id_bel = Param::Get("BelID", 0);
|
||||
$id_usul = Param::Get("UsulanLID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-kec","tabel-kel","tabel-bel","tabel-keg"]) ) {
|
||||
$qsql = "Tahun='".$thn_renja."' AND JU IN (0,2)";
|
||||
$msql = "Aktif=1";
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$qsql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND KecID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": "";
|
||||
$msql .= ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."'";
|
||||
$msql .= " AND Level=2 AND IndukID='".$id_kec."'";
|
||||
} else if ( $data == "tabel-bel" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."'";
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
$qsql .= " AND KecID='".$id_kec."' AND KelID='".$id_kel."' AND BelID='".$id_bel."'";
|
||||
}
|
||||
}
|
||||
|
||||
if ( $data == "tabel-kec" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KecID2,M.K_Lokasi,M.N_Lokasi,IF(K.ITEM_KEG=K.ITEM_DONE,1,0) W_DONE FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KecID,COUNT(DISTINCT KelID) ITEM_KEL,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(BAksi=1,1,0)) ITEM_DONE FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KecID) K ON (K.KecID=M.LokasiID)");
|
||||
$obj->add_field("KecID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Kecamatan", "awr");
|
||||
$obj->add_field("ITEM_KEL", "Desa", "r", "rupiah");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("ITEM_DONE", "Validasi", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->set_row_color("W_DONE", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Desa", "MUsulValidJS.kec_select");
|
||||
$obj->set_func_navi("MUsulValidJS.data_query('tabel-kec')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEC");
|
||||
|
||||
} else if ( $data == "tabel-kel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.LokasiID KelID2,M.K_Lokasi,M.N_Lokasi,IF(K.ITEM_KEG=K.ITEM_DONE,1,0) W_DONE FROM (SELECT * FROM para_lokasi WHERE ".$msql.") M LEFT JOIN (SELECT KelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(BAksi=1,1,0)) ITEM_DONE FROM mus_usulan_desa WHERE ".$qsql." GROUP BY KelID) K ON (K.KelID=M.LokasiID)");
|
||||
$obj->add_field("KelID2", "ID", "hid");
|
||||
$obj->add_field("K_Lokasi", "Kode", "c");
|
||||
$obj->add_field("N_Lokasi", "Nama Desa", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("ITEM_DONE", "Validasi", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("N_Lokasi", "A");
|
||||
$obj->set_row_color("W_DONE", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Belanja", "MUsulValidJS.kel_select");
|
||||
$obj->set_func_navi("MUsulValidJS.data_query('tabel-kel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEL");
|
||||
|
||||
} else if ( $data == "tabel-bel" ) {
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT K.*,M.BelID BelID2,M.K_Belanja,M.N_Belanja,IF(K.ITEM_KEG=K.ITEM_DONE,1,0) W_DONE FROM (SELECT * FROM para_belanja WHERE ".$msql.") M LEFT JOIN (SELECT BelID,COUNT(*) ITEM_KEG,SUM(Rupiah) TOT_RUPIAH,SUM(IF(BAksi=1,1,0)) ITEM_DONE FROM mus_usulan_desa WHERE ".$qsql." GROUP BY BelID) K ON (K.BelID=M.BelID)");
|
||||
$obj->add_field("BelID2", "ID", "hid");
|
||||
$obj->add_field("K_Belanja", "Kode", "c");
|
||||
$obj->add_field("N_Belanja", "Jenis Belanja", "awr");
|
||||
$obj->add_field("ITEM_KEG", "Usulan", "r", "rupiah");
|
||||
$obj->add_field("ITEM_DONE", "Validasi", "r", "rupiah");
|
||||
$obj->add_field("TOT_RUPIAH", "Anggaran", "nwr r", "rupiah");
|
||||
$obj->set_field_order("K_Belanja", "A");
|
||||
$obj->set_row_color("W_DONE", 1, "rsuccess");
|
||||
$obj->add_row_btn("save", "Usulan", "MUsulValidJS.bel_select");
|
||||
$obj->set_func_navi("MUsulValidJS.data_query('tabel-bel')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divBEL");
|
||||
|
||||
} else if ( $data == "tabel-keg" ) {
|
||||
if (in_array($mode_detail, ["update"])) {
|
||||
$sql = new SQL($db);
|
||||
$sql->set_table("mus_usulan_desa");
|
||||
$sql->add_param("Lokasi");
|
||||
$sql->add_param("Dusun");
|
||||
$sql->add_param("RT");
|
||||
$sql->add_param("Masalah");
|
||||
$sql->add_param("Usulan");
|
||||
$sql->add_param("Sasaran");
|
||||
$sql->add_param("Waktu");
|
||||
$sql->add_param("Volume");
|
||||
$sql->add_param("SatuanID");
|
||||
$sql->add_param("Rupiah");
|
||||
$sql->add_param("OPDID");
|
||||
$sql->add_param("BAksi", 1);//todo: hanya ada 1 aksi oleh bappeda
|
||||
$sql->add_param_stamp("Verify_Stamp");
|
||||
$sql->add_param_userid("Verify_UserID");
|
||||
$sql->add_where("RPJMDID", $id_rpjmd);
|
||||
$sql->add_where("Tahun", $thn_renja);
|
||||
$sql->add_where("UsulanLID", $id_usul);
|
||||
$sql->UpdateDB();
|
||||
|
||||
$db->Query("UPDATE mus_usulan_desa SET Lokasi2=Lokasi,Dusun2=Dusun,RT2=RT,Masalah2=Masalah,Usulan2=Usulan,Sasaran2=Sasaran,Waktu2=Waktu,Volume2=Volume,SatuanID2=SatuanID,Rupiah2=Rupiah WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' AND FUbah=0");
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT R.*,CONCAT(R.Volume,' ',S.N_Satuan) N_Satuan FROM (SELECT *,IF(BAksi=0,'Belum Verifikasi','Ok') XKet,IF(BAksi=0,0,1) XAksi FROM mus_usulan_desa WHERE ".$qsql.") R LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID)");
|
||||
$obj->set_query_footer("SELECT R.*,CONCAT(R.Item,' Usulan') N_Satuan FROM (SELECT COUNT(*) Item,SUM(Rupiah) Rupiah FROM mus_usulan_desa WHERE ".$qsql.") R");
|
||||
$obj->add_field("UsulanLID", "ID", "hid");
|
||||
$obj->add_field("Kode", "Kode", "c");
|
||||
$obj->add_field("Usulan", "Usulan Kegiatan", "awr");
|
||||
$obj->add_field("Lokasi", "Lokasi", "awr");
|
||||
$obj->add_field("N_Satuan", "Volume", "l");
|
||||
$obj->add_field("Rupiah", "Anggaran", "nwr r", "rupiah", "rupiah");
|
||||
$obj->add_field("Prio", "Prio", "c", "", "", "val-zerolast");
|
||||
$obj->add_field("XKet", "Status", "l");
|
||||
$obj->set_field_order("Usulan", "A");
|
||||
$obj->set_row_color("XAksi", 1, "rsuccess");
|
||||
$obj->add_row_btn("clipboard", "Verifikasi", "MUsulValidJS.keg_ubah");
|
||||
$obj->set_func_navi("MUsulValidJS.data_query('tabel-keg')");
|
||||
$obj->set_textbtn(true);
|
||||
$ajson[] = $obj->json_table("divKEG");
|
||||
|
||||
} else if ( $data == "detail-keg" ) {
|
||||
$enable = ($emus_enable) ? true : false;
|
||||
$adetail = ['UsulanLID'=>0, 'Kode'=>"Usulan Baru"];
|
||||
if ($id_usul > 0) {
|
||||
$db->Query("SELECT * FROM mus_usulan_desa WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$thn_renja."' AND UsulanLID='".$id_usul."' LIMIT 1");
|
||||
if ($db->Next()) $adetail = $db->AllRow();
|
||||
}
|
||||
|
||||
$form = new Form($db);
|
||||
$tkode = $form->textbox("_", "Kode", $adetail['Kode'], false, false);
|
||||
$tlokasi = $form->textbox("_", "Lokasi", $adetail['Lokasi'], $enable, true, "text", "lokasi kegiatan");
|
||||
$trt = $form->textbox("_", "RT", $adetail['RT'], $enable, true, "text", "rt dan rw");
|
||||
$tdusun = $form->textbox("_", "Dusun", $adetail['Dusun'], $enable, true, "text", "nama dusun");
|
||||
$tmasa = $form->textarea("_", "Masalah", $adetail['Masalah'], $enable, true, 2, "permasalahan");
|
||||
$tusulan = $form->textarea("_", "Usulan", $adetail['Usulan'], $enable, true, 2, "usulan kegiatan");
|
||||
$tsasa = $form->textbox("_", "Sasaran", $adetail['Sasaran'], $enable, true, "text", "sasaran / manfaat");
|
||||
$twaktu = $form->textbox("_", "Waktu", $adetail['Waktu'], $enable, true, "text", "waktu pelaksanaan");
|
||||
$topd = $form->option_db("_", "OPDID", $adetail['OPDID'], $enable, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "IK=0 ORDER BY K_OPD", [0," "]);
|
||||
$tvol = $form->textbox("_", "Volume", $adetail['Volume'], $enable, true, "double", "nilai volume");
|
||||
$tsatu = $form->option_db("_", "SatuanID", $adetail['SatuanID'], $enable, false, "para_satuan", ["SatuanID","N_Satuan"], "Aktif=1 ORDER BY N_Satuan", [0," "]);
|
||||
$trupiah = $form->textbox("_", "Rupiah", $adetail['Rupiah'], $enable, true, "double", "nilai anggaran");
|
||||
$tprio = $form->option("_", "Prio", $adetail['Prio'], false, false, MusPrio_Array());
|
||||
|
||||
$ajson['html'] = '<form id="formUsulDesa" novalidate="novalidate">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label">Kode Usulan</label>
|
||||
<div class="col-sm-3 col-lg-3">'.$tkode.'</div>
|
||||
<label class="col-sm-3 col-lg-5 col-form-label text-end" for="Prio">Prioritas</label>
|
||||
<div class="col-sm-2 col-lg-1">'.$tprio.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tlokasi.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Dusun">Dusun dan RT / RW</label>
|
||||
<div class="col-sm-4 col-lg-5">'.$tdusun.'</div>
|
||||
<div class="col-sm-4 col-lg-4">'.$trt.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Masalah">Permasalahan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tmasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Usulan">Usulan Kegiatan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tusulan.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Sasaran">Sasaran / Manfaat</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$tsasa.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Waktu">Waktu Pelaksanaan</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$twaktu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
|
||||
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
|
||||
</div>
|
||||
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Volume">Volume Kegiatan</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$tvol.'</div>
|
||||
<div class="col-sm-4 col-lg-5">'.$tsatu.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-3 col-form-label" for="Rupiah">Perkiraan Anggaran</label>
|
||||
<div class="col-sm-4 col-lg-4">'.$trupiah.'</div>
|
||||
</div></form>
|
||||
<input type="hidden" id="UsulanLID" value="'.$adetail['UsulanLID'].'" />
|
||||
<input type="hidden" id="mode_detail" value="'.$mode_detail.'" />';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Verifikasi Bappeda atas Usulan Desa - Tahun Perencanaan '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEC" placeholder="Nama Kecamatan" type="text" readonly>
|
||||
<input id="KecID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEC"><span><i class="bi-arrow-left-right"></span></i>Kecamatan</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_KEL" placeholder="Nama Desa" type="text" readonly>
|
||||
<input id="KelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butKEL"><span><i class="bi-arrow-left-right"></span></i>Desa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<input class="form-control" id="Nama_BEL" placeholder="Jenis Belanja" type="text" readonly>
|
||||
<input id="BelID" type="hidden" value="0">
|
||||
<button class="btn btn-info btn-ganti" type="button" id="butBEL"><span><i class="bi-arrow-left-right"></span></i>Belanja</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="divKEC"> </div>
|
||||
<div id="divKEL"> </div>
|
||||
<div id="divBEL"> </div>
|
||||
<div id="divKEG"> </div>
|
||||
</div></div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
send_json($ajson);
|
||||
?>
|
||||
Reference in New Issue
Block a user