first commit

This commit is contained in:
2026-05-22 08:49:20 +07:00
commit 2884ce69f1
90 changed files with 13308 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
# ignore visual studio code
/.vs/
# ignore cache content
**/cache/*
!**/cache/v3
# ignore mysql.php
**/mysql.php
# ignore live documents
**/dokumen/*
**/ttd/*
!**/ttd/blank-sign.png
+22
View File
@@ -0,0 +1,22 @@
# EMONEV
Sistem Aplikasi Monitoring dan Evaluasi
## Description
Sistem Aplikasi Monitoring dan Evaluasi adalah sistem atau aplikasi digital yang digunakan pemerintah untuk memantau, mengendalikan, dan mengevaluasi pelaksanaan rencana pembangunan.
## Authors
Developer dan programmer
[@siaupheng](mailto:[email protected])
## Version History
* 1.0
* Initial Release
## License
This project is licensed.
+88
View File
@@ -0,0 +1,88 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/cfg/app.php
Desc. : Konfigurasi Global Aplikasi
Created By : Siau Pheng ([email protected]).
Created Date : November 7th, 2009.
Last Modified : February 3rd, 2026.
(c) 2009 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
require_once(__DIR__."/mysql.php");
require_once(__DIR__."/../php/func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
$db = $db ?? new MySQL();
if (($_SESSION['__WEB_APP']['APP_CODE'] ?? "")<>"2007809611") {
foreach ($_SESSION as $_key => $_val) {
if (substr($_key,0,5)=="__WEB") unset($_SESSION[$_key]);
if (substr($_key,0,5)=="__APP") unset($_SESSION[$_key]);
}
}
if (!isset($_SESSION['__WEB_APP'])) {
$real_path = str_replace("\\", "/", __DIR__);
$real_path = str_replace("apps/cfg", "", $real_path);
$web_path = str_replace($_SERVER['DOCUMENT_ROOT'], "/", $real_path);
$web_path = str_replace("//", "/", $web_path);
$real_path = str_replace("//", "/", $real_path);
$apps = [];
$apps['APP_CODE'] = "2007809611";
$apps['APP_NAME'] = "eMONEv";
$apps['APP_NAMES'] = "Sistem Informasi Perencanaan Pembangunan Daerah";
$apps['APP_VER'] = "1.0";
$apps['APP_UPDATED'] = "July 26th, 2021.";
$apps['APP_SID'] = md5(time());
$apps['APP_LOCALE'] = array("id"=>"Indonesia", "en"=>"English");
$apps['DEF_LOCALE'] = "id";
$apps['AUTH_OVER'] = false;
$apps['AUTH_LEVEL'] = 1;
$apps['USER_LEVEL'] = [0 => "ADMINISTRATOR", 1 => "KABUPATEN / BIDANG", 2 => "KECAMATAN", 7=>"KELURAHAN / DESA", 3 => "OPD", 5 => "DPRD", 9 => "VIEWER"];
$apps['USER_LOG'] = true;
$apps['USE_QZTRAY'] = false;
$apps['CREATOR_YEAR'] = "2020";
$apps['CREATOR_NAME'] = "3FONIA Software";
$apps['CREATOR_WEBSITE'] = "http://www.3fonia.com";
$apps['WEB_PATH'] = $web_path;
$apps['REAL_PATH'] = $real_path;
$apps['MODULE_PATH'] = "../";
$apps['PARENT_SUB'] = false;
$apps['PARENT_CODE'] = "2007809605";
$apps['PARENT_SITE'] = "https://sicanda.mempawahkab.go.id";
$db->Query("SELECT * FROM app_config WHERE REG_ID='".$apps['APP_CODE']."' LIMIT 1");
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
if ($apps['APP_BUILD']<>"") $apps['APP_VER'] = $apps['APP_BUILD'];
$db->Query("SELECT * FROM sippd_config WHERE REG_ID='".$apps['PARENT_CODE']."' LIMIT 1");
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
$db->Query("SELECT Tahun_Min,Tahun_Max,Ket Renc_Periode FROM vi_para_rpjmd WHERE RPJMDID='".$apps['RENC_RPJMDID']."' LIMIT 1");
if ($db->Next()) $apps = array_merge($apps, $db->AllRow());
$db->Query("SELECT * FROM vi_para_rpjmd WHERE RPJMDID='".$apps['REAL_RPJMDID']."' LIMIT 1");
if ($db->Next()) $ainfo = $db->AllRow();
$apps['Real_Tahun_Min'] = $ainfo['Tahun_Min'];
$apps['Real_Tahun_Max'] = $ainfo['Tahun_Max'];
$apps['Real_Periode'] = $ainfo['N_RPJMD'];
// Cari Kode Awal Field Realisasi, basis REAL_THN (Config)
if ($ainfo['Tahun1']==$apps['REAL_THN']) $apps['REAL_FIELD'] = "T1_";
if ($ainfo['Tahun2']==$apps['REAL_THN']) $apps['REAL_FIELD'] = "T2_";
if ($ainfo['Tahun3']==$apps['REAL_THN']) $apps['REAL_FIELD'] = "T3_";
if ($ainfo['Tahun4']==$apps['REAL_THN']) $apps['REAL_FIELD'] = "T4_";
if ($ainfo['Tahun5']==$apps['REAL_THN']) $apps['REAL_FIELD'] = "T5_";
// mapping tahun nomenklatur submap
$apps['SUBMAP_TAHUN'] = map_tahun_submap($apps['REAL_THN']);
$apps['AKUN_TAHUN'] = map_tahun_akun($apps['REAL_THN']);
$apps['URUSAN_RUTIN'] = 20;
$_SESSION['__WEB_APP'] = $apps;
}
?>
+73
View File
@@ -0,0 +1,73 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/cfg/assets.php
Desc. : Konfigurasi Assets Aplikasi [css / js]
Created By : Siau Pheng ([email protected]).
Created Date : November 23rd, 2019.
Last Modified : August 16th, 2019.
(c) 2019 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$A_CSS = ["bootstrap/bootstrap.icon.css", "bootstrap/bootstrap.css"];
$A_JS = ["jquery/jquery.js", "jquery/jquery.base64.js", "bootstrap/bootstrap.bundle.js", "fonia3.js"];
if (!user_logged()) {
$A_JS[] = "jquery/jquery.backstretch.js";
} else {
//$A_CSS[] = "coreui/coreui.chartjs.css";
$A_CSS[] = "datatables/dataTables.bootstrap5.css";
$A_CSS[] = "datatables/responsive.bootstrap5.css";
$A_CSS[] = "datatables/scroller.bootstrap5.css";
$A_CSS[] = "datatables/stateRestore.bootstrap5.css";
$A_CSS[] = "select2/select2.css";
$A_CSS[] = "select2/select2-bootstrap-5-theme.css";
$A_CSS[] = "bootstrap/bootstrap.datepicker.css";
//$A_CSS[] = "simplebar.css";
//$A_CSS[] = "lightbox.css";
//$A_CSS[] = "codemirror.css";
//$A_CSS[] = "summernote-bs4.css";
$A_CSS[] = "default.css";
$A_CSS[] = "print.css";
$A_JS = [
"jquery/jquery.js",
"jquery/jquery.base64.js",
"jquery/jquery.autosize.js",
"jquery/jquery.maskedinput.js",
"jquery/jquery.validate.js",
"bootstrap/bootstrap.bundle.js",
"bootstrap/bootstrap.datepicker.js",
"bootstrap/bootstrap.autocomplete.js",
"datatables/jquery.dataTables.js",
"datatables/dataTables.bootstrap5.js",
"datatables/dataTables.responsive.js",
"datatables/responsive.bootstrap5.js",
"datatables/dataTables.scroller.js",
"datatables/dataTables.stateRestore.js",
"datatables/stateRestore.bootstrap5.js",
//"codemirror/codemirror.js",
//"codemirror/xml.js",
"moment.js",
"select2/select2.js",
"chart/chart.js",
//"chart/chartjs-plugin-datalabels.js",
//"simplebar.js",
//"lightbox.js",
//"summernote-bs4.js",
//"html5-qrcode.js",
"fonia3.js",
"print.js",
"pdf.js",
"export.js",
//"simulator.js",
//"pole-display.js"
];
}
?>
+25
View File
@@ -0,0 +1,25 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/cfg/mysql.php
Desc. : Konfigurasi Server MySQL
Created By : Siau Pheng ([email protected]).
Created Date : November 7th, 2009.
Last Modified : June 28th, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$APP_DATA = [
'host' => "127.0.0.1",
'port' => "3306",
'user' => "sippd_mpw",
'pwd' => "r4h4s14",
'db' => "sippd_mpw",
'sock' => ""
];
?>
+131
View File
@@ -0,0 +1,131 @@
/*******************************************************************
Module : /apps/js/index.js
Desc. : JS - Halaman Utama Desktop
Created By : Siau Pheng ([email protected]).
Created Date : May 24th, 2010.
Last Modified : May 14th, 2024.
(c) 2010 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$(document).ready(function(){
jQuery("#preloader").remove();
loadSidebar();
IndexJS.loading();
});
var IndexJS = {
loading: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=default'],
onSuccess: function(ares){
$('#pageContent').html(ares.content);
$('#pageToolbarTop').html('');
$('#pageToolbarBot').html('');
this.loadChart1();
this.loadChart2();
this.periode_info();
}.bind(this)
}).send();
},
periode_show: function(reset){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=periode-show','reset='+reset],
onSuccess: (adata) => {
if (!adata.aktif) this.winPeriode = FoniaJS.showWindow('Periode', 'Pilih Periode Data', adata.html, 'md', [{},{i:'butTutup'},{i:'butWSave',v:'Simpan',c:'success'}], () => {
$('#winPeriode').find('#butWSave').click(() => IndexJS.periode_simpan());
});
}
}).send();
},
periode_simpan: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=periode-simpan','OPTION_THN','OPTION_BLN'],
onSuccess: (adata) => {
if (adata.sukses) FoniaJS.showInfo('Sukses Ganti Periode Data');
FoniaJS.closeWindow(IndexJS.winPeriode);
setTimeout(() => {self.location = FoniaJS.WEB_PATH;}, 10);
}
}).send();
},
periode_info: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=periode-info'],
onSuccess: (ajson) => $('#liPeriode').html(ajson.html)
}).send();
},
loadChart1: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=chart1'],
onSuccess: function(ares){
$('#divHome1').removeClass('text-center');
if (ares.tipe=='chart') {
$('#divHome1').html('<div class="c-chart-wrapper pb-2"><canvas id="canvasChart1"></canvas></div>');
var ctx = $('#canvasChart1');
var myChart = new Chart(ctx, {
type: ares.chart.type,
data: ares.chart.data,
options: ares.chart.options
});
} else {
$('#divHome1').html(ares.html);
}
}
}).send();
},
loadChart2: function(){
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/index.php',
sendParam: ['data=chart2'],
onSuccess: function(ares){
if (ares.tipe=='chart') {
$('#divHome2').html('<div class="c-chart-wrapper pb-2"><canvas id="canvasChart2"></canvas></div>');
var ctx = $('#canvasChart2');
var myChart = new Chart(ctx, {
type: ares.chart.type,
data: ares.chart.data,
options: ares.chart.options
});
} else {
$('#divHome2').html(ares.html);
}
}
}).send();
}
};
function loadSidebar(){
const mySidebar = document.getElementById('sidebarMain');
mySidebar.addEventListener('shown.bs.modal', () => {
document.querySelectorAll('.sidebar .nav-link').forEach((element) => {
element.addEventListener('click', (e) => {
let nextEl = element.nextElementSibling, parentEl = element.parentElement;
if (nextEl){
e.preventDefault();
let mycollapse = new bootstrap.Collapse(nextEl);
if (nextEl.classList.contains('show')){
mycollapse.hide();
} else {
mycollapse.show();
var opened_submenu = parentEl.parentElement.querySelector('.submenu.show');
if (opened_submenu){ new bootstrap.Collapse(opened_submenu); }
}
}
});
})
});
}
+84
View File
@@ -0,0 +1,84 @@
/*******************************************************************
Module : /apps/js/login.js
Desc. : JS - Halaman Proses Login
Created By : Siau Pheng ([email protected]).
Created Date : January 15th, 2008.
Last Modified : June 28th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
$(document).ready(function(){
$('#butLogin').click(LoginJS.Proses_Login);
$('#Username').keydown(function(e){
if (e.which==13) $('#Password').focus();
});
$('#Password').keydown(function(e){
if (e.which==13) $('#butLogin').trigger('click');
});
LoginJS.Tampil_Login();
document.oncontextmenu = new Function ('return false');
jQuery.backstretch([
[
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/kanda_1280.jpg" },
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/kanda_960.jpg" }
],
[
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_1280.jpg" },
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/istana_960.jpg" }
],
[
{ width: 1280, url: FoniaJS.WEB_PATH+"assets/images/bs/mangrove_1280.jpg" },
{ width: 960, url: FoniaJS.WEB_PATH+"assets/images/bs/mangrove_960.jpg" }
]
], {
duration: 6000,
transition: 'push_left|push_right|cover_up|cover_down|fade',
transitionDuration: 600
});
});
var LoginJS = {
Tampil_Login: function(){
var Username = FoniaJS.getCookie('Username');
if (Username != '') {
$('#Username').val(Username);
FoniaJS.setFocus('#Password');
} else {
FoniaJS.setFocus('#Username');
}
},
Proses_Login: function(){
if (!$('#Username').val()){
$('#Username').focus();
FoniaJS.showError('Silahkan masukkan ID Pengguna !');
return false;
}
if (!$('#Password').val()){
$('#Password').focus();
FoniaJS.showError('Silahkan masukkan Kata Sandi !');
return false;
}
new Request.JSON({
url: FoniaJS.WEB_PATH+'apps/php/login.php',
sendParam: ['mode=login','Username','Password','OPTION_TAHUN','OPTION_BLN'],
onSuccess: function(respon){
if (respon.hasil == 'SUKSES'){
FoniaJS.setCookie('Username', $('#Username').val(), 365);
$('#divLoginMsg').html(respon.pesan).removeClass('d-none');
$('.input-group').addClass('d-none');
setTimeout(function(){self.location = FoniaJS.WEB_PATH+'?auth='+(respon.token??'');}, 1600);
}else{
FoniaJS.showInfo(respon.pesan, 3000);
if (respon.redir) setTimeout(function(){self.location = respon.redir;}, 600);
}
}
}).send();
}
};
+642
View File
@@ -0,0 +1,642 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/dpa.js
Desc. : JS - Kelola Data DPA
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 14th, 2025.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var DPAJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butPROG').click(function(){
if ($('#ProgID').val()>0) this.show_hide(2);
}.bind(this));
$('#butKEG').click(function(){
if ($('#KegID').val()>0) this.show_hide(3);
}.bind(this));
$('#butSUB').click(function(){
if ($('#SubID').val()>0) this.show_hide(4);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divPROG').css('display', 'none'); $('#butPROG').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none'); $('#butKEG').removeClass('btn-secondary').addClass('btn-info');
$('#divSUB').css('display', 'none'); $('#butSUB').removeClass('btn-secondary').addClass('btn-info');
$('#divAKUN').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#ORGID').val(0);
$('#AK_Bidu').val('');
$('#K_Bidu1').val('');
$('#Nama_OPD').val('');
$('#Hak_DPA').val(1);
}
if (no <= 1) {
$('#ProgID').val(0);
$('#Nama_PROG').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#KegID').val(0);
$('#Nama_KEG').val('');
$('#butPROG').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 3) {
$('#SubID').val(0);
$('#Nama_SUB').val('');
$('#butKEG').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 4) {
$('#butSUB').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divPROG').css('display', ''); this.data_query('tabel-prog'); }
if (no == 3) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
if (no == 4) { $('#divSUB').css('display', ''); this.data_query('tabel-sub'); }
if (no == 5) { $('#divAKUN').css('display', ''); this.data_query('tabel-akun'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#ORGID').val(acell[1]);
$('#Nama_OPD').val(acell[2]);
$('#AK_Bidu').val(acell[3]);
$('#K_Bidu1').val(acell[4]);
$('#Hak_DPA').val(acell[5]);
this.show_hide(2);
},
prog_select: function(acell){
$('#ProgID').val(acell[1]);
$('#Nama_PROG').val(acell[2]);
this.show_hide(3);
},
prog_brow: function() {
var _isi = new String('<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Prog" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divBrowProg">&nbsp;</div>');
this.winBProg = FoniaJS.showWindow('BProg', 'Daftar Program', _isi, 900, '', function(){
$('#winBProg').find('#Cari_Prog').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('brow-prog');
}.bind(this));
$('#winBProg').find('#butSearch').click(function(e){
this.data_query('brow-prog');
}.bind(this));
$('#winBProg').find('#butAll').click(function(){
$('#winBProg').find('#Cari_Prog').val('');
this.data_query('brow-prog');
}.bind(this));
this.data_query('brow-prog');
}.bind(this));
},
prog_brow_select: function(acell) {
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog','mode_detail=insert','Hak_DPA','ORGID','OPDID','K_Bidu1','ProgID='+acell[0],'K_Bidu='+acell[1],'K_Prog='+acell[2]],
onSuccess: function(){
FoniaJS.closeWindow(this.winBProg);
FoniaJS.showInfo("Program baru telah ditambahkan.");
}.bind(this)
}).send();
},
prog_edit: function(acell){
$('#ProgID').val(acell[1]);
new Request({
url: this.PHP,
sendParam: ['data=detail-prog','Hak_DPA','ORGID','OPDID','ProgID','DPAProgID='+acell[0]],
onSuccess: function(txt){
this.winProg = FoniaJS.showWindow('Prog', 'Detail Program', txt, 1000, [{},{i:'butTutup'}], function(){
this.data_query('tabel-prog-indi');
}.bind(this));
}.bind(this)
}).send();
},
prog_indi_add: function(){
var dt = $('#divProgIndiTabel').DataTable(), l_row;
dt.order([1,'asc']);
l_row = dt.row(':last');
if (!dt.data().count() || l_row.data()[0]!=='0'){
dt.row.add(['0','','','<a class="table-icon fon-tabel-dt" tabindex="-1" title="Detail"><i class="bi-pencil"></i></a>']).draw(true);
l_row = dt.row(':last');
}
if (!l_row.child.isShown()) l_row.nodes().to$().find('.fon-tabel-dt').click();
},
prog_indi_form: function(acell, div){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-prog-indi','Hak_DPA','ORGID','OPDID','ProgID','DPAProgIndiID='+acell[0]],
onSuccess: (adata) => {
$(div).html(adata.html);
$(div).find('#butSimpanIndi').click(() => this.prog_indi_save());
}
}).send();
},
prog_indi_del: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', () => {
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog-indi','mode_detail=delete','Hak_DPA','ORGID','OPDID','ProgID','DPAProgIndiID='+acell[0]],
onSuccess: () => FoniaJS.showInfo('Proses hapus data sukses!')
}).send();
}, 'danger');
},
prog_indi_save: function(){
if ($('#Text_Indi').val()==''){
FoniaJS.showInfo('Mohon lengkapi data Indikator Program !');
return false;
}
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog-indi','mode_detail','Hak_DPA','ORGID','OPDID','ProgID','DPAProgIndiID','Text_Indi','TipeDataID','Target_Indi','Satuan_Indi'],
onSuccess: () => FoniaJS.showInfo('Sukses menyimpan Indikator Program.')
}).send();
},
keg_select: function(acell){
$('#KegID').val(acell[1]);
$('#Nama_KEG').val(acell[2]);
this.show_hide(4);
},
keg_brow: function() {
var _isi = new String('<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Keg" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divBrowKeg">&nbsp;</div>');
this.winBKeg = FoniaJS.showWindow('BKeg', 'Daftar Kegiatan', _isi, 900, '', function(){
$('#winBKeg').find('#Cari_Keg').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('brow-keg');
}.bind(this));
$('#winBKeg').find('#butSearch').click(function(e){
this.data_query('brow-keg');
}.bind(this));
$('#winBKeg').find('#butAll').click(function(){
$('#winBKeg').find('#Cari_Keg').val('');
this.data_query('brow-keg');
}.bind(this));
this.data_query('brow-keg');
}.bind(this));
},
keg_brow_select: function(acell) {
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','mode_detail=insert','Hak_DPA','ORGID','OPDID','ProgID','KegID='+acell[0],'K_Keg='+acell[1]],
onSuccess: function(){
FoniaJS.closeWindow(this.winBKeg);
FoniaJS.showInfo("Kegiatan baru telah ditambahkan.");
}.bind(this)
}).send();
},
keg_edit: function(acell){
$('#KegID').val(acell[1]);
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegID='+acell[0]],
onSuccess: function(txt){
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_DPA').val()==0) tombol.pop();
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Kegiatan', txt, 1000, tombol, function(){
$('#winKeg').find('#butWSimpan').click(function(){this.keg_save();}.bind(this));
this.data_query('tabel-keg-keluar')
this.data_query('tabel-keg-hasil')
}.bind(this));
}.bind(this)
}).send();
},
keg_keluar_add: function(){
var dt = $('#divKegKeluarTabel').DataTable(), l_row;
dt.order([1,'asc']);
l_row = dt.row(':last');
if (!dt.data().count() || l_row.data()[0]!=='0'){
dt.row.add(['0','','','<a class="table-icon fon-tabel-dt" tabindex="-1" title="Detail"><i class="bi-pencil"></i></a>']).draw(true);
l_row = dt.row(':last');
}
if (!l_row.child.isShown()) l_row.nodes().to$().find('.fon-tabel-dt').click();
},
keg_keluar_form: function(acell, div){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-keg-keluar','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegKeluarID='+acell[0]],
onSuccess: function(adata){
$(div).html(adata.html);
$(div).find('#butSimpanKeluar').click(function(e){
this.keg_keluar_save();
}.bind(this));
}.bind(this)
}).send();
},
keg_keluar_del: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg-keluar','mode_detail=delete','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegKeluarID='+acell[0]],
onSuccess: function(){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
keg_keluar_save: function(){
if ($('#Text_Keluar').val()==''){
FoniaJS.showInfo('Mohon lengkapi data Keluaran Kegiatan !');
return false;
}
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg-keluar','mode_detail','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegKeluarID','Text_Keluar','Target_Keluar','Satuan_Keluar'],
onSuccess: function(){
FoniaJS.showInfo('Sukses menyimpan Keluaran Kegiatan.');
}.bind(this)
}).send();
},
keg_hasil_add: function(){
var dt = $('#divKegHasilTabel').DataTable(), l_row;
dt.order([1,'asc']);
l_row = dt.row(':last');
if (!dt.data().count() || l_row.data()[0]!=='0'){
dt.row.add(['0','','','<a class="table-icon fon-tabel-dt" tabindex="-1" title="Detail"><i class="bi-pencil"></i></a>']).draw(true);
l_row = dt.row(':last');
}
if (!l_row.child.isShown()) l_row.nodes().to$().find('.fon-tabel-dt').click();
},
keg_hasil_form: function(acell, div){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-keg-hasil','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegHasilID='+acell[0]],
onSuccess: function(adata){
$(div).html(adata.html);
$(div).find('#butSimpanHasil').click(function(e){
this.keg_hasil_save();
}.bind(this));
}.bind(this)
}).send();
},
keg_hasil_del: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg-hasil','mode_detail=delete','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegHasilID='+acell[0]],
onSuccess: function(){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
keg_hasil_save: function(){
if ($('#Text_Hasil').val()==''){
FoniaJS.showInfo('Mohon lengkapi data Hasil Kegiatan !');
return false;
}
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg-hasil','mode_detail','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegHasilID','Text_Hasil','Target_Hasil','Satuan_Hasil'],
onSuccess: function(){
FoniaJS.showInfo('Sukses menyimpan Hasil Kegiatan.');
}.bind(this)
}).send();
},
keg_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','mode_detail=update','Hak_DPA','ORGID','OPDID','ProgID','KegID','DPAKegID','Sasaran'],
onSuccess: function(){
FoniaJS.closeWindow(this.winKeg);
FoniaJS.showInfo('Sukses menyimpan Kegiatan.');
}.bind(this)
}).send();
},
sub_select: function(acell){
$('#SubID').val(acell[1]);
$('#Nama_SUB').val(acell[2]);
this.show_hide(5);
},
sub_brow: function() {
var _isi = new String('<div class="row mb-1"><div class="col"><div class="input-group"><input class="form-control" id="Cari_Sub" placeholder="Kunci Pencarian" type="text"><button class="btn btn-info shadow-none" type="button" id="butSearch">Cari</button><button class="btn btn-secondary shadow-none" type="button" id="butAll">Semua</button></div></div></div><div id="divBrowSub">&nbsp;</div>');
this.winBSub = FoniaJS.showWindow('BSub', 'Daftar Sub Kegiatan', _isi, 900, '', function(){
$('#winBSub').find('#Cari_Sub').keydown(function(e){
var key = e.keyCode || e.which || 0;
if (key==13 && e.target.value!='') this.data_query('brow-sub');
}.bind(this));
$('#winBSub').find('#butSearch').click(function(e){
this.data_query('brow-sub');
}.bind(this));
$('#winBSub').find('#butAll').click(function(){
$('#winBSub').find('#Cari_Sub').val('');
this.data_query('brow-sub');
}.bind(this));
this.data_query('brow-sub');
}.bind(this));
},
sub_brow_select: function(acell) {
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-sub','mode_detail=insert','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID='+acell[0],'K_Sub='+acell[1]],
onSuccess: function(){
FoniaJS.closeWindow(this.winBSub);
FoniaJS.showInfo("Sub Kegiatan baru telah ditambahkan.");
}.bind(this)
}).send();
},
sub_edit: function(acell){
$('#SubID').val(acell[1]);
new Request({
url: this.PHP,
sendParam: ['data=detail-sub','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID='+acell[1],'DPASubID='+acell[0]],
onSuccess: function(txt){
var tombol = [{i:'butWBagi',v:'Bagi Rata Belanja ke Rencana Triwulan',c:'info'},{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_DPA').val()==0) tombol = [{},{i:'butTutup'}];
this.winSub = FoniaJS.showWindow('Sub', 'Detail Sub Kegiatan', txt, 1000, tombol, function(){
$('#winSub')
.find('#butWBagi').click(function(){this.sub_bagi_triw();}.bind(this)).end()
.find('#butWSimpan').click(function(){this.sub_save();}.bind(this));
$('#formSub').validate({
rules: {
required: true,
Waktu1: {required:true, min:1},
Waktu2: {required:true, min:1},
}
});
this.data_query('tabel-sub-output')
this.Calc_Belanja();
this.Calc_RencK();
this.Calc_RencF();
}.bind(this));
}.bind(this)
}).send();
},
sub_output_add: function(){
var dt = $('#divSubOutputTabel').DataTable(), l_row;
dt.order([1,'asc']);
l_row = dt.row(':last');
if (!dt.data().count() || l_row.data()[0]!=='0'){
dt.row.add(['0','','','<a class="table-icon fon-tabel-dt" tabindex="-1" title="Detail"><i class="bi-pencil"></i></a>']).draw(true);
l_row = dt.row(':last');
}
if (!l_row.child.isShown()) l_row.nodes().to$().find('.fon-tabel-dt').click();
},
sub_output_form: function(acell, div){
new Request.JSON({
url: this.PHP,
sendParam: ['data=detail-sub-output','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPASubOutputID='+acell[0]],
onSuccess: function(adata){
$(div).html(adata.html);
$(div).find('#butSimpanOutput').click(function(e){
this.sub_output_save();
}.bind(this));
}.bind(this)
}).send();
},
sub_output_del: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[1]+'"</b> ?', function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-sub-output','mode_detail=delete','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPASubOutputID='+acell[0]],
onSuccess: function(){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
sub_output_save: function(){
if ($('#Text_Output').val()==''){
FoniaJS.showInfo('Mohon lengkapi data Output Sub Kegiatan !');
return false;
}
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-sub-output','mode_detail','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPASubOutputID','Text_Output','Target_Output','Satuan_Output'],
onSuccess: function(){
FoniaJS.showInfo('Sukses menyimpan Output Sub Kegiatan.');
}.bind(this)
}).send();
},
sub_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[2]+'"</b> ?', function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-sub','mode_detail=delete','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPASubID='+acell[0]],
onSuccess: function(adata){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
sub_save: function(){
$('#formSub').submit();
if (true !== $('#formSub').validate().checkForm()) return false;
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-sub','mode_detail=update','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPASubID','Lokasi','Waktu1','Waktu2','Pagu_Dpn','B_Operasi','B_Modal','B_Terduga','B_Transfer','RencK_TW1','RencK_TW2','RencK_TW3','RencK_TW4','RencF_TW1','RencF_TW2','RencF_TW3','RencF_TW4'],
onSuccess: function(adata){
FoniaJS.closeWindow(this.winSub);
FoniaJS.showInfo('Sukses menyimpan detail Sub Kegiatan.');
}.bind(this)
}).send();
},
akun_detail: function(mode, ID){
new Request({
url: this.PHP,
sendParam: ['data=detail-akun','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPAAkunID='+ID],
onSuccess: function(txt){
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_DPA').val()==0) tombol.pop();
this.winDAkun = FoniaJS.showWindow('DAkun', 'Detail Akun', txt, 900, tombol, function(){
$('#winDAkun').find('#butWSimpan').click(function(){this.akun_save();}.bind(this));
this.Hitung_Akun();
}.bind(this));
}.bind(this)
}).send();
},
akun_tambah: function(){
this.akun_detail('insert', 0);
},
akun_ubah: function(acell){
this.akun_detail('update', acell[0]);
},
akun_hapus: function(acell){
FoniaJS.showConfirm('Konfirmasi', 'Yakin akan hapus <b>"'+acell[3]+'"</b> ?', function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-akun','mode_detail=delete','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','DPAAkunID='+acell[0]],
onSuccess: function(adata){
FoniaJS.showInfo('Proses hapus data sukses!');
}.bind(this)
}).send();
}.bind(this), 'danger');
},
akun_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-akun','mode_detail','Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID','AkunID','K_Akun','Volume','SatuanID','Harga_Satuan','Renc_Keu','Renc_Fisik','DPAAkunID'],
onSuccess: function(adata){
FoniaJS.closeWindow(this.winDAkun);
FoniaJS.showInfo('Sukses menyimpan detail Akun.');
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-prog"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog','Hak_DPA','ORGID','OPDID']
}).send();
} else if (tipe=="tabel-prog-indi"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog-indi','Hak_DPA','ORGID','OPDID','ProgID']
}).send();
} else if (tipe=="tabel-keg" || tipe=="tabel-prog-indi"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data='+tipe,'Hak_DPA','ORGID','OPDID','ProgID']
}).send();
} else if (tipe=="tabel-sub" || tipe=="tabel-keg-keluar" || tipe=="tabel-keg-hasil"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data='+tipe,'Hak_DPA','ORGID','OPDID','ProgID','KegID']
}).send();
} else if (tipe=="tabel-akun" || tipe=="tabel-sub-output"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data='+tipe,'Hak_DPA','ORGID','OPDID','ProgID','KegID','SubID']
}).send();
} else if (tipe=="brow-prog"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=brow-prog','ORGID','OPDID','AK_Bidu','Cari_Prog'],
onSuccess: function(){
FoniaJS.setFocus('#Cari_Prog');
}.bind(this)
}).send();
} else if (tipe=="brow-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=brow-keg','ORGID','OPDID','ProgID','Cari_Keg'],
onSuccess: function(){
FoniaJS.setFocus('#Cari_Keg');
}.bind(this)
}).send();
} else if (tipe=="brow-sub"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=brow-sub','ORGID','OPDID','ProgID','KegID','Cari_Sub'],
onSuccess: function(){
FoniaJS.setFocus('#Cari_Sub');
}.bind(this)
}).send();
}
},
sub_bagi_triw: function(){
var dnilai = FoniaJS.StrToFloat($('#Jumlah_Bel').val());
if (dnilai > 0) dnilai = FoniaJS.FloatToStr(dnilai / 4, 2);
var tnilai = FoniaJS.FloatToStr(dnilai, 2);
$('#RencK_TW1').val(tnilai);
$('#RencK_TW2').val(tnilai);
$('#RencK_TW3').val(tnilai);
$('#RencK_TW4').val(tnilai);
$('#RencF_TW1').val(25.00);
$('#RencF_TW2').val(50.00);
$('#RencF_TW3').val(75.00);
$('#RencF_TW4').val(100.00);
this.Calc_RencK();
this.Calc_RencF();
},
Calc_Belanja: function(){
$('#Jumlah_Bel').val(FoniaJS.FloatToStr(FoniaJS.StrToFloat($('#B_Operasi').val()) + FoniaJS.StrToFloat($('#B_Modal').val()) + FoniaJS.StrToFloat($('#B_Terduga').val()) + FoniaJS.StrToFloat($('#B_Transfer').val()), 2));
this.Check_Rencana();
},
Calc_RencK: function(){
$('#Jumlah_RencK').val(FoniaJS.FloatToStr(FoniaJS.StrToFloat($('#RencK_TW1').val()) + FoniaJS.StrToFloat($('#RencK_TW2').val()) + FoniaJS.StrToFloat($('#RencK_TW3').val()) + FoniaJS.StrToFloat($('#RencK_TW4').val()), 2));
this.Check_Rencana();
},
Calc_RencF: function(){
$('#Jumlah_RencF').val(FoniaJS.FloatToStr(Math.max(FoniaJS.StrToFloat($('#RencF_TW1').val()), FoniaJS.StrToFloat($('#RencF_TW2').val()), FoniaJS.StrToFloat($('#RencF_TW3').val()), FoniaJS.StrToFloat($('#RencF_TW4').val())), 2));
this.Check_Rencana();
},
Check_Rencana: function(){
var brenc = (FoniaJS.StrToFloat($('#Jumlah_Bel').val())==FoniaJS.StrToFloat($('#Jumlah_RencK').val())) ? true : false;
var nsave = 0;
if (FoniaJS.StrToFloat($('#Jumlah_Bel').val())==FoniaJS.StrToFloat($('#Jumlah_RencK').val())) {
if (FoniaJS.StrToFloat($('#Jumlah_RencF').val())==100) nsave = 1;
}
$('#Status_Save').val(nsave);
if (brenc){
$('#Jumlah_RencK').removeClass('is-invalid').addClass('is-valid').prop('aria-invalid', false);
} else {
$('#Jumlah_RencK').removeClass('is-valid').addClass('is-invalid').prop('aria-invalid', true);
}
},
Hitung_Akun: function(){
var harga = FoniaJS.StrToFloat($('#Harga_Satuan').val());
var volume = FoniaJS.StrToFloat($('#Volume').val());
$('#Pagu_Ini').val(FoniaJS.FloatToStr(harga * volume, 2));
$('#Renc_Keu').val(FoniaJS.FloatToStr(harga * volume, 2));
},
oc_ProgTipe: function(){
new Request.JSON({
url: this.PHP,
sendParam: ['data=change-tipedata','Hak_DPA','TipeDataID','Target_Indi'],
onSuccess: (ajson) => $('#inputTarget').html(ajson.html)
}).send();
}
};
+300
View File
@@ -0,0 +1,300 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/dpa_real.js
Desc. : JS - Kelola Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 14th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var DPARealJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butPROG').click(function(){
if ($('#ProgID').val()>0) this.show_hide(2);
}.bind(this));
$('#butKEG').click(function(){
if ($('#KegID').val()>0) this.show_hide(3);
}.bind(this));
$('#butSUB').click(function(){
if ($('#SubID').val()>0) this.show_hide(4);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divPROG').css('display', 'none'); $('#butPROG').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none'); $('#butKEG').removeClass('btn-secondary').addClass('btn-info');
$('#divSUB').css('display', 'none'); $('#butSUB').removeClass('btn-secondary').addClass('btn-info');
$('#divAKUN').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#ORGID').val(0);
$('#Nama_OPD').val('');
$('#Hak_Real').val(1);
}
if (no <= 1) {
$('#ProgID').val(0);
$('#Nama_PROG').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#KegID').val(0);
$('#Nama_KEG').val('');
$('#butPROG').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 3) {
$('#SubID').val(0);
$('#Nama_SUB').val('');
$('#butKEG').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 4) {
$('#butSUB').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divPROG').css('display', ''); this.data_query('tabel-prog'); }
if (no == 3) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
if (no == 4) { $('#divSUB').css('display', ''); this.data_query('tabel-sub'); }
if (no == 5) { $('#divAKUN').css('display', ''); this.data_query('tabel-akun'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#ORGID').val(acell[1]);
$('#Nama_OPD').val(acell[2]);
$('#Hak_Real').val(acell[3]);
this.show_hide(2);
},
prog_select: function(acell){
$('#ProgID').val(acell[1]);
$('#Nama_PROG').val(acell[2]);
this.show_hide(3);
},
prog_real: function(acell){
$('#ProgID').val(acell[1]);
new Request({
url: this.PHP,
sendParam: ['data=detail-prog','Hak_Real','ORGID','OPDID','ProgID','DPAProgID='+acell[0]],
onSuccess: (txt) => {
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_Real').val()==0) tombol.pop();
this.winProg = FoniaJS.showWindow('Prog', 'Detail Capaian Program', txt, 1000, tombol, () => {
$('#winProg').find('#butWSimpan').click(() => this.prog_save());
});
}
}).send();
},
prog_save: function(){
var bnsave = false;
if ($('select[id^="Prog_TW_"]').length){
$('select[id^="Prog_TW_"]').each((i,e) => {
if (e.value == '') bnsave = true;
});
}
if (bnsave){
FoniaJS.showError('Mohon Pilih Capaian Indikator TW Ini.');
return false;
}
var _param = ['data=tabel-prog','mode_detail=update','Hak_Real','ORGID','OPDID','ProgID','DPAProgID','Real_Kendala','Real_Tindak','Real_Bantu'];
$(':input[id^="Prog_TW_"]').each((i,e) => { _param.push(e.id); });
new Request.JSONF({
url: this.PHP,
sendParam: _param,
onSuccess: () => {
FoniaJS.closeWindow(this.winProg);
FoniaJS.showInfo('Sukses menyimpan Capaian Program.');
}
}).send();
},
keg_select: function(acell){
$('#KegID').val(acell[1]);
$('#Nama_KEG').val(acell[2]);
this.show_hide(4);
},
keg_real: function(acell){
$('#KegID').val(acell[1]);
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','Hak_Real','ORGID','OPDID','ProgID','KegID','DPAKegID='+acell[0]],
onSuccess: function(txt){
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_Real').val()==0) tombol.pop();
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Kinerja Kegiatan', txt, 1000, tombol, function(){
$('#winKeg').find('#butWSimpan').click(function(){this.keg_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
keg_save: function(){
var _param = ['data=tabel-keg','mode_detail=update','Hak_Real','ORGID','OPDID','ProgID','KegID','DPAKegID','Real_Kendala','Real_Tindak','Real_Bantu'];
$('input[id^="Keluar_TW_"]').each((i,e) => { _param.push(e.id); });
$('input[id^="Hasil_TW_"]').each((i,e) => { _param.push(e.id); });
new Request.JSONF({
url: this.PHP,
sendParam: _param,
onSuccess: function(){
FoniaJS.closeWindow(this.winKeg);
FoniaJS.showInfo('Sukses menyimpan Kinerja Kegiatan.');
}.bind(this)
}).send();
},
sub_select: function(acell){
$('#SubID').val(acell[1]);
$('#Nama_SUB').val(acell[2]);
this.show_hide(5);
},
sub_ubah: function(acell){
$('#SubID').val(acell[1]);
new Request({
url: this.PHP,
sendParam: ['data=detail-sub','Hak_Real','ORGID','OPDID','ProgID','KegID','SubID='+acell[1],'DPASubID='+acell[0]],
onSuccess: function(txt){
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_Real').val()==0) tombol.pop();
this.winDSub = FoniaJS.showWindow('DSub', 'Kinerja dan Informasi Sub Kegiatan', txt, 900, tombol, function(){
$('#winDSub').find('#butWSimpan').click(function(){this.sub_save();}.bind(this));
}.bind(this));
}.bind(this)
}).send();
},
sub_save: function(){
var _param = ['data=tabel-sub','Hak_Real','ORGID','OPDID','ProgID','KegID','SubID','DPASubID','Real_Kendala','Real_Tindak','Real_Bantu','Real_No_Kontrak','Real_Pelaksana','mode_detail=update'];
$('input[id^="Output_TW_"]').each((i,e) => { _param.push(e.id); });
new Request.JSONF({
url: this.PHP,
sendParam: _param,
onSuccess: function(){
FoniaJS.closeWindow(this.winDSub);
FoniaJS.showInfo('Sukses menyimpan Kinerja Sub Kegiatan.');
}.bind(this)
}).send();
},
akun_ubah: function(acell){
new Request({
url: this.PHP,
sendParam: ['data=detail-akun','Hak_Real','ORGID','OPDID','ProgID','KegID','SubID','DPAAkunID='+acell[0]],
onSuccess: function(txt){
var tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
if ($('#Hak_Real').val()==0) tombol.pop();
this.winDAkun = FoniaJS.showWindow('DAkun', 'Detail Akun', txt, 900, tombol, function(){
$('#winDAkun')
.find('#butWSimpan').click(function(){this.akun_save();}.bind(this)).end()
.find('#RealK_Tot').keyup(function(e){
this.oc_RealK();
if ((e.keyCode || e.which || 0)==13) FoniaJS.setFocus('#RealF_Tot');
}.bind(this)).attr('title', 'Total Realisasi Keuangan S/D Bulan ini !').end()
.find('#RealF_Tot').keyup(function(e){
this.oc_RealF();
if ((e.keyCode || e.which || 0)==13) FoniaJS.setFocus('#RealN_Tot');
}.bind(this)).attr('title', 'Total Realisasi Fisik S/D Bulan ini !').end()
.find('#RealN_Tot').keyup(function(e){
this.oc_RealN();
if ((e.keyCode || e.which || 0)==13) $('#winDAkun').find('#butWSimpan').focus();
}.bind(this)).attr('title', 'Total Realisasi Non-Fisik S/D Bulan ini !').end()
if (parseInt($('#Hak_Real').val())==1) FoniaJS.setFocus('#RealK_Tot');
}.bind(this));
}.bind(this)
}).send();
},
akun_save: function(){
var treal = FoniaJS.StrToFloat($('#RealK_Tot').val());
var tpagu = parseFloat($('#PAGURP').val());
if (treal > tpagu) {
FoniaJS.showError('Total Realisasi tidak boleh melebihi Total Pagu !');
FoniaJS.setFocus('#RealK_Tot');
return;
}
/*var real_lalu = FoniaJS.StrToFloat($('#RealF_Las').val());
var real_psn = FoniaJS.StrToFloat($('#RealF_Tot').val());
if (real_psn < real_lalu){
FoniaJS.showError('Realisasi Fisik lebih rendah dari Bulan lalu !');
FoniaJS.setFocus('#RealF_Tot');
return;
}*/
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-akun','mode_detail=update','Hak_Real','ORGID','OPDID','ProgID','KegID','SubID','DPAAkunID','AkunID','RealK_Bln','RealF_Bln','RealN_Bln'],
onSuccess: function(adata){
FoniaJS.closeWindow(this.winDAkun);
FoniaJS.showInfo('Sukses menyimpan Realisasi Akun.');
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-prog"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog','Hak_Real','ORGID','OPDID']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','Hak_Real','ORGID','OPDID','ProgID']
}).send();
} else if (tipe=="tabel-sub"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-sub','Hak_Real','ORGID','OPDID','ProgID','KegID']
}).send();
} else if (tipe=="tabel-akun"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-akun','Hak_Real','ORGID','OPDID','ProgID','KegID','SubID']
}).send();
}
},
oc_RealK: function(){
$('#RealK_Bln').val(FoniaJS.FloatToStr(FoniaJS.StrToFloat($('#RealK_Tot').val()) - FoniaJS.StrToFloat($('#REALRP').val())));
},
oc_RealF: function(){
var real_lalu = FoniaJS.StrToFloat($('#RealF_Las').val());
var real_psn = FoniaJS.StrToFloat($('#RealF_Tot').val());
$('#RealF_Bln').val(FoniaJS.FloatToStr(real_psn, 2));
if (real_psn>100 || real_psn<real_lalu){
$('#RealF_Bln').css({'color':'#F00','text-decoration':'blink'});
} else {
$('#RealF_Bln').css({'color':'#666','text-decoration':'blink'});
}
},
oc_RealN: function(){
var real_lalu = FoniaJS.StrToFloat($('#RealN_Las').val());
var real_psn = FoniaJS.StrToFloat($('#RealN_Tot').val());
$('#RealN_Bln').val(FoniaJS.FloatToStr(real_psn, 2));
if (real_psn>100 || real_psn<real_lalu){
$('#RealN_Bln').css({'color':'#F00','text-decoration':'blink'});
} else {
$('#RealN_Bln').css({'color':'#666','text-decoration':'blink'});
}
}
};
+88
View File
@@ -0,0 +1,88 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/ebijak_renja.js
Desc. : JS - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : February 19th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EBijakRenjaJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
keg_detail: function(id_k, nm_k){
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','OPDID','KendaliID='+id_k],
onSuccess: function(txt){
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Pengendalian', txt, 900, [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winKeg').find('#butWSimpan').click(function(){this.keg_save();}.bind(this));
$('#N_Kendali').val(nm_k);
}.bind(this));
}.bind(this)
}).send();
},
keg_ubah: function(acell){
this.keg_detail(acell[0], acell[2]);
},
keg_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID','KendaliID','Sesuai','Sebab','Tindak','mode_detail=save'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winKeg);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID']
}).send();
}
}
};
+88
View File
@@ -0,0 +1,88 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/ebijak_renja.js
Desc. : JS - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : February 19th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EBijakRenstraJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
keg_detail: function(id_k, nm_k){
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','OPDID','KendaliID='+id_k],
onSuccess: function(txt){
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Pengendalian', txt, 900, [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winKeg').find('#butWSimpan').click(function(){this.keg_save();}.bind(this));
$('#N_Kendali').val(nm_k);
}.bind(this));
}.bind(this)
}).send();
},
keg_ubah: function(acell){
this.keg_detail(acell[0], acell[2]);
},
keg_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID','KendaliID','Sesuai','Sebab','Tindak','mode_detail=save'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winKeg);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID']
}).send();
}
}
};
+88
View File
@@ -0,0 +1,88 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/ebijak_renja.js
Desc. : JS - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : February 19th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EBijakRKPDJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
keg_detail: function(id_k, nm_k){
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','OPDID','KendaliID='+id_k],
onSuccess: function(txt){
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Pengendalian', txt, 900, [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winKeg').find('#butWSimpan').click(function(){this.keg_save();}.bind(this));
$('#N_Kendali').val(nm_k);
}.bind(this));
}.bind(this)
}).send();
},
keg_ubah: function(acell){
this.keg_detail(acell[0], acell[2]);
},
keg_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID','KendaliID','Sesuai','Sebab','Tindak','mode_detail=save'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winKeg);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID']
}).send();
}
}
};
+88
View File
@@ -0,0 +1,88 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/ebijak_renja.js
Desc. : JS - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : February 19th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EBijakRPJMDJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
keg_detail: function(id_k, nm_k){
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','OPDID','KendaliID='+id_k],
onSuccess: function(txt){
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Pengendalian', txt, 900, [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winKeg').find('#butWSimpan').click(function(){this.keg_save();}.bind(this));
$('#N_Kendali').val(nm_k);
}.bind(this));
}.bind(this)
}).send();
},
keg_ubah: function(acell){
this.keg_detail(acell[0], acell[2]);
},
keg_save: function(){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID','KendaliID','Sesuai','Sebab','Tindak','mode_detail=save'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winKeg);
}.bind(this)
}).send();
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID']
}).send();
}
}
};
+43
View File
@@ -0,0 +1,43 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/ehasil_kinerja.js
Desc. : JS - Laporan Evaluasi Kinerja Triwulan Per OPD
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : November 12th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EHasilKinerjaJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
//$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
cetak.add_param("TW");
cetak.add_param("OPDID");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.add_param("TW");
dload.add_param("OPDID");
dload.download();
}
};
+43
View File
@@ -0,0 +1,43 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/ehasil_real.js
Desc. : JS - Laporan Realisasi Bulanan Per OPD
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : February 15th, 2023.
(c) 2012 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EHasilRealJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
cetak.add_param("Bulan");
cetak.add_param("OPDID");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.add_param("Bulan");
dload.add_param("OPDID");
dload.download();
}
};
+43
View File
@@ -0,0 +1,43 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : March 13th, 2025.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EHasilRenjaJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
//$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
cetak.add_param("TW");
cetak.add_param("OPDID");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.add_param("TW");
dload.add_param("OPDID");
dload.download();
}
};
+84
View File
@@ -0,0 +1,84 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : July 4th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EHasilRenstraJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butUPT').click(function(){
if ($('#UPTID').val()>0) this.show_hide(2);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divUPT').css('display', 'none'); $('#butUPT').removeClass('btn-secondary').addClass('btn-info');
$('#divOUTPUT').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#UPTID').val(0);
$('#Nama_UPT').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butUPT').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divUPT').css('display', ''); this.data_query('tabel-upt'); }
if (no == 3) { $('#divOUTPUT').css('display', ''); this.data_query('tabel-output'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
upt_select: function(acell){
$('#UPTID').val(acell[0]);
$('#Nama_UPT').val(acell[1]);
this.show_hide(3);
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-upt"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-upt','OPDID'],
}).send();
} else if (tipe=="tabel-output"){
new Request({
url: this.PHP,
sendParam: ['data=tabel-output','OPDID','UPTID'],
onSuccess: function(txt){
$('#divOUTPUT').html(txt);
}.bind(this)
}).send();
}
}
};
+84
View File
@@ -0,0 +1,84 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : July 4th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EHasilRKPDJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butUPT').click(function(){
if ($('#UPTID').val()>0) this.show_hide(2);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divUPT').css('display', 'none'); $('#butUPT').removeClass('btn-secondary').addClass('btn-info');
$('#divOUTPUT').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#UPTID').val(0);
$('#Nama_UPT').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butUPT').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divUPT').css('display', ''); this.data_query('tabel-upt'); }
if (no == 3) { $('#divOUTPUT').css('display', ''); this.data_query('tabel-output'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
upt_select: function(acell){
$('#UPTID').val(acell[0]);
$('#Nama_UPT').val(acell[1]);
this.show_hide(3);
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-upt"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-upt','OPDID'],
}).send();
} else if (tipe=="tabel-output"){
new Request({
url: this.PHP,
sendParam: ['data=tabel-output','OPDID','UPTID'],
onSuccess: function(txt){
$('#divOUTPUT').html(txt);
}.bind(this)
}).send();
}
}
};
+84
View File
@@ -0,0 +1,84 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : July 4th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var EHasilRPJMDJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butUPT').click(function(){
if ($('#UPTID').val()>0) this.show_hide(2);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divUPT').css('display', 'none'); $('#butUPT').removeClass('btn-secondary').addClass('btn-info');
$('#divOUTPUT').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#UPTID').val(0);
$('#Nama_UPT').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butUPT').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divUPT').css('display', ''); this.data_query('tabel-upt'); }
if (no == 3) { $('#divOUTPUT').css('display', ''); this.data_query('tabel-output'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
upt_select: function(acell){
$('#UPTID').val(acell[0]);
$('#Nama_UPT').val(acell[1]);
this.show_hide(3);
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-upt"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-upt','OPDID'],
}).send();
} else if (tipe=="tabel-output"){
new Request({
url: this.PHP,
sendParam: ['data=tabel-output','OPDID','UPTID'],
onSuccess: function(txt){
$('#divOUTPUT').html(txt);
}.bind(this)
}).send();
}
}
};
+63
View File
@@ -0,0 +1,63 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var ELaksaRenjaJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divOUTPUT').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divOUTPUT').css('display', ''); this.data_query('tabel-output'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-output"){
new Request({
url: this.PHP,
sendParam: ['data=tabel-output','OPDID'],
onSuccess: function(txt){
$('#divOUTPUT').html(txt);
}.bind(this)
}).send();
}
}
};
+84
View File
@@ -0,0 +1,84 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var ELaksaRKPDJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butUPT').click(function(){
if ($('#UPTID').val()>0) this.show_hide(2);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divUPT').css('display', 'none'); $('#butUPT').removeClass('btn-secondary').addClass('btn-info');
$('#divOUTPUT').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#UPTID').val(0);
$('#Nama_UPT').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butUPT').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divUPT').css('display', ''); this.data_query('tabel-upt'); }
if (no == 3) { $('#divOUTPUT').css('display', ''); this.data_query('tabel-output'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
upt_select: function(acell){
$('#UPTID').val(acell[0]);
$('#Nama_UPT').val(acell[1]);
this.show_hide(3);
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-upt"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-upt','OPDID'],
}).send();
} else if (tipe=="tabel-output"){
new Request({
url: this.PHP,
sendParam: ['data=tabel-output','OPDID','UPTID'],
onSuccess: function(txt){
$('#divOUTPUT').html(txt);
}.bind(this)
}).send();
}
}
};
+84
View File
@@ -0,0 +1,84 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa_real.js
Desc. : JS - Transaksi Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var ELaksaRPJMDJS = {
PHP: '',
KODE: '',
loading: function(){
//$('butPrint').addEvent('click', function(){this.proses_print();}.bind(this));
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butUPT').click(function(){
if ($('#UPTID').val()>0) this.show_hide(2);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divUPT').css('display', 'none'); $('#butUPT').removeClass('btn-secondary').addClass('btn-info');
$('#divOUTPUT').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#UPTID').val(0);
$('#Nama_UPT').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butUPT').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divUPT').css('display', ''); this.data_query('tabel-upt'); }
if (no == 3) { $('#divOUTPUT').css('display', ''); this.data_query('tabel-output'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
upt_select: function(acell){
$('#UPTID').val(acell[0]);
$('#Nama_UPT').val(acell[1]);
this.show_hide(3);
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-upt"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-upt','OPDID'],
}).send();
} else if (tipe=="tabel-output"){
new Request({
url: this.PHP,
sendParam: ['data=tabel-output','OPDID','UPTID'],
onSuccess: function(txt){
$('#divOUTPUT').html(txt);
}.bind(this)
}).send();
}
}
};
+135
View File
@@ -0,0 +1,135 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/tran_dpa.js
Desc. : JS - Transaksi Input DPA
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : February 19th, 2024.
(c) 2011 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var ILaksaJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butOPD').click(function(){
if ($('#OPDID').val()>0) this.show_hide(1);
}.bind(this));
$('#butPROG').click(function(){
if ($('#ProgID').val()>0) this.show_hide(2);
}.bind(this));
this.show_hide(1);
},
show_hide: function(no){
$('#divOPD').css('display', 'none'); $('#butOPD').removeClass('btn-secondary').addClass('btn-info');
$('#divPROG').css('display', 'none'); $('#butPROG').removeClass('btn-secondary').addClass('btn-info');
$('#divKEG').css('display', 'none');
if (no == 1) {
$('#OPDID').val(0);
$('#Nama_OPD').val('');
}
if (no <= 1) {
$('#ProgID').val(0);
$('#Nama_PROG').val('');
$('#butOPD').removeClass('btn-info').addClass('btn-secondary');
}
if (no <= 2) {
$('#butPROG').removeClass('btn-info').addClass('btn-secondary');
}
if (no == 1) { $('#divOPD').css('display', ''); this.data_query('tabel-opd'); }
if (no == 2) { $('#divPROG').css('display', ''); this.data_query('tabel-prog'); }
if (no == 3) { $('#divKEG').css('display', ''); this.data_query('tabel-keg'); }
},
opd_select: function(acell){
$('#OPDID').val(acell[0]);
$('#Nama_OPD').val(acell[1]);
this.show_hide(2);
},
prog_select: function(acell){
$('#ProgID').val(acell[0]);
$('#Nama_PROG').val(acell[1]);
this.show_hide(3);
},
keg_detail: function(mode, k_rka){
new Request({
url: this.PHP,
sendParam: ['data=detail-keg','mode_detail='+mode,'OPDID','UPTID','ProgID','K_RKA='+k_rka],
onSuccess: function(txt){
this.winKeg = FoniaJS.showWindow('Keg', 'Detail Kegiatan', txt, 900, [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}], function(){
$('#winKeg')
.find('#butWSimpan').click(function(){this.keg_save();}.bind(this)).end()
.find('#butXCopyMasuk').click(function(e){
$('#T_Masuk').val($('#Jumlah_Bel').val()); this.Check_Belanja(); this.Check_Rencana();
}.bind(this)).end()
.find('#butXCopyTriw').click(function(e){
this.keg_bagi_triw();
}.bind(this)).end()
.find('#T_Masuk').keyup(function(e){
this.Check_Belanja();
this.Check_Rencana();
}.bind(this));
this.Calc_Belanja();
this.Calc_RencK();
this.Calc_RencF();
}.bind(this));
}.bind(this)
}).send();
},
keg_ubah: function(acell){
this.keg_detail('update', acell[0]);
},
keg_save: function(){
/*if ($('#K_Keg').val()==''){
FoniaJS.showError("Silakan input nomor Kegiatan !");
FoniaJS.setFocus('#K_Keg');
return false;
}
if (parseInt($('#Status_Save').val())==0){
FoniaJS.showError("Tolong periksa kembali Data Anda !");
return false;
}
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','mode_detail','OPDID','UPTID','ProgID','RKegID','MKegID','K_RKA','K_Keg','B_Pegawai','B_Barang','B_Modal','U_Capai','T_Capai','U_Masuk','T_Masuk','U_Keluar','T_Keluar','U_Hasil','T_Hasil','RencK_TW1','RencK_TW2','RencK_TW3','RencK_TW4','RencF_TW1','RencF_TW2','RencF_TW3','RencF_TW4','Lokasi','Catatan','N_Keg'],
onSuccess: function(){
FoniaJS.showInfo('Proses simpan data sukses!');
FoniaJS.closeWindow(this.winKeg);
}.bind(this)
}).send();*/
},
data_query: function(tipe, mode){
if (tipe=="tabel-opd"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-opd']
}).send();
} else if (tipe=="tabel-upt"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-upt','OPDID'],
}).send();
} else if (tipe=="tabel-prog"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-prog','OPDID','UPTID'],
}).send();
} else if (tipe=="tabel-keg"){
new Request.JSONF({
url: this.PHP,
sendParam: ['data=tabel-keg','OPDID','UPTID','ProgID']
}).send();
}
}
};
+58
View File
@@ -0,0 +1,58 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/repo_eval_tujuan.js
Desc. : JS - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : April 12th, 2017.
(c) 2012 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var RepoEvalTujuanJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
//$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
cetak.add_param("TW");
cetak.add_param("OPDID");
cetak.add_param("UPTID");
cetak.add_param("RD_TUJUANINDIID");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.add_param("TW");
dload.add_param("OPDID");
dload.add_param("UPTID");
dload.add_param("RD_TUJUANINDIID");
dload.download();
},
oc_Tipe : function(){
/*new Request({
url: this.PHP,
sendParam: ['data=default','Tahun','TW','OPDID','UPTID','RD_TUJUANINDIID'],
onSuccess: function(txt){
div_isi = this.KODE+'_content';
$(div_isi).set('html', txt);
}.bind(this)
}).send();*/
}
};
+43
View File
@@ -0,0 +1,43 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/repo_tw_upt.js
Desc. : JS - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : June 24th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var RepoRHOPDJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
//$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
cetak.add_param("TW");
cetak.add_param("OPDID");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.add_param("TW");
dload.add_param("OPDID");
dload.download();
}
};
+43
View File
@@ -0,0 +1,43 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/repo_tw_upt.js
Desc. : JS - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : June 24th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var RepoRHProgJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
//$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
cetak.add_param("TW");
cetak.add_param("OPDID");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.add_param("TW");
dload.add_param("OPDID");
dload.download();
}
};
+39
View File
@@ -0,0 +1,39 @@
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/js/mon/repo_tw_upt.js
Desc. : JS - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : June 24th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
var RepoRPKJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butPrint').click(function(){this.proses_print('print');}.bind(this));
$('#butPreview').click(function(){this.proses_print('preview');}.bind(this));
//$('#butExcel').click(function(){this.proses_dload();}.bind(this));
},
proses_print: function(prt){
var cetak = new cPRINTER(this.PHP);
cetak.set_zoom(80);
cetak.add_param("data", "print");
cetak.add_param("Tahun");
if (prt=='print') { cetak.doPrint(); } else cetak.doPreview();
},
proses_dload: function(){
var dload = new cEXPORT(this.PHP);
dload.add_param("data", "export");
dload.add_param("Tahun");
dload.download();
}
};
+55
View File
@@ -0,0 +1,55 @@
/*******************************************************************
Module : /apps/js/sys/chpasswd.js
Desc. : JS - 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.
*******************************************************************/
var SYSChpasswdJS = {
PHP: '',
KODE: '',
loading: function(){
$('#butSave').click(function(){this.proses_save();}.bind(this));
FoniaJS.setFocus('#LPass');
},
proses_save: function(){
if ($("#LPass").val()=="") {
FoniaJS.showInfo("Silakan masukkan password lama Anda!");
FoniaJS.setFocus("#LPass");
return false;
} else if ($("#BPass1").val()=="") {
FoniaJS.showInfo("Silakan masukkan password baru 1 Anda!");
FoniaJS.setFocus("#BPass1");
return false;
} else if ($("#BPass2").val()=="") {
FoniaJS.showInfo("Silakan masukkan password baru 2 Anda!");
FoniaJS.setFocus("#BPass2");
return false;
} else if ($("#BPass1").val()!=$("#BPass2").val()) {
FoniaJS.showInfo("Password baru 1 dan 2 Anda tidak sama!");
FoniaJS.setFocus("#BPass1");
return false;
}
new Request.JSON({
url: this.PHP,
sendParam: ['data=chpasswd','LPass','BPass1','BPass2'],
onSuccess: function(ajson){
if (ajson.status == true) {
FoniaJS.showInfo(ajson.msg);
FoniaJS.closeWindow('#win'+this.KODE);
} else {
FoniaJS.showError(ajson.msg);
}
}.bind(this)
}).send();
}
};
+171
View File
@@ -0,0 +1,171 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/func.emonev.php
Desc. : PHP - Fungsi SiMONEv
Created By : Siau Pheng ([email protected]).
Created Date : May 15th, 2012.
Last Modified : February 3rd, 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 = new MySQL();
function tahun_ang($t_extra = "") {//oke
global $fdb;
$atahun = [];
$fdb->Query("SELECT Tahun FROM para_periode WHERE Tahun IN (SELECT Tahun FROM dpa90_prog) ORDER BY Tahun");
while ($fdb->Next()){
$atahun[$fdb->Row("Tahun")] = $t_extra . $fdb->Row("Tahun");
}
return $atahun;
}
function map_tahun_submap($thn_map = 0) {//oke
$amap = [2021 => 2022, 2024 => 2025];
return $amap[$thn_map] ?? $thn_map;
}
function map_tahun_akun($thn_map = 0) {//oke
if ($thn_map < 2025) $thn_map = 2025;
$amap = [2025 => 2025];
return $amap[$thn_map] ?? $thn_map;
}
function Kendali_ID($tahun = 0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(ID) Nomor FROM kendali_detail WHERE Tahun='".$tahun."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return ($ino+1);
}
function RKA_Baru($k_tahun = "", $k_upt="", $tipe = "renja_usul") {
global $fdb;
$tno = $k_tahun . "-" . $k_upt . "-";
$ino = 0;
$fdb->Query("SELECT MAX(RIGHT(K_RKA,6)) Nomor FROM ".$tipe."_detail WHERE LEFT(K_RKA,".strlen($tno).")='".$tno."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno .= isi_nol($ino+1, 6);
return $tno;
}
function Kode_Keg_Baru($k_tahun = "", $id_upt=0, $id_prog=0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_Keg) Nomor FROM sippd_kalbar.renja_detail WHERE Tahun='".$k_tahun."' AND UPTID='".$id_upt."' AND ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return isi_nol($ino+1, 2);
}
function Renstra_KegID($id_rpjmd = 0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(RKegID) Nomor FROM sippd_kalbar.renstra_detail WHERE RPJMDID='".$id_rpjmd."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return ($ino+1);
}
/*************** TIPE DATA INDIKATOR ***************/
function input_tipedata($id_target = "Target_Indi", $id_tipe = 0, $val_target = "", $bol_en = false, $a_input = []) {
$ttarget = '<input type="double" class="form-control double" id="'.$id_target.'" value="'.floatval($val_target).'"'.($bol_en?:' readonly').' required=true />';
if ($id_tipe > 0) {
$ttarget = '<select class="form-select option-tags" id="'.$id_target.'" name="'.$id_target.'"'.($bol_en?:' disabled=true').'>';
$ttarget .= '<option value="">-</option>';
foreach(array_keys($a_input) as $_key) {
$ttarget .= '<option value="'.$_key.'"'.($_key==$val_target?' selected="selected"':'').'>'.$_key.'</option>';
}
$ttarget .= '</select>';
}
return $ttarget;
}
/*************** RENJA ***************/
function Keg_Baru($id_prog = 0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_Keg) Nomor FROM para_kegiatan WHERE ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
$tno = isi_nol($ino+1, 2);
return $tno;
}
/*************** USULAN KAB/KOTA ***************/
function Kode_Keg_Kab_Baru($k_tahun = "", $id_kab=0, $id_prog=0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_Keg) Nomor FROM renja_kab_detail WHERE Tahun='".$k_tahun."' AND KabID='".$id_kab."' AND ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return isi_nol($ino+1, 2);
}
/*************** USULAN DPRD ***************/
function Kode_Keg_DPRD_Baru($k_tahun = "", $id_dprd=0, $id_prog=0) {
global $fdb;
$ino = 0;
$fdb->Query("SELECT MAX(K_Keg) Nomor FROM renja_dprd_detail WHERE Tahun='".$k_tahun."' AND DPRDID='".$id_dprd."' AND ProgID='".$id_prog."'");
if ($fdb->Next()) $ino = $fdb->Row("Nomor", 0);
return isi_nol($ino+1, 2);
}
/*************** API ***************/
function API_Request($url = "", $apost = array()) {
$curl_array = array(
CURLOPT_URL => $url ."?". http_build_query($apost),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_HTTPHEADER => array(
"Accept: application/json"
),
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false
);
$curl = curl_init();
curl_setopt_array($curl, $curl_array);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
$aresult[] = $err;
} else {
$aresult = json_decode($response, true);
}
return $aresult;
}
/*************** REPORT ***************/
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;
}
?>
+246
View File
@@ -0,0 +1,246 @@
<?php
/*******************************************************************
Module : /apps/php/index.php
Desc. : PHP - Halaman Utama Desktop
Created By : Siau Pheng ([email protected]).
Created Date : May 24th, 2010.
Last Modified : May 15th, 2024.
(c) 2010 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../vendor/autoload.php");
require_once(__DIR__."/func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Web\Register;
function random_color($trans = "0.6") {
$col_r = mt_rand( 0, 255 );
$col_g = mt_rand( 0, 255 );
$col_b = mt_rand( 0, 255 );
return "rgba(".$col_r.",".$col_g.",".$col_b.",".$trans.")";
}
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = $_SESSION['__WEB_APP']['REAL_THN'] ?? 0;
$bulan = $_SESSION['__WEB_APP']['REAL_BLN'];
$aapp = $_SESSION['__WEB_APP'];
if ( $data == "chart1" || $data == "chart2" ) {
$bulan = $_SESSION['__WEB_APP']['REAL_BLN'];
if ($bulan == 1) {
$qK = "(RealK_B1)";
$qF = "(RealF_B1,0)";
}
if ($bulan == 2) {
$qK = "(RealK_B1+RealK_B2)";
$qF = "(RealF_B1,RealF_B2)";
}
if ($bulan == 3) {
$qK = "(RealK_B1+RealK_B2+RealK_B3)";
$qF = "(RealF_B1,RealF_B2,RealF_B3)";
}
if ($bulan == 4) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4)";
}
if ($bulan == 5) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5)";
}
if ($bulan == 6) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6)";
}
if ($bulan == 7) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7)";
}
if ($bulan == 8) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8)";
}
if ($bulan == 9) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9)";
}
if ($bulan == 10) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10)";
}
if ($bulan == 11) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10+RealK_B11)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10,RealF_B11)";
}
if ($bulan == 12) {
$qK = "(RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10+RealK_B11+RealK_B12)";
$qF = "(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10,RealF_B11,RealF_B12)";
}
}
if ( $data == "periode-show" ) {
$ajson = ['aktif'=>1, 'html'=>""];
if ($tahun == 0 || Param::Get("reset", 0) == 1) {
$form = new Form($db);
$lthn = $form->option("_", "OPTION_THN", $tahun, true, false, tahun_ang("Tahun "));
$lbln = $form->option("_", "OPTION_BLN", $bulan, true, false, bulan_array());
$ajson['aktif'] = 0;
$ajson['html'] = '
<div class="row mb-1">
<label class="col-sm-5 col-lg-4 col-form-label" for="OPTION_BLN">Bulan Data</label>
<div class="col">'.$lbln.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-4 col-form-label" for="OPTION_THN">Tahun Data</label>
<div class="col">'.$lthn.'</div>
</div>';
}
} else if ( $data == "periode-simpan" ) {
// penyimpanan periode tahun dan bulan login !
$alogin = $_SESSION['__WEB_APP'];
$alogin['REAL_THN'] = Param::Get("OPTION_THN", $alogin['REAL_THN']);
$alogin['REAL_BLN'] = Param::Get("OPTION_BLN", $alogin['REAL_BLN']);
$db->Query("SELECT * FROM vi_para_rpjmd WHERE '".$alogin['REAL_THN']."' BETWEEN Tahun_Min AND Tahun_Max ORDER BY RPJMDID DESC LIMIT 1");
if ($db->Next()) $alogin['REAL_RPJMDID'] = $db->Row("RPJMDID", 0);
$log_tw = 0;
if ($alogin['REAL_BLN'] <= 3) { $log_tw = 1; }
else if ($alogin['REAL_BLN'] <= 6) { $log_tw = 2; }
else if ($alogin['REAL_BLN'] <= 9) { $log_tw = 3; }
else if ($alogin['REAL_BLN'] <= 12) { $log_tw = 4; }
$alogin['REAL_TW'] = $log_tw;
// mapping tahun nomenklatur submap
$alogin['SUBMAP_TAHUN'] = map_tahun_submap($alogin['REAL_THN']);
$alogin['AKUN_TAHUN'] = map_tahun_akun($alogin['REAL_THN']);
// penyesuaian kembali konfigurasi periode --> REAL_RPJMDID
$db->Query("SELECT Tahun1,Tahun2,Tahun3,Tahun4,Tahun5,Tahun_Min,Tahun_Max,Ket Real_Periode FROM vi_para_rpjmd WHERE RPJMDID='".$alogin['REAL_RPJMDID']."' LIMIT 1");
if ($db->Next()) $alogin = array_merge($alogin, $db->AllRow());
if ($alogin['Tahun1']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T1_";
if ($alogin['Tahun2']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T2_";
if ($alogin['Tahun3']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T3_";
if ($alogin['Tahun4']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T4_";
if ($alogin['Tahun5']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T5_";
$_SESSION['__WEB_APP'] = $alogin;
$ajson['sukses'] = 1;
} else if ( $data == "periode-info") {
$ajson = ['html'=>'<a class="nav-link" onclick="IndexJS.periode_show(1);"><i class="bi-calendar"></i></a>'];
if ($tahun > 0) {
$txtinfo = bulan_array()[$bulan] .' '.$tahun;
$ajson['html'] = '<a class="nav-link text-info fw-bolder" title="'.$txtinfo.'" onclick="IndexJS.periode_show(1);"><i class="me-2 bi-calendar-check"></i>'.$txtinfo.'</a>';
}
} else if ( $data == "chart1" ) {
$ajson['tipe'] = "chart";
$db->Query("SELECT * FROM (SELECT M.S_OPD,(SUM(K.R_Keu)/SUM(K.Renc_Keu))*100 REAL_KEU,SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU) REAL_FISIK,(((SUM(K.R_Keu)/SUM(K.Renc_Keu))*100)+SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU))/2 REAL_KINERJA FROM (SELECT *,".$qK." R_Keu,GREATEST".$qF." R_Fisik FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."') K LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) OPD_PAGU FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."' GROUP BY OPDID) TT ON (TT.OPDID=K.OPDID) LEFT JOIN para90_opd M ON (M.OPDID=K.OPDID) WHERE M.Aktif=1 GROUP BY K.OPDID) A ORDER BY A.REAL_KINERJA DESC LIMIT 10");
$adata['datasets'] = array();
$adata['labels'] = array();
$atmp1 = array(0); $atmp2 = array(0); $atmp3 = array(0);
$adata['labels'][] = "Belum Ada Realisasi";
if ($db->RecordCount()>0) {
$atmp1 = array(); $atmp2 = array(); $atmp3 = array();
$adata['labels'] = array();
}
while ($db->Next()){
$atmp1[] = round($db->Row("REAL_KEU"), 2);
$atmp2[] = round($db->Row("REAL_FISIK"), 2);
$atmp3[] = round($db->Row("REAL_KINERJA"), 2);
$adata['labels'][] = $db->Row("S_OPD");
}
$adata['datasets'][] = array('data'=>$atmp1, 'label'=>"Keuangan", 'backgroundColor'=>random_color(), 'order'=>1, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
$adata['datasets'][] = array('data'=>$atmp2, 'label'=>"Fisik", 'backgroundColor'=>random_color(), 'order'=>2, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
$adata['datasets'][] = array('data'=>$atmp3, 'label'=>"Kinerja", 'borderColor'=>random_color(), 'order'=>3, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#313131"), 'type'=>"line", 'fill'=>false);
$ajson['chart'] = array('type' => "bar",
'data' => $adata,
'options' => array(
'plugins' => [
'title' => ['display' => true, 'text' => '10 Perangkat Daerah dengan Kinerja Tertinggi'],
'legend' => ['position' => "bottom"],
],
'responsive' => true,
'aspectRatio' => 1.5,
//'scales' => ['yAxes' => ['display' => true, 'beginAtZero' => true, 'title'=> "Realisasi (%)"]],
'layout' => array('padding' => array('top' => 10))
)
);
} else if ( $data == "chart2" ) {
$ajson['tipe'] = "chart";
$db->Query("SELECT * FROM (SELECT M.S_OPD,(SUM(K.R_Keu)/SUM(K.Renc_Keu))*100 REAL_KEU,SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU) REAL_FISIK,(((SUM(K.R_Keu)/SUM(K.Renc_Keu))*100)+SUM(K.R_Fisik*K.Renc_Keu/TT.OPD_PAGU))/2 REAL_KINERJA FROM (SELECT *,".$qK." R_Keu,GREATEST".$qF." R_Fisik FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."') K LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) OPD_PAGU FROM dpa90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['REAL_THN']."' GROUP BY OPDID) TT ON (TT.OPDID=K.OPDID) LEFT JOIN para90_opd M ON (M.OPDID=K.OPDID) WHERE M.Aktif=1 GROUP BY K.OPDID) A ORDER BY A.REAL_KINERJA ASC LIMIT 10");
$adata['datasets'] = array();
$adata['labels'] = array();
$atmp1 = array(0); $atmp2 = array(0); $atmp3 = array(0);
$adata['labels'][] = "Belum Ada Realisasi";
if ($db->RecordCount()>0) {
$atmp1 = array(); $atmp2 = array(); $atmp3 = array();
$adata['labels'] = array();
}
while ($db->Next()){
$atmp1[] = round($db->Row("REAL_KEU"), 2);
$atmp2[] = round($db->Row("REAL_FISIK"), 2);
$atmp3[] = round($db->Row("REAL_KINERJA"), 2);
$adata['labels'][] = $db->Row("S_OPD");
}
$adata['datasets'][] = array('data'=>$atmp1, 'label'=>"Keuangan", 'backgroundColor'=>random_color(), 'order'=>1, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
$adata['datasets'][] = array('data'=>$atmp2, 'label'=>"Fisik", 'backgroundColor'=>random_color(), 'order'=>2, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#36A2EB"));
$adata['datasets'][] = array('data'=>$atmp3, 'label'=>"Kinerja", 'borderColor'=>random_color(), 'order'=>3, 'datalabels'=>array('align'=>"end", 'anchor'=>"end", 'color'=>"#313131"), 'type'=>"line", 'fill'=>false);
$ajson['chart'] = array('type' => "bar",
'data' => $adata,
'options' => array(
'plugins' => [
'title' => ['display' => true, 'text' => '10 Perangkat Daerah dengan Kinerja Terendah'],
'legend' => ['position' => "bottom"],
],
'responsive' => true,
'aspectRatio' => 1.5,
//'scales' => ['yAxes' => ['display' => true, 'beginAtZero' => true, 'title'=>['text' => "Realisasi (%)"]]],
'layout' => array('padding' => array('top' => 10))
)
);
} else if ( $data == "default" ) {
$aapp = $_SESSION['__WEB_APP'];
$ajson['content'] = '
<div class="fade-in">
<div class="row">
<div class="col-sm-12 col-md-6">
<div class="card">
<div class="card-body pb-0 text-center" id="divHome1">
<img src="'.$aapp['WEB_PATH'].'assets/images/logo150.png" title="'.$aapp['REG_NAME'].'">
<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 class="col-sm-12 col-md-6">
<div class="card">
<div class="card-body pb-0" id="divHome2">
<div class="c-chart-wrapper pb-2">
<canvas id="canvasChart2"></canvas>
</div>
</div>
</div>
</div>
</div>
</div>
';
}
send_json($ajson);
?>
+92
View File
@@ -0,0 +1,92 @@
<?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");
require_once(__DIR__."/func.emonev.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"));
// penyimpanan periode dan tw login !
$alogin = $_SESSION['__WEB_APP'];
$log_tahun = Param::Get("OPTION_TAHUN", $alogin['REAL_THN']);
$log_bln = Param::Get("OPTION_BLN", $alogin['REAL_BLN']);
if ($log_tahun <> $alogin['REAL_THN']) {
$alogin['REAL_THN'] = $log_tahun;
$db->Query("SELECT * FROM vi_para_rpjmd WHERE '".$log_tahun."' BETWEEN Tahun_Min AND Tahun_Max ORDER BY RPJMDID DESC LIMIT 1");
if ($db->Next()) $alogin['REAL_RPJMDID'] = $db->Row("RPJMDID", 0);
}
if ($log_bln <> $alogin['REAL_BLN']) {
$alogin['REAL_BLN'] = $log_bln;
$log_tw = 0;
if ($log_bln <= 3) { $log_tw = 1; }
else if ($log_bln <= 6) { $log_tw = 2; }
else if ($log_bln <= 9) { $log_tw = 3; }
else if ($log_bln <= 12) { $log_tw = 4; }
$alogin['REAL_TW'] = $log_tw;
}
// mapping tahun nomenklatur submap
$alogin['SUBMAP_TAHUN'] = map_tahun_submap($alogin['REAL_THN']);
$alogin['AKUN_TAHUN'] = map_tahun_akun($alogin['REAL_THN']);
// penyesuaian kembali konfigurasi periode --> REAL_RPJMDID
$db->Query("SELECT Tahun1,Tahun2,Tahun3,Tahun4,Tahun5,Tahun_Min,Tahun_Max,Ket Real_Periode FROM vi_para_rpjmd WHERE RPJMDID='".$alogin['REAL_RPJMDID']."' LIMIT 1");
if ($db->Next()) $alogin = array_merge($alogin, $db->AllRow());
if ($alogin['Tahun1']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T1_";
if ($alogin['Tahun2']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T2_";
if ($alogin['Tahun3']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T3_";
if ($alogin['Tahun4']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T4_";
if ($alogin['Tahun5']==$alogin['REAL_THN']) $alogin['REAL_FIELD'] = "T5_";
$_SESSION['__WEB_APP'] = $alogin;
$_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);
?>
+902
View File
@@ -0,0 +1,902 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/dpa.php
Desc. : PHP - Kelola Data DPA
Created By : Siau Pheng ([email protected]).
Created Date : October 28th, 2011.
Last Modified : March 14th, 2025.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.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;
use siaupheng\fonia3\Web\Button;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$emon_en = Param::Get("Hak_DPA", 0);
$id_rpjmd = $_SESSION['__WEB_APP']['REAL_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$id_org = Param::Get("ORGID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_keg = Param::Get("KegID", 0);
$id_sub = Param::Get("SubID", 0);
$id_akun = Param::Get("AkunID", 0);
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-prog-indi","tabel-keg-keluar","tabel-keg-hasil","tabel-sub-output","tabel-akun"]) ) {
$qsql = "Tahun='".$thn_renja."'";
$msql = "M.Aktif=1";
if ( $data == "tabel-opd" ) {
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$qsql .= " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
$msql .= " AND M.OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
} else if ( $data == "tabel-prog" ) {
$qsql .= " AND OPDID='".$id_opd."'";
} else if ( $data == "tabel-keg" || $data == "tabel-prog-indi" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
} else if ( $data == "tabel-sub" || $data == "tabel-keg-keluar" || $data == "tabel-keg-hasil" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
} else if ( $data == "tabel-akun" || $data == "tabel-sub-output" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' AND SubID='".$id_sub."'";
}
}
if ( $data == "tabel-opd" ) {
$f_usul = (in_array($_SESSION['__WEB_USER']['Level'],[0,1])) ? "1" : "0";
if (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) {
$f_usul = "IFNULL(H.Hak_DPA,1)";
}
$obj = new Table($db);
$obj->set_query("SELECT M.OPDID OPDID2,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,M.AK_Bidu,M.K_Bidu1,".$f_usul." Hak_DPA,KP.ITEM_PROG,KK.ITEM_KEG,KS.ITEM_SUB,KS.TOT_SEMUA FROM vi_para90_opd M LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_PROG FROM dpa90_prog WHERE ".$qsql." GROUP BY OPDID) KP ON (KP.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_KEG FROM dpa90_keg WHERE ".$qsql." GROUP BY OPDID) KK ON (KK.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,COUNT(*) ITEM_SUB,SUM(Pagu_Ini) TOT_SEMUA FROM dpa90_sub WHERE ".$qsql." GROUP BY OPDID) KS ON (KS.OPDID=M.OPDID) LEFT JOIN (SELECT OPDID,Hak_DPA FROM sippd_akses_sip WHERE Tahun='".$thn_renja."') H ON (H.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID2", "OPD", "hid");
$obj->add_field("ORGID", "ORG", "hid");
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
$obj->add_field("AK_Bidu", "AK_Bidu", "hid");
$obj->add_field("K_Bidu1", "K_Bidu1", "hid");
$obj->add_field("Hak_DPA", "DPA", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("TOT_SEMUA", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_PROG", "Prog", "r", "rupiah");
$obj->add_field("ITEM_KEG", "Keg", "r", "rupiah");
$obj->add_field("ITEM_SUB", "Sub", "r", "rupiah");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Program", "DPAJS.opd_select");
$obj->set_func_navi("DPAJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-prog" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
if ($mode_detail=="insert") {
$k_bidu = Param::Get("K_Bidu");
$k_prog = Param::Get("K_Prog");
if ($k_bidu == "X.XX") {
$k_bidu = Param::Get("K_Bidu1");
}
$db->Query("INSERT IGNORE INTO dpa90_prog (RPJMDID,Tahun,ORGID,OPDID,ProgID,K_Bidu,K_Prog,Input_UserID) VALUES('".$id_rpjmd."','".$thn_renja."','".$id_org."','".$id_opd."','".$id_prog."','".$k_bidu."','".$k_prog."','".user_id()."')");
} else if ($mode_detail=="update") {
} else if ($mode_detail=="delete") {
}
}
$obj = new Table($db);
$obj->set_query("SELECT PR.DPAProgID,PR.ProgID,PR.K_Prog,M.N_Prog,CONCAT('(',M.K_Prog,') ',M.N_Prog) Nama_Prog,KK.ITEM_KEG,KS.ITEM_SUB,KS.TOT_SEMUA,IF(IFNULL(I.Indi_Text,0)=0,2,IF(IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Target,0),0,1)) CSS_INDI FROM (SELECT * FROM dpa90_prog WHERE ".$qsql.") PR LEFT JOIN (SELECT ProgID,SUM(IF(Text_Indi='',0,1)) Indi_Text,SUM(IF(Poin_Target=0,0,1)) Indi_Target FROM dpa90_prog_indi WHERE ".$qsql." GROUP BY ProgID) I ON (I.ProgID=PR.ProgID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' GROUP BY ProgID) M ON (M.ProgID=PR.ProgID) LEFT JOIN (SELECT ProgID,COUNT(*) ITEM_KEG FROM dpa90_keg WHERE ".$qsql." GROUP BY ProgID) KK ON (KK.ProgID=PR.ProgID) LEFT JOIN (SELECT ProgID,COUNT(DISTINCT SubID) ITEM_SUB,SUM(Pagu_Ini) TOT_SEMUA FROM dpa90_sub WHERE ".$qsql." GROUP BY ProgID) KS ON (KS.ProgID=PR.ProgID)");
$obj->add_field("DPAProgID", "DPAID", "hid");
$obj->add_field("ProgID", "ID", "hid");
$obj->add_field("Nama_Prog", "Nama PROG", "hid");
$obj->add_field("K_Prog", "Kode", "c", null, null, "dom-nomen");
$obj->add_field("N_Prog", "Nama Program", "awr");
$obj->add_field("TOT_SEMUA", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_KEG", "Keg", "r", "rupiah");
$obj->add_field("ITEM_SUB", "Sub", "r", "rupiah");
$obj->set_field_order("K_Prog", "A");
$obj->add_row_btn("clipboard", "Indikator", "DPAJS.prog_edit", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Kegiatan", "DPAJS.prog_select");
$obj->set_func_navi("DPAJS.data_query('tabel-prog')");
if ($emon_en) $obj->set_func_btn("DPAJS.prog_brow", "+ Program");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divPROG");
} else if ( $data == "tabel-prog-indi" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("dpa90_prog_indi");
$sql->add_param("Text_Indi");
$sql->add_param("TipeDataID");
$sql->add_param("Target_Indi");
$sql->add_param("Satuan_Indi");
$sql->add_param("Poin_Target", "func_tipedata(".Param::Get("TipeDataID",0).",'".Param::Get("Target_Indi")."')", true);
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAProgIndiID");
if ($mode_detail=="insert") {
$sql->add_param("RPJMDID", $id_rpjmd);
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ORGID", $id_org);
$sql->add_param("OPDID", $id_opd);
$sql->add_param("ProgID", $id_prog);
$sql->add_param_userid("Input_UserID");
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->add_param_stamp("Update_Stamp");
$sql->add_param_userid("Update_UserID");
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
if ($mode_detail!=="delete") {
}
}
$obj = new Table($db);
$obj->set_query("SELECT *,CONCAT(Text_Indi,' (<i>',Satuan_Indi,'</i>)') Indi_Satuan FROM dpa90_prog_indi WHERE ".$qsql."");
$obj->add_field("DPAProgIndiID", "ID", "hid");
$obj->add_field("Indi_Satuan", "Uraian Indikator", "awr", "", "", "val-emptylast");
$obj->add_field("Target_Indi", "Target", "c");
$obj->set_field_order("Text_Indi", "A");
$obj->add_row_form("Detail", "DPAJS.prog_indi_form");
if ($emon_en) {
$obj->add_row_btn("trash", "Hapus", "DPAJS.prog_indi_del");
$obj->set_func_btn("DPAJS.prog_indi_add", "+ Indikator");
}
$ajson[] = $obj->json_table("divProgIndi");
} else if ( $data == "tabel-keg" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
if ($mode_detail=="insert") {
$db->Query("INSERT IGNORE INTO dpa90_keg (RPJMDID,Tahun,ORGID,OPDID,ProgID,KegID,K_Keg,Input_UserID) VALUES('".$id_rpjmd."','".$thn_renja."','".$id_org."','".$id_opd."','".$id_prog."','".$id_keg."','".Param::Get("K_Keg")."','".user_id()."')");
} else if ($mode_detail=="update") {
$db->Query("UPDATE dpa90_keg SET Sasaran='".Param::Get("Sasaran","")."' WHERE Tahun='".$thn_renja."' AND DPAKegID='".Param::Get("DPAKegID",0)."'");
} else if ($mode_detail=="delete") {
}
}
$obj = new Table($db);
$obj->set_query("SELECT KR.DPAKegID,KR.KegID,KR.K_Keg,M.N_Keg,CONCAT('(',M.K_Keg,') ',M.N_Keg) Nama_Keg,KS.ITEM_SUB,KS.TOT_SEMUA,IF(IFNULL(I1.Indi_Text,0)+IFNULL(I2.Indi_Text,0)=0,2,IF(IFNULL(I1.Indi_Text,0)+IFNULL(I2.Indi_Text,0)=IFNULL(I1.Indi_Target,0)+IFNULL(I2.Indi_Target,0),0,1)) CSS_INDI FROM (SELECT * FROM dpa90_keg WHERE ".$qsql.") KR LEFT JOIN (SELECT KegID,SUM(IF(Text_Keluar='',0,1)) Indi_Text,SUM(IF(Target_Keluar=0,0,1)) Indi_Target FROM dpa90_keg_keluar WHERE ".$qsql." GROUP BY KegID) I1 ON (I1.KegID=KR.KegID) LEFT JOIN (SELECT KegID,SUM(IF(Text_Hasil='',0,1)) Indi_Text,SUM(IF(Target_Hasil='',0,1)) Indi_Target FROM dpa90_keg_hasil WHERE ".$qsql." GROUP BY KegID) I2 ON (I2.KegID=KR.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' GROUP BY KegID) M ON (KR.KegID=M.KegID) LEFT JOIN (SELECT KegID,COUNT(DISTINCT SubID) ITEM_SUB,SUM(Pagu_Ini) TOT_SEMUA FROM dpa90_sub WHERE ".$qsql." GROUP BY KegID) KS ON (KS.KegID=KR.KegID)");
$obj->add_field("DPAKegID", "DPAID", "hid");
$obj->add_field("KegID", "ID", "hid");
$obj->add_field("Nama_Keg", "Nama KEG", "hid");
$obj->add_field("K_Keg", "Kode", "c", null, null, "dom-nomen");
$obj->add_field("N_Keg", "Nama Kegiatan", "awr");
$obj->add_field("TOT_SEMUA", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("ITEM_SUB", "Sub", "r", "rupiah");
$obj->set_field_order("K_Keg", "A");
$obj->add_row_btn("clipboard", "Detail", "DPAJS.keg_edit", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Sub Kegiatan", "DPAJS.keg_select");
$obj->set_func_navi("DPAJS.data_query('tabel-keg')");
if ($emon_en) $obj->set_func_btn("DPAJS.keg_brow", "+ Kegiatan");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "tabel-keg-keluar" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("dpa90_keg_keluar");
$sql->add_param("Text_Keluar");
$sql->add_param("Target_Keluar");
$sql->add_param("Satuan_Keluar");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAKegKeluarID");
if ($mode_detail=="insert") {
$sql->add_param("RPJMDID", $id_rpjmd);
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ORGID", $id_org);
$sql->add_param("OPDID", $id_opd);
$sql->add_param("ProgID", $id_prog);
$sql->add_param("KegID", $id_keg);
$sql->add_param_userid("Input_UserID");
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->add_param_stamp("Update_Stamp");
$sql->add_param_userid("Update_UserID");
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$obj = new Table($db);
$obj->set_query("SELECT *,CONCAT(TRIM(TRAILING '0' FROM CAST(Target_Keluar as CHAR))*1,' ',Satuan_Keluar) Target_Satuan FROM dpa90_keg_keluar WHERE ".$qsql."");
$obj->add_field("DPAKegKeluarID", "ID", "hid");
$obj->add_field("Text_Keluar", "Tolok Ukur Keluaran", "awr", "", "", "val-emptylast");
$obj->add_field("Target_Satuan", "Target", "r");
$obj->set_field_order("Text_Keluar", "A");
$obj->add_row_form("Detail", "DPAJS.keg_keluar_form");
if ($emon_en) {
$obj->add_row_btn("trash", "Hapus", "DPAJS.keg_keluar_del");
$obj->set_func_btn("DPAJS.keg_keluar_add", "+ Keluaran");
}
$ajson[] = $obj->json_table("divKegKeluar");
} else if ( $data == "tabel-keg-hasil" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("dpa90_keg_hasil");
$sql->add_param("Text_Hasil");
$sql->add_param("Target_Hasil");
$sql->add_param("Satuan_Hasil");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAKegHasilID");
if ($mode_detail=="insert") {
$sql->add_param("RPJMDID", $id_rpjmd);
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ORGID", $id_org);
$sql->add_param("OPDID", $id_opd);
$sql->add_param("ProgID", $id_prog);
$sql->add_param("KegID", $id_keg);
$sql->add_param_userid("Input_UserID");
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->add_param_stamp("Update_Stamp");
$sql->add_param_userid("Update_UserID");
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$obj = new Table($db);
$obj->set_query("SELECT *,CONCAT(Target_Hasil,' ',Satuan_Hasil) Target_Satuan FROM dpa90_keg_hasil WHERE ".$qsql."");
$obj->add_field("DPAKegHasilID", "ID", "hid");
$obj->add_field("Text_Hasil", "Tolok Ukur Hasil", "awr", "", "", "val-emptylast");
$obj->add_field("Target_Satuan", "Target", "r");
$obj->set_field_order("Text_Hasil", "A");
$obj->add_row_form("Detail", "DPAJS.keg_hasil_form");
if ($emon_en) {
$obj->add_row_btn("trash", "Hapus", "DPAJS.keg_hasil_del");
$obj->set_func_btn("DPAJS.keg_hasil_add", "+ Hasil");
}
$ajson[] = $obj->json_table("divKegHasil");
} else if ( $data == "tabel-sub" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("dpa90_sub");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPASubID");
if ($mode_detail=="insert") {
$sql->add_param("RPJMDID", $id_rpjmd);
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ORGID", $id_org);
$sql->add_param("OPDID", $id_opd);
$sql->add_param("ProgID", $id_prog);
$sql->add_param("KegID", $id_keg);
$sql->add_param("SubID", $id_sub);
$sql->add_param("K_Sub");
$sql->add_param_userid("Input_UserID");
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->add_param("Waktu1");
$sql->add_param("Waktu2");
$sql->add_param("B_Operasi");
$sql->add_param("B_Modal");
$sql->add_param("B_Terduga");
$sql->add_param("B_Transfer");
$sql->add_param("Pagu_Ini", "B_Operasi+B_Modal+B_Terduga+B_Transfer", true);
$sql->add_param("Pagu_Dpn");
$sql->add_param("Lokasi");
$sql->add_param("RencK_TW1");
$sql->add_param("RencK_TW2");
$sql->add_param("RencK_TW3");
$sql->add_param("RencK_TW4");
$sql->add_param("RencF_TW1");
$sql->add_param("RencF_TW2");
$sql->add_param("RencF_TW3");
$sql->add_param("RencF_TW4");
$sql->add_param_stamp("Update_Stamp");
$sql->add_param_userid("Update_UserID");
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
$db->Query("DELETE IGNORE FROM dpa90_sub_output WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND KegID='".$id_keg."' AND SubID='".$id_sub."'");
}
}
$obj = new Table($db);
$obj->set_query("SELECT SR.*,M.N_Sub,CONCAT('(',M.K_Sub,') ',M.N_Sub) Nama_Sub,IF(IFNULL(I.Indi_Text,0)=0,2,IF(IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Target,0) AND SR.Renc_K>0 AND SR.Renc_F>0,0,1)) CSS_INDI,IF(IFNULL(AR.ITEM_AKUN,0)>0,0,1) DEL_SUB FROM (SELECT *,GREATEST(RencK_TW1,RencK_TW2,RencK_TW3,RencK_TW4) Renc_K,GREATEST(RencF_TW1,RencF_TW2,RencF_TW3,RencF_TW4) Renc_F FROM dpa90_sub WHERE ".$qsql.") SR LEFT JOIN (SELECT SubID,SUM(IF(Text_Output='',0,1)) Indi_Text,SUM(IF(Target_Output=0,0,1)) Indi_Target FROM dpa90_sub_output WHERE ".$qsql." GROUP BY SubID) I ON (I.SubID=SR.SubID) LEFT JOIN (SELECT SubID,COUNT(*) ITEM_AKUN FROM dpa90_akun WHERE ".$qsql." GROUP BY SubID) AR ON (AR.SubID=SR.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND KegID='".$id_keg."') M ON (M.SubID=SR.SubID)");
$obj->add_field("DPASubID", "DPAID", "hid");
$obj->add_field("SubID", "ID", "hid");
$obj->add_field("Nama_Sub", "Nama SUB", "hid");
$obj->add_field("K_Sub", "Kode", "c", null, null, "dom-nomen");
$obj->add_field("N_Sub", "Nama Sub Kegiatan", "awr");
$obj->add_field("Pagu_Ini", "Jumlah Pagu", "r", "rupiah");
$obj->add_field("Lokasi", "Lokasi", "awr");
$obj->set_field_order("K_Sub", "A");
$obj->add_row_btn("clipboard", "Detail", "DPAJS.sub_edit", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
if ($emon_en) {
$obj->add_row_btn("trash", "Hapus", "DPAJS.sub_hapus", "DEL_SUB", 1);
$obj->set_func_btn("DPAJS.sub_brow", "+ Sub Kegiatan");
}
$obj->add_row_btn("folder", "Akun", "DPAJS.sub_select");
$obj->set_func_navi("DPAJS.data_query('tabel-sub')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divSUB");
} else if ( $data == "tabel-sub-output" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("dpa90_sub_output");
$sql->add_param("Text_Output");
$sql->add_param("Target_Output");
$sql->add_param("Satuan_Output");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPASubOutputID");
if ($mode_detail=="insert") {
$sql->add_param("RPJMDID", $id_rpjmd);
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ORGID", $id_org);
$sql->add_param("OPDID", $id_opd);
$sql->add_param("ProgID", $id_prog);
$sql->add_param("KegID", $id_keg);
$sql->add_param("SubID", $id_sub);
$sql->add_param_userid("Input_UserID");
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->add_param_stamp("Update_Stamp");
$sql->add_param_userid("Update_UserID");
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
}
$obj = new Table($db);
$obj->set_query("SELECT *,CONCAT(TRIM(TRAILING '0' FROM CAST(Target_Output as CHAR))*1,' ',Satuan_Output) Target_Satuan FROM dpa90_sub_output WHERE ".$qsql."");
$obj->add_field("DPASubOutputID", "ID", "hid");
$obj->add_field("Text_Output", "Tolok Ukur Output", "awr", "", "", "val-emptylast");
$obj->add_field("Target_Satuan", "Target", "r");
$obj->set_field_order("Text_Output", "A");
$obj->add_row_form("Detail", "DPAJS.sub_output_form");
if ($emon_en) {
$obj->add_row_btn("trash", "Hapus", "DPAJS.sub_output_del");
$obj->set_func_btn("DPAJS.sub_output_add", "+ Output");
}
$ajson[] = $obj->json_table("divSubOutput");
} else if ( $data == "tabel-akun" ) {
if (in_array($mode_detail, ["insert","update","delete"])) {
$sql = new SQL($db);
$sql->set_table("dpa90_akun");
$sql->add_param("Volume");
$sql->add_param("SatuanID");
$sql->add_param("Harga_Satuan");
$sql->add_param("Pagu_Ini", "Volume*Harga_Satuan", true);
$sql->add_param("Renc_Keu");
$sql->add_param("Renc_Fisik");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAAkunID");
if ($mode_detail=="insert") {
$k_akun = Param::Get("K_Akun");
$db->Query("SELECT * FROM para90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."' AND AkunID='".$id_akun."' LIMIT 1");
if ($db->Next()) $k_akun = $db->Row("K_Akun");
$sql->add_param("RPJMDID", $id_rpjmd);
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ORGID", $id_org);
$sql->add_param("OPDID", $id_opd);
$sql->add_param("ProgID", $id_prog);
$sql->add_param("KegID", $id_keg);
$sql->add_param("SubID", $id_sub);
$sql->add_param("AkunID", $id_akun);
$sql->add_param("K_Akun", $k_akun);
$sql->add_param_userid("Input_UserID");
$sql->InsertDB();
} else if ($mode_detail=="update") {
$sql->add_param_stamp("Update_Stamp");
$sql->add_param_userid("Update_UserID");
$sql->UpdateDB();
} else if ($mode_detail=="delete") {
$sql->DeleteDB();
}
// update sub
$db->Query("UPDATE dpa90_sub A, (SELECT SubID,SUM(Pagu_Ini) P1,SUM(Renc_Keu) P2,SUM(IF(LEFT(K_Akun,3)='5.1',Pagu_Ini,0)) Ope,SUM(IF(LEFT(K_Akun,3)='5.2',Pagu_Ini,0)) Modal,SUM(IF(LEFT(K_Akun,3)='5.3',Pagu_Ini,0)) Duga,SUM(IF(LEFT(K_Akun,3)='5.4',Pagu_Ini,0)) Trans FROM dpa90_akun WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' GROUP BY SubID) B SET A.Pagu_Ini=B.P1,A.Renc_Keu=B.P2,A.B_Operasi=B.Ope,A.B_Modal=B.Modal,A.B_Terduga=B.Duga,A.B_Transfer=B.Trans WHERE A.SubID=B.SubID AND A.Tahun='".$thn_renja."' AND A.OPDID='".$id_opd."' AND A.ProgID='".$id_prog."' AND A.KegID='".$id_keg."'");
// update keg
$db->Query("UPDATE dpa90_keg A, (SELECT KegID,SUM(Pagu_Ini) P1,SUM(Renc_Keu) P2 FROM dpa90_sub WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' GROUP BY KegID) B SET A.Pagu_Ini=B.P1,A.Renc_Keu=B.P2 WHERE A.KegID=B.KegID AND A.Tahun='".$thn_renja."' AND A.OPDID='".$id_opd."' AND A.ProgID='".$id_prog."'");
// update prog
$db->Query("UPDATE dpa90_prog A, (SELECT ProgID,SUM(Pagu_Ini) P1,SUM(Renc_Keu) P2 FROM dpa90_keg WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' GROUP BY ProgID) B SET A.Pagu_Ini=B.P1,A.Renc_Keu=B.P2 WHERE A.ProgID=B.ProgID AND A.Tahun='".$thn_renja."' AND A.OPDID='".$id_opd."'");
}
$obj = new Table($db);
$obj->set_query("SELECT AR.*,IF(AR.Real_Keu=0,1,0) DEL_AKUN,M.N_Akun FROM (SELECT * FROM dpa90_akun WHERE ".$qsql.") AR LEFT JOIN (SELECT * FROM para90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."') M ON (AR.AkunID=M.AkunID)");
$obj->add_field("DPAAkunID", "DPA ID", "hid");
$obj->add_field("AkunID", "ID", "hid");
$obj->add_field("K_Akun", "Kode", "c");
$obj->add_field("N_Akun", "Nama Akun", "awr");
$obj->add_field("Renc_Keu", "Keuangan", "r", "rupiah");
$obj->add_field("Renc_Fisik", "Fisik (%)", "r", "rupiah");
$obj->set_field_order("K_Akun", "A");
$obj->add_row_btn("clipboard", "Detail", "DPAJS.akun_ubah");
if ($emon_en) {
$obj->add_row_btn("trash", "Hapus", "DPAJS.akun_hapus", "DEL_AKUN", 1);
$obj->set_func_btn("DPAJS.akun_tambah", "+ Akun");
}
$obj->set_func_navi("DPAJS.data_query('tabel-akun')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divAKUN");
} else if ( $data == "brow-prog" ) {
$tcari = trim(Param::Get("Cari_Prog"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(K_Prog,N_Prog) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND K_Bidu IN (".stripslashes(Param::Get("AK_Bidu")).") AND ProgID NOT IN (SELECT ProgID FROM dpa90_prog WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."')".$tsql." GROUP BY ProgID");
$obj->add_field("ProgID", "ID", "hid");
$obj->add_field("K_Bidu", "K_Bidu", "hid");
$obj->add_field("K_Prog", "Kode", "c");
$obj->add_field("N_Prog", "Nama Program", "awr");
$obj->set_field_order("K_Prog", "A");
$obj->add_row_btn("save", "Pilih", "DPAJS.prog_brow_select");
$obj->set_func_navi("DPAJS.data_query('brow-prog')");
$ajson[] = $obj->json_table("divBrowProg");
} else if ( $data == "brow-keg" ) {
$tcari = trim(Param::Get("Cari_Keg"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(K_Keg,N_Keg) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$id_prog."' AND KegID NOT IN (SELECT KegID FROM dpa90_keg WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."')".$tsql." GROUP BY KegID");
$obj->add_field("KegID", "ID", "hid");
$obj->add_field("K_Keg", "Kode", "c");
$obj->add_field("N_Keg", "Nama Kegiatan", "awr");
$obj->set_field_order("K_Keg", "A");
$obj->add_row_btn("save", "Pilih", "DPAJS.keg_brow_select");
$obj->set_func_navi("DPAJS.data_query('brow-keg')");
$ajson[] = $obj->json_table("divBrowKeg");
} else if ( $data == "brow-sub" ) {
$tcari = trim(Param::Get("Cari_Sub"));
$tsql = ($tcari=="") ? "" : " AND CONCAT(K_Sub,N_Sub) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' AND SubID NOT IN (SELECT SubID FROM dpa90_sub WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."')".$tsql."");
$obj->add_field("SubID", "ID", "hid");
$obj->add_field("K_Sub", "Kode", "c");
$obj->add_field("N_Sub", "Nama Sub Kegiatan", "awr");
$obj->set_field_order("K_Sub", "A");
$obj->add_row_btn("save", "Pilih", "DPAJS.sub_brow_select");
$obj->set_func_navi("DPAJS.data_query('brow-sub')");
$ajson[] = $obj->json_table("divBrowSub");
} else if ( $data == "detail-prog" ) {
$arec = [];
$id_dpa_prog = Param::Get("DPAProgID", 0);
if ($id_dpa_prog > 0) {
$db->Query("SELECT D.*,M.N_Prog FROM (SELECT * FROM dpa90_prog WHERE DPAProgID='".$id_dpa_prog."' LIMIT 1) D LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' GROUP BY ProgID) M ON (M.ProgID=D.ProgID)");
if ($db->Next()) $arec = $db->AllRow();
}
$form = new Form($db);
$tprog = $form->textarea("_", "N_Prog", $arec['N_Prog'], false, false, 2);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Program</label>
<div class="col">'.$tprog.'</div>
</div>
<div class="row mb-1"><div class="col"><hr /><div id="divProgIndi"></div></div></div>
<input type="hidden" id="DPAProgID" value="'.$arec['DPAProgID'].'">
';
} else if ( $data == "detail-prog-indi" ) {
$arec = []; $_p_input = []; $mode_detail = "insert";
$id_dpa_prog_indi = Param::Get("DPAProgIndiID", 0);
if ($id_dpa_prog_indi > 0) {
$db->Query("SELECT * FROM dpa90_prog_indi WHERE DPAProgIndiID='".$id_dpa_prog_indi."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
if ($arec['TipeDataID'] > 0) {
$db->Query("SELECT * FROM para_tipedata WHERE TipeDataID='".$arec['TipeDataID']."' LIMIT 1");
if ($db->Next()) $_p_input = json_decode($db->Row("P_Input", "{}"), true);
}
$mode_detail = "update";
}
$butt = new Button();
$butt->success("butSimpanIndi", "Simpan");
$form = new Form($db);
$tindi = $form->textarea("_", "Text_Indi", $arec['Text_Indi'], $emon_en, true, 2);
$ttipe = $form->option_que("_", "TipeDataID", $arec['TipeDataID'], $emon_en, false, "SELECT TipeDataID,CONCAT(N_Tipe,' - ',JSON_UNQUOTE(JSON_KEYS(P_Input))) Nama_Tipe FROM para_tipedata WHERE Aktif=1 ORDER BY N_Tipe", ["TipeDataID","Nama_Tipe"], [0,"Numeric"], null, "DPAJS.oc_ProgTipe()");
$ttarget = input_tipedata("Target_Indi", $arec['TipeDataID'], $arec['Target_Indi'], $emon_en, $_p_input);
$tsatuan = $form->textbox("_", "Satuan_Indi", $arec['Satuan_Indi'], $emon_en, true, "text", "satuan");
$ajson['html'] = '
<div class="card"><div class="card-body">
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Text_Indi">Uraian Indikator</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="TipeDataID">Tipe Data Indikator</label>
<div class="col">'.$ttipe.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label" for="Target_Indi">Target Indikator</label>
<div class="col-sm-6 col-lg-3" id="inputTarget">'.$ttarget.'</div>
<div class="col-sm-4 col-lg-3">'.$tsatuan.'</div>
<div class="col-sm-4 col-lg-4">'.($emon_en?$butt->Button(3):'').'</div>
</div>
<input type="hidden" id="DPAProgIndiID" value="'.$arec['DPAProgIndiID'].'">
<input type="hidden" id="mode_detail" value="'.$mode_detail.'">
</div></div>
';
} else if ( $data == "detail-keg" ) {
$arec = array();
$id_dpa_keg = Param::Get("DPAKegID", 0);
if ($id_dpa_keg > 0) {
$db->Query("SELECT D.*,M.N_Keg FROM (SELECT * FROM dpa90_keg WHERE DPAKegID='".$id_dpa_keg."' LIMIT 1) D LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$id_prog."' GROUP BY KegID) M ON (M.KegID=D.KegID)");
if ($db->Next()) $arec = $db->AllRow();
}
$form = new Form($db);
$tkeg = $form->textarea("_", "N_Keg", $arec['N_Keg'], false, false, 2);
$tsasaran = $form->textbox("_", "Sasaran", $arec['Sasaran'], $emon_en, true, "text");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Kegiatan</label>
<div class="col">'.$tkeg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sasaran">Sasaran Kegiatan</label>
<div class="col">'.$tsasaran.'</div>
</div>
<div class="row mb-1"><div class="col"><hr /><div id="divKegKeluar"></div></div></div>
<div class="row mb-1"><div class="col"><hr /><div id="divKegHasil"></div></div></div>
<input type="hidden" id="DPAKegID" value="'.$arec['DPAKegID'].'">
';
} else if ( $data == "detail-keg-keluar" ) {
$arec = array(); $mode_detail = "insert";
$id_dpa_keg_keluar = Param::Get("DPAKegKeluarID", 0);
if ($id_dpa_keg_keluar > 0) {
$db->Query("SELECT * FROM dpa90_keg_keluar WHERE DPAKegKeluarID='".$id_dpa_keg_keluar."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
$mode_detail = "update";
}
$butt = new Button();
$butt->success("butSimpanKeluar", "Simpan");
$form = new Form($db);
$tindi = $form->textarea("_", "Text_Keluar", $arec['Text_Keluar'], $emon_en, true, 2);
$ttarget = $form->textbox("_", "Target_Keluar", $arec['Target_Keluar'], $emon_en, true, "double");
$tsatuan = $form->textbox("_", "Satuan_Keluar", $arec['Satuan_Keluar'], $emon_en, true, "text", "satuan");
$ajson['html'] = '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label" for="Text_Keluar">Tolok Ukur Keluaran</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label" for="Target_Keluar">Target Keluaran</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-4 col-lg-3">'.$tsatuan.'</div>
<div class="col-sm-4 col-lg-4">'.($emon_en?$butt->Button(3):'').'</div>
</div>
<input type="hidden" id="DPAKegKeluarID" value="'.$arec['DPAKegKeluarID'].'">
<input type="hidden" id="mode_detail" value="'.$mode_detail.'">
</div></div>
';
} else if ( $data == "detail-keg-hasil" ) {
$arec = array(); $mode_detail = "insert";
$id_dpa_keg_hasil = Param::Get("DPAKegHasilID", 0);
if ($id_dpa_keg_hasil > 0) {
$db->Query("SELECT * FROM dpa90_keg_hasil WHERE DPAKegHasilID='".$id_dpa_keg_hasil."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
$mode_detail = "update";
}
$butt = new Button();
$butt->success("butSimpanHasil", "Simpan");
$form = new Form($db);
$tindi = $form->textarea("_", "Text_Hasil", $arec['Text_Hasil'], $emon_en, true, 2);
$ttarget = $form->textbox("_", "Target_Hasil", $arec['Target_Hasil'], $emon_en, true, "text");
$tsatuan = $form->textbox("_", "Satuan_Hasil", $arec['Satuan_Hasil'], $emon_en, true, "text", "satuan");
$ajson['html'] = '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label" for="Text_Hasil">Tolok Ukur Hasil</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label" for="Target_Hasil">Target Hasil</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-4 col-lg-3">'.$tsatuan.'</div>
<div class="col-sm-4 col-lg-4">'.($emon_en?$butt->Button(3):'').'</div>
</div>
<input type="hidden" id="DPAKegHasilID" value="'.$arec['DPAKegHasilID'].'">
<input type="hidden" id="mode_detail" value="'.$mode_detail.'">
</div></div>
';
} else if ( $data == "detail-sub" ) {
$arec = array();
$id_dpa_sub = Param::Get("DPASubID", 0);
if ($id_dpa_sub > 0) {
$db->Query("SELECT D.*,M.N_Sub FROM (SELECT * FROM dpa90_sub WHERE DPASubID='".$id_dpa_sub."' LIMIT 1) D LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND KegID='".$id_keg."') M ON (M.SubID=D.SubID)");
if ($db->Next()) $arec = $db->AllRow();
$db->Query("SELECT Username Input_User FROM app_operator WHERE UserID='".$arec['Input_UserID']."' LIMIT 1");
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
$db->Query("SELECT Username Update_User FROM app_operator WHERE UserID='".$arec['Update_UserID']."' LIMIT 1");
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
}
$form = new Form($db);
$tsub = $form->textarea("_", "N_Sub", $arec['N_Sub'], false, false, 2);
$twaktu1 = $form->option("_", "Waktu1", $arec['Waktu1'], $emon_en, true, bulan_array());
$twaktu2 = $form->option("_", "Waktu2", $arec['Waktu2'], $emon_en, true, bulan_array());
$tlokasi = $form->textbox("_", "Lokasi", $arec['Lokasi'], $emon_en, true, "text");
$tb_ope = $form->textbox("_", "B_Operasi", $arec['B_Operasi'], false, false, "double", null, null, null, "DPAJS.Calc_Belanja()");
$tb_mod = $form->textbox("_", "B_Modal", $arec['B_Modal'], false, false, "double", null, null, null, "DPAJS.Calc_Belanja()");
$tb_dug = $form->textbox("_", "B_Terduga", $arec['B_Terduga'], false, false, "double", null, null, null, "DPAJS.Calc_Belanja()");
$tb_trf = $form->textbox("_", "B_Transfer", $arec['B_Transfer'], false, false, "double", null, null, null, "DPAJS.Calc_Belanja()");
$tpagu_dpn = $form->textbox("_", "Pagu_Dpn", $arec['Pagu_Dpn'], $emon_en, true, "double");
$tj_bel = $form->textbox("_", "Jumlah_Bel", 0, false, false, "double");
$tj_keu = $form->textbox("_", "Jumlah_RencK", 0, false, false, "double");
$tj_fis = $form->textbox("_", "Jumlah_RencF", 0, false, false, "double");
$tkeu1 = $form->textbox("_", "RencK_TW1", $arec['RencK_TW1'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencK()");
$tkeu2 = $form->textbox("_", "RencK_TW2", $arec['RencK_TW2'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencK()");
$tkeu3 = $form->textbox("_", "RencK_TW3", $arec['RencK_TW3'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencK()");
$tkeu4 = $form->textbox("_", "RencK_TW4", $arec['RencK_TW4'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencK()");
$tfis1 = $form->textbox("_", "RencF_TW1", $arec['RencF_TW1'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencF()");
$tfis2 = $form->textbox("_", "RencF_TW2", $arec['RencF_TW2'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencF()");
$tfis3 = $form->textbox("_", "RencF_TW3", $arec['RencF_TW3'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencF()");
$tfis4 = $form->textbox("_", "RencF_TW4", $arec['RencF_TW4'], $emon_en, true, "double", null, null, null, "DPAJS.Calc_RencF()");
$tinfo = $form->plaintext("_", "Info", "Diinput : ".($arec['Input_User']??"...")." (".tgl_sql2str($arec['Input_Stamp'], true)."), Diperbaharui : ".($arec['Update_User']??"...")." (".tgl_sql2str($arec['Update_Stamp'], true).")");
echo '<form id="formSub" novalidate="novalidate">
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Sub Kegiatan</label>
<div class="col">'.$tsub.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
<div class="col">'.$tlokasi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Waktu1">Waktu Pelaksanaan</label>
<div class="col-sm-4 col-lg-4">'.$twaktu1.'</div>
<div class="col-sm-4 col-lg-4">'.$twaktu2.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Pagu_Dpn">Pagu Tahun N+1</label>
<div class="col-sm-4 col-lg-4">'.$tpagu_dpn.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col-12 col-lg-5">
<div class="row mb-1 text-center"><div class="col"><h5>Rincian Nilai Pagu (Rp.)</h5></div></div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-5 col-form-label" for="B_Operasi">Belanja Operasi</label>
<div class="col">'.$tb_ope.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-5 col-form-label" for="B_Modal">Belanja Modal</label>
<div class="col">'.$tb_mod.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-5 col-form-label" for="B_Terduga">Belanja Terduga</label>
<div class="col">'.$tb_dug.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-5 col-form-label" for="B_Transfer">Belanja Transfer</label>
<div class="col">'.$tb_trf.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-5 col-form-label" for="Jumlah_Bel">JUMLAH BELANJA</label>
<div class="col">'.$tj_bel.'</div>
</div>
</div>
<div class="col-12 col-lg-7">
<div class="row mb-1 text-center"><div class="col"><h5>Rencana Keuangan (Rp.) & Fisik (%)</h5></div></div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW1">Triwulan I</label>
<div class="col-sm-5 col-lg-5">'.$tkeu1.'</div>
<div class="col-sm-4 col-lg-4"><div class="input-group"><span class="input-group-text text-fisik">Fisik TW I</span>'.$tfis1.'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW2">Triwulan II</label>
<div class="col-sm-5 col-lg-5">'.$tkeu2.'</div>
<div class="col-sm-4 col-lg-4"><div class="input-group"><span class="input-group-text text-fisik">Fisik TW II</span>'.$tfis2.'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW3">Triwulan III</label>
<div class="col-sm-5 col-lg-5">'.$tkeu3.'</div>
<div class="col-sm-4 col-lg-4"><div class="input-group"><span class="input-group-text text-fisik">Fisik TW III</span>'.$tfis3.'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW4">Triwulan IV</label>
<div class="col-sm-5 col-lg-5">'.$tkeu4.'</div>
<div class="col-sm-4 col-lg-4"><div class="input-group"><span class="input-group-text text-fisik">Fisik TW IV</span>'.$tfis4.'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label">JUMLAH RENCANA</label>
<div class="col-sm-5 col-lg-5">'.$tj_keu.'</div>
<div class="col-sm-4 col-lg-4"><div class="input-group"><span class="input-group-text text-fisik">Max Fisik</span>'.$tj_fis.'</div></div>
</div>
</div>
</div>
</form>
<div class="row mb-1"><div class="col"><hr /><div id="divSubOutput"></div></div></div>
<div class="row mt-2"><div class="col">'.$tinfo.'</div></div>
<input type="hidden" id="DPASubID" value="'.$arec['DPASubID'].'">
<input type="hidden" id="mode_detail" value="'.$mode_detail.'">
';
} else if ( $data == "detail-sub-output" ) {
$arec = array(); $mode_detail = "insert";
$id_dpa_sub_output = Param::Get("DPASubOutputID", 0);
if ($id_dpa_sub_output > 0) {
$db->Query("SELECT * FROM dpa90_sub_output WHERE DPASubOutputID='".$id_dpa_sub_output."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
$mode_detail = "update";
}
$butt = new Button();
$butt->success("butSimpanOutput", "Simpan");
$form = new Form($db);
$tindi = $form->textarea("_", "Text_Output", $arec['Text_Output'], $emon_en, true, 2);
$ttarget = $form->textbox("_", "Target_Output", $arec['Target_Output'], $emon_en, true, "double");
$tsatuan = $form->textbox("_", "Satuan_Output", $arec['Satuan_Output'], $emon_en, true, "text", "satuan");
$ajson['html'] = '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label" for="Text_Output">Tolok Ukur Output</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label" for="Target_Output">Target Output</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-4 col-lg-3">'.$tsatuan.'</div>
<div class="col-sm-4 col-lg-4">'.($emon_en?$butt->Button(3):'').'</div>
</div>
<input type="hidden" id="DPASubOutputID" value="'.$arec['DPASubOutputID'].'">
<input type="hidden" id="mode_detail" value="'.$mode_detail.'">
</div></div>
';
} else if ( $data == "detail-akun" ) {
$adetail = array('Renc_Fisik' => 100); $mode_detail = "insert";
$emode = $emon_en; $mode_detail = "insert";
$qakun = " AND AkunID NOT IN (SELECT AkunID FROM dpa90_akun WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' AND SubID='".$id_sub."')";
$id_dpa_akun = Param::Get("DPAAkunID", 0);
if ($id_dpa_akun > 0) {
$emode = false;
$db->Query("SELECT D.*,A.N_Akun FROM (SELECT * FROM dpa90_akun WHERE Tahun='".$thn_renja."' AND DPAAkunID='".$id_dpa_akun."' LIMIT 1) D LEFT JOIN para90_akun A ON (D.AkunID=A.AkunID AND A.Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."')");
if ($db->Next()) $adetail = $db->AllRow();
$qakun = " AND AkunID='".$adetail['AkunID']."'";
$mode_detail = "update";
}
$form = new Form($db);
$f_kakun = $form->textbox("_", "K_Akun", $adetail['K_Akun'], false, false, "text");
$f_nakun = $form->option_que("_", "AkunID", $adetail['AkunID'], $emode, $emode, "SELECT AkunID,CONCAT(K_Akun,' - ',N_Akun) Nama_Akun FROM para90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."' AND Set_Input=1".$qakun, array("AkunID","Nama_Akun"), array(0,"&nbsp;"));
$f_vol = $form->textbox("_", "Volume", $adetail['Volume'], $emon_en, $emon_en, "double", "masukkan volume", null, null, "DPAJS.Hitung_Akun()");
$f_satuan = $form->option_db("_", "SatuanID", $adetail['SatuanID'], $emon_en, $emon_en, "para_satuan", array("SatuanID","N_Satuan"), "Aktif=1 ORDER BY N_Satuan", array(0,"&nbsp;"));
$f_harga = $form->textbox("_", "Harga_Satuan", $adetail['Harga_Satuan'], $emon_en, $emon_en, "double", "masukkan harga satuan", null, null, "DPAJS.Hitung_Akun()");
$f_pagu = $form->textbox("_", "Pagu_Ini", $adetail['Pagu_Ini'], false, false, "double");
$f_renck = $form->textbox("_", "Renc_Keu", $adetail['Renc_Keu'], $emon_en, $emon_en, "double", "masukkan rencana keuangan");
$f_rencf = $form->textbox("_", "Renc_Fisik", $adetail['Renc_Fisik'], $emon_en, $emon_en, "double", "masukkan rencana fisik / non-fisik (default 100)");
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label">Kode Akun</label>
<div class="col-sm-4 col-lg-4">'.$f_kakun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="AkunID">Nama Akun</label>
<div class="col-sm-8 col-lg-9">'.$f_nakun.'</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 & Satuan</label>
<div class="col-sm-4 col-lg-4">'.$f_vol.'</div>
<div class="col-sm-4 col-lg-5">'.$f_satuan.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Harga_Satuan">Harga Satuan (Rp.)</label>
<div class="col-sm-6 col-lg-6">'.$f_harga.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label">Total Dana (Rp.)</label>
<div class="col-sm-6 col-lg-6">'.$f_pagu.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Renc_Keu">Nilai Kontrak / Swakelola (Rp.)</label>
<div class="col-sm-6 col-lg-6">'.$f_renck.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Catatan">Rencana Fisik / Non-Fisik (%)</label>
<div class="col-sm-4 col-lg-4">'.$f_rencf.'</div>
</div>
<input type="hidden" id="DPAAkunID" value="'.$adetail['DPAAkunID'].'">
<input type="hidden" id="mode_detail" value="'.$mode_detail.'">';
} else if ( $data == "change-tipedata" ) {
$id_tipe = Param::Get("TipeDataID", 0);
$indi_target = Param::Get("Target_Indi", "");
$_p_input = [];
if ($id_tipe > 0) {
$db->Query("SELECT * FROM para_tipedata WHERE TipeDataID='".$id_tipe."' LIMIT 1");
if ($db->Next()) $_p_input = json_decode($db->Row("P_Input", "{}"), true);
}
$ajson['html'] = input_tipedata("Target_Indi", $id_tipe, $indi_target, $emon_en, $_p_input);
} else if ( $data == "default" ) {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Kelola Data DPA // Tahun Anggaran '.$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_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="ORGID" type="hidden" value="0">
<input id="OPDID" type="hidden" value="0">
<input id="AK_Bidu" type="hidden" value="">
<input id="K_Bidu1" type="hidden" value="">
<input id="Hak_DPA" type="hidden" value="1">
<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 class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_PROG" placeholder="Nama Program" type="text" readonly>
<input id="ProgID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butPROG"><span><i class="bi-arrow-left-right"></span></i>Program</button>
</div>
</div>
</div>
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_KEG" placeholder="Nama Kegiatan" type="text" readonly>
<input id="KegID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butKEG"><span><i class="bi-arrow-left-right"></span></i>Kegiatan</button>
</div>
</div>
</div>
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_SUB" placeholder="Nama Sub Kegiatan" type="text" readonly>
<input id="SubID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butSUB"><span><i class="bi-arrow-left-right"></span></i>Sub Kegiatan</button>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divPROG">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
<div id="divSUB">&nbsp;</div>
<div id="divAKUN">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+809
View File
@@ -0,0 +1,809 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/dpa.php
Desc. : PHP - Kelola Realisasi Triwulan DPA
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 14th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.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;
use siaupheng\fonia3\Web\Button;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$emon_en = Param::Get("Hak_Real", 0);
$id_rpjmd = $_SESSION['__WEB_APP']['REAL_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$tw_data = $_SESSION['__WEB_APP']['REAL_TW'];
$bln_data = $_SESSION['__WEB_APP']['REAL_BLN'];
$id_org = Param::Get("ORGID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_keg = Param::Get("KegID", 0);
$id_sub = Param::Get("SubID", 0);
$id_akun = Param::Get("AkunID", 0);
$id_dpa_prog = Param::Get("DPAProgID", 0);
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-akun","detail-prog","detail-keg","detail-sub"]) ) {
$qsql = " Tahun='".$thn_renja."'";
if ( $data == "tabel-opd" ) {
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
} else if ( $data == "tabel-prog" ) {
$qsql .= " AND OPDID='".$id_opd."'";
} else if ( $data == "tabel-keg" || $data == "detail-prog" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
} else if ( $data == "tabel-sub" || $data == "detail-keg" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
} else if ( $data == "tabel-akun" || $data == "detail-sub" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' AND SubID='".$id_sub."'";
}
if ($bln_data == 1) {
$q_keu_lalu = "(0)";
$q_keu_ini = "(A.RealK_B1)";
$q_fis_ini = "(A.RealF_B1,0)";
$q_non_ini = "(A.RealN_B1,0)";
}
if ($bln_data == 2) {
$q_keu_lalu = "(A.RealK_B1)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2)";
}
if ($bln_data == 3) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3)";
}
if ($bln_data == 4) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4)";
}
if ($bln_data == 5) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5)";
}
if ($bln_data == 6) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6)";
}
if ($bln_data == 7) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6,A.RealN_B7)";
}
if ($bln_data == 8) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6,A.RealN_B7,A.RealN_B8)";
}
if ($bln_data == 9) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6,A.RealN_B7,A.RealN_B8,A.RealN_B9)";
}
if ($bln_data == 10) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9,A.RealF_B10)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6,A.RealN_B7,A.RealN_B8,A.RealN_B9,A.RealN_B10)";
}
if ($bln_data == 11) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10+A.RealK_B11)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9,A.RealF_B10,A.RealF_B11)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6,A.RealN_B7,A.RealN_B8,A.RealN_B9,A.RealN_B10,A.RealN_B11)";
}
if ($bln_data == 12) {
$q_keu_lalu = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10+A.RealK_B11)";
$q_keu_ini = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10+A.RealK_B11+A.RealK_B12)";
$q_fis_ini = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9,A.RealF_B10,A.RealF_B11,A.RealF_B12)";
$q_non_ini = "(A.RealN_B1,A.RealN_B2,A.RealN_B3,A.RealN_B4,A.RealN_B5,A.RealN_B6,A.RealN_B7,A.RealN_B8,A.RealN_B9,A.RealN_B10,A.RealN_B11,A.RealN_B12)";
}
}
if ( $data == "tabel-opd" ) {
$f_real = (in_array($_SESSION['__WEB_USER']['Level'],[0,1])) ? "1" : "0";
if (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) {
$f_real = "IFNULL(H.Hak_Real,1)";
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_real." Hak_Real FROM (SELECT A.OPDID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID) GROUP BY A.OPDID) K LEFT JOIN (SELECT OPDID,Hak_Real FROM sippd_akses_sip WHERE Tahun='".$thn_renja."') H ON (H.OPDID=K.OPDID) LEFT JOIN vi_para90_opd M ON (M.OPDID=K.OPDID) WHERE M.Aktif=1");
$obj->set_query_footer("SELECT 1 OPDID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT 1 OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql.") B ON (B.OPDID=A.OPDID)");
$obj->add_field("OPDID", "OPD", "hid");
$obj->add_field("ORGID", "ORG", "hid");
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
$obj->add_field("Hak_Real", "Real", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
//if ($bln_data>1) $obj->add_field("REAL_LALU", "Real. Lalu", "r", "rupiah", "rupiah");
$obj->add_field("REAL_TOTAL", "Real. S/D ".bulan_array()[$bln_data], "r", "rupiah", "rupiah");
$obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Program", "DPARealJS.opd_select");
$obj->set_func_navi("DPARealJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-prog" ) {
if ($mode_detail=="update") {
$sql = new SQL($db);
$sql->set_table("dpa90_prog");
$sql->add_param("Real_Kendala");
$sql->add_param("Real_Tindak");
$sql->add_param("Real_Bantu");
$sql->add_param_stamp("Real_Stamp");
$sql->add_param_userid("Real_UserID");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAProgID", Param::Get("DPAProgID",0));
$sql->UpdateDB();
$aparam = Param::Get_Array();
foreach($aparam as $key => $val) {
if (strpos($key, "Prog_TW_") !== false) {
$aid = explode("_", str_replace("Prog_TW_","",$key));
$db->Query("UPDATE dpa90_prog_indi SET Real_TW".$aid[0]."='".$val."',Poin_TW".$aid[0]."=func_tipedata(TipeDataID,'".$val."') WHERE Tahun='".$thn_renja."' AND DPAProgIndiID='".$aid[1]."' LIMIT 1");
}
}
/*$_real_prog = Param::Get("Real_TW_Data", 0);
if ($_real_prog > 0) {
$db->Query("UPDATE dpa90_prog SET Real_TW".$tw_data."='".$_real_prog."' WHERE DPAProgID='".$id_dpa_prog."'");
}*/
$q_poin = "IF(TipeDataID=0,Poin_TW1,Poin_TW".$tw_data.")";
if ($tw_data == 2) {
$q_poin = "IF(TipeDataID=0,Poin_TW1+Poin_TW2,Poin_TW".$tw_data.")";
} else if ($tw_data == 3) {
$q_poin = "IF(TipeDataID=0,Poin_TW1+Poin_TW2+Poin_TW3,Poin_TW".$tw_data.")";
} else if ($tw_data == 4) {
$q_poin = "IF(TipeDataID=0,Poin_TW1+Poin_TW2+Poin_TW3+Poin_TW4,Poin_TW".$tw_data.")";
}
$db->Query("UPDATE dpa90_prog A,(SELECT ProgID,AVG(IF(Poin_Target=0,0,".$q_poin."/Poin_Target*100)) Poin FROM dpa90_prog_indi WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' GROUP BY ProgID) B SET A.Real_TW".$tw_data."=B.Poin WHERE A.DPAProgID='".$id_dpa_prog."'");
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.N_Prog,CONCAT('(',M.K_Prog,') ',M.N_Prog) Nama_Prog FROM (SELECT C.DPAProgID,C.K_Prog,A.ProgID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL,IF(IFNULL(I.Indi_Text,0)=0 OR IFNULL(C.Kinerja_Ini,0)=0,2,IF(IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Target,0) AND IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Real,0),0,1)) CSS_INDI FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT ProgID,SUM(IF(Text_Indi='',0,1)) Indi_Text,SUM(IF(Poin_Target=0,0,1)) Indi_Target,SUM(IF(Poin_TW".$tw_data."=0,0,1)) Indi_Real FROM dpa90_prog_indi WHERE ".$qsql." GROUP BY ProgID) I ON (I.ProgID=A.ProgID) LEFT JOIN (SELECT ProgID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY ProgID) B ON (B.ProgID=A.ProgID) LEFT JOIN (SELECT *,Real_TW".$tw_data." Kinerja_Ini FROM dpa90_prog WHERE".$qsql.") C ON (C.ProgID=A.ProgID) GROUP BY A.ProgID) K LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' GROUP BY ProgID) M ON (M.ProgID=K.ProgID)");
$obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID)");
$obj->add_field("DPAProgID", "PID", "hid");
$obj->add_field("ProgID", "ID", "hid");
$obj->add_field("Nama_Prog", "Nama PROG", "hid");
$obj->add_field("K_Prog", "Kode", "c", null, null, "dom-nomen");
$obj->add_field("N_Prog", "Nama Program", "awr");
$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
//if ($bln_data>1) $obj->add_field("REAL_LALU", "Real. Lalu", "r", "rupiah", "rupiah");
$obj->add_field("REAL_TOTAL", "Real. S/D ".bulan_array()[$bln_data], "r", "rupiah", "rupiah");
$obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
$obj->set_field_order("K_Prog", "A");
$obj->add_row_btn("clipboard", "Capaian", "DPARealJS.prog_real", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Kegiatan", "DPARealJS.prog_select");
$obj->set_func_navi("DPARealJS.data_query('tabel-prog')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divPROG");
} else if ( $data == "tabel-keg" ) {
if ($mode_detail=="update") {
$sql = new SQL($db);
$sql->set_table("dpa90_keg");
$sql->add_param("Real_Kendala");
$sql->add_param("Real_Tindak");
$sql->add_param("Real_Bantu");
$sql->add_param_stamp("Real_Stamp");
$sql->add_param_userid("Real_UserID");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAKegID", Param::Get("DPAKegID",0));
$sql->UpdateDB();
$aparam = Param::Get_Array();
foreach($aparam as $key => $val) {
if (strpos($key, "Keluar_TW_") !== false) {
$aid = explode("_", str_replace("Keluar_TW_","",$key));
$db->Query("UPDATE dpa90_keg_keluar SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_renja."' AND DPAKegKeluarID='".$aid[1]."' LIMIT 1");
}
if (strpos($key, "Hasil_TW_") !== false) {
$aid = explode("_", str_replace("Hasil_TW_","",$key));
$db->Query("UPDATE dpa90_keg_hasil SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_renja."' AND DPAKegHasilID='".$aid[1]."' LIMIT 1");
}
}
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,KR.DPAKegID,KR.K_Keg,M.N_Keg,CONCAT('(',M.K_Keg,') ',M.N_Keg) Nama_Keg FROM (SELECT A.KegID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL,IF(IFNULL(I1.Indi_Text,0)+IFNULL(I2.Indi_Text,0)=0,2,IF(IFNULL(I1.Indi_Text,0)+IFNULL(I2.Indi_Text,0)=IFNULL(I1.Indi_Target,0)+IFNULL(I2.Indi_Target,0) AND IFNULL(I1.Indi_Text,0)+IFNULL(I2.Indi_Text,0)=IFNULL(I1.Indi_Real,0)+IFNULL(I2.Indi_Real,0),0,1)) CSS_INDI FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT KegID,SUM(IF(Text_Keluar='',0,1)) Indi_Text,SUM(IF(Target_Keluar=0,0,1)) Indi_Target,SUM(IF(Real_TW".$tw_data."=0,0,1)) Indi_Real FROM dpa90_keg_keluar WHERE ".$qsql." GROUP BY KegID) I1 ON (I1.KegID=A.KegID) LEFT JOIN (SELECT KegID,SUM(IF(Text_Hasil='',0,1)) Indi_Text,SUM(IF(Target_Hasil='',0,1)) Indi_Target,SUM(IF(Real_TW".$tw_data."=0,0,1)) Indi_Real FROM dpa90_keg_hasil WHERE ".$qsql." GROUP BY KegID) I2 ON (I2.KegID=A.KegID) LEFT JOIN (SELECT KegID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY KegID) B ON (B.KegID=A.KegID) GROUP BY A.KegID) K LEFT JOIN (SELECT * FROM dpa90_keg WHERE".$qsql.") KR ON (KR.KegID=K.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$id_prog."' GROUP BY KegID) M ON (M.KegID=K.KegID)");
$obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT ProgID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY ProgID) B ON (B.ProgID=A.ProgID)");
$obj->add_field("DPAKegID", "KID", "hid");
$obj->add_field("KegID", "ID", "hid");
$obj->add_field("Nama_Keg", "Nama KEG", "hid");
$obj->add_field("K_Keg", "Kode", "c", null, null, "dom-nomen");
$obj->add_field("N_Keg", "Nama Kegiatan", "awr");
$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
//if ($bln_data>1) $obj->add_field("REAL_LALU", "Real. Lalu", "r", "rupiah", "rupiah");
$obj->add_field("REAL_TOTAL", "Real. S/D ".bulan_array()[$bln_data], "r", "rupiah", "rupiah");
$obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
$obj->set_field_order("K_Keg", "A");
$obj->add_row_btn("clipboard", "Kinerja", "DPARealJS.keg_real", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Sub Kegiatan", "DPARealJS.keg_select");
$obj->set_func_navi("DPARealJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "tabel-sub" ) {
if ($mode_detail=="update") {
$sql = new SQL($db);
$sql->set_table("dpa90_sub");
$sql->add_param("Real_Kendala");
$sql->add_param("Real_Tindak");
$sql->add_param("Real_Bantu");
$sql->add_param("Real_No_Kontrak");
$sql->add_param("Real_Pelaksana");
$sql->add_param_stamp("Real_Stamp");
$sql->add_param_userid("Real_UserID");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPASubID", Param::Get("DPASubID",0));
$sql->UpdateDB();
$aparam = Param::Get_Array();
foreach($aparam as $key => $val) {
if (strpos($key, "Output_TW_") !== false) {
$aid = explode("_", str_replace("Output_TW_","",$key));
$db->Query("UPDATE dpa90_sub_output SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_renja."' AND DPASubOutputID='".$aid[1]."' LIMIT 1");
// update kinerja ke dpa90_sub
$db->Query("UPDATE dpa90_sub A, (SELECT 1 Kode,IF(Real_TW1=0,0,IF(Target_Output=0,100,Real_TW1/Target_Output*100)) Kin_TW1,IF(Real_TW2=0,0,IF(Target_Output=0,100,Real_TW2/Target_Output*100)) Kin_TW2,IF(Real_TW3=0,0,IF(Target_Output=0,100,Real_TW3/Target_Output*100)) Kin_TW3,IF(Real_TW4=0,0,IF(Target_Output=0,100,Real_TW4/Target_Output*100)) Kin_TW4 FROM dpa90_sub_output WHERE Tahun='".$thn_renja."' AND DPASubOutputID='".$aid[1]."' LIMIT 1) B SET A.Kin_TW1=B.Kin_TW1,A.Kin_TW2=B.Kin_TW2,A.Kin_TW3=B.Kin_TW3,A.Kin_TW4=B.Kin_TW4 WHERE A.Tahun='".$thn_renja."' AND DPASubID='".Param::Get("DPASubID",0)."' AND B.Kode=1 LIMIT 1");
}
}
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,SR.DPASubID,SR.K_Sub,M.N_Sub,CONCAT('(',M.K_Sub,') ',M.N_Sub) Nama_Sub FROM (SELECT A.SubID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL,IF(IFNULL(I.Indi_Text,0)=0,2,IF(IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Target,0) AND B.Renc_K>0 AND B.Renc_F>0 AND B.Real_KF>0,0,1)) CSS_INDI FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT SubID,SUM(IF(Text_Output='',0,1)) Indi_Text,SUM(IF(Target_Output=0,0,1)) Indi_Target FROM dpa90_sub_output WHERE ".$qsql." GROUP BY SubID) I ON (I.SubID=A.SubID) LEFT JOIN (SELECT SubID,SUM(Renc_Keu) TOT_PAGU,GREATEST(RencK_TW1,RencK_TW2,RencK_TW3,RencK_TW4) Renc_K,GREATEST(RencF_TW1,RencF_TW2,RencF_TW3,RencF_TW4) Renc_F,GREATEST(RealK_TW".$tw_data.",RealF_TW".$tw_data.") Real_KF FROM dpa90_sub WHERE".$qsql." GROUP BY SubID) B ON (B.SubID=A.SubID) GROUP BY A.SubID) K LEFT JOIN (SELECT * FROM dpa90_sub WHERE".$qsql.") SR ON (SR.SubID=K.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND KegID='".$id_keg."') M ON (M.SubID=K.SubID)");
$obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT KegID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY KegID) B ON (B.KegID=A.KegID)");
$obj->add_field("DPASubID", "SID", "hid");
$obj->add_field("SubID", "ID", "hid");
$obj->add_field("Nama_Sub", "Nama SUB", "hid");
$obj->add_field("K_Sub", "Kode", "c", null, null, "dom-nomen");
$obj->add_field("N_Sub", "Nama Sub Kegiatan", "awr");
$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
//if ($bln_data>1) $obj->add_field("REAL_LALU", "Real. Lalu", "r", "rupiah", "rupiah");
$obj->add_field("REAL_TOTAL", "Real. S/D ".bulan_array()[$bln_data], "r", "rupiah", "rupiah");
$obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
$obj->set_field_order("K_Sub", "A");
$obj->add_row_btn("clipboard", "Kinerja", "DPARealJS.sub_ubah", "", "", "CSS_INDI", [0=>"success",1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Akun", "DPARealJS.sub_select");
$obj->set_func_navi("DPARealJS.data_query('tabel-sub')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divSUB");
} else if ( $data == "tabel-akun" ) {
if ($mode_detail=="update") {
$sql = new SQL($db);
$sql->set_table("dpa90_akun");
$sql->add_param("RealK_B".$bln_data, Param::Get("RealK_Bln",0));
$sql->add_param("RealF_B".$bln_data, Param::Get("RealF_Bln",0));
$sql->add_param("RealN_B".$bln_data, Param::Get("RealN_Bln",0));
$sql->add_param("Real_Keu", "RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10+RealK_B11+RealK_B12", true);
$sql->add_param("Real_Fisik", "GREATEST(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10,RealF_B11,RealF_B12)", true);
$sql->add_param("Real_Non", "GREATEST(RealN_B1,RealN_B2,RealN_B3,RealN_B4,RealN_B5,RealN_B6,RealN_B7,RealN_B8,RealN_B9,RealN_B10,RealN_B11,RealN_B12)", true);
$sql->add_param_stamp("Real_Stamp");
$sql->add_param_userid("Real_UserID");
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("DPAAkunID", Param::Get("DPAAkunID",0));
$sql->UpdateDB();
// update sub
$db->Query("UPDATE dpa90_sub A, (SELECT SubID,SUM(Real_Keu) P1,SUM(RealK_B1+RealK_B2+RealK_B3) K1,SUM(RealK_B4+RealK_B5+RealK_B6) K2,SUM(RealK_B7+RealK_B8+RealK_B9) K3,SUM(RealK_B10+RealK_B11+RealK_B12) K4,GREATEST(RealF_B1,RealF_B2,RealF_B3) F1,GREATEST(RealF_B4,RealF_B5,RealF_B6) F2,GREATEST(RealF_B7,RealF_B8,RealF_B9) F3,GREATEST(RealF_B10,RealF_B11,RealF_B12) F4,GREATEST(RealN_B1,RealN_B2,RealN_B3) N1,GREATEST(RealN_B4,RealN_B5,RealN_B6) N2,GREATEST(RealN_B7,RealN_B8,RealN_B9) N3,GREATEST(RealN_B10,RealN_B11,RealN_B12) N4 FROM dpa90_akun WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' GROUP BY SubID) B SET A.Real_Keu=B.P1,A.RealK_TW1=B.K1,A.RealK_TW2=B.K2,A.RealK_TW3=B.K3,A.RealK_TW4=B.K4,A.RealF_TW1=B.F1,A.RealF_TW2=B.F2,A.RealF_TW3=B.F3,A.RealF_TW4=B.F4,A.RealN_TW1=B.N1,A.RealN_TW2=B.N2,A.RealN_TW3=B.N3,A.RealN_TW4=B.N4 WHERE A.SubID=B.SubID AND A.Tahun='".$thn_renja."' AND A.OPDID='".$id_opd."' AND A.ProgID='".$id_prog."' AND A.KegID='".$id_keg."'");
// update keg
$db->Query("UPDATE dpa90_keg A, (SELECT KegID,SUM(Real_Keu) P1 FROM dpa90_sub WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' GROUP BY KegID) B SET A.Real_Keu=B.P1 WHERE A.KegID=B.KegID AND A.Tahun='".$thn_renja."' AND A.OPDID='".$id_opd."' AND A.ProgID='".$id_prog."'");
// update prog
$db->Query("UPDATE dpa90_prog A, (SELECT ProgID,SUM(Real_Keu) P1 FROM dpa90_keg WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' GROUP BY ProgID) B SET A.Real_Keu=B.P1 WHERE A.ProgID=B.ProgID AND A.Tahun='".$thn_renja."' AND A.OPDID='".$id_opd."'");
}
$obj = new Table($db);
$obj->set_query("SELECT A.*,A.Renc_Keu TOT_PAGU,".$q_keu_lalu." REAL_LALU,".$q_keu_ini." REAL_TOTAL,(".$q_keu_ini."/A.Renc_Keu)*100 REAL_PSN,GREATEST".$q_fis_ini." REAL_FISIK,GREATEST".$q_non_ini." REAL_NON,M.N_Akun FROM (SELECT * FROM dpa90_akun WHERE ".$qsql.") A LEFT JOIN (SELECT * FROM para90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."') M ON (M.AkunID=A.AkunID)");
$obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa90_akun WHERE".$qsql.") A LEFT JOIN (SELECT SubID,SUM(Renc_Keu) TOT_PAGU FROM dpa90_akun WHERE".$qsql." GROUP BY SubID) B ON (B.SubID=A.SubID)");
$obj->add_field("DPAAkunID", "ID", "hid");
$obj->add_field("K_Akun", "Kode", "c");
$obj->add_field("N_Akun", "Nama Akun", "awr");
$obj->add_field("TOT_PAGU", "Pagu", "r", "rupiah", "rupiah");
//if ($bln_data>1) $obj->add_field("REAL_LALU", "Real. Lalu", "r", "rupiah", "rupiah");
$obj->add_field("REAL_TOTAL", "Real. S/D ".bulan_array()[$bln_data], "r", "rupiah", "rupiah");
$obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
$obj->add_field("Real_Stamp", "Update", "c nwr", "sqljams", "", "val-tgljams");
$obj->set_field_order("K_Akun", "A");
if ($emon_en) {
$obj->add_row_btn("clipboard", "Realisasi", "DPARealJS.akun_ubah");
} else {
$obj->add_row_btn("clipboard", "Detail", "DPARealJS.akun_ubah");
}
$obj->set_func_navi("DPARealJS.data_query('tabel-akun')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divAKUN");
} else if ( $data == "detail-prog" ) {
$arec = [];
$db->Query("SELECT * FROM dpa90_prog WHERE Tahun='".$thn_renja."' AND DPAProgID='".$id_dpa_prog."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
if ($arec['ProgID'] > 0) {
$db->Query("SELECT N_Prog FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$arec['ProgID']."' LIMIT 1");
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
}
$form = new Form($db);
$tprog = $form->textarea("_", "N_Prog", $arec['N_Prog'], false, false, 2);
$tkendala = $form->textarea("_", "Real_Kendala", $arec['Real_Kendala'], $emon_en, false, 2);
$ttindak = $form->textarea("_", "Real_Tindak", $arec['Real_Tindak'], $emon_en, false, 2);
$tbantu = $form->textarea("_", "Real_Bantu", $arec['Real_Bantu'], $emon_en, false, 2);
echo '
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Program</label>
<div class="col">'.$tprog.'</div>
</div>
<div class="accordion" id="accorDPAReal">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-one"><button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-one" aria-controls="flush-coll-one" aria-expanded="true">Capaian Indikator Program &nbsp;<strong>Sampai Dengan Triwulan '.romawi($tw_data).'</strong></button></h2>
<div id="flush-coll-one" class="accordion-collapse collapse show" aria-labelledby="flush-head-one" data-bs-parent="#accorDPAReal">
<div class="accordion-body">';
$db->Query("SELECT I.*,IFNULL(T.P_Input,'{}') P_Input FROM (SELECT * FROM dpa90_prog_indi WHERE ".$qsql.") I LEFT JOIN para_tipedata T ON (T.TipeDataID=I.TipeDataID)");
if ($db->RecordCount()==0) {
echo '
<div class="card"><div class="card-body">
<div class="row mb-2"><div class="col text-center"><h3>Belum ada Indikator Program</h3></div></div>
</div></div>';
}
while ($db->Next()) {
$_p_input = ($db->Row("TipeDataID", 0) > 0) ? json_decode($db->Row("P_Input", "{}"), true) : [];
//$_val_cap = ($db->Row("Real_TW".$tw_data, "") == "" && $db->Row("TipeDataID", 0) > 0 && $tw_data>1) ? $db->Row("Real_TW".($tw_data-1)) : $db->Row("Real_TW".$tw_data);
$_val_cap = $db->Row("Real_TW".$tw_data);
$tindi = '<textarea class="form-control" disabled="true" rows="2">'.$db->Row("Text_Indi")." (".$db->Row("Satuan_Indi").')</textarea>';
$ttarget = '<input type="text" class="form-control" value="'.$db->Row("Target_Indi").'" readonly="">';
$treal = input_tipedata("Prog_TW_".$tw_data."_".$db->Row("DPAProgIndiID"), $db->Row("TipeDataID", 0), $_val_cap, $emon_en, $_p_input);
$tcapaian = "";
for ($_tw = 1; $_tw < $tw_data; $_tw++) {
$tcapaian .= ' / TW'.$_tw.' : '.$db->Row("Real_TW".$_tw);
}
echo '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Tolok Ukur</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Target Indikator</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-10 col-lg-5"><div class="input-group border '.($_val_cap==""?'border-danger':'border-success').' rounded"><span class="input-group-text">Capaian Indikator TW '.romawi($tw_data).'</span>'.$treal.'<button class="btn btn-outline-secondary shadow-none text-info" title="Input hanya Capaian per Triwulan '.romawi($tw_data).' saja."><i class="bi-lightbulb"></i></button></div></div>
</div>
<div class="row'.($tw_data==1?' d-none':'').'">
<label class="col-sm-4 col-lg-2 col-form-label">Histori Capaian</label>
<div class="col"><input type="text" class="form-control" value="'.substr($tcapaian,3).'" readonly=""></div>
</div>
</div></div>';
}
echo '
</div></div></div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-tri"><button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-tri" aria-controls="flush-coll-tri" aria-expanded="false">Kendala dan Tindak Lanjut dari Program</button></h2>
<div id="flush-coll-tri" class="accordion-collapse collapse" aria-labelledby="flush-head-tri" data-bs-parent="#accorDPAReal">
<div class="accordion-body">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Kendala">Kendala yang dihadapi</label>
<div class="col">'.$tkendala.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Tindak">Tindak lanjut yang diperlukan</label>
<div class="col">'.$ttindak.'</div>
</div>
<div class="row mb-1 d-none">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Bantu">Pihak yang diharapkan dapat membantu</label>
<div class="col">'.$tbantu.'</div>
</div>
</div></div></div>
</div>
<input type="hidden" id="DPAProgID" value="'.$id_dpa_prog.'">';
} else if ( $data == "detail-keg" ) {
$arec = [];
$id_dpa_keg = Param::Get("DPAKegID", 0);
$db->Query("SELECT * FROM dpa90_keg WHERE Tahun='".$thn_renja."' AND DPAKegID='".$id_dpa_keg."' LIMIT 1");
if ($db->Next()) $arec = $db->AllRow();
if ($arec['KegID'] > 0) {
$db->Query("SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND KegID='".$arec['KegID']."' LIMIT 1");
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
}
$form = new Form($db);
$tkeg = $form->textarea("_", "N_Keg", $arec['N_Keg'], false, false, 2);
$tkendala = $form->textarea("_", "Real_Kendala", $arec['Real_Kendala'], $emon_en, false, 2);
$ttindak = $form->textarea("_", "Real_Tindak", $arec['Real_Tindak'], $emon_en, false, 2);
$tbantu = $form->textarea("_", "Real_Bantu", $arec['Real_Bantu'], $emon_en, false, 2);
echo '
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Kegiatan</label>
<div class="col">'.$tkeg.'</div>
</div>
<div class="accordion" id="accorDPAReal">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-one"><button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-one" aria-controls="flush-coll-one" aria-expanded="true">Kinerja Indikator Keluaran &nbsp;<strong>Sampai Dengan Triwulan '.romawi($tw_data).'</strong></button></h2>
<div id="flush-coll-one" class="accordion-collapse collapse show" aria-labelledby="flush-head-one" data-bs-parent="#accorDPAReal">
<div class="accordion-body">';
$db->Query("SELECT * FROM dpa90_keg_keluar WHERE ".$qsql);
if ($db->RecordCount()==0) {
echo '
<div class="card"><div class="card-body">
<div class="row mb-2"><div class="col text-center"><h3>Belum ada Indikator Keluaran Kegiatan</h3></div></div>
</div></div>
';
}
while ($db->Next()) {
$tindi = $form->textarea("_", "Text_Indi", $db->Row("Text_Keluar"), false, false, 2);
$ttarget = $form->textbox("_", "Target_Indi", (float)$db->Row("Target_Keluar")." ".$db->Row("Satuan_Keluar"), false, false, "text");
$treal = $form->textbox("_", "Keluar_TW_".$tw_data."_".$db->Row("DPAKegKeluarID"), $db->Row("Real_TW".$tw_data), $emon_en, true, "double");
echo '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Tolok Ukur</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Target & Realisasi</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-8 col-lg-4"><div class="input-group">'.$treal.'<span class="input-group-text">'.$db->Row("Satuan_Keluar").'</span></div></div>
</div>
</div></div>
';
}
echo '
</div></div></div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-two"><button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-two" aria-controls="flush-coll-two" aria-expanded="false">Kinerja Indikator Hasil &nbsp;<strong>Sampai Dengan Triwulan '.romawi($tw_data).'</strong></button></h2>
<div id="flush-coll-two" class="accordion-collapse collapse" aria-labelledby="flush-head-two" data-bs-parent="#accorDPAReal">
<div class="accordion-body">';
$db->Query("SELECT * FROM dpa90_keg_hasil WHERE ".$qsql);
if ($db->RecordCount()==0) {
echo '
<div class="card"><div class="card-body">
<div class="row mb-2"><div class="col text-center"><h3>Belum ada Indikator Hasil Kegiatan</h3></div></div>
</div></div>
';
}
while ($db->Next()) {
$tindi = $form->textarea("_", "Text_Indi", $db->Row("Text_Hasil"), false, false, 2);
$ttarget = $form->textbox("_", "Target_Indi", $db->Row("Target_Hasil")." ".$db->Row("Satuan_Hasil"), false, false, "text");
$treal = $form->textbox("_", "Hasil_TW_".$tw_data."_".$db->Row("DPAKegHasilID"), $db->Row("Real_TW".$tw_data), $emon_en, true, "text");
echo '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Tolok Ukur</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Target & Realisasi</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-8 col-lg-4"><div class="input-group">'.$treal.'<span class="input-group-text">'.$db->Row("Satuan_Hasil").'</span></div></div>
</div>
</div></div>
';
}
echo '
</div></div></div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-tri"><button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-tri" aria-controls="flush-coll-tri" aria-expanded="false">Kendala dan Tindak Lanjut dari Kegiatan</button></h2>
<div id="flush-coll-tri" class="accordion-collapse collapse" aria-labelledby="flush-head-tri" data-bs-parent="#accorDPAReal">
<div class="accordion-body">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Kendala">Kendala yang dihadapi</label>
<div class="col">'.$tkendala.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Tindak">Tindak lanjut yang diperlukan</label>
<div class="col">'.$ttindak.'</div>
</div>
<div class="row mb-1 d-none">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Bantu">Pihak yang diharapkan dapat membantu</label>
<div class="col">'.$tbantu.'</div>
</div>
</div></div></div>
</div>
<input type="hidden" id="DPAKegID" value="'.$id_dpa_keg.'">';
} else if ( $data == "detail-sub" ) {
$id_dpa_sub = Param::Get("DPASubID", 0);
$adetail = [];
$db->Query("SELECT *,(RealK_TW1+RealK_TW2+RealK_TW3+RealK_TW4) Tot_Real FROM dpa90_sub WHERE Tahun='".$thn_renja."' AND DPASubID='".$id_dpa_sub."' LIMIT 1");
if ($db->Next()) $adetail = $db->AllRow();
$db->Query("SELECT N_Sub FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND SubID='".$id_sub."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
$db->Query("SELECT Username Update_User FROM app_operator WHERE UserID='".$adetail['Update_UserID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
$db->Query("SELECT Username Real_User FROM app_operator WHERE UserID='".$adetail['Real_UserID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
foreach($adetail as $_key => $_val) {
if (strpos($_key, "Pagu_")!==false || strpos($_key, "RencK_")!==false || strpos($_key, "RencF_")!==false || strpos($_key, "RealK_")!==false || strpos($_key, "RealF_")!==false) $adetail[$_key] = doubleval($_val);
}
$form = new Form($db);
$tkode = $form->textbox("_", "K_Sub", $adetail['K_Sub'], false, false);
$tsub = $form->textarea("_", "N_Sub", $adetail['N_Sub'], false, false, 2);
$tkendala = $form->textarea("_", "Real_Kendala", $adetail['Real_Kendala'], $emon_en, false, 2);
$ttindak = $form->textarea("_", "Real_Tindak", $adetail['Real_Tindak'], $emon_en, false, 2);
$tbantu = $form->textarea("_", "Real_Bantu", $adetail['Real_Bantu'], $emon_en, false, 2);
$tno_kontr = $form->textbox("_", "Real_No_Kontrak", $adetail['Real_No_Kontrak'], $emon_en, false, "text", "nomor kontrak");
$tpelak = $form->textarea("_", "Real_Pelaksana", $adetail['Real_Pelaksana'], $emon_en, false, 2, "nama pelaksana");
$tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".$adetail['Update_User'].", pada : ".tgl_sql2str($adetail['Update_Stamp'], true), false, false);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Kode Sub Kegiatan</label>
<div class="col-sm-6 col-lg-4">'.$tkode.'</div>
</div>
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Sub Kegiatan</label>
<div class="col">'.$tsub.'</div>
</div>
<div class="accordion" id="accorDPAReal">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-one"><button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-one" aria-controls="flush-coll-one" aria-expanded="true">Kinerja Indikator Output &nbsp;<strong>Sampai Dengan Triwulan '.romawi($tw_data).'</button></h2>
<div id="flush-coll-one" class="accordion-collapse collapse show" aria-labelledby="flush-head-one" data-bs-parent="#accorDPAReal">
<div class="accordion-body">';
$db->Query("SELECT * FROM dpa90_sub_output WHERE ".$qsql);
if ($db->RecordCount()==0) {
echo '
<div class="card"><div class="card-body">
<div class="row mb-2"><div class="col text-center"><h3>Belum ada Indikator Output Sub Kegiatan</h3></div></div>
</div></div>
';
}
while ($db->Next()) {
$tindi = $form->textarea("_", "Text_Indi", $db->Row("Text_Output"), false, false, 2);
$ttarget = $form->textbox("_", "Target_Indi", (float)$db->Row("Target_Output")." ".$db->Row("Satuan_Output"), false, false, "text");
$treal = $form->textbox("_", "Output_TW_".$tw_data."_".$db->Row("DPASubOutputID"), $db->Row("Real_TW".$tw_data), $emon_en, true, "double");
echo '
<div class="card"><div class="card-body">
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Tolok Ukur</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row">
<label class="col-sm-4 col-lg-2 col-form-label">Target & Realisasi</label>
<div class="col-sm-6 col-lg-3">'.$ttarget.'</div>
<div class="col-sm-8 col-lg-4"><div class="input-group">'.$treal.'<span class="input-group-text">'.$db->Row("Satuan_Output").'</span></div></div>
</div>
</div></div>
';
}
echo '
</div></div></div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-two"><button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-two" aria-controls="flush-coll-two" aria-expanded="false">Kendala, Tindak Lanjut dan Bantuan dari Sub Kegiatan</button></h2>
<div id="flush-coll-two" class="accordion-collapse collapse" aria-labelledby="flush-head-two" data-bs-parent="#accorDPAReal">
<div class="accordion-body">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Kendala">Kendala yang dihadapi</label>
<div class="col">'.$tkendala.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Tindak">Tindak lanjut yang diperlukan</label>
<div class="col">'.$ttindak.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Bantu">Pihak yang diharapkan dapat membantu</label>
<div class="col">'.$tbantu.'</div>
</div>
</div></div></div>
<div class="accordion-item">
<h2 class="accordion-header" id="flush-tri"><button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-tri" aria-controls="flush-coll-tri" aria-expanded="false">Nomor Kontrak & Nama Pelaksana&nbsp;<i>(jika informasi tersedia)</i></button></h2>
<div id="flush-coll-tri" class="accordion-collapse collapse" aria-labelledby="flush-head-tri" data-bs-parent="#accorDPAReal">
<div class="accordion-body">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_No_Kontrak">Nomor Kontrak</label>
<div class="col">'.$tno_kontr.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Pelaksana">Nama Pelaksana</label>
<div class="col">'.$tpelak.'</div>
</div>
</div></div></div>
</div>
<div class="row mt-2"><div class="col">'.$tinfo.'</div></div>
<input type="hidden" id="DPASubID" value="'.$adetail['DPASubID'].'">';
} else if ( $data == "detail-akun" ) {
$id_dpa_akun = Param::Get("DPAAkunID", 0);
$adetail = array();
$db->Query("SELECT D.*,A.N_Akun FROM (SELECT * FROM dpa90_akun WHERE Tahun='".$thn_renja."' AND DPAAkunID='".$id_dpa_akun."' LIMIT 1) D LEFT JOIN para90_akun A ON (D.AkunID=A.AkunID AND A.Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."')");
if ($db->Next()) $adetail = $db->AllRow();
$db->Query("SELECT Username Real_User FROM app_operator WHERE UserID='".$adetail['Real_UserID']."' LIMIT 1");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
$realK_las = 0; $realK_tot = 0; $realF_las = 0; $realF_tot = 0; $realN_las = 0; $realN_tot =0;
for ($x=1; $x<=$bln_data; $x++) {
if ($x<$bln_data) {
$realK_las += $adetail['RealK_B'.$x];
$realF_las = max($adetail['RealF_B'.$x], $realF_las);
$realN_las = max($adetail['RealN_B'.$x], $realN_las);
}
$realK_tot += $adetail['RealK_B'.$x];
$realF_tot = max($adetail['RealF_B'.$x], $realF_las);
$realN_tot = max($adetail['RealN_B'.$x], $realN_las);
}
/*$realF_las = $adetail['RealF_B'.($bln_data-1)];//todo: using biggest !
$realF_tot = $adetail['RealF_B'.$bln_data];
$realN_las = $adetail['RealN_B'.($bln_data-1)];//todo: using biggest !
$realN_tot = $adetail['RealN_B'.$bln_data];*/
$form = new Form($db);
$f_kakun = $form->textbox("_", "K_Akun", $adetail['K_Akun'], false, false, "text");
$f_akun = $form->textarea("_", "N_Akun", $adetail['N_Akun'], false, false, 2);
$f_pagu = $form->textbox("_", "Pagu_Ini", $adetail['Renc_Keu'], false, false, "double");
$f_k_las = $form->textbox("_", "RealK_Las", $realK_las, false, false, "double");
$f_k_bln = $form->textbox("_", "RealK_Bln", $adetail['RealK_B'.$bln_data], false, false, "double");
$f_k_tot = $form->textbox("_", "RealK_Tot", $realK_tot, $emon_en, $emon_en, "double");
$f_f_las = $form->textbox("_", "RealF_Las", $realF_las, false, false, "double");
$f_f_bln = $form->textbox("_", "RealF_Bln", $realF_tot, false, false, "double");
$f_f_tot = $form->textbox("_", "RealF_Tot", $realF_tot, $emon_en, $emon_en, "double");
$f_n_las = $form->textbox("_", "RealN_Las", $realN_las, false, false, "double");
$f_n_bln = $form->textbox("_", "RealN_Bln", $realN_tot, false, false, "double");
$f_n_tot = $form->textbox("_", "RealN_Tot", $realN_tot, $emon_en, $emon_en, "double");
$tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".$adetail['Real_User'].", pada : ".tgl_sql2str($adetail['Real_Stamp'], true), false, false);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Kode Akun</label>
<div class="col-sm-6 col-lg-4">'.$f_kakun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Akun</label>
<div class="col">'.$f_akun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Kontrak/Swakelola (Rp.)</label>
<div class="col-sm-4">'.$f_pagu.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1 text-center font-weight-bold">
<div class="col-6 col-lg-2">&nbsp;</div>
<div class="col-6 col-lg-3">S/D BULAN LALU</div>
<div class="col-6 col-lg-3">BULAN '.strtoupper(bulan_array()[$bln_data]).'&nbsp;'.$thn_renja.'</div>
<div class="col-6 col-lg-4">S/D BULAN '.strtoupper(bulan_array()[$bln_data]).' '.$thn_renja.'</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Keuangan (Rp)</div>
<div class="col-6 col-lg-3">'.$f_k_las.'</div>
<div class="col-6 col-lg-3">'.$f_k_bln.'</div>
<div class="col-6 col-lg-4">
<div class="form-group"><div class="input-group"><span class="input-group-text">Rp</span>'.$f_k_tot.'</div></div>
</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Fisik (%)</div>
<div class="col-6 col-lg-3">'.$f_f_las.'</div>
<div class="col-6 col-lg-3">'.$f_f_bln.'</div>
<div class="col-6 col-lg-4">
<div class="form-group"><div class="input-group"><span class="input-group-text">%</span>'.$f_f_tot.'</div></div>
</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Non-Fisik (%)</div>
<div class="col-6 col-lg-3">'.$f_n_las.'</div>
<div class="col-6 col-lg-3">'.$f_n_bln.'</div>
<div class="col-6 col-lg-4">
<div class="form-group"><div class="input-group"><span class="input-group-text">%</span>'.$f_n_tot.'</div></div>
</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Informasi</label>
<div class="col">'.$tinfo.'</div>
</div>
<input type="hidden" id="AkunID" value="'.$adetail['AkunID'].'">
<input type="hidden" id="DPAAkunID" value="'.$adetail['DPAAkunID'].'">
<input type="hidden" id="REALRP" value="'.$realK_las.'">
<input type="hidden" id="PAGURP" value="'.$adetail['Renc_Keu'].'">
';
//<input type="hidden" id="REALRP" value="'.($adetail['Real_Keu']-$adetail['RealK_B'.$bln_data]).'">
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Kelola Data Realisasi DPA // Bulan '.bulan_array()[$bln_data].' '.$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_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="ORGID" type="hidden" value="0">
<input id="OPDID" type="hidden" value="0">
<input id="Hak_Real" type="hidden" value="1">
<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 class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_PROG" placeholder="Nama Program" type="text" readonly>
<input id="ProgID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butPROG"><span><i class="bi-arrow-left-right"></span></i>Program</button>
</div>
</div>
</div>
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_KEG" placeholder="Nama Kegiatan" type="text" readonly>
<input id="KegID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butKEG"><span><i class="bi-arrow-left-right"></span></i>Kegiatan</button>
</div>
</div>
</div>
<div class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_SUB" placeholder="Nama Sub Kegiatan" type="text" readonly>
<input id="SubID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butSUB"><span><i class="bi-arrow-left-right"></span></i>Sub Kegiatan</button>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divPROG">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
<div id="divSUB">&nbsp;</div>
<div id="divAKUN">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+149
View File
@@ -0,0 +1,149 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ebijak_renja.php
Desc. : PHP - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : October 21st, 2019.
(c) 2011 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = Param::Get("OPDID", 0);
$id_kendali = Param::Get("KendaliID", 0);
if ( in_array($data, ["tabel-opd","tabel-keg"]) ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-keg" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(1,3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
}
}
if ( $data == "tabel-opd" ) {
$obj = new Table($db);
$obj->set_query("SELECT S.* FROM vi_para90_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hid");
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Kegiatan", "EBijakRenjaJS.opd_select");
$obj->set_func_navi("EBijakRenjaJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-keg" ) {
if ($mode_detail=="save") {
$isedit = true;
$db->Query("SELECT COUNT(*) Item FROM kendali_detail WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND KendaliID='".$id_kendali."'");
if ($db->Next()) {
if ($db->Row("Item",0)==0) $isedit = false;
}
$sql = new SQL($db);
$sql->set_table("kendali_detail");
if (!$isedit) {
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ID", Kendali_ID($thn_renja));
$sql->add_param("OPDID", $id_opd);
$sql->add_param("KendaliID", $id_kendali);
}
$sql->add_param("Sesuai");
$sql->add_param("Sebab");
$sql->add_param("Tindak");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("OPDID", $id_opd);
$sql->add_where("KendaliID", $id_kendali);
if ($isedit) { $sql->UpdateDB(); } else $sql->InsertDB();
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,P.KendaliID ID2,P.K_Kendali,P.N_Kendali,P.Edit FROM para_kendali P LEFT JOIN (SELECT * FROM kendali_detail WHERE ".$qsql.") K ON (P.KendaliID=K.KendaliID) WHERE P.Spesial='" .($id_opd==37 ? 0 : 1). "'");
$obj->add_field("ID2", "ID", "hid");
$obj->add_field("K_Kendali", "Kode", "c");
$obj->add_field("N_Kendali", "Nama Pengendalian", "awr");
$obj->add_field("Sesuai", "Kesesuaian", "c", "checkbox");
$obj->add_field("Sebab", "Penyebab", "hid");
$obj->add_field("Tindak", "Tidak Lanjut", "hid");
$obj->set_field_order("K_Kendali", "A");
//$obj->set_button_field("Edit", "1");
$obj->add_row_btn("clipboard", "Ubah", "EBijakRenjaJS.keg_ubah");
$obj->set_func_navi("EBijakRenjaJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$db->Query("SELECT D.* FROM kendali_detail D WHERE D.Tahun='".$thn_renja."' AND D.OPDID='".$id_opd."' AND D.KendaliID='".$id_kendali."'");
if ($db->Next()) $adata = $db->AllRow();
$form = new Form($db);
$tkendali = $form->textarea("_", "N_Kendali", $adata['N_Kendali'], false, false, 2);
$tsesuai = $form->radio("_", "Sesuai", $adata['Sesuai'], true, true, array(1=>"Ada",0=>"Tidak Ada"));
$tsebab = $form->textarea("_", "Sebab", $adata['Sebab'], true, true, 2);
$ttindak = $form->textarea("_", "Tindak", $adata['Tindak'], true, true, 2);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="N_Kendali">Nama Pengendalian</label>
<div class="col">'.$tkendali.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sesuai">Kesesuaian</label>
<div class="col">'.$tsesuai.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sebab">Faktor Penyebab</label>
<div class="col">'.$tsebab.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Tindak">Tindak Lanjut</label>
<div class="col">'.$ttindak.'</div>
</div>
<input type="hidden" id="KendaliID" value="'.$id_kendali.'">
';
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Kebijakan Renja // Tahun '.$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_OPD" placeholder="Nama 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="divOPD">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+150
View File
@@ -0,0 +1,150 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ebijak_renja.php
Desc. : PHP - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : October 21st, 2019.
(c) 2011 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$mode_detail = $ap->getParam("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_kendali = $ap->getParam("KendaliID", 0);
if ( $data == "tabel-opd" || $data == "tabel-keg" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-keg" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
}
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Kegiatan", "EBijakRenstraJS.opd_select");
$obj->set_func_navi("EBijakRenstraJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-keg" ) {
if ($mode_detail=="save") {
$isedit = true;
$db->Query("SELECT COUNT(*) Item FROM kendali_detail WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND KendaliID='".$id_kendali."'");
if ($db->Next()) {
if ($db->Row("Item",0)==0) $isedit = false;
}
$sql = new cSQL();
$sql->set_table("kendali_detail");
if (!$isedit) {
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ID", Kendali_ID($thn_renja));
$sql->add_param("OPDID", $id_opd);
$sql->add_param("KendaliID", $id_kendali);
}
$sql->add_param("Sesuai");
$sql->add_param("Sebab");
$sql->add_param("Tindak");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("OPDID", $id_opd);
$sql->add_where("KendaliID", $id_kendali);
if ($isedit) { $sql->UpdateDB(); } else $sql->InsertDB();
}
$obj = new cGRIDTABLE();
$obj->set_query("SELECT K.*,P.KendaliID ID2,P.K_Kendali,P.N_Kendali,P.Edit FROM para_kendali P LEFT JOIN (SELECT * FROM kendali_detail WHERE ".$qsql.") K ON (P.KendaliID=K.KendaliID) WHERE P.Spesial='" .($id_opd==37 ? 0 : 1). "'");
$obj->add_field("ID2", "ID", "hidden");
$obj->add_field("K_Kendali", "Kode", "center");
$obj->add_field("N_Kendali", "Nama Pengendalian", "left autowrap");
$obj->add_field("Sesuai", "Kesesuaian", "center", "checkbox");
$obj->add_field("Sebab", "Penyebab", "hidden");
$obj->add_field("Tindak", "Tidak Lanjut", "hidden");
$obj->set_field_order("K_Kendali", "A");
//$obj->set_button_field("Edit", "1");
$obj->add_row_btn("clipboard", "Ubah", "EBijakRenstraJS.keg_ubah");
$obj->set_func_navi("EBijakRenstraJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$db->Query("SELECT D.* FROM kendali_detail D WHERE D.Tahun='".$thn_renja."' AND D.OPDID='".$id_opd."' AND D.KendaliID='".$id_kendali."'");
if ($db->Next()) $adata = $db->AllRow();
$form = new cFORM();
$tkendali = $form->textarea("_", "N_Kendali", $adata['N_Kendali'], false, false, 2);
$tsesuai = $form->radio("_", "Sesuai", $adata['Sesuai'], true, true, array(1=>"Ada",0=>"Tidak Ada"));
$tsebab = $form->textarea("_", "Sebab", $adata['Sebab'], true, true, 2);
$ttindak = $form->textarea("_", "Tindak", $adata['Tindak'], true, true, 2);
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="N_Kendali">Nama Pengendalian</label>
<div class="col">'.$tkendali.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sesuai">Kesesuaian</label>
<div class="col">'.$tsesuai.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sebab">Faktor Penyebab</label>
<div class="col">'.$tsebab.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Tindak">Tindak Lanjut</label>
<div class="col">'.$ttindak.'</div>
</div>
<input type="hidden" id="KendaliID" value="'.$id_kendali.'">
';
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Kebijakan Renstra // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+150
View File
@@ -0,0 +1,150 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ebijak_renja.php
Desc. : PHP - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : October 21st, 2019.
(c) 2011 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$mode_detail = $ap->getParam("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_kendali = $ap->getParam("KendaliID", 0);
if ( $data == "tabel-opd" || $data == "tabel-keg" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-keg" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
}
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Kegiatan", "EBijakRKPDJS.opd_select");
$obj->set_func_navi("EBijakRKPDJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-keg" ) {
if ($mode_detail=="save") {
$isedit = true;
$db->Query("SELECT COUNT(*) Item FROM kendali_detail WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND KendaliID='".$id_kendali."'");
if ($db->Next()) {
if ($db->Row("Item",0)==0) $isedit = false;
}
$sql = new cSQL();
$sql->set_table("kendali_detail");
if (!$isedit) {
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ID", Kendali_ID($thn_renja));
$sql->add_param("OPDID", $id_opd);
$sql->add_param("KendaliID", $id_kendali);
}
$sql->add_param("Sesuai");
$sql->add_param("Sebab");
$sql->add_param("Tindak");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("OPDID", $id_opd);
$sql->add_where("KendaliID", $id_kendali);
if ($isedit) { $sql->UpdateDB(); } else $sql->InsertDB();
}
$obj = new cGRIDTABLE();
$obj->set_query("SELECT K.*,P.KendaliID ID2,P.K_Kendali,P.N_Kendali,P.Edit FROM para_kendali P LEFT JOIN (SELECT * FROM kendali_detail WHERE ".$qsql.") K ON (P.KendaliID=K.KendaliID) WHERE P.Spesial='" .($id_opd==37 ? 0 : 1). "'");
$obj->add_field("ID2", "ID", "hidden");
$obj->add_field("K_Kendali", "Kode", "center");
$obj->add_field("N_Kendali", "Nama Pengendalian", "left autowrap");
$obj->add_field("Sesuai", "Kesesuaian", "center", "checkbox");
$obj->add_field("Sebab", "Penyebab", "hidden");
$obj->add_field("Tindak", "Tidak Lanjut", "hidden");
$obj->set_field_order("K_Kendali", "A");
//$obj->set_button_field("Edit", "1");
$obj->add_row_btn("clipboard", "Ubah", "EBijakRKPDJS.keg_ubah");
$obj->set_func_navi("EBijakRKPDJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$db->Query("SELECT D.* FROM kendali_detail D WHERE D.Tahun='".$thn_renja."' AND D.OPDID='".$id_opd."' AND D.KendaliID='".$id_kendali."'");
if ($db->Next()) $adata = $db->AllRow();
$form = new cFORM();
$tkendali = $form->textarea("_", "N_Kendali", $adata['N_Kendali'], false, false, 2);
$tsesuai = $form->radio("_", "Sesuai", $adata['Sesuai'], true, true, array(1=>"Ada",0=>"Tidak Ada"));
$tsebab = $form->textarea("_", "Sebab", $adata['Sebab'], true, true, 2);
$ttindak = $form->textarea("_", "Tindak", $adata['Tindak'], true, true, 2);
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="N_Kendali">Nama Pengendalian</label>
<div class="col">'.$tkendali.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sesuai">Kesesuaian</label>
<div class="col">'.$tsesuai.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sebab">Faktor Penyebab</label>
<div class="col">'.$tsebab.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Tindak">Tindak Lanjut</label>
<div class="col">'.$ttindak.'</div>
</div>
<input type="hidden" id="KendaliID" value="'.$id_kendali.'">
';
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Kebijakan RKPD // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+150
View File
@@ -0,0 +1,150 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ebijak_renja.php
Desc. : PHP - Evaluasi Kebijakan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : October 21st, 2019.
(c) 2011 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$mode_detail = $ap->getParam("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_kendali = $ap->getParam("KendaliID", 0);
if ( $data == "tabel-opd" || $data == "tabel-keg" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-keg" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
}
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Kegiatan", "EBijakRPJMDJS.opd_select");
$obj->set_func_navi("EBijakRPJMDJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-keg" ) {
if ($mode_detail=="save") {
$isedit = true;
$db->Query("SELECT COUNT(*) Item FROM kendali_detail WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' AND KendaliID='".$id_kendali."'");
if ($db->Next()) {
if ($db->Row("Item",0)==0) $isedit = false;
}
$sql = new cSQL();
$sql->set_table("kendali_detail");
if (!$isedit) {
$sql->add_param("Tahun", $thn_renja);
$sql->add_param("ID", Kendali_ID($thn_renja));
$sql->add_param("OPDID", $id_opd);
$sql->add_param("KendaliID", $id_kendali);
}
$sql->add_param("Sesuai");
$sql->add_param("Sebab");
$sql->add_param("Tindak");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("OPDID", $id_opd);
$sql->add_where("KendaliID", $id_kendali);
if ($isedit) { $sql->UpdateDB(); } else $sql->InsertDB();
}
$obj = new cGRIDTABLE();
$obj->set_query("SELECT K.*,P.KendaliID ID2,P.K_Kendali,P.N_Kendali,P.Edit FROM para_kendali P LEFT JOIN (SELECT * FROM kendali_detail WHERE ".$qsql.") K ON (P.KendaliID=K.KendaliID) WHERE P.Spesial='" .($id_opd==37 ? 0 : 1). "'");
$obj->add_field("ID2", "ID", "hidden");
$obj->add_field("K_Kendali", "Kode", "center");
$obj->add_field("N_Kendali", "Nama Pengendalian", "left autowrap");
$obj->add_field("Sesuai", "Kesesuaian", "center", "checkbox");
$obj->add_field("Sebab", "Penyebab", "hidden");
$obj->add_field("Tindak", "Tidak Lanjut", "hidden");
$obj->set_field_order("K_Kendali", "A");
//$obj->set_button_field("Edit", "1");
$obj->add_row_btn("clipboard", "Ubah", "EBijakRPJMDJS.keg_ubah");
$obj->set_func_navi("EBijakRPJMDJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$db->Query("SELECT D.* FROM kendali_detail D WHERE D.Tahun='".$thn_renja."' AND D.OPDID='".$id_opd."' AND D.KendaliID='".$id_kendali."'");
if ($db->Next()) $adata = $db->AllRow();
$form = new cFORM();
$tkendali = $form->textarea("_", "N_Kendali", $adata['N_Kendali'], false, false, 2);
$tsesuai = $form->radio("_", "Sesuai", $adata['Sesuai'], true, true, array(1=>"Ada",0=>"Tidak Ada"));
$tsebab = $form->textarea("_", "Sebab", $adata['Sebab'], true, true, 2);
$ttindak = $form->textarea("_", "Tindak", $adata['Tindak'], true, true, 2);
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="N_Kendali">Nama Pengendalian</label>
<div class="col">'.$tkendali.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sesuai">Kesesuaian</label>
<div class="col">'.$tsesuai.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sebab">Faktor Penyebab</label>
<div class="col">'.$tsebab.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Tindak">Tindak Lanjut</label>
<div class="col">'.$ttindak.'</div>
</div>
<input type="hidden" id="KendaliID" value="'.$id_kendali.'">
';
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Kebijakan RPJMD // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+233
View File
@@ -0,0 +1,233 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_kinerja.php
Desc. : PHP - Evaluasi Hasil Kinerja Triwulan
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 29th, 2026.
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
function emonev_kinerja($persen = 0) {
$hasil = "Sangat Rendah";
if ($persen >= 91) {
$hasil = "Sangat Tinggi";
} else if ($persen >= 76) {
$hasil = "Tinggi";
} else if ($persen >= 66) {
$hasil = "Sedang";
} else if ($persen >= 51) {
$hasil = "Rendah";
}
return $hasil;
}
$db = $db ?? new MySQL();
$db2 = $db2 ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = Param::Get("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = Param::Get("OPDID", 0);
if ( in_array($data, ["print","export"]) ) {
$aopd = []; $arpjmd = [];
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $aopd = $db->AllRow();
$db->Query("SELECT * FROM vi_para_rpjmd WHERE RPJMD=1 AND '".$tahun."' BETWEEN Tahun_Min AND Tahun_Max ORDER BY RPJMDID DESC LIMIT 1");
if ($db->Next()) $arpjmd = $db->AllRow();
$tsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'";
// proses rekap database
if ($twulan == 1) {
$qf1 = ",S_TW1RP";
$qv1 = ",RealK_TW1";
$qv2 = "RealK_TW1";
$qv3 = ",A.S_TW1K=B.Real_TW1";
$qv4 = "B.Real_TW1,0";
$qp1 = "Real_TW1,0";
$qp2 = ",A.P_TW1K=B.Real_TW1";
$qp3 = "Real_TW1";
$qp4 = "Poin_TW1";
} else if ($twulan == 2) {
$qf1 = ",S_TW1RP,S_TW2RP";
$qv1 = ",RealK_TW1,RealK_TW2";
$qv2 = "RealK_TW1+RealK_TW2";
$qv3 = ",A.S_TW1K=B.Real_TW1,A.S_TW2K=B.Real_TW2-B.Real_TW1";
$qp1 = "Real_TW1,Real_TW2";
$qp2 = ",A.P_TW1K=B.Real_TW1,A.P_TW2K=B.Real_TW2";
$qp3 = "Real_TW2";
$qp4 = "Poin_TW1+Poin_TW2";
} else if ($twulan == 3) {
$qf1 = ",S_TW1RP,S_TW2RP,S_TW3RP";
$qv1 = ",RealK_TW1,RealK_TW2,RealK_TW3";
$qv2 = "RealK_TW1+RealK_TW2+RealK_TW3";
$qv3 = ",A.S_TW1K=B.Real_TW1,A.S_TW2K=B.Real_TW2-B.Real_TW1,A.S_TW3K=B.Real_TW3-B.Real_TW2-B.Real_TW1";
$qp1 = "Real_TW1,Real_TW2,Real_TW3";
$qp2 = ",A.P_TW1K=B.Real_TW1,A.P_TW2K=B.Real_TW2,A.P_TW3K=B.Real_TW3";
$qp3 = "Real_TW3";
$qp4 = "Poin_TW1+Poin_TW2+Poin_TW3";
} else if ($twulan == 4) {
$qf1 = ",S_TW1RP,S_TW2RP,S_TW3RP,S_TW4RP";
$qv1 = ",RealK_TW1,RealK_TW2,RealK_TW3,RealK_TW4";
$qv2 = "RealK_TW1+RealK_TW2+RealK_TW3+RealK_TW4";
$qv3 = ",A.S_TW1K=B.Real_TW1,A.S_TW2K=B.Real_TW2-B.Real_TW1,A.S_TW3K=B.Real_TW3-B.Real_TW2-B.Real_TW1,A.S_TW4K=B.Real_TW4-B.Real_TW3-B.Real_TW2-B.Real_TW1";
$qp1 = "Real_TW1,Real_TW2,Real_TW3,Real_TW4";
$qp2 = ",A.P_TW1K=B.Real_TW1,A.P_TW2K=B.Real_TW2,A.P_TW3K=B.Real_TW3,A.P_TW4K=B.Real_TW4";
$qp3 = "Real_TW4";
$qp4 = "Poin_TW1+Poin_TW2+Poin_TW3+Poin_TW4";
}
$db->Query("CREATE TEMPORARY TABLE IF NOT EXISTS emonev_renja LIKE templ_emonev_renja");
$db->Query("TRUNCATE emonev_renja");
// ambil data sub kegiatan
$db->Query("INSERT INTO emonev_renja (RPJMDID,Tahun,ORGID,OPDID,ProgID,KegID,SubID,K_Sub,S_7RP".$qf1.",S_12RP,S_Kendala,S_Tindak) SELECT RPJMDID,Tahun,ORGID,OPDID,ProgID,KegID,SubID,REPLACE(K_Sub,'X.XX','0.00'),Pagu_Ini".$qv1.",".$qv2.",Real_Kendala,Real_Tindak FROM dpa90_sub".$tsql." AND Pagu_Ini>0");
// update k_sub2, k_keg2, k_prog2 sesuai bidang urusan dari program dpa
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_prog".$tsql.") B SET A.K_Bidu=B.K_Bidu,A.K_Sub2=CONCAT(B.K_Bidu,RIGHT(A.K_Sub,13)) WHERE A.ProgID=B.ProgID");
$db->Query("UPDATE emonev_renja A SET A.K_Keg2=LEFT(A.K_Sub2,12),A.K_Prog2=LEFT(A.K_Sub2,7)");
// TIDAK DI PROSES RENSTRA : S_5K, S_5RP, S_6K, S_6RP
// sub kegiatan
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_sub_output".$tsql.") B SET A.S_Indi=B.Text_Output,A.S_Satuan=B.Satuan_Output,A.S_7K=B.Target_Output".$qv3." WHERE A.SubID=B.SubID");
$db->Query("UPDATE emonev_renja A SET A.S_12K=A.S_TW1K+A.S_TW2K+A.S_TW3K+A.S_TW4K");
$db->Query("UPDATE emonev_renja A SET A.S_13K=IFNULL(A.S_12K/A.S_7K*100,0),A.S_13RP=IFNULL(A.S_12RP/A.S_7RP*100,0),A.S_13KRP=(A.S_13K+A.S_13RP)/2");
// kegiatan
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_keg".$tsql.") B SET A.K_Kendala=B.Real_Kendala,A.K_Tindak=B.Real_Tindak WHERE A.KegID=B.KegID");
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_keg_keluar".$tsql.") B SET A.K_Indi=B.Text_Keluar,A.K_Satuan=B.Satuan_Keluar,A.K_7K=B.Target_Keluar WHERE A.KegID=B.KegID");
$db->Query("UPDATE emonev_renja A,(SELECT KegID,SUM(S_7RP) K_7RP,AVG(S_TW1K/S_7K)*100 K_TW1K,SUM(S_TW1RP) K_TW1RP,AVG(S_TW2K/S_7K)*100 K_TW2K,SUM(S_TW2RP) K_TW2RP,AVG(S_TW3K/S_7K)*100 K_TW3K,SUM(S_TW3RP) K_TW3RP,AVG(S_TW4K/S_7K)*100 K_TW4K,SUM(S_TW4RP) K_TW4RP,SUM(S_12RP) K_12RP FROM emonev_renja".$tsql." GROUP BY KegID) B SET A.K_7RP=B.K_7RP,A.K_TW1K=B.K_TW1K,A.K_TW1RP=B.K_TW1RP,A.K_TW2K=B.K_TW2K,A.K_TW2RP=B.K_TW2RP,A.K_TW3K=B.K_TW3K,A.K_TW3RP=B.K_TW3RP,A.K_TW4K=B.K_TW4K,A.K_TW4RP=B.K_TW4RP,A.K_12K=B.K_TW1K+B.K_TW2K+B.K_TW3K+B.K_TW4K,A.K_12RP=B.K_12RP WHERE A.KegID=B.KegID");
$db->Query("UPDATE emonev_renja A SET A.K_13K=IFNULL(A.K_12K/A.K_7K*100,0),A.K_13RP=IFNULL(A.K_12RP/A.K_7RP*100,0),A.K_13KRP=(A.K_13K+A.K_13RP)/2");
// program
//$db->Query("UPDATE emonev_renja A,(SELECT *,GREATEST(".$qp1.") P_12K FROM dpa90_prog_indi".$tsql.") B SET A.P_Indi=B.Text_Indi,A.P_Satuan=B.Satuan_Indi,A.P_7K=B.Target_Indi,A.P_12K=B.P_12K".$qp2." WHERE A.ProgID=B.ProgID");
$db->Query("UPDATE emonev_renja A,(SELECT ProgID,SUM(DISTINCT K_7RP) P_7RP,SUM(DISTINCT K_TW1RP) P_TW1RP,SUM(DISTINCT K_TW2RP) P_TW2RP,SUM(DISTINCT K_TW3RP) P_TW3RP,SUM(DISTINCT K_TW4RP) P_TW4RP,SUM(DISTINCT K_12RP) P_12RP FROM emonev_renja".$tsql." GROUP BY ProgID) B SET A.P_7RP=B.P_7RP,A.P_TW1RP=B.P_TW1RP,A.P_TW2RP=B.P_TW2RP,A.P_TW3RP=B.P_TW3RP,A.P_TW4RP=B.P_TW4RP,A.P_12RP=B.P_12RP WHERE A.ProgID=B.ProgID");
$db->Query("UPDATE emonev_renja A,(SELECT ProgID,".$qp3." P_13K,Real_Kendala,Real_Tindak FROM dpa90_prog".$tsql.") B SET A.P_13K=B.P_13K,A.P_Kendala=B.Real_Kendala,A.P_Tindak=B.Real_Tindak WHERE A.ProgID=B.ProgID");
$db->Query("UPDATE emonev_renja A SET A.P_13RP=IFNULL(A.P_12RP/A.P_7RP*100,0),A.P_13KRP=(A.P_13K+A.P_13RP)/2");
// bidang urusan
$db->Query("UPDATE emonev_renja A,(SELECT K_Bidu,SUM(DISTINCT P_5RP) B_5RP,SUM(DISTINCT P_6RP) B_6RP,SUM(DISTINCT P_7RP) B_7RP,SUM(DISTINCT P_TW1RP) B_TW1RP,SUM(DISTINCT P_TW2RP) B_TW2RP,SUM(DISTINCT P_TW3RP) B_TW3RP,SUM(DISTINCT P_TW4RP) B_TW4RP,SUM(DISTINCT P_12RP) B_12RP FROM emonev_renja".$tsql." GROUP BY K_Bidu) B SET A.B_5RP=B.B_5RP,A.B_6RP=B.B_6RP,A.B_7RP=B.B_7RP,A.B_TW1RP=B.B_TW1RP,A.B_TW2RP=B.B_TW2RP,A.B_TW3RP=B.B_TW3RP,A.B_TW4RP=B.B_TW4RP,A.B_12RP=B.B_12RP WHERE A.K_Bidu=B.K_Bidu");
//$db->Query("UPDATE emonev_renja A SET A.B_13K=IFNULL(A.B_12K/A.B_7K*100,0),A.B_13RP=IFNULL(A.B_12RP/A.B_7RP*100,0),A.B_13KRP=(A.B_13K+A.B_13RP)/2");
$db->Query("SELECT * FROM emonev_renja A LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') B ON (A.SubID=B.SubID) LEFT JOIN (SELECT K_Bidu,N_Bidu FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY K_Bidu) C ON (A.K_Bidu=C.K_Bidu) ORDER BY A.K_Bidu,A.K_Sub");
}
if ( $data == "print" ) {
$header = '<p class="judul">EVALUASI TERHADAP KINERJA RENJA PERANGKAT DAERAH LINGKUP KABUPATEN MEMPAWAH<br>RENJA PERANGKAT DAERAH '.strtoupper($aopd['N_OPD']).' KABUPATEN MEMPAWAH<br>PERIODE PELAKSANAAN : TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</p>
<table class="garis min-65"><thead>
<tr><th width="20" rowspan="3">No.</th><th width="50" rowspan="3">Sasaran</th><th width="100" colspan="2" rowspan="3">Urusan/Bidang Urusan Pemerintahan Daerah<br> dan Program/Kegiatan/Sub Kegiatan</th><th width="100" rowspan="3">Indikator Kinerja Program<br>(Outcome)/Kegiatan<br>(Output)</th><th width="100" rowspan="2" colspan="2">Target Kinerja dan Anggaran<br>Renja Perangkat Daerah<br> Tahun '.$tahun.'</th><th width="800" colspan="8">Realisasi Kinerja Pada Triwulan</th><th width="100" rowspan="2" colspan="2">Realisasi Capaian<br>Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Tahun '.$tahun.'</th><th width="100" rowspan="2" colspan="3">Tingkat Capaian Kinerja dan<br>Realisasi Anggaran Renja Perangkat Daerah<br> Tahun '.$tahun.'<br>(dalam %)</th><th width="100" rowspan="3">Kendala Yang<br>Dihadapi</th><th width="100" rowspan="3">Tindak Lanjut<br>Yang Diperlukan</th><th width="100" rowspan="3">Unit Perangkat Daerah<br>Penanggungjawab</th></tr>
<tr><th colspan="2">I</th><th colspan="2">II</th><th colspan="2">III</th><th colspan="2">IV</th></tr>
<tr><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">(K + Rp) / 2</th></tr>
<tr class="sub_no"><th>1</th><th>2</th><th colspan="2">3</th><th>4</th><th colspan="2">5</th><th colspan="2">6</th><th colspan="2">7</th><th colspan="2">8</th><th colspan="2">9</th><th colspan="2">10=6+7+8+9</th><th colspan="3">11=10/5x100%</th><th>12</th><th>13</th><th>14</th></tr>
</thead><tbody>';
$_progkeg = '<tr class="%s"><td class="c">%s</td><td class="c">%s</td><td colspan="2">%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td>%s</td></tr>';
$_sub = '<tr><td>&nbsp;</td><td>&nbsp;</td><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td>&nbsp;</td></tr>';
$_skor = '<tr><td class="r" colspan="17">%s</td><td class="c">%s</td><td class="c">%s</td><td class="c">%s</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
$atotal = ['T_13K'=>0, 'T_13RP'=>0, 'T_15K'=>0, 'T_15RP'=>0, 'Prog'=>0];
$body = ""; $bidu = ""; $prog = ""; $keg = ""; $no_prog = 1; $no_keg = 1; $no_sub = 1; $aprog = []; $akeg = [];
while ($db->Next()) {
// Catatan bagian bawah
if ($keg <> $db->Row("KegID") && $keg <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Kegiatan (%)", uang2($akeg['K_13K'])." %", uang2($akeg['K_13RP'])." %", uang2($akeg['K_13KRP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($akeg['K_13K']), emonev_kinerja($akeg['K_13RP']), emonev_kinerja($akeg['K_13KRP']));
}
if ($prog <> $db->Row("ProgID") && $prog <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Program (%)", uang2($aprog['P_13K'])." %", uang2($aprog['P_13RP'])." %", uang2($aprog['P_13KRP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($aprog['P_13K']), emonev_kinerja($aprog['P_13RP']), emonev_kinerja($aprog['P_13KRP']));
}
if ($bidu <> $db->Row("K_Bidu")) {
$body .= sprintf($_progkeg, "misi b", "&nbsp;", "&nbsp;", $db->Row("N_Bidu"), "&nbsp;", "&nbsp;", uang($db->Row("B_7RP"),0), "&nbsp;", uang($db->Row("B_TW1RP"),0), "&nbsp;", uang($db->Row("B_TW2RP"),0), "&nbsp;", uang($db->Row("B_TW3RP"),0), "&nbsp;", uang($db->Row("B_TW4RP"),0), "&nbsp;", uang($db->Row("B_12RP"),0), "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;");
$bidu = $db->Row("K_Bidu");
$no_prog = 1; $prog = 0;
}
if ($prog <> $db->Row("ProgID")) {
$prog = $db->Row("ProgID");
$aprog = $db->AllRow();
// cek lagi rumus greatest, harusnya ambil dari tw terakhir sesuai pilihan !
// $db2->Query("SELECT *,GREATEST(".$qp1.") P_12K FROM dpa90_prog_indi".$tsql." AND ProgID='".$aprog["ProgID"]."'");
$db2->Query("SELECT *,IF(TipeDataID=0,".$qp4.",".$qp3.") P_12K FROM dpa90_prog_indi".$tsql." AND ProgID='".$aprog["ProgID"]."'");
if ($db2->RecordCount() == 0) {
$body .= sprintf($_progkeg, "prog b", $no_prog++, "&nbsp;", $aprog["K_Prog2"]." ".$aprog["N_Prog"], $aprog["P_Indi"]." <i>(".$aprog["P_Satuan"].")</i>", $aprog["P_7K"], uang($aprog["P_7RP"],0), $aprog["P_TW1K"], uang($aprog["P_TW1RP"],0), $aprog["P_TW2K"], uang($aprog["P_TW2RP"],0), $aprog["P_TW3K"], uang($aprog["P_TW3RP"],0), $aprog["P_TW4K"], uang($aprog["P_TW4RP"],0), $aprog["P_12K"], uang($aprog["P_12RP"],0), uang2($aprog["P_13K"]), uang2($aprog["P_13RP"]), uang2($aprog["P_13KRP"]), $db->Row("P_Kendala"), $db->Row("P_Tindak"), "&nbsp;");
}
$baris_indi = 1;
while ($db2->Next()) {
$apindi = [];
if ($baris_indi == 1) {
$apindi = ["prog b", $no_prog++, "&nbsp;", $aprog["K_Prog2"]." ".$aprog["N_Prog"], $db2->Row("Text_Indi")." <i>(".$db2->Row("Satuan_Indi").")</i>", $db2->Row("Target_Indi"), uang($aprog["P_7RP"],0), $db2->Row("Real_TW1"), uang($aprog["P_TW1RP"],0), ($twulan<2?"":$db2->Row("Real_TW2")), uang($aprog["P_TW2RP"],0), ($twulan<3?"":$db2->Row("Real_TW3")), uang($aprog["P_TW3RP"],0), ($twulan<4?"":$db2->Row("Real_TW4")), uang($aprog["P_TW4RP"],0), $db2->Row("P_12K"), uang($aprog["P_12RP"],0), uang2($aprog["P_13K"]), uang2($aprog["P_13RP"]), uang2($aprog["P_13KRP"]), $db->Row("P_Kendala"), $db->Row("P_Tindak"), "&nbsp;"];
} else {
$apindi = ["prog b", "&nbsp;", "&nbsp;", "&nbsp;", $db2->Row("Text_Indi")." <i>(".$db2->Row("Satuan_Indi").")</i>", $db2->Row("Target_Indi"), "&nbsp;", $db2->Row("Real_TW1"), "&nbsp;", ($twulan<2?"":$db2->Row("Real_TW2")), "&nbsp;", ($twulan<3?"":$db2->Row("Real_TW3")), "&nbsp;", ($twulan<4?"":$db2->Row("Real_TW4")), "&nbsp;", $db2->Row("P_12K"), "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;", "&nbsp;"];
}
$body .= vsprintf($_progkeg, $apindi);
$baris_indi++;
}
$atotal['T_13K'] += $aprog["P_13K"];
$atotal['T_13RP'] += $aprog["P_13RP"];
$atotal['T_13KRP'] += $aprog["P_13KRP"];
$atotal['Prog']++;
$no_keg = 1; $keg = 0;
}
if ($keg <> $db->Row("KegID")) {
$body .= sprintf($_progkeg, "keg", "&nbsp;", $no_keg++, $db->Row("K_Keg2")." ".$db->Row("N_Keg"), $db->Row("K_Indi")." <i>(%)</i>", uang2($db->Row("K_7K")), uang($db->Row("K_7RP"),0), uang2($db->Row("K_TW1K")), uang($db->Row("K_TW1RP"),0), uang2($db->Row("K_TW2K")), uang($db->Row("K_TW2RP"),0), uang2($db->Row("K_TW3K")), uang($db->Row("K_TW3RP"),0), uang2($db->Row("K_TW4K")), uang($db->Row("K_TW4RP"),0), uang2($db->Row("K_12K")), uang($db->Row("K_12RP"),0), uang2($db->Row("K_13K")), uang2($db->Row("K_13RP")), uang2($db->Row("K_13KRP")), $db->Row("K_Kendala"), $db->Row("K_Tindak"), $aopd['N_OPD']);
$keg = $db->Row("KegID");
$akeg = $db->AllRow();
$no_sub = 1;
}
$body .= sprintf($_sub, $no_sub++, $db->Row("K_Sub2")." ".$db->Row("N_Sub"), $db->Row("S_Indi")." <i>(".$db->Row("S_Satuan").")</i>", $db->Row("S_7K"), uang($db->Row("S_7RP"),0), $db->Row("S_TW1K"), uang($db->Row("S_TW1RP"),0), $db->Row("S_TW2K"), uang($db->Row("S_TW2RP"),0), $db->Row("S_TW3K"), uang($db->Row("S_TW3RP"),0), $db->Row("S_TW4K"), uang($db->Row("S_TW4RP"),0), $db->Row("S_12K"), uang($db->Row("S_12RP"),0), uang($db->Row("S_13K"),2), uang($db->Row("S_13RP"),2), uang($db->Row("S_13KRP"),2), $db->Row("S_Kendala"), $db->Row("S_Tindak"));
}
if ($keg <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Kegiatan (%)", uang2($akeg['K_13K'])." %", uang2($akeg['K_13RP'])." %", uang2($akeg['K_13KRP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($akeg['K_13K']), emonev_kinerja($akeg['K_13RP']), emonev_kinerja($akeg['K_13KRP']));
}
if ($prog <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Program (%)", uang2($aprog['P_13K'])." %", uang2($aprog['P_13RP'])." %", uang2($aprog['P_13KRP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($aprog['P_13K']), emonev_kinerja($aprog['P_13RP']), emonev_kinerja($aprog['P_13KRP']));
}
$body .= sprintf($_skor, "RATA-RATA CAPAIAN KINERJA DAN ANGGARAN DARI SELURUH PROGRAM (%)", uang2($atotal['T_13K']/$atotal['Prog'])." %", uang2($atotal['T_13RP']/$atotal['Prog'])." %", uang2($atotal['T_13KRP']/$atotal['Prog'])." %");
$body .= sprintf($_skor, "PREDIKAT KINERJA DARI SELURUH PROGRAM", emonev_kinerja($atotal['T_13K']/$atotal['Prog']), emonev_kinerja($atotal['T_13RP']/$atotal['Prog']), emonev_kinerja($atotal['T_13KRP']/$atotal['Prog']));
echo $header . $body . "</tbody></table>";
} else if ( $data == "default") {
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$id_opd = $_SESSION['__WEB_USER']['A_OPD'][0];
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$tthn = $form->option_que("_", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM dpa90_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$topd = $form->option_db("_", "OPDID", $id_opd, true, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "Aktif=1".$q_opd." ORDER BY K_OPD");
$ttw = $form->radio("_", "TW", $twulan, true, false, [1=>"I",2=>"II",3=>"III",4=>"IV"]);
echo '
<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">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-5 col-lg-4">'.$tthn.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="TW">Triwulan</label>
<div class="col-sm-8 col-lg-9">'.$ttw.'</div>
</div>';
}
send_json($ajson);
?>
+346
View File
@@ -0,0 +1,346 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_real.php
Desc. : PHP - Laporan Realisasi Bulanan Per OPD
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : December 27th, 2023.
(c) 2012 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
require_once("Spreadsheet/Excel/Writer.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$bulan = Param::Get("Bulan", $_SESSION['__WEB_APP']['REAL_BLN']);
$id_opd = Param::Get("OPDID", 0);
$thn_submap = map_tahun_submap($tahun);
if ( $data == "print" || $data == "export") {
$a_opd = [];
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $a_opd = $db->AllRow();
$tsql = " Tahun='".$tahun."' AND OPDID='".$id_opd."'";
if ($bulan == 1) {
$qK = "(A.RealK_B1)";
$qF = "(A.RealF_B1,0)";
}
if ($bulan == 2) {
$qK = "(A.RealK_B1+A.RealK_B2)";
$qF = "(A.RealF_B1,A.RealF_B2)";
}
if ($bulan == 3) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3)";
}
if ($bulan == 4) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4)";
}
if ($bulan == 5) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5)";
}
if ($bulan == 6) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6)";
}
if ($bulan == 7) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7)";
}
if ($bulan == 8) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8)";
}
if ($bulan == 9) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9)";
}
if ($bulan == 10) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9,A.RealF_B10)";
}
if ($bulan == 11) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10+A.RealK_B11)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9,A.RealF_B10,A.RealF_B11)";
}
if ($bulan == 12) {
$qK = "(A.RealK_B1+A.RealK_B2+A.RealK_B3+A.RealK_B4+A.RealK_B5+A.RealK_B6+A.RealK_B7+A.RealK_B8+A.RealK_B9+A.RealK_B10+A.RealK_B11+A.RealK_B12)";
$qF = "(A.RealF_B1,A.RealF_B2,A.RealF_B3,A.RealF_B4,A.RealF_B5,A.RealF_B6,A.RealF_B7,A.RealF_B8,A.RealF_B9,A.RealF_B10,A.RealF_B11,A.RealF_B12)";
}
// proses rekap database
Report_Empty("dpa90_prog");
Report_Empty("dpa90_keg");
Report_Empty("dpa90_sub");
// insert prog | GREATEST untuk fisik
$db->Query("INSERT INTO rep_dpa90_prog SELECT A.Tahun,A.OPDID,A.ProgID,'',SUM(A.Pagu_Ini),SUM(A.Renc_Keu),SUM".$qK.",0,'".user_unix()."','".user_id()."' FROM (SELECT * FROM dpa90_akun WHERE".$tsql.") A GROUP BY A.ProgID");
// insert keg
$db->Query("INSERT INTO rep_dpa90_keg SELECT A.Tahun,A.OPDID,A.ProgID,A.KegID,'',SUM(A.Pagu_Ini),SUM(A.Renc_Keu),SUM".$qK.",0,'".user_unix()."','".user_id()."' FROM (SELECT * FROM dpa90_akun WHERE".$tsql.") A GROUP BY A.KegID");
// insert sub
$db->Query("INSERT INTO rep_dpa90_sub SELECT A.Tahun,A.OPDID,A.ProgID,A.KegID,A.SubID,'',SUM(A.Pagu_Ini),SUM(A.Renc_Keu),SUM".$qK.",0,'".user_unix()."','".user_id()."' FROM (SELECT * FROM dpa90_akun WHERE".$tsql.") A GROUP BY A.SubID");
// update kode prog, keg dan subkeg
$db->Query("UPDATE rep_dpa90_prog A,dpa90_prog B SET A.PROG_KODE=B.K_Prog WHERE A.Tahun=B.Tahun AND A.OPDID=B.OPDID AND A.ProgID=B.ProgID AND A.Tahun='".$tahun."'");
$db->Query("UPDATE rep_dpa90_keg A,dpa90_keg B SET A.KEG_KODE=B.K_Keg WHERE A.Tahun=B.Tahun AND A.OPDID=B.OPDID AND A.ProgID=B.ProgID AND A.KegID=B.KegID AND A.Tahun='".$tahun."'");
//$db->Query("UPDATE rep_dpa90_sub A,dpa90_sub B SET A.SUB_KODE=B.K_Sub WHERE A.Tahun=B.Tahun AND A.OPDID=B.OPDID AND A.ProgID=B.ProgID AND A.KegID=B.KegID AND A.SubID=B.SubID AND A.Tahun='".$tahun."'");
$db->Query("SELECT A.*,RP.*,RK.*,RS.*,S.K_Sub,S.Real_No_Kontrak,S.Real_Pelaksana,M.N_Prog,M.N_Keg,M.N_Sub,MA.N_Akun,T.N_Satuan,A.Pagu_Ini/RS.SUB_INI*100 Nilai_Bobot,".$qK." AKUN_REALK,GREATEST".$qF." AKUN_REALF FROM (SELECT * FROM dpa90_akun WHERE".$tsql.") A LEFT JOIN (SELECT * FROM dpa90_sub WHERE".$tsql.") S ON (S.KegID=A.KegID AND S.SubID=A.SubID) LEFT JOIN (SELECT * FROM rep_dpa90_sub WHERE Tahun='".$tahun."' AND UserID='".user_id()."' AND Unix='".user_unix()."') RS ON (RS.OPDID=A.OPDID AND RS.ProgID=A.ProgID AND RS.KegID=A.KegID AND RS.SubID=A.SubID) LEFT JOIN (SELECT * FROM rep_dpa90_keg WHERE Tahun='".$tahun."' AND UserID='".user_id()."' AND Unix='".user_unix()."') RK ON (RK.OPDID=A.OPDID AND RK.ProgID=A.ProgID AND RK.KegID=A.KegID) LEFT JOIN (SELECT * FROM rep_dpa90_prog WHERE Tahun='".$tahun."' AND UserID='".user_id()."' AND Unix='".user_unix()."') RP ON (RP.OPDID=A.OPDID AND RP.ProgID=A.ProgID) LEFT JOIN (SELECT * FROM para90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."') MA ON (MA.AkunID=A.AkunID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$thn_submap."') M ON (M.SubID=A.SubID) LEFT JOIN para_satuan T ON (T.SatuanID=A.SatuanID) ORDER BY RP.PROG_KODE,RK.KEG_KODE,S.K_Sub,A.K_Akun");
}
if ( $data == "print" ) {
$_head = '<div style="text-align:center;font-size:120%;"><b>LAPORAN REALISASI FISIK DAN KEUANGAN<br>TAHUN ANGGARAN '.$tahun.'</b></div><br>
<table style="width:100%">
<tr><td>Nama Perangkat Daerah</td><td class="titik-dua">:</td><td>'.$a_opd['N_OPD'].'</td>
<tr><td nowrap style="width:20%;">Pengguna Anggaran / Kuasa Pengguna Anggaran</td><td class="titik-dua">:</td><td>'.$a_opd['P_Nama'].'</td>
<tr><td>Bendahara Pengeluaran</td><td class="titik-dua">:</td><td>'.$a_opd['B_Nama'].'</td>
<tr><td>Tahun Anggaran</td><td class="titik-dua">:</td><td>'.$tahun.'</td>
<tr><td>Bulan</td><td class="titik-dua">:</td><td>'.bulan_array()[$bulan].'</td>
</table>
<table class="garis"><thead>
<tr><th rowspan="3">Kode</th><th rowspan="3">Uraian</th><th colspan="4">Target</th><th rowspan="3">Bobot (%)</th><th rowspan="3">Nilai Kontrak<br>Swakelola (Rp)</th><th rowspan="3">Pelaksana/Rekanan<br>No & Tanggal Kontrak</th><th colspan="6">Realisasi</th><th rowspan="3">Sisa Anggaran</th><th rowspan="3">Keterangan</th></tr>
<tr><th colspan="2">Fisik</th><th rowspan="2">Harga Satuan (Rp)</th><th rowspan="2">Keuangan<br>Dana (Rp)</th><th colspan="4">Fisik (%)</th><th colspan="2">Keuangan</th></tr>
<tr><th>Volume</th><th>Satuan</th><th>Rencana</th><th>Realisasi</th><th>Deviasi</th><th>Tertimbang</th><th>Rp</th><th>%</th></tr>
<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th><th>11</th><th>12</th><th>13</th><th>14</th><th>15</th><th>16</th><th>17</th></tr></thead><tbody>';
$_line = '<tr><td nowrap>%s</td><td>%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td></tr>';
$_bline = '<tr class="%s"><td class="b" nowrap>%s</td><td class="b">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b">%s</td></tr>';
$header = $_head;
$body = ""; $kprog = ""; $kkeg = ""; $ksub = ""; $tot_ini = 0; $tot_renc = 0; $tot_real = 0;
while ($db->Next()) {
if ($kprog <> $db->Row("ProgID")) {
$body .= sprintf($_bline, "prog", $db->Row("PROG_KODE"), $db->Row("N_Prog"), "", "", "", rupiah2($db->Row("PROG_INI")), "", rupiah2($db->Row("PROG_RENC")), "", "", "", "", "", rupiah2($db->Row("PROG_REAL")), rupiah2($db->Row("PROG_REAL")/$db->Row("PROG_RENC")*100), rupiah2($db->Row("PROG_RENC")-$db->Row("PROG_REAL")), "&nbsp;");
$kprog = $db->Row("ProgID");
}
if ($kkeg <> $db->Row("KegID")) {
$body .= sprintf($_bline, "keg", $db->Row("KEG_KODE"), $db->Row("N_Keg"), "", "", "", rupiah2($db->Row("KEG_INI")), "", rupiah2($db->Row("KEG_RENC")), "", "", "", "", "", rupiah2($db->Row("KEG_REAL")), rupiah2($db->Row("KEG_REAL")/$db->Row("KEG_RENC")*100), rupiah2($db->Row("KEG_RENC")-$db->Row("KEG_REAL")), "&nbsp;");
$kkeg = $db->Row("KegID");
}
if ($ksub <> $db->Row("SubID")) {
$psn_realk = ($db->RowFloat("SUB_RENC")==0) ? 0 : ($db->RowFloat("SUB_REAL")/$db->RowFloat("SUB_RENC")*100);
$body .= sprintf($_bline, "sub", $db->Row("K_Sub"), $db->Row("N_Sub"), "", "", "", rupiah2($db->Row("SUB_INI")), rupiah2(100), rupiah2($db->Row("SUB_RENC")), "", "", "", "", "", rupiah2($db->Row("SUB_REAL")), rupiah2($psn_realk), rupiah2($db->Row("SUB_RENC")-$db->Row("SUB_REAL")), "&nbsp;");
$ksub = $db->Row("SubID");
}
$info_kontrak = $db->Row("Real_No_Kontrak"); $info_kontrak .= ($info_kontrak==""?"":"<br>").$db->Row("Real_Pelaksana");
$psn_realk = ($db->RowFloat("Renc_Keu")==0) ? 0 : ($db->RowFloat("AKUN_REALK")/$db->RowFloat("Renc_Keu")*100);
$body .= sprintf($_line, $db->Row("K_Akun"), $db->Row("N_Akun"), rupiah2($db->Row("Volume")), $db->Row("N_Satuan"), rupiah2($db->Row("Harga_Satuan")), rupiah2($db->Row("Pagu_Ini")), rupiah2($db->Row("Nilai_Bobot")), rupiah2($db->Row("Renc_Keu")), $info_kontrak, rupiah2($db->Row("Renc_Fisik")), rupiah2($db->Row("AKUN_REALF")), rupiah2($db->Row("Renc_Fisik")-$db->Row("AKUN_REALF")), rupiah2($db->Row("AKUN_REALF")*$db->Row("Nilai_Bobot")/100), rupiah2($db->Row("AKUN_REALK")), rupiah2($psn_realk), rupiah2($db->Row("Renc_Keu")-$db->Row("AKUN_REALK")), "&nbsp;");
$tot_ini += $db->Row("Pagu_Ini");
$tot_renc += $db->Row("Renc_Keu");
$tot_real += $db->Row("AKUN_REALK");
}
$body .= sprintf('<tr class="opd"><td colspan="2" class="b c">Jumlah</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b">%s</td></tr>', "", "", "", rupiah2($tot_ini), "", rupiah2($tot_renc), "", "", "", "", "", rupiah2($tot_real), rupiah2($tot_real/$tot_renc*100), rupiah2($tot_renc-$tot_real), "&nbsp;");
echo $header . $body . "</tbody></table>";
} else if ( $data == "export" ) {
$wbook = new Spreadsheet_Excel_Writer();
$fjudul =& $wbook->addFormat();
$fjudul->setBold();
$fjudul->setAlign("center");
$fhead =& $wbook->addFormat();
$fhead->setBold();
$fhead->setAlign("center");
$fhead->setVAlign("vcenter");
$fhead->setBorder(1);
$fhead->setTextWrap();
$ftxt =& $wbook->addFormat();
$ftxt->setVAlign("top");
$ftxt->setBottom(1);
$ftxt->setTextWrap();
$ftxt->setNumFormat("@");
$fnum =& $wbook->addFormat();
$fnum->setNumFormat(4);
$fnum->setBottom(1);
$f_sjudul =& $wbook->addFormat(['NumFormat'=>"@"]);
$f_opd =& $wbook->addFormat(['FgColor'=>55,'NumFormat'=>"@"]);
$f_opd_num =& $wbook->addFormat(['FgColor'=>55,'NumFormat'=>4]);
$f_prog =& $wbook->addFormat(['FgColor'=>10,'NumFormat'=>"@"]);
$f_prog_num =& $wbook->addFormat(['FgColor'=>10,'NumFormat'=>4]);
$f_keg =& $wbook->addFormat(['FgColor'=>45,'NumFormat'=>"@"]);
$f_keg_num =& $wbook->addFormat(['FgColor'=>45,'NumFormat'=>4]);
$f_sub =& $wbook->addFormat(['FgColor'=>39,'NumFormat'=>"@"]);
$f_sub_num =& $wbook->addFormat(['FgColor'=>39,'NumFormat'=>4]);
$wsheet =& $wbook->addWorksheet("Real-Bulanan");
$wsheet->setColumn(0,0,18);
$wsheet->setColumn(1,1,60);
$wsheet->setColumn(2,7,16);
$wsheet->setColumn(8,8,12);
$wsheet->setColumn(9,15,16);
$wsheet->setColumn(16,16,8);
$wsheet->write(0,0,"LAPORAN REALISASI FISIK DAN KEUANGAN",$fjudul);
$wsheet->setMerge(0,0,0,16);
$wsheet->write(1,0,"TAHUN ANGGARAN ".$tahun,$fjudul);
$wsheet->setMerge(1,0,1,16);
$baris = 3;
$wsheet->write($baris,0,"Nama Perangkat Daerah",$f_sjudul);
$wsheet->write($baris,2,$a_opd['N_OPD'],$f_sjudul);
$wsheet->write(($baris+1),0,"Pengguna Anggaran / Kuasa Pengguna Anggaran",$f_sjudul);
$wsheet->write(($baris+1),2,$a_opd['P_Nama'],$f_sjudul);
$wsheet->write(($baris+2),0,"Bendahara Pengeluaran",$f_sjudul);
$wsheet->write(($baris+2),2,$a_opd['B_Nama'],$f_sjudul);
$wsheet->write(($baris+3),0,"Tahun Anggaran",$f_sjudul);
$wsheet->write(($baris+3),2,$tahun,$f_sjudul);
$wsheet->write(($baris+4),0,"Bulan",$f_sjudul);
$wsheet->write(($baris+4),2,bulan_array()[$bulan],$f_sjudul);
$baris += 5;
for ($x=$baris; $x<=($baris+3); $x++) {
for ($y=0; $y<=16; $y++) $wsheet->write($x,$y,"",$fhead);
}
$wsheet->write($baris,0,"Kode",$fhead);
$wsheet->setMerge($baris,0,($baris+2),0);
$wsheet->write($baris,1,"Uraian",$fhead);
$wsheet->setMerge($baris,1,($baris+2),1);
$wsheet->write($baris,2,"Target",$fhead);
$wsheet->setMerge($baris,2,$baris,5);
$wsheet->write($baris,6,"Bobot (%)",$fhead);
$wsheet->setMerge($baris,6,($baris+2),6);
$wsheet->write($baris,7,"Nilai Kontrak Swakelola (Rp)",$fhead);
$wsheet->setMerge($baris,7,($baris+2),7);
$wsheet->write($baris,8,"Pelaksana/Rekanan No & Tanggal Kontrak",$fhead);
$wsheet->setMerge($baris,8,($baris+2),8);
$wsheet->write($baris,9,"Realisasi",$fhead);
$wsheet->setMerge($baris,9,$baris,14);
$wsheet->write($baris,15,"Sisa Anggaran",$fhead);
$wsheet->setMerge($baris,15,($baris+2),15);
$wsheet->write($baris,16,"Keterangan",$fhead);
$wsheet->setMerge($baris,16,($baris+2),16);
$wsheet->write(($baris+1),2,"Fisik",$fhead);
$wsheet->setMerge(($baris+1),2,($baris+1),3);
$wsheet->write(($baris+1),4,"Harga Satuan (Rp)",$fhead);
$wsheet->setMerge(($baris+1),4,($baris+2),4);
$wsheet->write(($baris+1),4,"Keuangan Dana (Rp)",$fhead);
$wsheet->setMerge(($baris+1),5,($baris+2),5);
$wsheet->write(($baris+1),9,"Fisik (%)",$fhead);
$wsheet->setMerge(($baris+1),9,($baris+1),12);
$wsheet->write(($baris+1),13,"Keuangan",$fhead);
$wsheet->setMerge(($baris+1),13,($baris+1),14);
$wsheet->write(($baris+2),2,"Volume",$fhead);
$wsheet->write(($baris+2),3,"Satuan",$fhead);
$wsheet->write(($baris+2),9,"Rencana",$fhead);
$wsheet->write(($baris+2),10,"Realisasi",$fhead);
$wsheet->write(($baris+2),11,"Deviasi",$fhead);
$wsheet->write(($baris+2),12,"Tertimbang",$fhead);
for ($x=1; $x<=17; $x++) $wsheet->write(($baris+3),$x-1,$x,$fhead);
$baris += 4;
$kprog = ""; $kkeg = ""; $ksub = ""; $tot_ini = 0; $tot_renc = 0; $tot_real = 0;
while ($db->Next()) {
if ($kprog <> $db->Row("ProgID")) {
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_prog);
$wsheet->write($baris,0,$db->Row("PROG_KODE"), $f_prog);
$wsheet->write($baris,1,$db->Row("N_Prog"), $f_prog);
$wsheet->write($baris,5,$db->Row("PROG_INI"), $f_prog_num);
$wsheet->write($baris,7,$db->Row("PROG_RENC"), $f_prog_num);
$wsheet->write($baris,13,$db->Row("PROG_REAL"), $f_prog_num);
$wsheet->write($baris,14,$db->Row("PROG_REAL")/$db->Row("PROG_RENC")*100, $f_prog_num);
$wsheet->write($baris,15,$db->Row("PROG_RENC")-$db->Row("PROG_REAL"), $f_prog_num);
$baris++;
$kprog = $db->Row("ProgID");
}
if ($kkeg <> $db->Row("KegID")) {
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_keg);
$wsheet->write($baris,0,$db->Row("KEG_KODE"), $f_keg);
$wsheet->write($baris,1,$db->Row("N_Keg"), $f_keg);
$wsheet->write($baris,5,$db->Row("KEG_INI"), $f_keg_num);
$wsheet->write($baris,7,$db->Row("KEG_RENC"), $f_keg_num);
$wsheet->write($baris,13,$db->Row("KEG_REAL"), $f_keg_num);
$wsheet->write($baris,14,$db->Row("KEG_REAL")/$db->Row("KEG_RENC")*100, $f_keg_num);
$wsheet->write($baris,15,$db->Row("KEG_RENC")-$db->Row("KEG_REAL"), $f_keg_num);
$baris++;
$kkeg = $db->Row("KegID");
}
if ($ksub <> $db->Row("SubID")) {
$psn_realk = ($db->RowFloat("SUB_RENC")==0) ? 0 : ($db->RowFloat("SUB_REAL")/$db->RowFloat("SUB_RENC")*100);
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_sub);
$wsheet->write($baris,0,$db->Row("K_Sub"), $f_sub);
$wsheet->write($baris,1,$db->Row("N_Sub"), $f_sub);
$wsheet->write($baris,5,$db->Row("SUB_INI"), $f_sub_num);
$wsheet->write($baris,7,$db->Row("SUB_RENC"), $f_sub_num);
$wsheet->write($baris,13,$db->Row("SUB_REAL"), $f_sub_num);
$wsheet->write($baris,14,$psn_realk, $f_sub_num);
$wsheet->write($baris,15,$db->Row("SUB_RENC")-$db->Row("SUB_REAL"), $f_sub_num);
$baris++;
$ksub = $db->Row("SubID");
}
$info_kontrak = $db->Row("Real_No_Kontrak"); $info_kontrak .= ($info_kontrak==""?"":"<br>").$db->Row("Real_Pelaksana");
$psn_realk = ($db->RowFloat("Renc_Keu")==0) ? 0 : ($db->RowFloat("AKUN_REALK")/$db->RowFloat("Renc_Keu")*100);
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $ftxt);
$wsheet->write($baris,0,$db->Row("K_Akun"), $ftxt);
$wsheet->write($baris,1,$db->Row("N_Akun"), $ftxt);
$wsheet->write($baris,2,$db->Row("Volume"), $fnum);
$wsheet->write($baris,3,$db->Row("N_Satuan"), $ftxt);
$wsheet->write($baris,4,$db->Row("Harga_Satuan"), $fnum);
$wsheet->write($baris,5,$db->Row("Pagu_Ini"), $fnum);
$wsheet->write($baris,6,$db->Row("Nilai_Bobot"), $fnum);
$wsheet->write($baris,7,$db->Row("Renc_Keu"), $fnum);
$wsheet->write($baris,8,$info_kontrak, $ftxt);
$wsheet->write($baris,9,$db->Row("Renc_Fisik"), $fnum);
$wsheet->write($baris,10,$db->Row("AKUN_REALF"), $fnum);
$wsheet->write($baris,11,$db->Row("Renc_Fisik")-$db->Row("AKUN_REALF"), $fnum);
$wsheet->write($baris,12,$db->Row("AKUN_REALF")*$db->Row("Nilai_Bobot")/100, $fnum);
$wsheet->write($baris,13,$db->Row("AKUN_REALK"), $fnum);
$wsheet->write($baris,14,$psn_realk, $fnum);
$wsheet->write($baris,15,$db->Row("Renc_Keu")-$db->Row("AKUN_REALK"), $fnum);
$baris++;
$tot_ini += $db->Row("Pagu_Ini");
$tot_renc += $db->Row("Renc_Keu");
$tot_real += $db->Row("AKUN_REALK");
}
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_opd);
$wsheet->write($baris,0,"Jumlah", $f_opd);
$wsheet->setMerge($baris,0,$baris,1);
$wsheet->write($baris,5,$tot_ini, $f_opd_num);
$wsheet->write($baris,7,$tot_renc, $f_opd_num);
$wsheet->write($baris,13,$tot_real, $f_opd_num);
$wsheet->write($baris,14,$tot_real/$tot_renc*100, $f_opd_num);
$wsheet->write($baris,15,$tot_renc-$tot_real, $f_opd_num);
$baris++;
$wbook->send("Laporan Realisasi F & K ".bulan_array()[$bulan]."-".$tahun." - ".tgl_dmy(true).".xls");
$wbook->close();
} else if ( $data == "default") {
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$id_opd = $_SESSION['__WEB_USER']['A_OPD'][0];
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$tthn = $form->option_que("_", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM dpa90_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$tbln = $form->option("_", "Bulan", $bulan, true, false, bulan_array());
$topd = $form->option_db("_", "OPDID", $id_opd, true, false, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1".$q_opd." ORDER BY K_OPD");//, (user_level(3)?array(0,"SEMUA OPD"):null)
echo '
<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">
<label class="col-sm-4 col-lg-3 col-form-label" for="Bulan">Periode Data</label>
<div class="col-sm-5 col-lg-5">'.$tbln.'</div>
<div class="col-sm-3 col-lg-4">'.$tthn.'</div>
</div>';
}
?>
+203
View File
@@ -0,0 +1,203 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_renja.php
Desc. : PHP - Evaluasi Hasil Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : May 24th, 2025.
(c) 2011 - 2025, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
function emonev_kinerja($persen = 0) {
$hasil = "Sangat Rendah";
if ($persen >= 91) {
$hasil = "Sangat Tinggi";
} else if ($persen >= 76) {
$hasil = "Tinggi";
} else if ($persen >= 66) {
$hasil = "Sedang";
} else if ($persen >= 51) {
$hasil = "Rendah";
}
return $hasil;
}
$db = $db ?? new MySQL();
$db2 = $db2 ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = Param::Get("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = Param::Get("OPDID", 0);
if ( in_array($data, ["print","export"]) ) {
$aopd = []; $arpjmd = [];
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $aopd = $db->AllRow();
$db->Query("SELECT * FROM vi_para_rpjmd WHERE RPJMD=1 AND '".$tahun."' BETWEEN Tahun_Min AND Tahun_Max ORDER BY RPJMDID DESC LIMIT 1");
if ($db->Next()) $arpjmd = $db->AllRow();
$tsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'";
// proses rekap database
if ($twulan == 1) {
$qf1 = ",S_TW1RP";
$qv1 = ",RealK_TW1";
$qv2 = "RealK_TW1";
$qv3 = ",A.S_TW1K=B.Real_TW1";
$qv4 = "B.Real_TW1,0";
} else if ($twulan == 2) {
$qf1 = ",S_TW1RP,S_TW2RP";
$qv1 = ",RealK_TW1,RealK_TW2";
$qv2 = "RealK_TW1+RealK_TW2";
$qv3 = ",A.S_TW1K=B.Real_TW1,A.S_TW2K=B.Real_TW2-B.Real_TW1";
} else if ($twulan == 3) {
$qf1 = ",S_TW1RP,S_TW2RP,S_TW3RP";
$qv1 = ",RealK_TW1,RealK_TW2,RealK_TW3";
$qv2 = "RealK_TW1+RealK_TW2+RealK_TW3";
$qv3 = ",A.S_TW1K=B.Real_TW1,A.S_TW2K=B.Real_TW2-B.Real_TW1,A.S_TW3K=B.Real_TW3-B.Real_TW2-B.Real_TW1";
} else if ($twulan == 4) {
$qf1 = ",S_TW1RP,S_TW2RP,S_TW3RP,S_TW4RP";
$qv1 = ",RealK_TW1,RealK_TW2,RealK_TW3,RealK_TW4";
$qv2 = "RealK_TW1+RealK_TW2+RealK_TW3+RealK_TW4";
$qv3 = ",A.S_TW1K=B.Real_TW1,A.S_TW2K=B.Real_TW2-B.Real_TW1,A.S_TW3K=B.Real_TW3-B.Real_TW2-B.Real_TW1,A.S_TW4K=B.Real_TW4-B.Real_TW3-B.Real_TW2-B.Real_TW1";
}
$db->Query("CREATE TEMPORARY TABLE IF NOT EXISTS emonev_renja LIKE templ_emonev_renja");
$db->Query("TRUNCATE emonev_renja");
// ambil data sub kegiatan
$db->Query("INSERT INTO emonev_renja (RPJMDID,Tahun,ORGID,OPDID,ProgID,KegID,SubID,K_Sub,S_7RP".$qf1.",S_12RP) SELECT RPJMDID,Tahun,ORGID,OPDID,ProgID,KegID,SubID,REPLACE(K_Sub,'X.XX','0.00'),Pagu_Ini".$qv1.",".$qv2." FROM dpa90_sub".$tsql." AND Pagu_Ini>0");
// update k_sub2 sesuai bidang urusan dari program dpa
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_prog".$tsql.") B SET A.K_Bidu=B.K_Bidu,A.K_Sub2=CONCAT(B.K_Bidu,RIGHT(A.K_Sub,13)) WHERE A.ProgID=B.ProgID");
// ambil target renstra + realisasi lalu
// YG BELUM : S_5K, S_5RP, S_6K, S_6RP
// sub kegiatan
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_sub_output".$tsql.") B SET A.S_Indi=B.Text_Output,A.S_Satuan=B.Satuan_Output,A.S_7K=B.Target_Output".$qv3." WHERE A.SubID=B.SubID");
$db->Query("UPDATE emonev_renja A SET A.S_12K=A.S_TW1K+A.S_TW2K+A.S_TW3K+A.S_TW4K");
$db->Query("UPDATE emonev_renja A SET A.S_13K=IFNULL(A.S_12K/A.S_7K*100,0),A.S_13RP=IFNULL(A.S_12RP/A.S_7RP*100,0),A.S_14K=A.S_6K+A.S_12K,A.S_14RP=A.S_6RP+A.S_12RP,A.S_15K=IFNULL(A.S_14K/A.S_5K*100,0),A.S_15RP=IFNULL(A.S_14RP/A.S_5RP*100,0)");
// kegiatan ( YG BELUM : K_5K, K_5RP, K_6K, K_6RP )
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_keg_keluar".$tsql.") B SET A.K_Indi=B.Text_Keluar,A.K_Satuan=B.Satuan_Keluar,A.K_7K=B.Target_Keluar WHERE A.KegID=B.KegID");
$db->Query("UPDATE emonev_renja A,(SELECT KegID,SUM(S_7RP) K_7RP,AVG(S_TW1K/S_7K)*100 K_TW1K,SUM(S_TW1RP) K_TW1RP,AVG(S_TW2K/S_7K)*100 K_TW2K,SUM(S_TW2RP) K_TW2RP,AVG(S_TW3K/S_7K)*100 K_TW3K,SUM(S_TW3RP) K_TW3RP,AVG(S_TW4K/S_7K)*100 K_TW4K,SUM(S_TW4RP) K_TW4RP,SUM(S_12RP) K_12RP FROM emonev_renja".$tsql." GROUP BY KegID) B SET A.K_7RP=B.K_7RP,A.K_TW1K=B.K_TW1K,A.K_TW1RP=B.K_TW1RP,A.K_TW2K=B.K_TW2K,A.K_TW2RP=B.K_TW2RP,A.K_TW3K=B.K_TW3K,A.K_TW3RP=B.K_TW3RP,A.K_TW4K=B.K_TW4K,A.K_TW4RP=B.K_TW4RP,A.K_12K=B.K_TW1K+B.K_TW2K+B.K_TW3K+B.K_TW4K,A.K_12RP=B.K_12RP WHERE A.KegID=B.KegID");
$db->Query("UPDATE emonev_renja A SET A.K_13K=IFNULL(A.K_12K/A.K_7K*100,0),A.K_13RP=IFNULL(A.K_12RP/A.K_7RP*100,0),A.K_14K=A.K_6K+A.K_12K,A.K_14RP=A.K_6RP+A.K_12RP,A.K_15K=IFNULL(A.K_14K/A.K_5K*100,0),A.K_15RP=IFNULL(A.K_14RP/A.K_5RP*100,0)");
// program ( YG BELUM : P_5K, P_5RP, P_6K, P_6RP )
$db->Query("UPDATE emonev_renja A,(SELECT * FROM dpa90_prog_indi".$tsql.") B SET A.P_Indi=B.Text_Indi,A.P_Satuan=B.Satuan_Indi,A.P_7K=B.Target_Indi WHERE A.ProgID=B.ProgID");
$db->Query("UPDATE emonev_renja A,(SELECT ProgID,SUM(DISTINCT K_7RP) P_7RP,AVG(DISTINCT K_TW1K) P_TW1K,SUM(DISTINCT K_TW1RP) P_TW1RP,AVG(DISTINCT K_TW2K) P_TW2K,SUM(DISTINCT K_TW2RP) P_TW2RP,AVG(DISTINCT K_TW3K) P_TW3K,SUM(DISTINCT K_TW3RP) P_TW3RP,AVG(DISTINCT K_TW4K) P_TW4K,SUM(DISTINCT K_TW4RP) P_TW4RP,SUM(DISTINCT K_12RP) P_12RP FROM emonev_renja".$tsql." GROUP BY ProgID) B SET A.P_7RP=B.P_7RP,A.P_TW1K=B.P_TW1K,A.P_TW1RP=B.P_TW1RP,A.P_TW2K=B.P_TW2K,A.P_TW2RP=B.P_TW2RP,A.P_TW3K=B.P_TW3K,A.P_TW3RP=B.P_TW3RP,A.P_TW4K=B.P_TW4K,A.P_TW4RP=B.P_TW4RP,A.P_12K=B.P_TW1K+B.P_TW2K+B.P_TW3K+B.P_TW4K,A.P_12RP=B.P_12RP WHERE A.ProgID=B.ProgID");
$db->Query("UPDATE emonev_renja A SET A.P_13K=IFNULL(A.P_12K/A.P_7K*100,0),A.P_13RP=IFNULL(A.P_12RP/A.P_7RP*100,0),A.P_14K=A.P_6K+A.P_12K,A.P_14RP=A.P_6RP+A.P_12RP,A.P_15K=IFNULL(A.P_14K/A.P_5K*100,0),A.P_15RP=IFNULL(A.P_14RP/A.P_5RP*100,0)");
// bidang urusan
$db->Query("UPDATE emonev_renja A,(SELECT K_Bidu,SUM(DISTINCT P_5RP) B_5RP,SUM(DISTINCT P_6RP) B_6RP,SUM(DISTINCT P_7RP) B_7RP,SUM(DISTINCT P_TW1RP) B_TW1RP,SUM(DISTINCT P_TW2RP) B_TW2RP,SUM(DISTINCT P_TW3RP) B_TW3RP,SUM(DISTINCT P_TW4RP) B_TW4RP,SUM(DISTINCT P_12RP) B_12RP FROM emonev_renja".$tsql." GROUP BY K_Bidu) B SET A.B_5RP=B.B_5RP,A.B_6RP=B.B_6RP,A.B_7RP=B.B_7RP,A.B_TW1RP=B.B_TW1RP,A.B_TW2RP=B.B_TW2RP,A.B_TW3RP=B.B_TW3RP,A.B_TW4RP=B.B_TW4RP,A.B_12RP=B.B_12RP WHERE A.K_Bidu=B.K_Bidu");
$db->Query("UPDATE emonev_renja A SET A.B_13RP=IFNULL(A.B_12RP/A.B_7RP*100,0),A.B_14RP=A.B_6RP+A.B_12RP,A.B_15RP=IFNULL(A.B_14RP/A.B_5RP*100,0)");
$db->Query("SELECT * FROM emonev_renja A LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') B ON (A.SubID=B.SubID) LEFT JOIN (SELECT K_Bidu,N_Bidu FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY K_Bidu) C ON (A.K_Bidu=C.K_Bidu) ORDER BY A.K_Bidu,A.K_Sub");
}
if ( $data == "print" ) {
$header = '<p class="judul">EVALUASI TERHADAP HASIL RENJA PERANGKAT DAERAH LINGKUP KABUPATEN MEMPAWAH<br>RENJA PERANGKAT DAERAH '.strtoupper($aopd['N_OPD']).' KABUPATEN MEMPAWAH<br>PERIODE PELAKSANAAN : TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</p>
<table class="garis min-65"><thead>
<tr><th width="20" rowspan="3">No.</th><th width="50" rowspan="3">Sasaran</th><th width="100" colspan="2" rowspan="3">Urusan/Bidang Urusan Pemerintahan Daerah<br> dan Program/Kegiatan/Sub Kegiatan</th><th width="100" rowspan="3">Indikator Kinerja Program<br>(Outcome)/Kegiatan<br>(Output)</th><th width="100" colspan="2">Target Renstra Perangkat<br>Daerah pada Tahun '.$arpjmd['Periode'].'</th><th width="100" colspan="2">Realisasi Capaian Kinerja<br>Renstra Perangkat Daerah S/D Renja<br> Perangkat Daerah Tahun Lalu (n-2)</th><th width="100" colspan="2">Target Kinerja dan Anggaran<br>Renja Perangkat Daerah Tahun<br> Berjalan (n-1) yang dievaluasi</th><th width="800" colspan="8">Realisasi Kinerja Pada Triwulan</th><th width="100" colspan="2">Realisasi Capaian<br>Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>yang dievaluasi</th><th width="100" colspan="2">Tingkat Capaian Kinerja dan<br>Realisasi Anggaran Renja PD yang dievaluasi</th><th width="100" colspan="2">Realisasi Kinerja dan<br>Anggaran Renstra Perangkat<br>Daerah s/d Tahun '.$tahun.'</th><th width="100" colspan="2">Tingkat Capaian Kinerja dan<br>Realisasi Anggaran Renstra<br>Perangkat Daerah s/d<br>Tahun '.$tahun.' (%)</th><th width="100" rowspan="3">Unit Perangkat Daerah<br>Penanggungjawab</th></tr>
<tr><th colspan="2">Tahun '.$arpjmd['Periode'].'</th><th colspan="2">Tahun '.($tahun-1).'</th><th colspan="2">Tahun '.$tahun.'</th><th colspan="2">I</th><th colspan="2">II</th><th colspan="2">III</th><th colspan="2">IV</th><th colspan="2">Tahun '.$tahun.'</th><th colspan="2">Tahun '.$tahun.'</th><th colspan="2">(Tahun '.$arpjmd['Periode'].')</th><th colspan="2">(Tahun '.$arpjmd['Periode'].')</th></tr>
<tr><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp (%)</th><th width="50">K</th><th width="50">Rp</th><th width="50">K</th><th width="50">Rp (%)</th></tr>
<tr class="sub_no"><th>1</th><th>2</th><th colspan="2">3</th><th>4</th><th colspan="2">5</th><th colspan="2">6</th><th colspan="2">7</th><th colspan="2">8</th><th colspan="2">9</th><th colspan="2">10</th><th colspan="2">11</th><th colspan="2">12=8+9+10+11</th><th colspan="2">13=12/7x100%</th><th colspan="2">14=6+12</th><th colspan="2">15=14/5x100%</th><th>16</th></tr>
</thead><tbody>';
$_progkeg = '<tr class="%s"><td class="c">%s</td><td class="c">%s</td><td colspan="2">%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td></tr>';
$_sub = '<tr><td>&nbsp;</td><td>&nbsp;</td><td class="c">%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>&nbsp;</td></tr>';
$_skor = '<tr><td class="r" colspan="21">%s</td><td class="c">%s</td><td class="c">%s</td><td colspan="2">&nbsp;</td><td class="c">%s</td><td class="c">%s</td><td>&nbsp;</td></tr>';
$atotal = ['T_13K'=>0, 'T_13RP'=>0, 'T_15K'=>0, 'T_15RP'=>0, 'Prog'=>0];
$body = ""; $bidu = ""; $prog = ""; $keg = ""; $no_prog = 1; $no_keg = 1; $no_sub = 1; $aprog = []; $akeg = [];
while ($db->Next()) {
// Catatan bagian bawah
if ($keg <> $db->Row("KegID") && $keg <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Kegiatan (%)", uang2($akeg['K_13K'])." %", uang2($akeg['K_13RP'])." %", uang2($akeg['K_15K'])." %", uang2($akeg['K_15RP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($akeg['K_13K']), emonev_kinerja($akeg['K_13RP']), emonev_kinerja($akeg['K_15K']), emonev_kinerja($akeg['K_15RP']));
}
if ($prog <> $db->Row("ProgID") && $prog <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Program (%)", uang2($aprog['P_13K'])." %", uang2($aprog['P_13RP'])." %", uang2($aprog['P_15K'])." %", uang2($aprog['P_15RP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($aprog['P_13K']), emonev_kinerja($aprog['P_13RP']), emonev_kinerja($aprog['P_15K']), emonev_kinerja($aprog['P_15RP']));
}
if ($bidu <> $db->Row("K_Bidu")) {
$body .= sprintf($_progkeg, "misi b", "&nbsp;", "&nbsp;", $db->Row("N_Bidu"), "&nbsp;", "&nbsp;", uang($db->Row("B_5RP"),0), "&nbsp;", uang($db->Row("B_6RP"),0), "&nbsp;", uang($db->Row("B_7RP"),0), "&nbsp;", uang($db->Row("B_TW1RP"),0), "&nbsp;", uang($db->Row("B_TW2RP"),0), "&nbsp;", uang($db->Row("B_TW3RP"),0), "&nbsp;", uang($db->Row("B_TW4RP"),0), "&nbsp;", uang($db->Row("B_12RP"),0), "&nbsp;", uang2($db->Row("B_13RP")), "&nbsp;", uang($db->Row("B_14RP"),0), "&nbsp;", uang2($db->Row("B_15RP")), "&nbsp;");
$bidu = $db->Row("K_Bidu");
$no_prog = 1; $prog = 0;
}
if ($prog <> $db->Row("ProgID")) {
$_satuan = " %";//.$db->Row("P_Satuan");
$body .= sprintf($_progkeg, "prog b", $no_prog++, "&nbsp;", $db->Row("K_Prog")." ".$db->Row("N_Prog"), $db->Row("P_Indi"), uang2($db->Row("P_5K")).$_satuan, uang($db->Row("P_5RP"),0), uang2($db->Row("P_6K")).$_satuan, uang($db->Row("P_6RP"),0), uang2($db->Row("P_7K")).$_satuan, uang($db->Row("P_7RP"),0), uang2($db->Row("P_TW1K")).$_satuan, uang($db->Row("P_TW1RP"),0), uang2($db->Row("P_TW2K")).$_satuan, uang($db->Row("P_TW2RP"),0), uang2($db->Row("P_TW3K")).$_satuan, uang($db->Row("P_TW3RP"),0), uang2($db->Row("P_TW4K")).$_satuan, uang($db->Row("P_TW4RP"),0), uang2($db->Row("P_12K")).$_satuan, uang($db->Row("P_12RP"),0), uang2($db->Row("P_13K")), uang2($db->Row("P_13RP")), uang2($db->Row("P_14K")).$_satuan, uang($db->Row("P_14RP"),0), uang2($db->Row("P_15K")), uang2($db->Row("P_15RP")), "&nbsp;");
$atotal['T_13K'] += $db->Row("P_13K");
$atotal['T_13RP'] += $db->Row("P_13RP");
$atotal['T_15K'] += $db->Row("P_15K");
$atotal['T_15RP'] += $db->Row("P_15RP");
$atotal['Prog']++;
$prog = $db->Row("ProgID");
$aprog = $db->AllRow();
$no_keg = 1; $keg = 0;
}
if ($keg <> $db->Row("KegID")) {
$_satuan = " %";//.$db->Row("K_Satuan");
$body .= sprintf($_progkeg, "keg", "&nbsp;", $no_keg++, $db->Row("K_Keg")." ".$db->Row("N_Keg"), $db->Row("K_Indi"), uang2($db->Row("K_5K")).$_satuan, uang($db->Row("K_5RP"),0), uang2($db->Row("K_6K")).$_satuan, uang($db->Row("K_6RP"),0), uang2($db->Row("K_7K")).$_satuan, uang($db->Row("K_7RP"),0), uang2($db->Row("K_TW1K")).$_satuan, uang($db->Row("K_TW1RP"),0), uang2($db->Row("K_TW2K")).$_satuan, uang($db->Row("K_TW2RP"),0), uang2($db->Row("K_TW3K")).$_satuan, uang($db->Row("K_TW3RP"),0), uang2($db->Row("K_TW4K")).$_satuan, uang($db->Row("K_TW4RP"),0), uang2($db->Row("K_12K")).$_satuan, uang($db->Row("K_12RP"),0), uang2($db->Row("K_13K")), uang2($db->Row("K_13RP")), uang2($db->Row("K_14K")).$_satuan, uang($db->Row("K_14RP"),0), uang2($db->Row("K_15K")), uang2($db->Row("K_15RP")), $aopd['N_OPD']);
$keg = $db->Row("KegID");
$akeg = $db->AllRow();
$no_sub = 1;
}
$body .= sprintf($_sub, $no_sub++, $db->Row("K_Sub")." ".$db->Row("N_Sub"), $db->Row("S_Indi")." <i>(".$db->Row("S_Satuan").")</i>", $db->Row("S_5K"), uang($db->Row("S_5RP"),0), $db->Row("S_6K"), uang($db->Row("S_6RP"),0), $db->Row("S_7K"), uang($db->Row("S_7RP"),0), $db->Row("S_TW1K"), uang($db->Row("S_TW1RP"),0), $db->Row("S_TW2K"), uang($db->Row("S_TW2RP"),0), $db->Row("S_TW3K"), uang($db->Row("S_TW3RP"),0), $db->Row("S_TW4K"), uang($db->Row("S_TW4RP"),0), $db->Row("S_12K"), uang($db->Row("S_12RP"),0), uang($db->Row("S_13K"),2), uang($db->Row("S_13RP"),2), $db->Row("S_14K"), uang($db->Row("S_14RP"),0), uang($db->Row("S_15K"),2), uang($db->Row("S_15RP"),2));
}
if ($keg <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Kegiatan (%)", uang2($akeg['K_13K'])." %", uang2($akeg['K_13RP'])." %", uang2($akeg['K_15K'])." %", uang2($akeg['K_15RP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($akeg['K_13K']), emonev_kinerja($akeg['K_13RP']), emonev_kinerja($akeg['K_15K']), emonev_kinerja($akeg['K_15RP']));
}
if ($prog <> 0) {
$body .= sprintf($_skor, "Rata-rata Capaian Kinerja Program (%)", uang2($aprog['P_13K'])." %", uang2($aprog['P_13RP'])." %", uang2($aprog['P_15K'])." %", uang2($aprog['P_15RP'])." %");
$body .= sprintf($_skor, "Predikat Kinerja", emonev_kinerja($aprog['P_13K']), emonev_kinerja($aprog['P_13RP']), emonev_kinerja($aprog['P_15K']), emonev_kinerja($aprog['P_15RP']));
}
$body .= sprintf($_skor, "RATA-RATA CAPAIAN KINERJA DAN ANGGARAN DARI SELURUH PROGRAM (%)", uang2($atotal['T_13K']/$atotal['Prog'])." %", uang2($atotal['T_13RP']/$atotal['Prog'])." %", uang2($atotal['T_15K']/$atotal['Prog'])." %", uang2($atotal['T_15RP']/$atotal['Prog'])." %");
$body .= sprintf($_skor, "PREDIKAT KINERJA DARI SELURUH PROGRAM", emonev_kinerja($atotal['T_13K']/$atotal['Prog']), emonev_kinerja($atotal['T_13RP']/$atotal['Prog']), emonev_kinerja($atotal['T_15K']/$atotal['Prog']), emonev_kinerja($atotal['T_15RP']/$atotal['Prog']));
echo $header . $body . "</tbody></table>";
} else if ( $data == "default") {
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$id_opd = $_SESSION['__WEB_USER']['A_OPD'][0];
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$tthn = $form->option_que("_", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM dpa90_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$topd = $form->option_db("_", "OPDID", $id_opd, true, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "Aktif=1".$q_opd." ORDER BY K_OPD");
$ttw = $form->radio("_", "TW", $twulan, true, false, [1=>"I",2=>"II",3=>"III",4=>"IV"]);
echo '
<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">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-5 col-lg-4">'.$tthn.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="TW">Triwulan</label>
<div class="col-sm-8 col-lg-9">'.$ttw.'</div>
</div>';
}
send_json($ajson);
?>
+212
View File
@@ -0,0 +1,212 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_renja.php
Desc. : PHP - Evaluasi Hasil Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : July 4th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
function t_wulan($ntw = 1, $nilai = 0) {
return ($ntw<=$_SESSION['__WEB_APP']['REAL_TW'] ? rupiah($nilai) : "");
}
$db = DB();
$db2 = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
if ( $data == "tabel-opd" || $data == "tabel-upt" || $data == "tabel-output" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-upt" ) {
$qsql = " U.Aktif=1";
$qsql .= ($id_opd==0) ? "" : " AND U.OPDID='".$id_opd."'";
} else if ( $data == "tabel-output" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND UPTID='".$id_upt."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$qsql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
}
}
if ( $data == "print" || $data == "excel" || $data == "tabel-output" ) {
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$is_rutin = $ap->getParam("Cetak_Rutin", 1);
$twulan = $_SESSION['__WEB_APP']['REAL_TW'];
$nama_opd = "Kabupaten Mempawah";
$k_bu = "0.00";
if ($id_opd>0) {
$db->Query("SELECT Nama_OPD,K_BidangU FROM vi_para_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$nama_opd = ucwords(strtolower($db->Row("Nama_OPD")));
$k_bu = $db->Row("K_BidangU");
}
}
$tabel_data = "dpa_detail"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND T.UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND T.ProgID>7";
// proses rekap database
Report_Empty("hasil_urus");
Report_Empty("hasil_fung");
Report_Empty("hasil_prog");
// insert urusan
$db->Query("INSERT INTO rep_hasil_urus SELECT T.Tahun,BU.K_Urusan,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
$db->Query("SELECT T.Tahun,BU.K_Urusan,SUM(T.RealF_TW1*T.B_Total/RU.URUS_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RU.URUS_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RU.URUS_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RU.URUS_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) LEFT JOIN rep_hasil_urus RU ON (T.Tahun=RU.Tahun AND BU.K_Urusan=RU.K_Urusan AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_urus SET URUS_T1_PSN='".$db->Row("T1_PSN")."',URUS_T2_PSN='".$db->Row("T2_PSN")."',URUS_T3_PSN='".$db->Row("T3_PSN")."',URUS_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_Urusan='".$db->Row("K_Urusan")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
// insert fungsi
$db->Query("INSERT INTO rep_hasil_fung SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
$db->Query("SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,SUM(T.RealF_TW1*T.B_Total/RF.FUNG_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RF.FUNG_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RF.FUNG_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RF.FUNG_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN rep_hasil_fung RF ON (T.Tahun=RF.Tahun AND P.K_BidangU=RF.K_BidangU AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_fung SET FUNG_T1_PSN='".$db->Row("T1_PSN")."',FUNG_T2_PSN='".$db->Row("T2_PSN")."',FUNG_T3_PSN='".$db->Row("T3_PSN")."',FUNG_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_BidangU='".$db->Row("K_BidangU")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
// insert program
$db->Query("INSERT INTO rep_hasil_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$db->Query("SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.RealF_TW1*T.B_Total/RP.PROG_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RP.PROG_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RP.PROG_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RP.PROG_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN rep_hasil_prog RP ON (T.Tahun=RP.Tahun AND T.OPDID=RP.OPDID AND T.UPTID=RP.UPTID AND T.ProgID=RP.ProgID AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_prog SET PROG_T1_PSN='".$db->Row("T1_PSN")."',PROG_T2_PSN='".$db->Row("T2_PSN")."',PROG_T3_PSN='".$db->Row("T3_PSN")."',PROG_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UPTID='".$db->Row("UPTID")."' AND ProgID='".$db->Row("ProgID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
$tsql = "";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND ProgID>7";
if ($twulan == 1) {
$qR = "A.RealK_TW1";
$qRF = "A.RealF_TW1";
} else if ($twulan == 2) {
$qR = "A.RealK_TW1+A.RealK_TW2";
$qRF = "A.RealF_TW2";
} else if ($twulan == 3) {
$qR = "A.RealK_TW1+A.RealK_TW2+A.RealK_TW3";
$qRF = "A.RealF_TW3";
} else if ($twulan == 4) {
$qR = "A.RealK_TW1+A.RealK_TW2+A.RealK_TW3+A.RealK_TW4";
$qRF = "A.RealF_TW4";
}
$db->Query("SELECT A.K_RKA,A.K_Urusan KO_URUSAN,A.K_BidangU KO_FUNGSI,A.K_UPT KO_UPT,A.K_Prog KO_PROGRAM,CONCAT(A.K_Prog,'.',A.K_Keg) KO_KEG,A.N_Urusan N_URUSAN,A.N_BidangU N_FUNGSI,A.N_UPT N_UPT,A.N_Prog N_PROGRAM,A.N_Keg,A.B_Total PAGU,GREATEST(A.RealF_TW1,A.RealF_TW2,A.RealF_TW3,A.RealF_TW4) R_FISIK,(".$qR.") R_RP,A.T_Keluar TARGET_K,A.U_Keluar INDI_KEG,A.T_Hasil TAR_KEG,RU.*,RF.*,RP.*,A.Lokasi,A.Prog_Indi INDI_PROG,A.Prog_Target TAR_PROG,A.RealK_TW1,A.RealK_TW2,A.RealK_TW3,A.RealK_TW4,A.RealF_TW1,A.RealF_TW2,A.RealF_TW3,A.RealF_TW4 FROM (SELECT T.*,PR.K_Prog,PR.Prog_Indi,PR.Prog_Target,U.N_UPT,P.N_Urut,P.N_Prog,IF(ISNULL(R.K_Urusan),S.K_Urusan,R.K_Urusan) K_Urusan,IF(ISNULL(R.K_Urusan),S.N_Urusan,R.N_Urusan) N_Urusan,IF(ISNULL(R.K_Urusan),S.K_BidangU,BU.K_BidangU) K_BidangU,IF(ISNULL(R.K_Urusan),S.N_BidangU,BU.N_BidangU) N_BidangU FROM (SELECT * FROM ".$tabel_data." WHERE Tahun='".$tahun."'".$tsql.") T LEFT JOIN dpa_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.UPTID=PR.UPTID AND T.ProgID=PR.ProgID) LEFT JOIN vi_para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_upt U ON (T.UPTID=U.UPTID) LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (P.K_BidangU=BU.K_BidangU) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan)) A LEFT JOIN rep_hasil_urus RU ON (A.K_Urusan=RU.K_Urusan AND A.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_hasil_fung RF ON (A.K_BidangU=RF.K_BidangU AND A.Tahun=RF.Tahun AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') LEFT JOIN rep_hasil_prog RP ON (A.ProgID=RP.ProgID AND A.OPDID=RP.OPDID AND A.UPTID=RP.UPTID AND A.Tahun=RP.Tahun AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') ORDER BY A.K_Urusan, A.K_BidangU, A.N_Urut, A.K_Prog, A.K_UPT, A.K_Keg");
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Unit / UPTD", "EHasilRenstraJS.opd_select");
$obj->set_func_navi("EHasilRenstraJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-upt" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT U.* FROM vi_para_upt U WHERE ".$qsql);
$obj->add_field("UPTID", "UPT", "hidden");
$obj->add_field("Nama_UPT", "Nama UPT", "hidden");
$obj->add_field("K_UPT", "Kode", "center");
$obj->add_field("N_UPT", "Nama Unit / UPTD", "left autowrap");
$obj->set_field_order("K_UPT", "A");
$obj->add_row_btn("folder", "Output", "EHasilRenstraJS.upt_select");
$obj->set_func_navi("EHasilRenstraJS.data_query('tabel-upt')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divUPT");
} else if ( $data == "tabel-output" ) {
$header = '<hr>
<table width="100%" class="garis">
<tr><td width="20" class="center bold" rowspan="3">No.</td><td width="50" class="center bold" rowspan="3">Kode</td><td width="100" class="center bold" rowspan="3">Urusan/Bidang Urusan<br>Pemerintahan Daerah<br>dan Program/Kegiatan</td><td width="100" class="center bold" rowspan="3">Indikator Kinerja Program<br>(Outcome) Kegiatan<br>(Output)</td><td width="100" class="center bold" rowspan="2" colspan="2">Target Renstra Perangkat<br>Daerah Provinsi pada Tahun 2023</td><td width="100" class="center bold" rowspan="2" colspan="2">Realisasi Capaian Kinerja<br>Renstra Perangkat Daerah<br>Provinsi Sampai Dengan Renja<br>Perangkat Daerah Tahun Lalu (n-2)</td><td width="100" class="center bold" rowspan="2" colspan="2">Target Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Provinsi Tahun Berjalan (n-1) yang dievaluasi</td><td width="800" class="center bold" colspan="8">Realisasi Kinerja Pada Triwulan</td><td width="100" class="center bold" colspan="2">Realisasi Capaian<br>Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Provinsi yang dievaluasi</td><td width="100" class="center bold" colspan="2">Tingkat Capaian Kinerja<br>dan Realisasi Anggaran<br>Renja PD Tahun n-1 (%)</td><td width="100" class="center bold" colspan="2">Realisasi Kinerja dan<br>Anggaran Renstra Perangkat<br>Daerah Provinsi s/d Tahun ...<br>(akhir tahun pelaksanaan Renja PD Provinsi Tahun ...)</td><td width="100" class="center bold" colspan="2">Tingkat Capaian Kinerja dan<br>Realisasi Anggaran Renstra<br>Perangkat Daerah Provinsi s/d<br>tahun ... (%)</td><td width="100" class="center bold" rowspan="3">Unit Perangkat Daerah<br>Penanggungjawab</td><td width="100" class="center bold" rowspan="3">Lokasi / <br>Keterangan</td></tr>
<tr><td width="100" class="center bold" colspan="2">I</td><td width="100" class="center bold" colspan="2">II</td><td width="100" class="center bold" colspan="2">III</td><td width="100" class="center bold" colspan="2">IV</td><td width="100" class="center bold" colspan="2">8+9+10+11</td><td width="100" class="center bold" colspan="2">12/7 x 100%</td><td width="100" class="center bold" colspan="2">6+12</td><td width="100" class="center bold" colspan="2">5/4 x 100%</td></tr>
<tr><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td></tr>
<tr><td class="center">1</td><td class="center">2</td><td class="center">3</td><td class="center">4</td><td class="center" colspan="2">5</td><td class="center" colspan="2">6</td><td class="center" colspan="2">7</td><td class="center" colspan="2">8</td><td class="center" colspan="2">9</td><td class="center" colspan="2">10</td><td class="center" colspan="2">11</td><td class="center" colspan="2">12</td><td class="center" colspan="2">13</td><td class="center" colspan="2">14</td><td class="center" colspan="2">15</td><td class="center">16</td><td class="center">17</td></tr>';
$_line = '<tr><td class="center" nowrap>%s</td><td class="left" nowrap>%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="left">%s</td><td class="left">%s</td></tr>';
$body = $urus = $fung = $prog = ""; $nurut = 1;
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
//todo: experiment
$t_psn = max($db->Row("URUS_T1_PSN"), $db->Row("URUS_T2_PSN"), $db->Row("URUS_T3_PSN"), $db->Row("URUS_T4_PSN"));
$t_rp = $db->Row("URUS_T1") + $db->Row("URUS_T2") + $db->Row("URUS_T3") + $db->Row("URUS_T4");
$body .= sprintf($_line, "", $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), "", "", "", "", "", "", rupiah($db->Row("URUS_PAGU")), t_wulan(1,$db->Row("URUS_T1_PSN")), t_wulan(1,$db->Row("URUS_T1")), t_wulan(2,$db->Row("URUS_T2_PSN")), t_wulan(2,$db->Row("URUS_T2")), t_wulan(3,$db->Row("URUS_T3_PSN")), t_wulan(3,$db->Row("URUS_T3")), t_wulan(4,$db->Row("URUS_T4_PSN")), t_wulan(4,$db->Row("URUS_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("URUS_PAGU")*100), "", "", "", "", "", "");
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
//todo: experiment
$t_psn = max($db->Row("FUNG_T1_PSN"), $db->Row("FUNG_T2_PSN"), $db->Row("FUNG_T3_PSN"), $db->Row("FUNG_T4_PSN"));
$t_rp = $db->Row("FUNG_T1") + $db->Row("FUNG_T2") + $db->Row("FUNG_T3") + $db->Row("FUNG_T4");
$body .= sprintf($_line, "", $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), "", "", "", "", "", "", rupiah($db->Row("FUNG_PAGU")), t_wulan(1,$db->Row("FUNG_T1_PSN")), t_wulan(1,$db->Row("FUNG_T1")), t_wulan(2,$db->Row("FUNG_T2_PSN")), t_wulan(2,$db->Row("FUNG_T2")), t_wulan(3,$db->Row("FUNG_T3_PSN")), t_wulan(3,$db->Row("FUNG_T3")), t_wulan(4,$db->Row("FUNG_T4_PSN")), t_wulan(4,$db->Row("FUNG_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("FUNG_PAGU")*100), "", "", "", "", "", "");
$fung = $db->Row("KO_FUNGSI");
}
if ($prog <> $db->Row("KO_PROGRAM")) {
//todo: experiment
$t_psn = max($db->Row("PROG_T1_PSN"), $db->Row("PROG_T2_PSN"), $db->Row("PROG_T3_PSN"), $db->Row("PROG_T4_PSN"));
$t_rp = $db->Row("PROG_T1") + $db->Row("PROG_T2") + $db->Row("PROG_T3") + $db->Row("PROG_T4");
$body .= sprintf($_line, "", $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), $db->Row("TAR_PROG"), "", "", "", "", "", rupiah($db->Row("PROG_PAGU")), t_wulan(1,$db->Row("PROG_T1_PSN")), t_wulan(1,$db->Row("PROG_T1")), t_wulan(2,$db->Row("PROG_T2_PSN")), t_wulan(2,$db->Row("PROG_T2")), t_wulan(3,$db->Row("PROG_T3_PSN")), t_wulan(3,$db->Row("PROG_T3")), t_wulan(4,$db->Row("PROG_T4_PSN")), t_wulan(4,$db->Row("PROG_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("PROG_PAGU")*100), "", "", "", "", $db->Row("N_UPT"), "");
$prog = $db->Row("KO_PROGRAM");
}
$body .= sprintf($_line, $nurut, $db->Row("KO_KEG"), $db->Row("N_Keg"), $db->Row("INDI_KEG"), "", "", "", "", $db->Row("TARGET_K"), rupiah($db->Row("PAGU")), t_wulan(1,$db->Row("RealF_TW1")), t_wulan(1,$db->Row("RealK_TW1")), t_wulan(2,$db->Row("RealF_TW2")), t_wulan(2,$db->Row("RealK_TW2")), t_wulan(3,$db->Row("RealF_TW3")), t_wulan(3,$db->Row("RealK_TW3")), t_wulan(4,$db->Row("RealF_TW4")), t_wulan(4,$db->Row("RealK_TW4")), rupiah($db->Row("R_FISIK")), rupiah($db->Row("R_RP")), "", rupiah($db->Row("R_RP")/$db->Row("PAGU")*100), "", "", "", "", "", $db->Row("Lokasi"));
$nurut++;
}
echo $header . $body . "</table>";
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Hasil Renstra // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_UPT" placeholder="Nama Unit / UPTD " type="text" readonly>
<input id="UPTID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butUPT"><span><i class="bi-arrow-left-right"></span></i>UPTD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divUPT">&nbsp;</div>
<div id="divOUTPUT">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+212
View File
@@ -0,0 +1,212 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_renja.php
Desc. : PHP - Evaluasi Hasil Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : July 4th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
function t_wulan($ntw = 1, $nilai = 0) {
return ($ntw<=$_SESSION['__WEB_APP']['REAL_TW'] ? rupiah($nilai) : "");
}
$db = DB();
$db2 = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
if ( $data == "tabel-opd" || $data == "tabel-upt" || $data == "tabel-output" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-upt" ) {
$qsql = " U.Aktif=1";
$qsql .= ($id_opd==0) ? "" : " AND U.OPDID='".$id_opd."'";
} else if ( $data == "tabel-output" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND UPTID='".$id_upt."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$qsql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
}
}
if ( $data == "print" || $data == "excel" || $data == "tabel-output" ) {
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$is_rutin = $ap->getParam("Cetak_Rutin", 1);
$twulan = $_SESSION['__WEB_APP']['REAL_TW'];
$nama_opd = "Kabupaten Mempawah";
$k_bu = "0.00";
if ($id_opd>0) {
$db->Query("SELECT Nama_OPD,K_BidangU FROM vi_para_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$nama_opd = ucwords(strtolower($db->Row("Nama_OPD")));
$k_bu = $db->Row("K_BidangU");
}
}
$tabel_data = "dpa_detail"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND T.UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND T.ProgID>7";
// proses rekap database
Report_Empty("hasil_urus");
Report_Empty("hasil_fung");
Report_Empty("hasil_prog");
// insert urusan
$db->Query("INSERT INTO rep_hasil_urus SELECT T.Tahun,BU.K_Urusan,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
$db->Query("SELECT T.Tahun,BU.K_Urusan,SUM(T.RealF_TW1*T.B_Total/RU.URUS_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RU.URUS_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RU.URUS_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RU.URUS_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) LEFT JOIN rep_hasil_urus RU ON (T.Tahun=RU.Tahun AND BU.K_Urusan=RU.K_Urusan AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_urus SET URUS_T1_PSN='".$db->Row("T1_PSN")."',URUS_T2_PSN='".$db->Row("T2_PSN")."',URUS_T3_PSN='".$db->Row("T3_PSN")."',URUS_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_Urusan='".$db->Row("K_Urusan")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
// insert fungsi
$db->Query("INSERT INTO rep_hasil_fung SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
$db->Query("SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,SUM(T.RealF_TW1*T.B_Total/RF.FUNG_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RF.FUNG_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RF.FUNG_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RF.FUNG_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN rep_hasil_fung RF ON (T.Tahun=RF.Tahun AND P.K_BidangU=RF.K_BidangU AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_fung SET FUNG_T1_PSN='".$db->Row("T1_PSN")."',FUNG_T2_PSN='".$db->Row("T2_PSN")."',FUNG_T3_PSN='".$db->Row("T3_PSN")."',FUNG_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_BidangU='".$db->Row("K_BidangU")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
// insert program
$db->Query("INSERT INTO rep_hasil_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$db->Query("SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.RealF_TW1*T.B_Total/RP.PROG_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RP.PROG_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RP.PROG_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RP.PROG_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN rep_hasil_prog RP ON (T.Tahun=RP.Tahun AND T.OPDID=RP.OPDID AND T.UPTID=RP.UPTID AND T.ProgID=RP.ProgID AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_prog SET PROG_T1_PSN='".$db->Row("T1_PSN")."',PROG_T2_PSN='".$db->Row("T2_PSN")."',PROG_T3_PSN='".$db->Row("T3_PSN")."',PROG_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UPTID='".$db->Row("UPTID")."' AND ProgID='".$db->Row("ProgID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
$tsql = "";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND ProgID>7";
if ($twulan == 1) {
$qR = "A.RealK_TW1";
$qRF = "A.RealF_TW1";
} else if ($twulan == 2) {
$qR = "A.RealK_TW1+A.RealK_TW2";
$qRF = "A.RealF_TW2";
} else if ($twulan == 3) {
$qR = "A.RealK_TW1+A.RealK_TW2+A.RealK_TW3";
$qRF = "A.RealF_TW3";
} else if ($twulan == 4) {
$qR = "A.RealK_TW1+A.RealK_TW2+A.RealK_TW3+A.RealK_TW4";
$qRF = "A.RealF_TW4";
}
$db->Query("SELECT A.K_RKA,A.K_Urusan KO_URUSAN,A.K_BidangU KO_FUNGSI,A.K_UPT KO_UPT,A.K_Prog KO_PROGRAM,CONCAT(A.K_Prog,'.',A.K_Keg) KO_KEG,A.N_Urusan N_URUSAN,A.N_BidangU N_FUNGSI,A.N_UPT N_UPT,A.N_Prog N_PROGRAM,A.N_Keg,A.B_Total PAGU,GREATEST(A.RealF_TW1,A.RealF_TW2,A.RealF_TW3,A.RealF_TW4) R_FISIK,(".$qR.") R_RP,A.T_Keluar TARGET_K,A.U_Keluar INDI_KEG,A.T_Hasil TAR_KEG,RU.*,RF.*,RP.*,A.Lokasi,A.Prog_Indi INDI_PROG,A.Prog_Target TAR_PROG,A.RealK_TW1,A.RealK_TW2,A.RealK_TW3,A.RealK_TW4,A.RealF_TW1,A.RealF_TW2,A.RealF_TW3,A.RealF_TW4 FROM (SELECT T.*,PR.K_Prog,PR.Prog_Indi,PR.Prog_Target,U.N_UPT,P.N_Urut,P.N_Prog,IF(ISNULL(R.K_Urusan),S.K_Urusan,R.K_Urusan) K_Urusan,IF(ISNULL(R.K_Urusan),S.N_Urusan,R.N_Urusan) N_Urusan,IF(ISNULL(R.K_Urusan),S.K_BidangU,BU.K_BidangU) K_BidangU,IF(ISNULL(R.K_Urusan),S.N_BidangU,BU.N_BidangU) N_BidangU FROM (SELECT * FROM ".$tabel_data." WHERE Tahun='".$tahun."'".$tsql.") T LEFT JOIN dpa_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.UPTID=PR.UPTID AND T.ProgID=PR.ProgID) LEFT JOIN vi_para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_upt U ON (T.UPTID=U.UPTID) LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (P.K_BidangU=BU.K_BidangU) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan)) A LEFT JOIN rep_hasil_urus RU ON (A.K_Urusan=RU.K_Urusan AND A.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_hasil_fung RF ON (A.K_BidangU=RF.K_BidangU AND A.Tahun=RF.Tahun AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') LEFT JOIN rep_hasil_prog RP ON (A.ProgID=RP.ProgID AND A.OPDID=RP.OPDID AND A.UPTID=RP.UPTID AND A.Tahun=RP.Tahun AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') ORDER BY A.K_Urusan, A.K_BidangU, A.N_Urut, A.K_Prog, A.K_UPT, A.K_Keg");
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Unit / UPTD", "EHasilRKPDJS.opd_select");
$obj->set_func_navi("EHasilRKPDJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-upt" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT U.* FROM vi_para_upt U WHERE ".$qsql);
$obj->add_field("UPTID", "UPT", "hidden");
$obj->add_field("Nama_UPT", "Nama UPT", "hidden");
$obj->add_field("K_UPT", "Kode", "center");
$obj->add_field("N_UPT", "Nama Unit / UPTD", "left autowrap");
$obj->set_field_order("K_UPT", "A");
$obj->add_row_btn("folder", "Output", "EHasilRKPDJS.upt_select");
$obj->set_func_navi("EHasilRKPDJS.data_query('tabel-upt')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divUPT");
} else if ( $data == "tabel-output" ) {
$header = '<hr>
<table width="100%" class="garis">
<tr><td width="20" class="center bold" rowspan="3">No.</td><td width="50" class="center bold" rowspan="3">Kode</td><td width="100" class="center bold" rowspan="3">Urusan/Bidang Urusan<br>Pemerintahan Daerah<br>dan Program/Kegiatan</td><td width="100" class="center bold" rowspan="3">Indikator Kinerja Program<br>(Outcome) Kegiatan<br>(Output)</td><td width="100" class="center bold" rowspan="2" colspan="2">Target Renstra Perangkat<br>Daerah Provinsi pada Tahun 2023</td><td width="100" class="center bold" rowspan="2" colspan="2">Realisasi Capaian Kinerja<br>Renstra Perangkat Daerah<br>Provinsi Sampai Dengan Renja<br>Perangkat Daerah Tahun Lalu (n-2)</td><td width="100" class="center bold" rowspan="2" colspan="2">Target Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Provinsi Tahun Berjalan (n-1) yang dievaluasi</td><td width="800" class="center bold" colspan="8">Realisasi Kinerja Pada Triwulan</td><td width="100" class="center bold" colspan="2">Realisasi Capaian<br>Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Provinsi yang dievaluasi</td><td width="100" class="center bold" colspan="2">Tingkat Capaian Kinerja<br>dan Realisasi Anggaran<br>Renja PD Tahun n-1 (%)</td><td width="100" class="center bold" colspan="2">Realisasi Kinerja dan<br>Anggaran Renstra Perangkat<br>Daerah Provinsi s/d Tahun ...<br>(akhir tahun pelaksanaan Renja PD Provinsi Tahun ...)</td><td width="100" class="center bold" colspan="2">Tingkat Capaian Kinerja dan<br>Realisasi Anggaran Renstra<br>Perangkat Daerah Provinsi s/d<br>tahun ... (%)</td><td width="100" class="center bold" rowspan="3">Unit Perangkat Daerah<br>Penanggungjawab</td><td width="100" class="center bold" rowspan="3">Lokasi / <br>Keterangan</td></tr>
<tr><td width="100" class="center bold" colspan="2">I</td><td width="100" class="center bold" colspan="2">II</td><td width="100" class="center bold" colspan="2">III</td><td width="100" class="center bold" colspan="2">IV</td><td width="100" class="center bold" colspan="2">8+9+10+11</td><td width="100" class="center bold" colspan="2">12/7 x 100%</td><td width="100" class="center bold" colspan="2">6+12</td><td width="100" class="center bold" colspan="2">5/4 x 100%</td></tr>
<tr><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td></tr>
<tr><td class="center">1</td><td class="center">2</td><td class="center">3</td><td class="center">4</td><td class="center" colspan="2">5</td><td class="center" colspan="2">6</td><td class="center" colspan="2">7</td><td class="center" colspan="2">8</td><td class="center" colspan="2">9</td><td class="center" colspan="2">10</td><td class="center" colspan="2">11</td><td class="center" colspan="2">12</td><td class="center" colspan="2">13</td><td class="center" colspan="2">14</td><td class="center" colspan="2">15</td><td class="center">16</td><td class="center">17</td></tr>';
$_line = '<tr><td class="center" nowrap>%s</td><td class="left" nowrap>%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="left">%s</td><td class="left">%s</td></tr>';
$body = $urus = $fung = $prog = ""; $nurut = 1;
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
//todo: experiment
$t_psn = max($db->Row("URUS_T1_PSN"), $db->Row("URUS_T2_PSN"), $db->Row("URUS_T3_PSN"), $db->Row("URUS_T4_PSN"));
$t_rp = $db->Row("URUS_T1") + $db->Row("URUS_T2") + $db->Row("URUS_T3") + $db->Row("URUS_T4");
$body .= sprintf($_line, "", $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), "", "", "", "", "", "", rupiah($db->Row("URUS_PAGU")), t_wulan(1,$db->Row("URUS_T1_PSN")), t_wulan(1,$db->Row("URUS_T1")), t_wulan(2,$db->Row("URUS_T2_PSN")), t_wulan(2,$db->Row("URUS_T2")), t_wulan(3,$db->Row("URUS_T3_PSN")), t_wulan(3,$db->Row("URUS_T3")), t_wulan(4,$db->Row("URUS_T4_PSN")), t_wulan(4,$db->Row("URUS_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("URUS_PAGU")*100), "", "", "", "", "", "");
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
//todo: experiment
$t_psn = max($db->Row("FUNG_T1_PSN"), $db->Row("FUNG_T2_PSN"), $db->Row("FUNG_T3_PSN"), $db->Row("FUNG_T4_PSN"));
$t_rp = $db->Row("FUNG_T1") + $db->Row("FUNG_T2") + $db->Row("FUNG_T3") + $db->Row("FUNG_T4");
$body .= sprintf($_line, "", $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), "", "", "", "", "", "", rupiah($db->Row("FUNG_PAGU")), t_wulan(1,$db->Row("FUNG_T1_PSN")), t_wulan(1,$db->Row("FUNG_T1")), t_wulan(2,$db->Row("FUNG_T2_PSN")), t_wulan(2,$db->Row("FUNG_T2")), t_wulan(3,$db->Row("FUNG_T3_PSN")), t_wulan(3,$db->Row("FUNG_T3")), t_wulan(4,$db->Row("FUNG_T4_PSN")), t_wulan(4,$db->Row("FUNG_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("FUNG_PAGU")*100), "", "", "", "", "", "");
$fung = $db->Row("KO_FUNGSI");
}
if ($prog <> $db->Row("KO_PROGRAM")) {
//todo: experiment
$t_psn = max($db->Row("PROG_T1_PSN"), $db->Row("PROG_T2_PSN"), $db->Row("PROG_T3_PSN"), $db->Row("PROG_T4_PSN"));
$t_rp = $db->Row("PROG_T1") + $db->Row("PROG_T2") + $db->Row("PROG_T3") + $db->Row("PROG_T4");
$body .= sprintf($_line, "", $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), $db->Row("TAR_PROG"), "", "", "", "", "", rupiah($db->Row("PROG_PAGU")), t_wulan(1,$db->Row("PROG_T1_PSN")), t_wulan(1,$db->Row("PROG_T1")), t_wulan(2,$db->Row("PROG_T2_PSN")), t_wulan(2,$db->Row("PROG_T2")), t_wulan(3,$db->Row("PROG_T3_PSN")), t_wulan(3,$db->Row("PROG_T3")), t_wulan(4,$db->Row("PROG_T4_PSN")), t_wulan(4,$db->Row("PROG_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("PROG_PAGU")*100), "", "", "", "", $db->Row("N_UPT"), "");
$prog = $db->Row("KO_PROGRAM");
}
$body .= sprintf($_line, $nurut, $db->Row("KO_KEG"), $db->Row("N_Keg"), $db->Row("INDI_KEG"), "", "", "", "", $db->Row("TARGET_K"), rupiah($db->Row("PAGU")), t_wulan(1,$db->Row("RealF_TW1")), t_wulan(1,$db->Row("RealK_TW1")), t_wulan(2,$db->Row("RealF_TW2")), t_wulan(2,$db->Row("RealK_TW2")), t_wulan(3,$db->Row("RealF_TW3")), t_wulan(3,$db->Row("RealK_TW3")), t_wulan(4,$db->Row("RealF_TW4")), t_wulan(4,$db->Row("RealK_TW4")), rupiah($db->Row("R_FISIK")), rupiah($db->Row("R_RP")), "", rupiah($db->Row("R_RP")/$db->Row("PAGU")*100), "", "", "", "", "", $db->Row("Lokasi"));
$nurut++;
}
echo $header . $body . "</table>";
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Hasil RKPD // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_UPT" placeholder="Nama Unit / UPTD " type="text" readonly>
<input id="UPTID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butUPT"><span><i class="bi-arrow-left-right"></span></i>UPTD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divUPT">&nbsp;</div>
<div id="divOUTPUT">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+212
View File
@@ -0,0 +1,212 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_renja.php
Desc. : PHP - Evaluasi Hasil Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : July 4th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
function t_wulan($ntw = 1, $nilai = 0) {
return ($ntw<=$_SESSION['__WEB_APP']['REAL_TW'] ? rupiah($nilai) : "");
}
$db = DB();
$db2 = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
if ( $data == "tabel-opd" || $data == "tabel-upt" || $data == "tabel-output" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-upt" ) {
$qsql = " U.Aktif=1";
$qsql .= ($id_opd==0) ? "" : " AND U.OPDID='".$id_opd."'";
} else if ( $data == "tabel-output" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND UPTID='".$id_upt."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$qsql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
}
}
if ( $data == "print" || $data == "excel" || $data == "tabel-output" ) {
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$is_rutin = $ap->getParam("Cetak_Rutin", 1);
$twulan = $_SESSION['__WEB_APP']['REAL_TW'];
$nama_opd = "Kabupaten Mempawah";
$k_bu = "0.00";
if ($id_opd>0) {
$db->Query("SELECT Nama_OPD,K_BidangU FROM vi_para_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$nama_opd = ucwords(strtolower($db->Row("Nama_OPD")));
$k_bu = $db->Row("K_BidangU");
}
}
$tabel_data = "dpa_detail"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND T.UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND T.ProgID>7";
// proses rekap database
Report_Empty("hasil_urus");
Report_Empty("hasil_fung");
Report_Empty("hasil_prog");
// insert urusan
$db->Query("INSERT INTO rep_hasil_urus SELECT T.Tahun,BU.K_Urusan,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
$db->Query("SELECT T.Tahun,BU.K_Urusan,SUM(T.RealF_TW1*T.B_Total/RU.URUS_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RU.URUS_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RU.URUS_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RU.URUS_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) LEFT JOIN rep_hasil_urus RU ON (T.Tahun=RU.Tahun AND BU.K_Urusan=RU.K_Urusan AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_urus SET URUS_T1_PSN='".$db->Row("T1_PSN")."',URUS_T2_PSN='".$db->Row("T2_PSN")."',URUS_T3_PSN='".$db->Row("T3_PSN")."',URUS_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_Urusan='".$db->Row("K_Urusan")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
// insert fungsi
$db->Query("INSERT INTO rep_hasil_fung SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
$db->Query("SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,SUM(T.RealF_TW1*T.B_Total/RF.FUNG_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RF.FUNG_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RF.FUNG_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RF.FUNG_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN rep_hasil_fung RF ON (T.Tahun=RF.Tahun AND P.K_BidangU=RF.K_BidangU AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_fung SET FUNG_T1_PSN='".$db->Row("T1_PSN")."',FUNG_T2_PSN='".$db->Row("T2_PSN")."',FUNG_T3_PSN='".$db->Row("T3_PSN")."',FUNG_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_BidangU='".$db->Row("K_BidangU")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
// insert program
$db->Query("INSERT INTO rep_hasil_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.B_Total),SUM(T.RealK_TW1),0,SUM(T.RealK_TW2),0,SUM(T.RealK_TW3),0,SUM(T.RealK_TW4),0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$db->Query("SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.RealF_TW1*T.B_Total/RP.PROG_PAGU) T1_PSN,SUM(T.RealF_TW2*T.B_Total/RP.PROG_PAGU) T2_PSN,SUM(T.RealF_TW3*T.B_Total/RP.PROG_PAGU) T3_PSN,SUM(T.RealF_TW4*T.B_Total/RP.PROG_PAGU) T4_PSN FROM ".$tabel_data." T LEFT JOIN rep_hasil_prog RP ON (T.Tahun=RP.Tahun AND T.OPDID=RP.OPDID AND T.UPTID=RP.UPTID AND T.ProgID=RP.ProgID AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
while ($db->Next()){
$db2->Query("UPDATE rep_hasil_prog SET PROG_T1_PSN='".$db->Row("T1_PSN")."',PROG_T2_PSN='".$db->Row("T2_PSN")."',PROG_T3_PSN='".$db->Row("T3_PSN")."',PROG_T4_PSN='".$db->Row("T4_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UPTID='".$db->Row("UPTID")."' AND ProgID='".$db->Row("ProgID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'");
}
$tsql = "";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND ProgID>7";
if ($twulan == 1) {
$qR = "A.RealK_TW1";
$qRF = "A.RealF_TW1";
} else if ($twulan == 2) {
$qR = "A.RealK_TW1+A.RealK_TW2";
$qRF = "A.RealF_TW2";
} else if ($twulan == 3) {
$qR = "A.RealK_TW1+A.RealK_TW2+A.RealK_TW3";
$qRF = "A.RealF_TW3";
} else if ($twulan == 4) {
$qR = "A.RealK_TW1+A.RealK_TW2+A.RealK_TW3+A.RealK_TW4";
$qRF = "A.RealF_TW4";
}
$db->Query("SELECT A.K_RKA,A.K_Urusan KO_URUSAN,A.K_BidangU KO_FUNGSI,A.K_UPT KO_UPT,A.K_Prog KO_PROGRAM,CONCAT(A.K_Prog,'.',A.K_Keg) KO_KEG,A.N_Urusan N_URUSAN,A.N_BidangU N_FUNGSI,A.N_UPT N_UPT,A.N_Prog N_PROGRAM,A.N_Keg,A.B_Total PAGU,GREATEST(A.RealF_TW1,A.RealF_TW2,A.RealF_TW3,A.RealF_TW4) R_FISIK,(".$qR.") R_RP,A.T_Keluar TARGET_K,A.U_Keluar INDI_KEG,A.T_Hasil TAR_KEG,RU.*,RF.*,RP.*,A.Lokasi,A.Prog_Indi INDI_PROG,A.Prog_Target TAR_PROG,A.RealK_TW1,A.RealK_TW2,A.RealK_TW3,A.RealK_TW4,A.RealF_TW1,A.RealF_TW2,A.RealF_TW3,A.RealF_TW4 FROM (SELECT T.*,PR.K_Prog,PR.Prog_Indi,PR.Prog_Target,U.N_UPT,P.N_Urut,P.N_Prog,IF(ISNULL(R.K_Urusan),S.K_Urusan,R.K_Urusan) K_Urusan,IF(ISNULL(R.K_Urusan),S.N_Urusan,R.N_Urusan) N_Urusan,IF(ISNULL(R.K_Urusan),S.K_BidangU,BU.K_BidangU) K_BidangU,IF(ISNULL(R.K_Urusan),S.N_BidangU,BU.N_BidangU) N_BidangU FROM (SELECT * FROM ".$tabel_data." WHERE Tahun='".$tahun."'".$tsql.") T LEFT JOIN dpa_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.UPTID=PR.UPTID AND T.ProgID=PR.ProgID) LEFT JOIN vi_para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_upt U ON (T.UPTID=U.UPTID) LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (P.K_BidangU=BU.K_BidangU) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan)) A LEFT JOIN rep_hasil_urus RU ON (A.K_Urusan=RU.K_Urusan AND A.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_hasil_fung RF ON (A.K_BidangU=RF.K_BidangU AND A.Tahun=RF.Tahun AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') LEFT JOIN rep_hasil_prog RP ON (A.ProgID=RP.ProgID AND A.OPDID=RP.OPDID AND A.UPTID=RP.UPTID AND A.Tahun=RP.Tahun AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') ORDER BY A.K_Urusan, A.K_BidangU, A.N_Urut, A.K_Prog, A.K_UPT, A.K_Keg");
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Unit / UPTD", "EHasilRPJMDJS.opd_select");
$obj->set_func_navi("EHasilRKPDJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-upt" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT U.* FROM vi_para_upt U WHERE ".$qsql);
$obj->add_field("UPTID", "UPT", "hidden");
$obj->add_field("Nama_UPT", "Nama UPT", "hidden");
$obj->add_field("K_UPT", "Kode", "center");
$obj->add_field("N_UPT", "Nama Unit / UPTD", "left autowrap");
$obj->set_field_order("K_UPT", "A");
$obj->add_row_btn("folder", "Output", "EHasilRKPDJS.upt_select");
$obj->set_func_navi("EHasilRKPDJS.data_query('tabel-upt')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divUPT");
} else if ( $data == "tabel-output" ) {
$header = '<hr>
<table width="100%" class="garis">
<tr><td width="20" class="center bold" rowspan="3">No.</td><td width="50" class="center bold" rowspan="3">Kode</td><td width="100" class="center bold" rowspan="3">Urusan/Bidang Urusan<br>Pemerintahan Daerah<br>dan Program/Kegiatan</td><td width="100" class="center bold" rowspan="3">Indikator Kinerja Program<br>(Outcome) Kegiatan<br>(Output)</td><td width="100" class="center bold" rowspan="2" colspan="2">Target Renstra Perangkat<br>Daerah Provinsi pada Tahun 2023</td><td width="100" class="center bold" rowspan="2" colspan="2">Realisasi Capaian Kinerja<br>Renstra Perangkat Daerah<br>Provinsi Sampai Dengan Renja<br>Perangkat Daerah Tahun Lalu (n-2)</td><td width="100" class="center bold" rowspan="2" colspan="2">Target Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Provinsi Tahun Berjalan (n-1) yang dievaluasi</td><td width="800" class="center bold" colspan="8">Realisasi Kinerja Pada Triwulan</td><td width="100" class="center bold" colspan="2">Realisasi Capaian<br>Kinerja dan Anggaran<br>Renja Perangkat Daerah<br>Provinsi yang dievaluasi</td><td width="100" class="center bold" colspan="2">Tingkat Capaian Kinerja<br>dan Realisasi Anggaran<br>Renja PD Tahun n-1 (%)</td><td width="100" class="center bold" colspan="2">Realisasi Kinerja dan<br>Anggaran Renstra Perangkat<br>Daerah Provinsi s/d Tahun ...<br>(akhir tahun pelaksanaan Renja PD Provinsi Tahun ...)</td><td width="100" class="center bold" colspan="2">Tingkat Capaian Kinerja dan<br>Realisasi Anggaran Renstra<br>Perangkat Daerah Provinsi s/d<br>tahun ... (%)</td><td width="100" class="center bold" rowspan="3">Unit Perangkat Daerah<br>Penanggungjawab</td><td width="100" class="center bold" rowspan="3">Lokasi / <br>Keterangan</td></tr>
<tr><td width="100" class="center bold" colspan="2">I</td><td width="100" class="center bold" colspan="2">II</td><td width="100" class="center bold" colspan="2">III</td><td width="100" class="center bold" colspan="2">IV</td><td width="100" class="center bold" colspan="2">8+9+10+11</td><td width="100" class="center bold" colspan="2">12/7 x 100%</td><td width="100" class="center bold" colspan="2">6+12</td><td width="100" class="center bold" colspan="2">5/4 x 100%</td></tr>
<tr><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td><td width="50" class="center bold">K</td><td width="50" class="center bold">Rp</td></tr>
<tr><td class="center">1</td><td class="center">2</td><td class="center">3</td><td class="center">4</td><td class="center" colspan="2">5</td><td class="center" colspan="2">6</td><td class="center" colspan="2">7</td><td class="center" colspan="2">8</td><td class="center" colspan="2">9</td><td class="center" colspan="2">10</td><td class="center" colspan="2">11</td><td class="center" colspan="2">12</td><td class="center" colspan="2">13</td><td class="center" colspan="2">14</td><td class="center" colspan="2">15</td><td class="center">16</td><td class="center">17</td></tr>';
$_line = '<tr><td class="center" nowrap>%s</td><td class="left" nowrap>%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="left">%s</td><td class="left">%s</td></tr>';
$body = $urus = $fung = $prog = ""; $nurut = 1;
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
//todo: experiment
$t_psn = max($db->Row("URUS_T1_PSN"), $db->Row("URUS_T2_PSN"), $db->Row("URUS_T3_PSN"), $db->Row("URUS_T4_PSN"));
$t_rp = $db->Row("URUS_T1") + $db->Row("URUS_T2") + $db->Row("URUS_T3") + $db->Row("URUS_T4");
$body .= sprintf($_line, "", $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), "", "", "", "", "", "", rupiah($db->Row("URUS_PAGU")), t_wulan(1,$db->Row("URUS_T1_PSN")), t_wulan(1,$db->Row("URUS_T1")), t_wulan(2,$db->Row("URUS_T2_PSN")), t_wulan(2,$db->Row("URUS_T2")), t_wulan(3,$db->Row("URUS_T3_PSN")), t_wulan(3,$db->Row("URUS_T3")), t_wulan(4,$db->Row("URUS_T4_PSN")), t_wulan(4,$db->Row("URUS_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("URUS_PAGU")*100), "", "", "", "", "", "");
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
//todo: experiment
$t_psn = max($db->Row("FUNG_T1_PSN"), $db->Row("FUNG_T2_PSN"), $db->Row("FUNG_T3_PSN"), $db->Row("FUNG_T4_PSN"));
$t_rp = $db->Row("FUNG_T1") + $db->Row("FUNG_T2") + $db->Row("FUNG_T3") + $db->Row("FUNG_T4");
$body .= sprintf($_line, "", $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), "", "", "", "", "", "", rupiah($db->Row("FUNG_PAGU")), t_wulan(1,$db->Row("FUNG_T1_PSN")), t_wulan(1,$db->Row("FUNG_T1")), t_wulan(2,$db->Row("FUNG_T2_PSN")), t_wulan(2,$db->Row("FUNG_T2")), t_wulan(3,$db->Row("FUNG_T3_PSN")), t_wulan(3,$db->Row("FUNG_T3")), t_wulan(4,$db->Row("FUNG_T4_PSN")), t_wulan(4,$db->Row("FUNG_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("FUNG_PAGU")*100), "", "", "", "", "", "");
$fung = $db->Row("KO_FUNGSI");
}
if ($prog <> $db->Row("KO_PROGRAM")) {
//todo: experiment
$t_psn = max($db->Row("PROG_T1_PSN"), $db->Row("PROG_T2_PSN"), $db->Row("PROG_T3_PSN"), $db->Row("PROG_T4_PSN"));
$t_rp = $db->Row("PROG_T1") + $db->Row("PROG_T2") + $db->Row("PROG_T3") + $db->Row("PROG_T4");
$body .= sprintf($_line, "", $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), $db->Row("TAR_PROG"), "", "", "", "", "", rupiah($db->Row("PROG_PAGU")), t_wulan(1,$db->Row("PROG_T1_PSN")), t_wulan(1,$db->Row("PROG_T1")), t_wulan(2,$db->Row("PROG_T2_PSN")), t_wulan(2,$db->Row("PROG_T2")), t_wulan(3,$db->Row("PROG_T3_PSN")), t_wulan(3,$db->Row("PROG_T3")), t_wulan(4,$db->Row("PROG_T4_PSN")), t_wulan(4,$db->Row("PROG_T4")), rupiah($t_psn), rupiah($t_rp), "", rupiah($t_rp/$db->Row("PROG_PAGU")*100), "", "", "", "", $db->Row("N_UPT"), "");
$prog = $db->Row("KO_PROGRAM");
}
$body .= sprintf($_line, $nurut, $db->Row("KO_KEG"), $db->Row("N_Keg"), $db->Row("INDI_KEG"), "", "", "", "", $db->Row("TARGET_K"), rupiah($db->Row("PAGU")), t_wulan(1,$db->Row("RealF_TW1")), t_wulan(1,$db->Row("RealK_TW1")), t_wulan(2,$db->Row("RealF_TW2")), t_wulan(2,$db->Row("RealK_TW2")), t_wulan(3,$db->Row("RealF_TW3")), t_wulan(3,$db->Row("RealK_TW3")), t_wulan(4,$db->Row("RealF_TW4")), t_wulan(4,$db->Row("RealK_TW4")), rupiah($db->Row("R_FISIK")), rupiah($db->Row("R_RP")), "", rupiah($db->Row("R_RP")/$db->Row("PAGU")*100), "", "", "", "", "", $db->Row("Lokasi"));
$nurut++;
}
echo $header . $body . "</table>";
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Hasil RPJMD // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_UPT" placeholder="Nama Unit / UPTD " type="text" readonly>
<input id="UPTID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butUPT"><span><i class="bi-arrow-left-right"></span></i>UPTD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divUPT">&nbsp;</div>
<div id="divOUTPUT">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+158
View File
@@ -0,0 +1,158 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/elaksa_renja.php
Desc. : PHP - Evaluasi Pelaksanaan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = Param::Get("OPDID", 0);
if ( in_array($data, ["tabel-opd","tabel-output"]) ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-output" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(1,3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
}
}
if ( $data == "print" || $data == "excel" || $data == "tabel-output" ) {
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$is_rutin = Param::Get("Cetak_Rutin", 1);
$nama_opd = "Kabupaten Mempawah";
$k_bu = "0.00";
if ($id_opd>0) {
$db->Query("SELECT Nama_OPD FROM vi_para90_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$nama_opd = ucwords(strtolower($db->Row("Nama_OPD")));
}
$db->Query("SELECT K_Bidu1 FROM para90_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$k_bu = $db->Row("K_Bidu1");
}
}
$tabel_data = "dpa90_sub"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($is_rutin>1) $tsql .= " AND T.ProgID<>422";
/* proses rekap database
Report_Empty("laksa_urus");
Report_Empty("laksa_bidu");
Report_Empty("laksa_opd");
Report_Empty("laksa_upt");
Report_Empty("laksa_prog");
// insert urusan
$db->Query("INSERT INTO rep_laksa_urus SELECT T.Tahun,BU.K_Urusan,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
// insert bidang urusan
$db->Query("INSERT INTO rep_laksa_bidu SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
// insert opd
$db->Query("INSERT INTO rep_laksa_opd SELECT T.Tahun,T.OPDID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
// insert upt
$db->Query("INSERT INTO rep_laksa_upt SELECT T.Tahun,T.OPDID,T.UPTID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
// insert program
$db->Query("INSERT INTO rep_laksa_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$tsql = "";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND ProgID>7";
$db->Query("SELECT A.K_RKA,A.K_Urusan KO_URUSAN,A.K_BidangU KO_FUNGSI,A.K_OPD KO_OPD,A.K_UPT KO_UPT,A.K_Prog KO_PROGRAM,CONCAT(A.K_Prog,'.',A.K_Keg) KO_KEG,UCASE(A.N_Urusan) N_URUSAN,A.N_BidangU N_FUNGSI,A.N_OPD,A.N_UPT,A.N_Prog N_PROGRAM,A.N_Keg,A.Lokasi,B.Lokasi LokasiR,A.B_Total PAGU,A.T_Hasil,B.Indi_Hasil T_HasilR,A.T_Keluar,B.Ini_Target T_KeluarR,B.Ini_Pagu PAGUR,A.Eval_Sesuai,A.Eval_Evaluasi,A.Eval_Tindak,A.Eval_Lanjut,RU.*,RB.*,RO.*,RT.*,RP.* FROM (SELECT T.*,PR.K_Prog,PR.Prog_Indi,PR.Prog_Target,S.K_OPD,S.N_OPD,U.N_UPT,P.N_Urut,P.N_Prog,IF(ISNULL(R.K_Urusan),S.K_Urusan,R.K_Urusan) K_Urusan,IF(ISNULL(R.K_Urusan),S.N_Urusan,R.N_Urusan) N_Urusan,IF(ISNULL(R.K_Urusan),S.K_BidangU,BU.K_BidangU) K_BidangU,IF(ISNULL(R.K_Urusan),S.N_BidangU,BU.N_BidangU) N_BidangU FROM (SELECT * FROM ".$tabel_data." WHERE Tahun='".$tahun."'".$tsql.") T LEFT JOIN dpa_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.UPTID=PR.UPTID AND T.ProgID=PR.ProgID) LEFT JOIN vi_para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_upt U ON (T.UPTID=U.UPTID) LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (P.K_BidangU=BU.K_BidangU) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan)) A LEFT JOIN (SELECT * FROM renja_detail WHERE Tahun='".$tahun."'".$tsql.") B ON (A.RKegID=B.RKegID) LEFT JOIN rep_laksa_urus RU ON (A.K_Urusan=RU.K_Urusan AND A.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_laksa_bidu RB ON (A.K_BidangU=RB.K_BidangU AND A.Tahun=RB.Tahun AND RB.UserID='".user_id()."' AND RB.Unix='".user_unix()."') LEFT JOIN rep_laksa_opd RO ON (A.OPDID=RO.OPDID AND A.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') LEFT JOIN rep_laksa_upt RT ON (A.OPDID=RT.OPDID AND A.UPTID=RT.UPTID AND A.Tahun=RT.Tahun AND RT.UserID='".user_id()."' AND RT.Unix='".user_unix()."') LEFT JOIN rep_laksa_prog RP ON (A.ProgID=RP.ProgID AND A.OPDID=RP.OPDID AND A.UPTID=RP.UPTID AND A.Tahun=RP.Tahun AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') ORDER BY A.K_Urusan, A.K_BidangU, A.N_Urut, A.K_Prog, A.K_UPT, A.K_Keg");*/
$db->Query("SELECT TRUE");
}
if ( $data == "tabel-opd" ) {
$obj = new Table($db);
$obj->set_query("SELECT S.* FROM vi_para90_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hid");
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Output", "ELaksaRenjaJS.opd_select");
$obj->set_func_navi("ELaksaRenjaJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-output" ) {
$header = '<hr>
<table width="100%" class="garis"><thead>
<tr><th width="50" rowspan="3">Kode</th><th width="100" rowspan="3">Urusan/Bidang Urusan<br>Pemerintahan Daerah<br>dan Program/Kegiatan</th><th width="100" rowspan="2" colspan="2">Indikator Kinerja<br>Program/Kegiatan</th><th width="100" colspan="6">Rencana Tahun '.$thn_renja.'</th><th width="100" colspan="6">Prakiraan Maju Tahun '.($thn_renja+1).'</th><th width="100" rowspan="2" colspan="2">Kesesuaian</th><th width="100" rowspan="3">Evaluasi</th><th width="100" rowspan="3">Tindak Lanjut</th><th width="100" rowspan="3">Hasil Tindak Lanjut</th></tr>
<tr><th width="100" colspan="2">Lokasi</th><th width="100" colspan="2">Target Capaian Kinerja</th><th width="100" colspan="2">Dana</th><th width="100" colspan="2">Lokasi</th><th width="100" colspan="2">Target Capaian Kinerja</th><th width="100" colspan="2">Dana</th></tr>
<tr><th width="50">Renja</th><th width="50">RKA</th><th width="50">Renja</th><th width="50">RKA</th><th width="50">Renja</th><th width="50">RKA</th><th width="50">Renja</th><th width="50">RKA</th><th width="50">Renja</th><th width="50">RKA</th><th width="50">Renja</th><th width="50">RKA</th><th width="50">Renja</th><th width="50">RKA</th><th width="50">Ya</th><th width="50">Tidak</th></tr>
<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th><th>11</th><th>12</th><th>13</th><th>14</th><th>15</th><th>16</th><th>17</th><th>18</th><th>19</th><th>20</th><th>21</th></tr></thead><tbody>';
$_sub = '<tr><td nowrap>%s</td><td colspan="15">%s</td><td class="r">%s</td><td class="r">%s</td><td colspan="3">%s</td</tr>';
$_line = '<tr><td nowrap>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="c">%s</td><td class="c">%s</td><td>%s</td><td>%s</td><td>%s</td></tr>';
$body = $urus = $fung = $opd = $upt = $prog = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
$body .= sprintf($_sub, $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), rupiah($db->Row("URUS_YA")), rupiah($db->Row("URUS_TIDAK")), "");
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
$body .= sprintf($_sub, $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), rupiah($db->Row("BIDU_YA")), rupiah($db->Row("BIDU_TIDAK")), "");
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
$body .= sprintf($_sub, $db->Row("KO_OPD"), $db->Row("N_OPD"), rupiah($db->Row("OPD_YA")), rupiah($db->Row("OPD_TIDAK")), "");
$opd = $db->Row("KO_OPD");
}
if ($upt <> $db->Row("KO_UPT")) {
$body .= sprintf($_sub, $db->Row("KO_UPT"), $db->Row("N_UPT"), rupiah($db->Row("UPT_YA")), rupiah($db->Row("UPT_TIDAK")), "");
$upt = $db->Row("KO_UPT");
}
if ($prog <> $db->Row("KO_PROGRAM")) {
$body .= sprintf($_sub, $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), rupiah($db->Row("PROG_YA")), rupiah($db->Row("PROG_TIDAK")), "");
$prog = $db->Row("KO_PROGRAM");
}
$body .= sprintf($_line, $db->Row("KO_KEG"), $db->Row("N_Keg"), $db->Row("T_HasilR"), $db->Row("T_Hasil"), $db->Row("LokasiR"), $db->Row("Lokasi"), $db->Row("T_KeluarR"), $db->Row("T_Keluar"), rupiah($db->Row("PAGUR")), rupiah($db->Row("PAGU")), "", "", "", "", "", "", ($db->Row("Eval_Sesuai")==1?"V":""), ($db->Row("Eval_Sesuai")==2?"V":""), $db->Row("Eval_Evaluasi"), $db->Row("Eval_Tindak"), $db->Row("Eval_Lanjut"));
}
echo $header . $body . "</tbody></table>";
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Pelaksanaan Renja // Tahun '.$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_OPD" placeholder="Nama 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="divOPD">&nbsp;</div>
<div id="divOUTPUT">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+186
View File
@@ -0,0 +1,186 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/elaksa_renja.php
Desc. : PHP - Evaluasi Pelaksanaan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
if ( $data == "tabel-opd" || $data == "tabel-upt" || $data == "tabel-output" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-upt" ) {
$qsql = " U.Aktif=1";
$qsql .= ($id_opd==0) ? "" : " AND U.OPDID='".$id_opd."'";
} else if ( $data == "tabel-output" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND UPTID='".$id_upt."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$qsql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
}
}
if ( $data == "print" || $data == "excel" || $data == "tabel-output" ) {
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$is_rutin = $ap->getParam("Cetak_Rutin", 1);
$nama_opd = "Kabupaten Mempawah";
$k_bu = "0.00";
if ($id_opd>0) {
$db->Query("SELECT Nama_OPD,K_BidangU FROM vi_para_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$nama_opd = ucwords(strtolower($db->Row("Nama_OPD")));
$k_bu = $db->Row("K_BidangU");
}
}
$tabel_data = "dpa_detail"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND T.UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND T.ProgID>7";
// proses rekap database
Report_Empty("laksa_urus");
Report_Empty("laksa_bidu");
Report_Empty("laksa_opd");
Report_Empty("laksa_upt");
Report_Empty("laksa_prog");
// insert urusan
$db->Query("INSERT INTO rep_laksa_urus SELECT T.Tahun,BU.K_Urusan,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
// insert bidang urusan
$db->Query("INSERT INTO rep_laksa_bidu SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
// insert opd
$db->Query("INSERT INTO rep_laksa_opd SELECT T.Tahun,T.OPDID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
// insert upt
$db->Query("INSERT INTO rep_laksa_upt SELECT T.Tahun,T.OPDID,T.UPTID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
// insert program
$db->Query("INSERT INTO rep_laksa_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$tsql = "";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND ProgID>7";
$db->Query("SELECT A.K_RKA,A.K_Urusan KO_URUSAN,A.K_BidangU KO_FUNGSI,A.K_OPD KO_OPD,A.K_UPT KO_UPT,A.K_Prog KO_PROGRAM,CONCAT(A.K_Prog,'.',A.K_Keg) KO_KEG,UCASE(A.N_Urusan) N_URUSAN,A.N_BidangU N_FUNGSI,A.N_OPD,A.N_UPT,A.N_Prog N_PROGRAM,A.N_Keg,A.Lokasi,B.Lokasi LokasiR,A.B_Total PAGU,A.T_Hasil,B.Indi_Hasil T_HasilR,A.T_Keluar,B.Ini_Target T_KeluarR,B.Ini_Pagu PAGUR,A.Eval_Sesuai,A.Eval_Evaluasi,A.Eval_Tindak,A.Eval_Lanjut,RU.*,RB.*,RO.*,RT.*,RP.* FROM (SELECT T.*,PR.K_Prog,PR.Prog_Indi,PR.Prog_Target,S.K_OPD,S.N_OPD,U.N_UPT,P.N_Urut,P.N_Prog,IF(ISNULL(R.K_Urusan),S.K_Urusan,R.K_Urusan) K_Urusan,IF(ISNULL(R.K_Urusan),S.N_Urusan,R.N_Urusan) N_Urusan,IF(ISNULL(R.K_Urusan),S.K_BidangU,BU.K_BidangU) K_BidangU,IF(ISNULL(R.K_Urusan),S.N_BidangU,BU.N_BidangU) N_BidangU FROM (SELECT * FROM ".$tabel_data." WHERE Tahun='".$tahun."'".$tsql.") T LEFT JOIN dpa_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.UPTID=PR.UPTID AND T.ProgID=PR.ProgID) LEFT JOIN vi_para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_upt U ON (T.UPTID=U.UPTID) LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (P.K_BidangU=BU.K_BidangU) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan)) A LEFT JOIN (SELECT * FROM renja_detail WHERE Tahun='".$tahun."'".$tsql.") B ON (A.RKegID=B.RKegID) LEFT JOIN rep_laksa_urus RU ON (A.K_Urusan=RU.K_Urusan AND A.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_laksa_bidu RB ON (A.K_BidangU=RB.K_BidangU AND A.Tahun=RB.Tahun AND RB.UserID='".user_id()."' AND RB.Unix='".user_unix()."') LEFT JOIN rep_laksa_opd RO ON (A.OPDID=RO.OPDID AND A.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') LEFT JOIN rep_laksa_upt RT ON (A.OPDID=RT.OPDID AND A.UPTID=RT.UPTID AND A.Tahun=RT.Tahun AND RT.UserID='".user_id()."' AND RT.Unix='".user_unix()."') LEFT JOIN rep_laksa_prog RP ON (A.ProgID=RP.ProgID AND A.OPDID=RP.OPDID AND A.UPTID=RP.UPTID AND A.Tahun=RP.Tahun AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') ORDER BY A.K_Urusan, A.K_BidangU, A.N_Urut, A.K_Prog, A.K_UPT, A.K_Keg");
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Unit / UPTD", "ELaksaRKPDJS.opd_select");
$obj->set_func_navi("ELaksaRKPDJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-upt" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT U.* FROM vi_para_upt U WHERE ".$qsql);
$obj->add_field("UPTID", "UPT", "hidden");
$obj->add_field("Nama_UPT", "Nama UPT", "hidden");
$obj->add_field("K_UPT", "Kode", "center");
$obj->add_field("N_UPT", "Nama Unit / UPTD", "left autowrap");
$obj->set_field_order("K_UPT", "A");
$obj->add_row_btn("folder", "Output", "ELaksaRKPDJS.upt_select");
$obj->set_func_navi("ELaksaRKPDJS.data_query('tabel-upt')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divUPT");
} else if ( $data == "tabel-output" ) {
$header = '<hr>
<table width="100%" class="garis">
<tr><td width="50" class="center bold" rowspan="3">Kode</td><td width="100" class="center bold" rowspan="3">Urusan/Bidang Urusan<br>Pemerintahan Daerah<br>dan Program/Kegiatan</td><td width="100" class="center bold" rowspan="2" colspan="2">Indikator Kinerja<br>Program/Kegiatan</td><td width="100" class="center bold" colspan="6">Rencana Tahun '.$thn_renja.'</td><td width="100" class="center bold" colspan="6">Prakiraan Maju Tahun '.($thn_renja+1).'</td><td width="100" class="center bold" rowspan="2" colspan="2">Kesesuaian</td><td width="100" class="center bold" rowspan="3">Evaluasi</td><td width="100" class="center bold" rowspan="3">Tindak Lanjut</td><td width="100" class="center bold" rowspan="3">Hasil Tindak Lanjut</td></tr>
<tr><td width="100" class="center bold" colspan="2">Lokasi</td><td width="100" class="center bold" colspan="2">Target Capaian Kinerja</td><td width="100" class="center bold" colspan="2">Dana</td><td width="100" class="center bold" colspan="2">Lokasi</td><td width="100" class="center bold" colspan="2">Target Capaian Kinerja</td><td width="100" class="center bold" colspan="2">Dana</td></tr>
<tr><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Ya</td><td width="50" class="center bold">Tidak</td></tr>
<tr><td class="center">1</td><td class="center">2</td><td class="center">3</td><td class="center">4</td><td class="center">5</td><td class="center">6</td><td class="center">7</td><td class="center">8</td><td class="center">9</td><td class="center">10</td><td class="center">11</td><td class="center">12</td><td class="center">13</td><td class="center">14</td><td class="center">15</td><td class="center">16</td><td class="center">17</td><td class="center">18</td><td class="center">19</td><td class="center">20</td><td class="center">21</td></tr>';
$_sub = '<tr><td class="left" nowrap>%s</td><td colspan="15" class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td colspan="3" class="left">%s</td</tr>';
$_line = '<tr><td class="left" nowrap>%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="center">%s</td><td class="center">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td></tr>';
$body = $urus = $fung = $opd = $upt = $prog = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
$body .= sprintf($_sub, $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), rupiah($db->Row("URUS_YA")), rupiah($db->Row("URUS_TIDAK")), "");
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
$body .= sprintf($_sub, $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), rupiah($db->Row("BIDU_YA")), rupiah($db->Row("BIDU_TIDAK")), "");
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
$body .= sprintf($_sub, $db->Row("KO_OPD"), $db->Row("N_OPD"), rupiah($db->Row("OPD_YA")), rupiah($db->Row("OPD_TIDAK")), "");
$opd = $db->Row("KO_OPD");
}
if ($upt <> $db->Row("KO_UPT")) {
$body .= sprintf($_sub, $db->Row("KO_UPT"), $db->Row("N_UPT"), rupiah($db->Row("UPT_YA")), rupiah($db->Row("UPT_TIDAK")), "");
$upt = $db->Row("KO_UPT");
}
if ($prog <> $db->Row("KO_PROGRAM")) {
$body .= sprintf($_sub, $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), rupiah($db->Row("PROG_YA")), rupiah($db->Row("PROG_TIDAK")), "");
$prog = $db->Row("KO_PROGRAM");
}
$body .= sprintf($_line, $db->Row("KO_KEG"), $db->Row("N_Keg"), $db->Row("T_HasilR"), $db->Row("T_Hasil"), $db->Row("LokasiR"), $db->Row("Lokasi"), $db->Row("T_KeluarR"), $db->Row("T_Keluar"), rupiah($db->Row("PAGUR")), rupiah($db->Row("PAGU")), "", "", "", "", "", "", ($db->Row("Eval_Sesuai")==1?"V":""), ($db->Row("Eval_Sesuai")==2?"V":""), $db->Row("Eval_Evaluasi"), $db->Row("Eval_Tindak"), $db->Row("Eval_Lanjut"));
}
echo $header . $body . "</table>";
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Pelaksanaan RKPD // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_UPT" placeholder="Nama Unit / UPTD " type="text" readonly>
<input id="UPTID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butUPT"><span><i class="bi-arrow-left-right"></span></i>UPTD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divUPT">&nbsp;</div>
<div id="divOUTPUT">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+186
View File
@@ -0,0 +1,186 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/elaksa_renja.php
Desc. : PHP - Evaluasi Pelaksanaan Renja
Created By : Siau Pheng ([email protected]).
Created Date : December 7th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.table.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$mode = $ap->getParam("mode");
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
if ( $data == "tabel-opd" || $data == "tabel-upt" || $data == "tabel-output" ) {
if ( $data == "tabel-opd" ) {
$qsql = " S.Aktif=1";
} else if ( $data == "tabel-upt" ) {
$qsql = " U.Aktif=1";
$qsql .= ($id_opd==0) ? "" : " AND U.OPDID='".$id_opd."'";
} else if ( $data == "tabel-output" ) {
$qsql = " Tahun='".$thn_renja."'";
$qsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND UPTID='".$id_upt."'";
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$qsql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
}
}
if ( $data == "print" || $data == "excel" || $data == "tabel-output" ) {
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$is_rutin = $ap->getParam("Cetak_Rutin", 1);
$nama_opd = "Kabupaten Mempawah";
$k_bu = "0.00";
if ($id_opd>0) {
$db->Query("SELECT Nama_OPD,K_BidangU FROM vi_para_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) {
$nama_opd = ucwords(strtolower($db->Row("Nama_OPD")));
$k_bu = $db->Row("K_BidangU");
}
}
$tabel_data = "dpa_detail"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND T.UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND T.ProgID>7";
// proses rekap database
Report_Empty("laksa_urus");
Report_Empty("laksa_bidu");
Report_Empty("laksa_opd");
Report_Empty("laksa_upt");
Report_Empty("laksa_prog");
// insert urusan
$db->Query("INSERT INTO rep_laksa_urus SELECT T.Tahun,BU.K_Urusan,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
// insert bidang urusan
$db->Query("INSERT INTO rep_laksa_bidu SELECT T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU) K_BidangU,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_program P ON (T.ProgID=P.ProgID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,IF(P.K_BidangU='0.00','".$k_bu."',P.K_BidangU)");
// insert opd
$db->Query("INSERT INTO rep_laksa_opd SELECT T.Tahun,T.OPDID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
// insert upt
$db->Query("INSERT INTO rep_laksa_upt SELECT T.Tahun,T.OPDID,T.UPTID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
// insert program
$db->Query("INSERT INTO rep_laksa_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,0,0,SUM(IF(T.Eval_Sesuai=1,1,0)),SUM(IF(T.Eval_Sesuai=2,1,0)),'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$tsql = "";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($is_rutin>1) $tsql .= " AND ProgID>7";
$db->Query("SELECT A.K_RKA,A.K_Urusan KO_URUSAN,A.K_BidangU KO_FUNGSI,A.K_OPD KO_OPD,A.K_UPT KO_UPT,A.K_Prog KO_PROGRAM,CONCAT(A.K_Prog,'.',A.K_Keg) KO_KEG,UCASE(A.N_Urusan) N_URUSAN,A.N_BidangU N_FUNGSI,A.N_OPD,A.N_UPT,A.N_Prog N_PROGRAM,A.N_Keg,A.Lokasi,B.Lokasi LokasiR,A.B_Total PAGU,A.T_Hasil,B.Indi_Hasil T_HasilR,A.T_Keluar,B.Ini_Target T_KeluarR,B.Ini_Pagu PAGUR,A.Eval_Sesuai,A.Eval_Evaluasi,A.Eval_Tindak,A.Eval_Lanjut,RU.*,RB.*,RO.*,RT.*,RP.* FROM (SELECT T.*,PR.K_Prog,PR.Prog_Indi,PR.Prog_Target,S.K_OPD,S.N_OPD,U.N_UPT,P.N_Urut,P.N_Prog,IF(ISNULL(R.K_Urusan),S.K_Urusan,R.K_Urusan) K_Urusan,IF(ISNULL(R.K_Urusan),S.N_Urusan,R.N_Urusan) N_Urusan,IF(ISNULL(R.K_Urusan),S.K_BidangU,BU.K_BidangU) K_BidangU,IF(ISNULL(R.K_Urusan),S.N_BidangU,BU.N_BidangU) N_BidangU FROM (SELECT * FROM ".$tabel_data." WHERE Tahun='".$tahun."'".$tsql.") T LEFT JOIN dpa_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.UPTID=PR.UPTID AND T.ProgID=PR.ProgID) LEFT JOIN vi_para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_upt U ON (T.UPTID=U.UPTID) LEFT JOIN para_program P ON (T.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (P.K_BidangU=BU.K_BidangU) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan)) A LEFT JOIN (SELECT * FROM renja_detail WHERE Tahun='".$tahun."'".$tsql.") B ON (A.RKegID=B.RKegID) LEFT JOIN rep_laksa_urus RU ON (A.K_Urusan=RU.K_Urusan AND A.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_laksa_bidu RB ON (A.K_BidangU=RB.K_BidangU AND A.Tahun=RB.Tahun AND RB.UserID='".user_id()."' AND RB.Unix='".user_unix()."') LEFT JOIN rep_laksa_opd RO ON (A.OPDID=RO.OPDID AND A.Tahun=RO.Tahun AND RO.UserID='".user_id()."' AND RO.Unix='".user_unix()."') LEFT JOIN rep_laksa_upt RT ON (A.OPDID=RT.OPDID AND A.UPTID=RT.UPTID AND A.Tahun=RT.Tahun AND RT.UserID='".user_id()."' AND RT.Unix='".user_unix()."') LEFT JOIN rep_laksa_prog RP ON (A.ProgID=RP.ProgID AND A.OPDID=RP.OPDID AND A.UPTID=RP.UPTID AND A.Tahun=RP.Tahun AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') ORDER BY A.K_Urusan, A.K_BidangU, A.N_Urut, A.K_Prog, A.K_UPT, A.K_Keg");
}
if ( $data == "tabel-opd" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT S.* FROM vi_para_opd S WHERE ".$qsql);
$obj->add_field("OPDID", "OPD", "hidden");
$obj->add_field("Nama_OPD", "Nama OPD", "hidden");
$obj->add_field("K_OPD", "Kode", "center");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "left autowrap");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Unit / UPTD", "ELaksaRPJMDJS.opd_select");
$obj->set_func_navi("ELaksaRKPDJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-upt" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT U.* FROM vi_para_upt U WHERE ".$qsql);
$obj->add_field("UPTID", "UPT", "hidden");
$obj->add_field("Nama_UPT", "Nama UPT", "hidden");
$obj->add_field("K_UPT", "Kode", "center");
$obj->add_field("N_UPT", "Nama Unit / UPTD", "left autowrap");
$obj->set_field_order("K_UPT", "A");
$obj->add_row_btn("folder", "Output", "ELaksaRKPDJS.upt_select");
$obj->set_func_navi("ELaksaRKPDJS.data_query('tabel-upt')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divUPT");
} else if ( $data == "tabel-output" ) {
$header = '<hr>
<table width="100%" class="garis">
<tr><td width="50" class="center bold" rowspan="3">Kode</td><td width="100" class="center bold" rowspan="3">Urusan/Bidang Urusan<br>Pemerintahan Daerah<br>dan Program/Kegiatan</td><td width="100" class="center bold" rowspan="2" colspan="2">Indikator Kinerja<br>Program/Kegiatan</td><td width="100" class="center bold" colspan="6">Rencana Tahun '.$thn_renja.'</td><td width="100" class="center bold" colspan="6">Prakiraan Maju Tahun '.($thn_renja+1).'</td><td width="100" class="center bold" rowspan="2" colspan="2">Kesesuaian</td><td width="100" class="center bold" rowspan="3">Evaluasi</td><td width="100" class="center bold" rowspan="3">Tindak Lanjut</td><td width="100" class="center bold" rowspan="3">Hasil Tindak Lanjut</td></tr>
<tr><td width="100" class="center bold" colspan="2">Lokasi</td><td width="100" class="center bold" colspan="2">Target Capaian Kinerja</td><td width="100" class="center bold" colspan="2">Dana</td><td width="100" class="center bold" colspan="2">Lokasi</td><td width="100" class="center bold" colspan="2">Target Capaian Kinerja</td><td width="100" class="center bold" colspan="2">Dana</td></tr>
<tr><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Renja</td><td width="50" class="center bold">RKA</td><td width="50" class="center bold">Ya</td><td width="50" class="center bold">Tidak</td></tr>
<tr><td class="center">1</td><td class="center">2</td><td class="center">3</td><td class="center">4</td><td class="center">5</td><td class="center">6</td><td class="center">7</td><td class="center">8</td><td class="center">9</td><td class="center">10</td><td class="center">11</td><td class="center">12</td><td class="center">13</td><td class="center">14</td><td class="center">15</td><td class="center">16</td><td class="center">17</td><td class="center">18</td><td class="center">19</td><td class="center">20</td><td class="center">21</td></tr>';
$_sub = '<tr><td class="left" nowrap>%s</td><td colspan="15" class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td colspan="3" class="left">%s</td</tr>';
$_line = '<tr><td class="left" nowrap>%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="center">%s</td><td class="center">%s</td><td class="left">%s</td><td class="left">%s</td><td class="left">%s</td></tr>';
$body = $urus = $fung = $opd = $upt = $prog = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
$body .= sprintf($_sub, $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), rupiah($db->Row("URUS_YA")), rupiah($db->Row("URUS_TIDAK")), "");
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
$body .= sprintf($_sub, $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), rupiah($db->Row("BIDU_YA")), rupiah($db->Row("BIDU_TIDAK")), "");
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
$body .= sprintf($_sub, $db->Row("KO_OPD"), $db->Row("N_OPD"), rupiah($db->Row("OPD_YA")), rupiah($db->Row("OPD_TIDAK")), "");
$opd = $db->Row("KO_OPD");
}
if ($upt <> $db->Row("KO_UPT")) {
$body .= sprintf($_sub, $db->Row("KO_UPT"), $db->Row("N_UPT"), rupiah($db->Row("UPT_YA")), rupiah($db->Row("UPT_TIDAK")), "");
$upt = $db->Row("KO_UPT");
}
if ($prog <> $db->Row("KO_PROGRAM")) {
$body .= sprintf($_sub, $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), rupiah($db->Row("PROG_YA")), rupiah($db->Row("PROG_TIDAK")), "");
$prog = $db->Row("KO_PROGRAM");
}
$body .= sprintf($_line, $db->Row("KO_KEG"), $db->Row("N_Keg"), $db->Row("T_HasilR"), $db->Row("T_Hasil"), $db->Row("LokasiR"), $db->Row("Lokasi"), $db->Row("T_KeluarR"), $db->Row("T_Keluar"), rupiah($db->Row("PAGUR")), rupiah($db->Row("PAGU")), "", "", "", "", "", "", ($db->Row("Eval_Sesuai")==1?"V":""), ($db->Row("Eval_Sesuai")==2?"V":""), $db->Row("Eval_Evaluasi"), $db->Row("Eval_Tindak"), $db->Row("Eval_Lanjut"));
}
echo $header . $body . "</table>";
} else if ( $data == "default") {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Evaluasi Pelaksanaan RPJMD // Tahun '.$thn_renja.'</div><div class="card-body">
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_OPD" placeholder="Nama Perangkat Daerah" type="text" readonly>
<input id="OPDID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butOPD"><span><i class="bi-arrow-left-right"></span></i>OPD</button>
</span>
</div>
</div>
</div>
<div class="form-row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_UPT" placeholder="Nama Unit / UPTD " type="text" readonly>
<input id="UPTID" type="hidden" value="0">
<span class="input-group-append">
<button class="btn btn-info btn-ganti" type="button" id="butUPT"><span><i class="bi-arrow-left-right"></span></i>UPTD</button>
</span>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divUPT">&nbsp;</div>
<div id="divOUTPUT">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+314
View File
@@ -0,0 +1,314 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/tran_dpa.php
Desc. : PHP - Transaksi Input DPA
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 30th, 2011.
Last Modified : April 12th, 2017.
(c) 2011 - 2017, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$emon_enable = Param::Get("Hak_Real", 0);
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['RENC_THN'];
$id_opd = Param::Get("OPDID", 0);
$id_prog = Param::Get("ProgID", 0);
$id_rkeg = Param::Get("RKegID", 0);
$k_rka = Param::Get("K_RKA", "");
if ( in_array($data, ["tabel-opd","tabel-upt","tabel-prog","tabel-keg"]) ) {
$qsql = "Tahun='".$thn_renja."'";
$msql = "M.Aktif=1";
if ( $data == "tabel-opd" ) {
} else if ( $data == "tabel-upt" ) {
$qsql .= ($id_opd==0) ? "" : " AND K.OPDID='".$id_opd."'";
$msql .= ($id_opd==0) ? "" : " AND M.OPDID='".$id_opd."'";
} else if ( $data == "tabel-prog" ) {
$qsql .= ($id_opd==0) ? "" : " AND K.OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND K.UPTID='".$id_upt."'";
$msql .= " AND PR.ProgID IS NOT NULL";
} else if ( $data == "tabel-keg" ) {
$qsql .= ($id_opd==0) ? "" : " AND K.OPDID='".$id_opd."'";
$qsql .= ($id_upt==0) ? "" : " AND K.UPTID='".$id_upt."'";
$qsql .= ($id_prog>0) ? " AND K.ProgID='".$id_prog."'" : "";
}
//todo: perbolehkan sesuai opd dan upt, jika dari hak user di perbolehkan.
$qsql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND K.OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
$qsql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND K.UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
if ( $data == "tabel-opd" || $data == "tabel-upt" ) {
$msql .= (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? " AND M.OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")": "";
}
if ( $data == "tabel-upt" ) {
$msql .= ($_SESSION['__WEB_USER']['Level']==4) ? " AND M.UPTID IN (".$_SESSION['__WEB_USER']['AK_UPT'].")" : "";
}
}
if ( $data == "tabel-opd" ) {
$f_usul = "0";//todo: debug zero
if (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) {
$f_usul = "IFNULL(H.Hak_Laksa,1)";
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.K_OPD,M.N_OPD,M.Nama_OPD,1 Hak_Laksa FROM (SELECT * FROM dpa90_akun WHERE ".$qsql.") K LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) OPD_PAGU FROM dpa90_akun WHERE ".$qsql." GROUP BY OPDID) TT ON (TT.OPDID=K.OPDID) LEFT JOIN (SELECT OPDID,Hak_DPA FROM sippd_akses_sip WHERE Tahun='".$thn_renja."') H ON (H.OPDID=TT.OPDID) LEFT JOIN vi_para90_opd M ON (M.OPDID=TT.OPDID) WHERE M.Aktif=1 GROUP BY K.OPDID");
//$obj->set_query("SELECT K.*,M.OPDID OPDID2,M.K_OPD,M.N_OPD,M.Nama_OPD FROM vi_para90_opd M LEFT JOIN (SELECT K.OPDID,COUNT(DISTINCT K.ProgID) ITEM_PROG,COUNT(*) ITEM_KEG,SUM(K.B_Total) TOT_DPA,SUM(A.Pagu_Ini) TOT_REN FROM dpa90_sub K LEFT JOIN renja90_awal_sub A ON (K.Tahun=A.Tahun AND K.SubID=A.SubID) WHERE ".$qsql." GROUP BY K.OPDID) K ON (K.OPDID=M.OPDID) WHERE ".$msql);
$obj->add_field("OPDID", "OPD", "hid");
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
$obj->add_field("TOT_REN", "Jumlah Renja", "r", "uang");
$obj->add_field("TOT_DPA", "Jumlah DPA", "r", "uang");
$obj->add_field("ITEM_PROG", "PROG", "r", "rupiah");
$obj->add_field("ITEM_KEG", "KEG", "r", "rupiah");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("folder", "Program", "ILaksaJS.opd_select");
$obj->set_func_navi("ILaksaJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-prog" ) {
$obj = new cGRIDTABLE();
$obj->set_query("SELECT TRUE");
//$obj->set_query("SELECT K.*,PR.K_Prog,M.ProgID ProgID2,M.N_Prog,CONCAT('(',PR.K_Prog,') ',M.N_Prog) Nama_Prog FROM para_program M LEFT JOIN (SELECT K.ProgID,K.K_Prog FROM dpa_prog K WHERE ".$qsql." GROUP BY K.ProgID) PR ON (M.ProgID=PR.ProgID) LEFT JOIN (SELECT K.ProgID,COUNT(*) ITEM_KEG,SUM(B_Total) TOT_DPA,SUM(A.Ini_Pagu) TOT_REN FROM dpa_detail K LEFT JOIN renja_detail A ON (K.Tahun=A.Tahun AND K.RKegID=A.RKegID) WHERE ".$qsql." GROUP BY K.ProgID) K ON (M.ProgID=K.ProgID) WHERE ".$msql."");
$obj->add_field("ProgID2", "ID", "hidden");
$obj->add_field("Nama_Prog", "Nama PROG", "hidden");
$obj->add_field("RUTIN", "RUTIN", "hidden");
$obj->add_field("K_Prog", "Kode", "center");
$obj->add_field("N_Prog", "Nama Program", "left autowrap");
$obj->add_field("TOT_REN", "Jumlah Renja", "right", "uang");
$obj->add_field("TOT_DPA", "Jumlah DPA", "right", "uang");
$obj->add_field("ITEM_KEG", "KEG", "right", "rupiah");
$obj->set_field_order("K_Prog", "A");
$obj->add_row_btn("folder", "Kegiatan", "ILaksaJS.prog_select");
$obj->set_func_navi("ILaksaJS.data_query('tabel-prog')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divPROG");
} else if ( $data == "tabel-keg" ) {
if ($mode_detail=="update") {
$sql = new cSQL();
$sql->set_table("dpa_detail");
$sql->add_param("Eval_Sesuai");
$sql->add_param("Eval_Evaluasi");
$sql->add_param("Eval_Tindak");
$sql->add_param("Eval_Lanjut");
$sql->add_param_stamp();
$sql->add_param_userid();
$sql->add_where("Tahun", $thn_renja);
$sql->add_where("K_RKA");
$sql->UpdateDB();
}
$qsql = " AND R.Tahun='".$thn_renja."' AND R.OPDID='".$id_opd."' AND R.UPTID='".$id_upt."'";
$obj = new cGRIDTABLE();
$obj->set_query("SELECT R.*,P.K_Prog,CONCAT(P.K_Prog,'.',R.K_Keg) Kode_Keg,A.Ini_Pagu FROM dpa_detail R LEFT JOIN dpa_prog P ON (R.Tahun=P.Tahun AND R.OPDID=P.OPDID AND R.UPTID=P.UPTID AND R.ProgID=P.ProgID) LEFT JOIN renja_detail A ON (R.Tahun=A.Tahun AND R.RKegID=A.RKegID) WHERE R.ProgID='".$id_prog."'".$qsql);
$obj->set_query_footer("SELECT SUM(R.B_Total) B_DPA FROM dpa_detail R WHERE R.ProgID='".$id_prog."'".$qsql);
$obj->add_field("K_RKA", "RKA", "hidden");
$obj->add_field("RKegID", "ID", "hidden");
$obj->add_field("Kode_Keg", "KODE", "center");
$obj->add_field("N_Keg", "KEGIATAN", "left autowrap");
$obj->add_field("Ini_Pagu", "Jumlah Renja", "right", "uang", "uang");
$obj->add_field("B_Total", "Jumlah DPA", "right", "uang", "uang");
$obj->add_field("Lokasi", "Lokasi", "left autowrap");
$obj->set_field_order("Kode_Keg", "A");
$obj->add_row_btn("clipboard", "Evaluasi", "ILaksaJS.keg_ubah");
$obj->set_func_navi("ILaksaJS.data_query('tabel-keg')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divKEG");
} else if ( $data == "detail-keg" ) {
$akeg = array();
$db->Query("SELECT R.*,CONCAT(P.K_Prog,'.',R.K_Keg) Kode_Keg,A.Ini_Pagu B_Total2,A.Indi_Hasil UCapai2,A.Ini_Target TCapai2,A.Lokasi Lokasi2 FROM (SELECT * FROM dpa_detail WHERE Tahun='".$thn_renja."' AND RKegID='".$id_rkeg."' AND K_RKA='".$k_rka."' LIMIT 1) R LEFT JOIN dpa_prog P ON (R.Tahun=P.Tahun AND R.OPDID=P.OPDID AND R.UPTID=P.UPTID AND R.ProgID=P.ProgID) LEFT JOIN renja_detail A ON (R.Tahun=A.Tahun AND R.RKegID=A.RKegID)");
if ($db->Next()) $akeg = $db->AllRow();
$e_sesuai = 1;
$t_ucapai = '<i class="fa fa-lg fa-check w-hijau"></i>';
$t_tcapai = '<i class="fa fa-lg fa-check w-hijau"></i>';
$t_lokasi = '<i class="fa fa-lg fa-check w-hijau"></i>';
$t_total = '<i class="fa fa-lg fa-check w-hijau"></i>';
$t_sesuai = '<i class="fa fa-lg fa-check w-hijau"></i>&nbsp;Sesuai';
if (trim($akeg['T_Hasil'])<>trim($akeg['UCapai2'])) {
$t_ucapai = '<i class="fa fa-lg fa-delete w-merah"></i>';
$e_sesuai = 2;
}
if (trim($akeg['T_Keluar'])<>trim($akeg['TCapai2'])) {
$t_tcapai = '<i class="fa fa-lg fa-delete w-merah"></i>';
$e_sesuai = 2;
}
if ($akeg['B_Total']<>$akeg['B_Total2']) {
$t_total = '<i class="fa fa-lg fa-delete w-merah"></i>';
$e_sesuai = 2;
}
if (trim($akeg['Lokasi'])<>trim($akeg['Lokasi2'])) {
$t_lokasi = '<i class="fa fa-lg fa-delete w-merah"></i>';
$e_sesuai = 2;
}
if ($e_sesuai==2) $t_sesuai = '<i class="fa fa-lg fa-delete w-merah"></i>&nbsp;Tidak Sesuai';
$form = new cFORM();
$txkeg = $form->textbox("_", "X_Keg", $akeg['Kode_Keg'], false, false);
$tnkeg = $form->textarea("_", "N_Keg", $akeg['N_Keg'], false, false, 2);
$tucapa1 = $form->textarea("_", "UCapai1", $akeg['UCapai2'], false, false, 1);
$ttcapa1 = $form->textarea("_", "TCapai1", $akeg['TCapai2'], false, false, 1);
$tucapa2 = $form->textarea("_", "UCapai2", $akeg['T_Hasil'], false, false, 1);
$ttcapa2 = $form->textarea("_", "TCapai2", $akeg['T_Keluar'], false, false, 1);
$tlokasi1 = $form->textbox("_", "Lokasi1", $akeg['Lokasi2'], false, false, "text");
$tlokasi2 = $form->textbox("_", "Lokasi", $akeg['Lokasi'], false, false, "text");
$tjumlah1 = $form->textbox("_", "Jumlah1", $akeg['B_Total2'], false, false, "double");
$tjumlah2 = $form->textbox("_", "Jumlah2", $akeg['B_Total'], false, false, "double");
$teval = $form->textarea("_", "Eval_Evaluasi", $akeg['Eval_Evaluasi'], true, true, 1);
$ttindak = $form->textarea("_", "Eval_Tindak", $akeg['Eval_Tindak'], true, true, 1);
$tlanjut = $form->textarea("_", "Eval_Lanjut", $akeg['Eval_Lanjut'], true, true, 1);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="X_Keg">Kode Kegiatan</label>
<div class="col-sm-6 col-lg-3">'.$txkeg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="N_Keg">Nama Kegiatan</label>
<div class="col">'.$tnkeg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Lokasi">Lokasi Kegiatan</label>
<div class="col">'.$tlokasi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Catatan">Catatan</label>
<div class="col">'.$tcatat.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1 text-center"><div class="col"><h5>INDIKATOR & TARGET</h5></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="U_Capai">Capaian Program</label>
<div class="col-sm-6 col-lg-7">'.$tucapai.'</div>
<div class="col-sm-2 col-lg-3"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Target</span></div>'.$ttcapai.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="U_Masuk">Masukan</label>
<div class="col-sm-6 col-lg-7">'.$tumasuk.'</div>
<div class="col-sm-2 col-lg-3"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Target</span></div>'.$ttmasuk.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="U_Keluar">Keluaran</label>
<div class="col-sm-6 col-lg-7">'.$tukeluar.'</div>
<div class="col-sm-2 col-lg-3"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Target</span></div>'.$ttkeluar.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="U_Keluar">Hasil</label>
<div class="col-sm-6 col-lg-7">'.$tuhasil.'</div>
<div class="col-sm-2 col-lg-3"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Target</span></div>'.$tthasil.'</div></div></div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col-12 col-lg-6">
<div class="row mb-1 text-center"><div class="col"><h5>RINCIAN NILAI PAGU (Rp.)</h5></div></div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-4 col-form-label" for="B_Pegawai">Belanja Pegawai</label>
<div class="col">'.$tb_peg.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-4 col-form-label" for="B_Barang">Belanja Barang & Jasa</label>
<div class="col">'.$tb_bar.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-4 col-form-label" for="B_Modal">Belanja Modal</label>
<div class="col">'.$tb_mod.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-8 col-lg-4 col-form-label" for="Jumlah_Bel">JUMLAH BELANJA</label>
<div class="col">'.$tj_bel.'</div>
</div>
<div class="row mb-1">
<div class="col text-right">
<button type="button" class="btn btn-info ml-2" id="butXCopyMasuk">Salin ke Target Masukan</button>
<button type="button" class="btn btn-info ml-2" id="butXCopyTriw">Bagi Rata ke Triwulan</button>
</div>
</div>
</div>
<div class="col-12 col-lg-6">
<div class="row mb-1 text-center"><div class="col"><h5>RENCANA KEUANGAN (Rp.) & FISIK (%)</h5></div></div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW1">Triwulan I</label>
<div class="col-sm-5 col-lg-5">'.$tkeu1.'</div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Fisik</span></div>'.$tfis1.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW2">Triwulan II</label>
<div class="col-sm-5 col-lg-5">'.$tkeu2.'</div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Fisik</span></div>'.$tfis2.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW3">Triwulan III</label>
<div class="col-sm-5 col-lg-5">'.$tkeu3.'</div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Fisik</span></div>'.$tfis3.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label" for="RencK_TW4">Triwulan IV</label>
<div class="col-sm-5 col-lg-5">'.$tkeu4.'</div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Fisik</span></div>'.$tfis4.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-3 col-lg-3 col-form-label">JUMLAH RENCANA</label>
<div class="col-sm-5 col-lg-5">'.$tj_keu.'</div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><div class="input-group-prepend"><span class="input-group-text">Fisik</span></div>'.$tj_fis.'</div></div></div>
</div>
</div>
</div>
<input type="hidden" id="K_RKA" value="'.$adetail['K_RKA'].'">
<input type="hidden" id="MKegID" value="'.$adetail['MKegID'].'">
<input type="hidden" id="Status_Save" value="0">
<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 Evaluasi Pelaksanaan // Tahun '.$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_OPD" placeholder="Nama 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 class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_PROG" placeholder="Nama Program" type="text" readonly>
<input id="ProgID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butPROG"><span><i class="bi-arrow-left-right"></span></i>Program</button>
</div>
</div>
</div>
<div id="divOPD">&nbsp;</div>
<div id="divPROG">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+368
View File
@@ -0,0 +1,368 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_kinerja.php
Desc. : PHP - Laporan Evaluasi Kinerja Triwulan Per OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 20th, 2012.
Last Modified : November 12th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
//require_once("Spreadsheet/Excel/Writer.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$db2 = new MySQL();
$db3 = new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = Param::Get("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = Param::Get("OPDID", 0);
if ( $data == "print" || $data == "export") {
$a_opd = [];
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $a_opd = $db->AllRow();
$tsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'";
if ($twulan == 1) {
$field_indi = "(Real_TW1,0)";
$field_keu = "(A.RealK_TW1)";
$field_kin = "(A.Kin_TW1,0)";
} else if ($twulan == 2) {
$field_indi = "(Real_TW1,Real_TW2)";
$field_keu = "(A.RealK_TW1+A.RealK_TW2)";
$field_kin = "(A.Kin_TW1,A.Kin_TW2)";
} else if ($twulan == 3) {
$field_indi = "(Real_TW1,Real_TW2,Real_TW3)";
$field_keu = "(A.RealK_TW1+A.RealK_TW2+A.RealK_TW3)";
$field_kin = "(A.Kin_TW1,A.Kin_TW2,A.Kin_TW3)";
} else if ($twulan == 4) {
$field_indi = "(Real_TW1,Real_TW2,Real_TW3,Real_TW4)";
$field_keu = "(A.RealK_TW1+A.RealK_TW2+A.RealK_TW3+A.RealK_TW4)";
$field_kin = "(A.Kin_TW1,A.Kin_TW2,A.Kin_TW3,A.Kin_TW4)";
}
$db->Query("SELECT P_A.K_Prog,P_I.*,T.Tot_Pagu,T.Tot_Real,T.Kinerja,P.OPD_Pagu,P.OPD_Real,P.OPD_Kinerja,O.K_OPD,O.N_OPD,X.N_Prog FROM (SELECT OPDID,ProgID,K_Prog FROM dpa90_prog".$tsql.") P_A INNER JOIN (SELECT OPDID,ProgID,Text_Indi IP_Text,CONCAT(Target_Indi,' ',Satuan_Indi) IP_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Indi) IP_Real FROM dpa90_prog_indi".$tsql.") P_I ON (P_I.OPDID=P_A.OPDID AND P_I.ProgID=P_A.ProgID) LEFT JOIN (SELECT A.OPDID,A.ProgID,SUM(A.Pagu_Ini) Tot_Pagu,SUM".$field_keu." Tot_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,ProgID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID,ProgID) B ON (B.OPDID=A.OPDID AND B.ProgID=A.ProgID) GROUP BY A.OPDID,A.ProgID) T ON (T.OPDID=P_A.OPDID AND T.ProgID=P_A.ProgID) LEFT JOIN (SELECT A.OPDID,SUM(A.Pagu_Ini) OPD_Pagu,SUM".$field_keu." OPD_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) OPD_Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID) GROUP BY A.OPDID) P ON (P.OPDID=P_A.OPDID) LEFT JOIN (SELECT * FROM para90_opd WHERE Aktif=1) O ON (O.OPDID=P_A.OPDID) LEFT JOIN (SELECT ProgID,N_Prog FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY ProgID) X ON (X.ProgID=P_A.ProgID) WHERE O.Aktif IS NOT NULL ORDER BY O.K_OPD,P_A.K_Prog");
}
if ( $data == "print" ) {
$header = '<div class="text-center fs-5"><b>LAPORAN KINERJA PERANGKAT DAERAH<br>KABUPATEN MEMPAWAH TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</b></div><br><table class="garis"><thead><tr><th width="20">Kode</th><th width="100">Nama Program/Kegiatan/Sub Kegiatan</th><th width="100">Indikator Program/Kegiatan/Sub Kegiatan</th><th width="80">Target Program/Kegiatan/Sub Kegiatan</th><th width="80">Realisasi/Capaian Indikator</th><th width="60">Anggaran (Rp.)</th><th width="60">Realisasi (Rp.)</th><th width="60">Kinerja (%)</th><th width="60">Lokasi</th><th width="60">Kendala</th><th width="60">Tindak Lanjut</th><th width="60">Pihak Yang Dapat Membantu</th></tr></thead><tbody>';
$_line = '<tr class="%s"><td class="l" nowrap>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>';
$_oline = '<tr><td class="b l">%s</td><td class="b" colspan="4">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b" colspan="4">&nbsp;</td></tr>';
$body = ""; $id_opd = 0; $id_prog = 0; $id_keg = 0;
while ($db->Next()) {
if ($id_opd <> $db->Row("OPDID")) {
$body .= sprintf($_oline, $db->Row("K_OPD"), $db->Row("N_OPD"), uang2($db->Row("OPD_Pagu")), uang2($db->Row("OPD_Real")), uang2($db->Row("OPD_Kinerja")));
$id_opd = $db->Row("OPDID");
}
if ($id_prog <> $db->Row("ProgID")) {
$vp_kode = $db->Row("K_Prog");
$vp_nama = $db->Row("N_Prog");
$vp_pagu = uang2($db->Row("Tot_Pagu"));
$vp_real = uang2($db->Row("Tot_Real"));
$vp_kine = uang2($db->Row("Kinerja"));
//$id_keg = 0;
} else {
$vp_kode = "";
$vp_nama = "";
$vp_pagu = "";
$vp_real = "";
$vp_kine = "";
}
if ($id_prog <> 0 && $id_prog <> $db->Row("ProgID")) {
$id_keg = 0;
$xsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
$db2->Query("SELECT K_A.K_Keg,K_I.*,T.Tot_Pagu,T.Tot_Real,T.Kinerja,X.N_Keg FROM (SELECT OPDID,KegID,K_Keg FROM dpa90_keg".$xsql.") K_A INNER JOIN ((SELECT OPDID,KegID,1 Indi,CONCAT('Hasil: ',Text_Hasil) Indi_Text,CONCAT(Target_Hasil,' ',Satuan_Hasil) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Hasil) Indi_Real FROM dpa90_keg_hasil".$xsql.") UNION ALL (SELECT OPDID,KegID,2 Indi,CONCAT('Keluaran: ',Text_Keluar) Indi_Text,CONCAT(Target_Keluar,' ',Satuan_Keluar) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Keluar) Indi_Real FROM dpa90_keg_keluar".$xsql.")) K_I ON (K_I.OPDID=K_A.OPDID AND K_I.KegID=K_A.KegID) LEFT JOIN (SELECT A.OPDID,A.KegID,SUM(A.Pagu_Ini) Tot_Pagu,SUM".$field_keu." Tot_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,KegID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID,KegID) B ON (B.OPDID=A.OPDID AND B.KegID=A.KegID) GROUP BY A.OPDID,A.KegID) T ON (T.OPDID=K_A.OPDID AND T.KegID=K_A.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY KegID) X ON (X.KegID=K_A.KegID) ORDER BY K_A.K_Keg,K_I.Indi");
while ($db2->Next()) {
if ($id_keg <> $db2->Row("KegID")) {
$vk_kode = $db2->Row("K_Keg");
$vk_nama = $db2->Row("N_Keg");
$vk_pagu = uang2($db2->Row("Tot_Pagu"));
$vk_real = uang2($db2->Row("Tot_Real"));
$vk_kine = uang2($db2->Row("Kinerja"));
} else {
$vk_kode = "";
$vk_nama = "";
$vk_pagu = "";
$vk_real = "";
$vk_kine = "";
}
if ($id_keg <> 0 && $id_keg <> $db2->Row("KegID")) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
$body .= sprintf($_line, "keg", $vk_kode, $vk_nama, $db2->Row("Indi_Text"), $db2->Row("Indi_Target"), $db2->Row("Indi_Real"), $vk_pagu, $vk_real, $vk_kine, "", "", "", "");
$id_keg = $db2->Row("KegID");
}
if ($id_keg > 0 ) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
}
$body .= sprintf($_line, "prog", $vp_kode, $vp_nama, $db->Row("IP_Text"), $db->Row("IP_Target"), $db->Row("IP_Real"), $vp_pagu, $vp_real, $vp_kine, "", "", "", "");
$id_prog = $db->Row("ProgID");
}
if ($id_prog > 0 ) {
$xsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
$db2->Query("SELECT K_A.K_Keg,K_I.*,T.Tot_Pagu,T.Tot_Real,T.Kinerja,X.N_Keg FROM (SELECT OPDID,KegID,K_Keg FROM dpa90_keg".$xsql.") K_A INNER JOIN ((SELECT OPDID,KegID,1 Indi,CONCAT('Hasil: ',Text_Hasil) Indi_Text,CONCAT(Target_Hasil,' ',Satuan_Hasil) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Hasil) Indi_Real FROM dpa90_keg_hasil".$xsql.") UNION ALL (SELECT OPDID,KegID,2 Indi,CONCAT('Keluaran: ',Text_Keluar) Indi_Text,CONCAT(Target_Keluar,' ',Satuan_Keluar) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Keluar) Indi_Real FROM dpa90_keg_keluar".$xsql.")) K_I ON (K_I.OPDID=K_A.OPDID AND K_I.KegID=K_A.KegID) LEFT JOIN (SELECT A.OPDID,A.KegID,SUM(A.Pagu_Ini) Tot_Pagu,SUM".$field_keu." Tot_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,KegID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID,KegID) B ON (B.OPDID=A.OPDID AND B.KegID=A.KegID) GROUP BY A.OPDID,A.KegID) T ON (T.OPDID=K_A.OPDID AND T.KegID=K_A.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY KegID) X ON (X.KegID=K_A.KegID) ORDER BY K_A.K_Keg,K_I.Indi");
while ($db2->Next()) {
if ($id_keg <> $db2->Row("KegID")) {
$vk_kode = $db2->Row("K_Keg");
$vk_nama = $db2->Row("N_Keg");
$vk_pagu = uang2($db2->Row("Tot_Pagu"));
$vk_real = uang2($db2->Row("Tot_Real"));
$vk_kine = uang2($db2->Row("Kinerja"));
} else {
$vk_kode = "";
$vk_nama = "";
$vk_pagu = "";
$vk_real = "";
$vk_kine = "";
}
if ($id_keg <> 0 && $id_keg <> $db2->Row("KegID")) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
$body .= sprintf($_line, "keg", $vk_kode, $vk_nama, $db2->Row("Indi_Text"), $db2->Row("Indi_Target"), $db2->Row("Indi_Real"), $vk_pagu, $vk_real, $vk_kine, "", "", "", "");
$id_keg = $db2->Row("KegID");
}
if ($id_keg > 0) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
}
echo $header . $body . "</tbody></table>";
/*} else if ( $data == "export" ) {
$wbook = new Spreadsheet_Excel_Writer();
$fjudul =& $wbook->addFormat();
$fjudul->setBold();
$fjudul->setAlign("center");
$fhead =& $wbook->addFormat();
$fhead->setBold();
$fhead->setAlign("center");
$fhead->setVAlign("vcenter");
$fhead->setBorder(1);
$fhead->setTextWrap();
$ftxt =& $wbook->addFormat();
$ftxt->setVAlign("top");
$ftxt->setBottom(1);
$ftxt->setTextWrap();
$ftxt->setNumFormat("@");
$fnum =& $wbook->addFormat();
$fnum->setNumFormat(4);
$fnum->setBottom(1);
$f_sjudul =& $wbook->addFormat(['NumFormat'=>"@"]);
$f_opd =& $wbook->addFormat(['FgColor'=>55,'NumFormat'=>"@"]);
$f_opd_num =& $wbook->addFormat(['FgColor'=>55,'NumFormat'=>4]);
$f_prog =& $wbook->addFormat(['FgColor'=>10,'NumFormat'=>"@"]);
$f_prog_num =& $wbook->addFormat(['FgColor'=>10,'NumFormat'=>4]);
$f_keg =& $wbook->addFormat(['FgColor'=>45,'NumFormat'=>"@"]);
$f_keg_num =& $wbook->addFormat(['FgColor'=>45,'NumFormat'=>4]);
$f_sub =& $wbook->addFormat(['FgColor'=>39,'NumFormat'=>"@"]);
$f_sub_num =& $wbook->addFormat(['FgColor'=>39,'NumFormat'=>4]);
$wsheet =& $wbook->addWorksheet("Real-Bulanan");
$wsheet->setColumn(0,0,18);
$wsheet->setColumn(1,1,60);
$wsheet->setColumn(2,7,16);
$wsheet->setColumn(8,8,12);
$wsheet->setColumn(9,15,16);
$wsheet->setColumn(16,16,8);
$wsheet->write(0,0,"LAPORAN REALISASI FISIK DAN KEUANGAN",$fjudul);
$wsheet->setMerge(0,0,0,16);
$wsheet->write(1,0,"TAHUN ANGGARAN ".$tahun,$fjudul);
$wsheet->setMerge(1,0,1,16);
$baris = 3;
$wsheet->write($baris,0,"Nama Perangkat Daerah",$f_sjudul);
$wsheet->write($baris,2,$a_opd['N_OPD'],$f_sjudul);
$wsheet->write(($baris+1),0,"Pengguna Anggaran / Kuasa Pengguna Anggaran",$f_sjudul);
$wsheet->write(($baris+1),2,$a_opd['P_Nama'],$f_sjudul);
$wsheet->write(($baris+2),0,"Bendahara Pengeluaran",$f_sjudul);
$wsheet->write(($baris+2),2,$a_opd['B_Nama'],$f_sjudul);
$wsheet->write(($baris+3),0,"Tahun Anggaran",$f_sjudul);
$wsheet->write(($baris+3),2,$tahun,$f_sjudul);
$wsheet->write(($baris+4),0,"Bulan",$f_sjudul);
$wsheet->write(($baris+4),2,bulan_array()[$bulan],$f_sjudul);
$baris += 5;
for ($x=$baris; $x<=($baris+3); $x++) {
for ($y=0; $y<=16; $y++) $wsheet->write($x,$y,"",$fhead);
}
$wsheet->write($baris,0,"Kode",$fhead);
$wsheet->setMerge($baris,0,($baris+2),0);
$wsheet->write($baris,1,"Uraian",$fhead);
$wsheet->setMerge($baris,1,($baris+2),1);
$wsheet->write($baris,2,"Target",$fhead);
$wsheet->setMerge($baris,2,$baris,5);
$wsheet->write($baris,6,"Bobot (%)",$fhead);
$wsheet->setMerge($baris,6,($baris+2),6);
$wsheet->write($baris,7,"Nilai Kontrak Swakelola (Rp)",$fhead);
$wsheet->setMerge($baris,7,($baris+2),7);
$wsheet->write($baris,8,"Pelaksana/Rekanan No & Tanggal Kontrak",$fhead);
$wsheet->setMerge($baris,8,($baris+2),8);
$wsheet->write($baris,9,"Realisasi",$fhead);
$wsheet->setMerge($baris,9,$baris,14);
$wsheet->write($baris,15,"Sisa Anggaran",$fhead);
$wsheet->setMerge($baris,15,($baris+2),15);
$wsheet->write($baris,16,"Keterangan",$fhead);
$wsheet->setMerge($baris,16,($baris+2),16);
$wsheet->write(($baris+1),2,"Fisik",$fhead);
$wsheet->setMerge(($baris+1),2,($baris+1),3);
$wsheet->write(($baris+1),4,"Harga Satuan (Rp)",$fhead);
$wsheet->setMerge(($baris+1),4,($baris+2),4);
$wsheet->write(($baris+1),4,"Keuangan Dana (Rp)",$fhead);
$wsheet->setMerge(($baris+1),5,($baris+2),5);
$wsheet->write(($baris+1),9,"Fisik (%)",$fhead);
$wsheet->setMerge(($baris+1),9,($baris+1),12);
$wsheet->write(($baris+1),13,"Keuangan",$fhead);
$wsheet->setMerge(($baris+1),13,($baris+1),14);
$wsheet->write(($baris+2),2,"Volume",$fhead);
$wsheet->write(($baris+2),3,"Satuan",$fhead);
$wsheet->write(($baris+2),9,"Rencana",$fhead);
$wsheet->write(($baris+2),10,"Realisasi",$fhead);
$wsheet->write(($baris+2),11,"Deviasi",$fhead);
$wsheet->write(($baris+2),12,"Tertimbang",$fhead);
for ($x=1; $x<=17; $x++) $wsheet->write(($baris+3),$x-1,$x,$fhead);
$baris += 4;
$kprog = ""; $kkeg = ""; $ksub = ""; $tot_ini = 0; $tot_renc = 0; $tot_real = 0;
while ($db->Next()) {
if ($kprog <> $db->Row("ProgID")) {
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_prog);
$wsheet->write($baris,0,$db->Row("PROG_KODE"), $f_prog);
$wsheet->write($baris,1,$db->Row("N_Prog"), $f_prog);
$wsheet->write($baris,5,$db->Row("PROG_INI"), $f_prog_num);
$wsheet->write($baris,7,$db->Row("PROG_RENC"), $f_prog_num);
$wsheet->write($baris,13,$db->Row("PROG_REAL"), $f_prog_num);
$wsheet->write($baris,14,$db->Row("PROG_REAL")/$db->Row("PROG_RENC")*100, $f_prog_num);
$wsheet->write($baris,15,$db->Row("PROG_RENC")-$db->Row("PROG_REAL"), $f_prog_num);
$baris++;
$kprog = $db->Row("ProgID");
}
if ($kkeg <> $db->Row("KegID")) {
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_keg);
$wsheet->write($baris,0,$db->Row("KEG_KODE"), $f_keg);
$wsheet->write($baris,1,$db->Row("N_Keg"), $f_keg);
$wsheet->write($baris,5,$db->Row("KEG_INI"), $f_keg_num);
$wsheet->write($baris,7,$db->Row("KEG_RENC"), $f_keg_num);
$wsheet->write($baris,13,$db->Row("KEG_REAL"), $f_keg_num);
$wsheet->write($baris,14,$db->Row("KEG_REAL")/$db->Row("KEG_RENC")*100, $f_keg_num);
$wsheet->write($baris,15,$db->Row("KEG_RENC")-$db->Row("KEG_REAL"), $f_keg_num);
$baris++;
$kkeg = $db->Row("KegID");
}
if ($ksub <> $db->Row("SubID")) {
$psn_realk = ($db->RowFloat("SUB_RENC")==0) ? 0 : ($db->RowFloat("SUB_REAL")/$db->RowFloat("SUB_RENC")*100);
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_sub);
$wsheet->write($baris,0,$db->Row("K_Sub"), $f_sub);
$wsheet->write($baris,1,$db->Row("N_Sub"), $f_sub);
$wsheet->write($baris,5,$db->Row("SUB_INI"), $f_sub_num);
$wsheet->write($baris,7,$db->Row("SUB_RENC"), $f_sub_num);
$wsheet->write($baris,13,$db->Row("SUB_REAL"), $f_sub_num);
$wsheet->write($baris,14,$psn_realk, $f_sub_num);
$wsheet->write($baris,15,$db->Row("SUB_RENC")-$db->Row("SUB_REAL"), $f_sub_num);
$baris++;
$ksub = $db->Row("SubID");
}
$info_kontrak = $db->Row("Real_No_Kontrak"); $info_kontrak .= ($info_kontrak==""?"":"<br>").$db->Row("Real_Pelaksana");
$psn_realk = ($db->RowFloat("Renc_Keu")==0) ? 0 : ($db->RowFloat("AKUN_REALK")/$db->RowFloat("Renc_Keu")*100);
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $ftxt);
$wsheet->write($baris,0,$db->Row("K_Akun"), $ftxt);
$wsheet->write($baris,1,$db->Row("N_Akun"), $ftxt);
$wsheet->write($baris,2,$db->Row("Volume"), $fnum);
$wsheet->write($baris,3,$db->Row("N_Satuan"), $ftxt);
$wsheet->write($baris,4,$db->Row("Harga_Satuan"), $fnum);
$wsheet->write($baris,5,$db->Row("Pagu_Ini"), $fnum);
$wsheet->write($baris,6,$db->Row("Nilai_Bobot"), $fnum);
$wsheet->write($baris,7,$db->Row("Renc_Keu"), $fnum);
$wsheet->write($baris,8,$info_kontrak, $ftxt);
$wsheet->write($baris,9,$db->Row("Renc_Fisik"), $fnum);
$wsheet->write($baris,10,$db->Row("AKUN_REALF"), $fnum);
$wsheet->write($baris,11,$db->Row("Renc_Fisik")-$db->Row("AKUN_REALF"), $fnum);
$wsheet->write($baris,12,$db->Row("AKUN_REALF")*$db->Row("Nilai_Bobot")/100, $fnum);
$wsheet->write($baris,13,$db->Row("AKUN_REALK"), $fnum);
$wsheet->write($baris,14,$psn_realk, $fnum);
$wsheet->write($baris,15,$db->Row("Renc_Keu")-$db->Row("AKUN_REALK"), $fnum);
$baris++;
$tot_ini += $db->Row("Pagu_Ini");
$tot_renc += $db->Row("Renc_Keu");
$tot_real += $db->Row("AKUN_REALK");
}
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_opd);
$wsheet->write($baris,0,"Jumlah", $f_opd);
$wsheet->setMerge($baris,0,$baris,1);
$wsheet->write($baris,5,$tot_ini, $f_opd_num);
$wsheet->write($baris,7,$tot_renc, $f_opd_num);
$wsheet->write($baris,13,$tot_real, $f_opd_num);
$wsheet->write($baris,14,$tot_real/$tot_renc*100, $f_opd_num);
$wsheet->write($baris,15,$tot_renc-$tot_real, $f_opd_num);
$baris++;
$wbook->send("Laporan Realisasi F & K ".bulan_array()[$bulan]."-".$tahun." - ".tgl_dmy(true).".xls");
$wbook->close();*/
} else if ( $data == "default") {//oke
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$id_opd = $_SESSION['__WEB_USER']['A_OPD'][0];
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$tthn = $form->option_que("_", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM dpa90_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$topd = $form->option_db("_", "OPDID", $id_opd, true, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "Aktif=1".$q_opd." ORDER BY K_OPD");//, (user_level(3)?array(0,"SEMUA OPD"):null)
$ttw = $form->radio("_", "TW", $twulan, true, false, [1=>"I",2=>"II",3=>"III",4=>"IV"]);
echo '
<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">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-5 col-lg-4">'.$tthn.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="TW">Triwulan</label>
<div class="col-sm-8 col-lg-9">'.$ttw.'</div>
</div>';
}
?>
+270
View File
@@ -0,0 +1,270 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/repo_eval_tujuan.php
Desc. : PHP - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 20th, 2012.
Last Modified : October 17th, 2018.
(c) 2012 - 2018, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.print.php");
require_once(dirname(__FILE__)."/../../../../../vendor/autoload.php");
require_once(dirname(__FILE__)."/../func.emonev.php");
function report_show() {
global $ap;
$ntahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$ntw = $ap->getParam("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
if (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) $id_opd = $_SESSION['__WEB_USER']['A_OPD'][0];
if ($_SESSION['__WEB_USER']['Level']==4) $id_upt = $_SESSION['__WEB_USER']['A_UPT'][0];
$q_opd = (in_array($_SESSION['__WEB_USER']['Level'],array(3,4))) ? "OPDID='".$_SESSION['__WEB_USER']['A_OPD'][0]."'" : "TRUE";
$q_upt = ($_SESSION['__WEB_USER']['Level']==4) ? "AND UPTID='".$_SESSION['__WEB_USER']['A_UPT'][0]."'" : "OPDID='".$id_opd."'";
$form = new cFORM();
$form->option_db("Tahun Data", "Tahun", $ntahun, true, true, "para_periode", array("Tahun","Tahun"));
$form->option_db("Indikator Tujuan", "RD_TUJUANINDIID", $ap->getParam("RD_TUJUANINDIID", 0), true, true, "rpjmd_tujuan_indi", array("RD_TUJUANINDIID","Txt_Indi"), " TRUE ORDER BY No_Indi", array(0,"-- SEMUA INDIKATOR --"));
$form->option_db("Nama OPD", "OPDID", $id_opd, true, true, "vi_para_opd", array("OPDID","Nama_OPD"), $q_opd." AND Aktif=1 ORDER BY K_OPD", (user_level(1)?array(0,"-- SEMUA OPD --"):null), null, "RepoEvalTujuanJS.oc_Tipe();");
$form->option_db("Nama UPT", "UPTID", $id_upt, true, true, "vi_para_upt", array("UPTID","Nama_UPT"), $q_upt." AND Aktif=1 ORDER BY K_UPT", (user_level(3)?array(0,"-- SEMUA UPT --"):null));
$form->radio("Triwulan", "TW", $ntw, true, true, array(1=>"I",2=>"II",3=>"III",4=>"IV"));
$form->radio("Rutin / Penunjang", "Cetak_Rutin", $i_rutin, true, true, array(1=>"Ya",2=>"Tidak"));
$form->show(' _Tahun_ _RD_TUJUANINDIID_ _OPDID_ _UPTID_ _TW_ _Cetak_Rutin_ ');
}
/************************** RESPON HERE ***************************/
$db = DB();
$db2 = DB();
$data = $ap->getParam("data");
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = $ap->getParam("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = $ap->getParam("OPDID", 0);
$id_upt = $ap->getParam("UPTID", 0);
$id_indi = $ap->getParam("RD_TUJUANINDIID", 0);
if ( $data == "print" || $data == "export") {
$tsql = " WHERE Tahun='".$tahun."'";
if ($id_opd>0) $tsql .= " AND OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND UPTID='".$id_upt."'";
if ($twulan == 1) {
$field_tw = "TW1";
} else if ($twulan == 2) {
$field_tw = "TW2";
} else if ($twulan == 3) {
$field_tw = "TW3";
} else if ($twulan == 4) {
$field_tw = "TW4";
}
// proses rekap database
Report_Empty("eval_prog");
Report_Empty("eval_prog_indi");
Report_Empty("eval_keg");
Report_Empty("eval_itarget");
// insert urusan
$db->Query("INSERT INTO rep_eval_prog SELECT Tahun,ProgID,SUM(B_Total),'".user_unix()."','".user_id()."' FROM dpa_detail".$tsql." GROUP BY ProgID");
// insert program indi
$db->Query("INSERT INTO rep_eval_prog_indi SELECT '".$tahun."',ProgID,RD_PROGRAMINDIID,0,'".user_unix()."','".user_id()."' FROM rpjmd_program_indi WHERE RD_PROGRAMINDIID IN (SELECT RD_PROGRAMINDIID FROM renja_detail_indi".$tsql.")");
$db->Query("DELETE FROM rep_eval_prog_indi WHERE ProgID NOT IN (SELECT ProgID FROM dpa_detail".$tsql.")");
// insert kegiatan
$db->Query("INSERT INTO rep_eval_keg SELECT D.Tahun,D.ProgID,IFNULL(MIN(I.RD_PROGRAMINDIID),0),D.RKegID,D.B_Total,IFNULL(D.B_Total/P.PAGU_PROG*100,0),IFNULL(D.RealF_TW2/D.RencF_TW2*100,0),0,'".user_unix()."','".user_id()."' FROM (SELECT * FROM dpa_detail".$tsql.") D LEFT JOIN (SELECT * FROM renja_detail_indi".$tsql.") I ON (D.RKegID=I.RKegID) LEFT JOIN rep_eval_prog P ON (D.Tahun=P.Tahun AND D.ProgID=P.ProgID AND P.UserID='".user_id()."' AND P.Unix='".user_unix()."') GROUP BY D.RKegID");
$db->Query("UPDATE rep_eval_keg SET KON_REAL=KON_KINERJA*KON_PAGU/100 WHERE UserID='".user_id()."' AND Unix='".user_unix()."'");
$db->Query("UPDATE rep_eval_prog_indi A, (SELECT ProgID,AVG(KON_KINERJA) KON_PROGRAM FROM rep_eval_keg WHERE UserID='".user_id()."' AND Unix='".user_unix()."' GROUP BY ProgID) B SET A.KON_PROGRAM=B.KON_PROGRAM WHERE A.ProgID=B.ProgID AND A.UserID='".user_id()."' AND A.Unix='".user_unix()."'");
// insert target indikator
$db->Query("INSERT INTO rep_eval_itarget SELECT A.Tahun,P.RD_TUJUANINDIID,AVG(A.KON_PROGRAM)/100,'".user_unix()."','".user_id()."' FROM rep_eval_prog_indi A LEFT JOIN para_program P ON (A.ProgID=P.ProgID) WHERE A.Tahun='".$tahun."' AND A.UserID='".user_id()."' AND A.Unix='".user_unix()."' GROUP BY P.RD_TUJUANINDIID");
$db->Query("SELECT P.RD_TUJUANINDIID,D.ProgID,D.RKegID,T.No_Misi,T.Txt_Misi,T.Kode_Tujuan,T.Txt_Tujuan,T.Kode_Indi_Tujuan,T.Txt_Indi,T.Indi_T2,RT.KON_TUJUANINDI*T.Indi_T2 PRO_INDI,P.N_Prog,RP.PAGU_PROG,D.K_Keg,D.N_Keg,D.RencF_TW2,D.B_Total,RK.KON_PAGU,D.RealF_TW2,RK.KON_KINERJA,RK.KON_REAL,U.N_UPT FROM (SELECT * FROM dpa_detail".$tsql.") D LEFT JOIN rep_eval_prog RP ON (D.Tahun=RP.Tahun AND D.ProgID=RP.ProgID AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') LEFT JOIN rep_eval_keg RK ON (D.Tahun=RK.Tahun AND D.ProgID=RK.ProgID AND D.RKegID=RK.RKegID AND RK.UserID='".user_id()."' AND RK.Unix='".user_unix()."') LEFT JOIN para_program P ON (D.ProgID=P.ProgID) LEFT JOIN rep_eval_itarget RT ON (RT.Tahun=D.Tahun AND RT.RD_TUJUANINDIID=P.RD_TUJUANINDIID AND RT.UserID='".user_id()."' AND RT.Unix='".user_unix()."') LEFT JOIN para_upt U ON (D.UPTID=U.UPTID) LEFT JOIN vi_rpjmd_tujuan_indi T ON (T.RD_TUJUANINDIID=P.RD_TUJUANINDIID) WHERE P.RD_TUJUANINDIID>0 ORDER BY T.Kode_Indi_Tujuan,D.ProgID,D.K_Keg");
}
if ( $data == "print" ) {
echo "dalam progress .. sementara baru excel !";
/*$_head = '<div style="text-align:center;font-size:120%;"><b>LAPORAN PELAKSANAAN RENCANA PROGRAM DAN ANGGARAN KEGIATAN PEMBANGUNAN DAERAH APBD<br>PROVINSI KALIMANTAN BARAT TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</b></div><br>
<table width="100%" class="pborder">
<tr><td width="20" class="center bold" rowspan="2">Kode</td><td width="180" class="center bold" rowspan="2">Urusan/Bidang Urusan Pemerintahan Daerah</td><td width="50" class="center bold" rowspan="2">Jumlah Anggaran (Rp)</td><td width="100" class="center bold" colspan="4">Penyerapan Keuangan (%)</td><td width="100" class="center bold" colspan="2">Indikator Keluaran (OUTPUT)</td></tr>
<tr><td class="center bold">Target</td><td class="center bold">%</td><td class="center bold">Realisasi</td><td class="center bold">%</td><td class="center bold">S (%)</td><td class="center bold">R (%)</td></tr>
<tr><td class="center">1</td><td class="center">2</td><td class="center">3</td><td class="center">4</td><td class="center">5</td><td class="center">6</td><td class="center">7</td><td class="center">8</td><td class="center">9</td></tr>';
$_line = '<tr><td class="left" nowrap>%s</td><td class="left">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td><td class="right">%s</td></tr>';
$_bline = '<tr><td class="bold left" nowrap>%s</td><td class="bold left">%s</td><td class="bold right">%s</td><td class="bold right">%s</td><td class="bold right">%s</td><td class="bold right">%s</td><td class="bold right">%s</td><td class="bold right">%s</td><td class="bold right">%s</td></tr>';
$header = $_head;
$body = $urus = $fung = $opd = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
$body .= sprintf($_bline, $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), uang2($db->Row("URUS_PAGU")), uang2($db->Row("URUS_TARGET")), uang2($db->Row("URUS_TARGET_PSN")), uang2($db->Row("URUS_REAL")), uang2($db->Row("URUS_REAL_PSN")), uang2($db->Row("URUS_INDI_S")), uang2($db->Row("URUS_INDI_R")));
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
$body .= sprintf($_bline, $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), uang($db->Row("FUNG_PAGU"),2), uang($db->Row("FUNG_TARGET"),2), uang($db->Row("FUNG_TARGET_PSN"),2), uang($db->Row("FUNG_REAL"),2), uang($db->Row("FUNG_REAL_PSN"),2), uang($db->Row("FUNG_INDI_S"),2), uang($db->Row("FUNG_INDI_R"),2));
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
$body .= sprintf($_bline, $db->Row("KO_OPD"), $db->Row("N_OPD"), uang($db->Row("OPD_PAGU"),2), uang($db->Row("OPD_TARGET"),2), uang($db->Row("OPD_TARGET_PSN"),2), uang($db->Row("OPD_REAL"),2), uang($db->Row("OPD_REAL_PSN"),2), uang($db->Row("OPD_INDI_S"),2), uang($db->Row("OPD_INDI_R"),2));
$opd = $db->Row("KO_OPD");
}
$body .= sprintf($_line, $db->Row("KO_UPT"), $db->Row("N_UPT"), uang($db->Row("UPT_PAGU"),2), uang($db->Row("UPT_TARGET"),2), uang($db->Row("UPT_TARGET_PSN"),2), uang($db->Row("UPT_REAL"),2), uang($db->Row("UPT_REAL_PSN"),2), uang($db->Row("UPT_INDI_S"),2), uang($db->Row("UPT_INDI_R"),2));
}
echo $header . $body . "</table>";*/
} else if ( $data == "export" ) {
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$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("Evaluasi ".$tahun)
->setCategory("Evaluasi ".$tahun)
->setSubject("Evaluasi")
->setDescription("Evaluasi ".$tahun)
->setCompany("BAPPERIDA Provinsi Kalimantan Barat");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("EVALUASI");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", "EVALUASI");
$sheet->mergeCells('A1:Y1');
$sheet->setCellValue("A2", "Tahun ".$tahun);
$sheet->mergeCells('A2:Y2');
$sheet->getStyle('A1:Y2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(6);
$sheet->getColumnDimension('B')->setWidth(30);
$sheet->getColumnDimension('C')->setWidth(6);
$sheet->getColumnDimension('D')->setWidth(30);
$sheet->getColumnDimension('E')->setWidth(6);
$sheet->getColumnDimension('F')->setWidth(30);
$sheet->getColumnDimension('G')->setWidth(16);
$sheet->getColumnDimension('H')->setWidth(16);
$sheet->getColumnDimension('I')->setWidth(16);
$sheet->getColumnDimension('J')->setWidth(50);
$sheet->getColumnDimension('K')->setWidth(16);
$sheet->getColumnDimension('L')->setWidth(25);
$sheet->getColumnDimension('M')->setWidth(16);
$sheet->getColumnDimension('N')->setWidth(16);
$sheet->getColumnDimension('O')->setWidth(16);
$sheet->getColumnDimension('P')->setWidth(20);
$sheet->getColumnDimension('Q')->setWidth(20);
$sheet->getColumnDimension('R')->setWidth(20);
$sheet->getColumnDimension('S')->setWidth(20);
$sheet->getColumnDimension('T')->setWidth(16);
$sheet->getColumnDimension('U')->setWidth(16);
$sheet->getColumnDimension('V')->setWidth(16);
$sheet->getColumnDimension('W')->setWidth(16);
$sheet->getColumnDimension('X')->setWidth(16);
$sheet->getColumnDimension('Y')->setWidth(25);
$styleTableH1 = [
'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'=>"2187AC"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"000000"]]]
];
$sheet->setCellValue("A4", "Misi RPJMD");
$sheet->mergeCells('A4:B4');
$sheet->setCellValue("C4", "Tujuan RPJMD");
$sheet->mergeCells('C4:D4');
$sheet->setCellValue("E4", "Indikator Tujuan RPJMD");
$sheet->mergeCells('E4:F4');
$sheet->setCellValue("G4", "Target ".$tahun);
$sheet->setCellValue("H4", "Realisasi Tahun n-1 (".($tahun-1).")");
$sheet->setCellValue("I4", "Proyeksi Berdasar Kontribusi Program ".$tahun);
$sheet->setCellValue("J4", "Program");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Indikator Program");
$sheet->setCellValue("M4", "Target ".$tahun);
$sheet->setCellValue("N4", "Proyeksi Realisasi ".$tahun);
$sheet->setCellValue("O4", "Kontribusi Program");
$sheet->setCellValue("P4", "Kegiatan");
$sheet->setCellValue("Q4", "Indikator Kegiatan");
$sheet->setCellValue("R4", "Target Kinerja");
$sheet->setCellValue("S4", "Satuan");
$sheet->setCellValue("T4", "Anggaran");
$sheet->setCellValue("U4", "Kontribusi Pagu Program");
$sheet->setCellValue("V4", "Realisasi Kinerja ".$tahun);
$sheet->setCellValue("W4", "Kontribusi Kegiatan Per Kinerja");
$sheet->setCellValue("X4", "Kontribusi Realisasi Anggaran");
$sheet->setCellValue("Y4", "OPD Penanggung Jawab");
$sheet->getStyle('A4:Y4')->applyFromArray($styleTableH1);
// jika ada nomor dibawah header disini !!
$baris = 5; $k_misi = $k_tujuan = $k_tujuanindi = $k_prog = "";
while ($db->Next()) {
if ($k_misi <> $db->Row("No_Misi")) {
$sheet->getCell("A".$baris)->setValueExplicit($db->Row("No_Misi"), \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
$sheet->setCellValue("B".$baris, $db->Row("Txt_Misi"));
$k_misi = $db->Row("No_Misi");
}
if ($k_tujuan <> $db->Row("Kode_Tujuan")) {
$sheet->getCell("C".$baris)->setValueExplicit($db->Row("Kode_Tujuan"), \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
$sheet->setCellValue("D".$baris, $db->Row("Txt_Tujuan"));
$k_tujuan = $db->Row("Kode_Tujuan");
}
if ($k_tujuanindi <> $db->Row("Kode_Indi_Tujuan")) {
$sheet->getCell("E".$baris)->setValueExplicit($db->Row("Kode_Indi_Tujuan"), \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
$sheet->setCellValue("F".$baris, $db->Row("Txt_Indi"));
$sheet->setCellValue("G".$baris, $db->Row("Indi_T2"));
$sheet->setCellValue("I".$baris, $db->RowFloat("PRO_INDI"));//angka
$k_tujuanindi = $db->Row("Kode_Indi_Tujuan");
}
if ($k_prog <> $db->Row("ProgID")) {
$sheet->setCellValue("J".$baris, $db->Row("N_Prog"));
$sheet->setCellValue("K".$baris, $db->RowFloat("PAGU_PROG"));//angka
$k_prog = $db->Row("ProgID");
$db2->Query("SELECT PI.Txt_Indi,PI.Indi_T2,IFNULL(PI.Indi_T2/100*I.KON_PROGRAM,0) PRO_REAL,I.KON_PROGRAM FROM rep_eval_prog_indi I LEFT JOIN rpjmd_program_indi PI ON (I.RD_PROGRAMINDIID=PI.RD_PROGRAMINDIID AND PI.RPJMDID=2) WHERE I.Tahun='".$tahun."' AND I.ProgID='".$db->Row("ProgID")."' AND I.UserID='".user_id()."' AND I.Unix='".user_unix()."' ORDER BY PI.No_Indi");
}
if ($db2->Next()) {
$sheet->setCellValue("L".$baris, $db2->Row("Txt_Indi"));
$sheet->setCellValue("M".$baris, $db2->Row("Indi_T2"));//angka
$sheet->setCellValue("N".$baris, $db2->RowFloat("PRO_REAL"));//angka
$sheet->setCellValue("O".$baris, $db2->RowFloat("KON_PROGRAM"));//angka
}
$sheet->setCellValue("P".$baris, "(".$db->Row("K_Keg").") ". $db->Row("N_Keg"));
//$sheet->setCellValue("Q".$baris, $db->Row("N_Prog"));
$sheet->setCellValue("R".$baris, $db->RowFloat("RencF_".$field_tw));
// S satuan
$sheet->setCellValue("T".$baris, $db->RowFloat("B_Total"));
$sheet->setCellValue("U".$baris, $db->RowFloat("KON_PAGU"));
$sheet->setCellValue("V".$baris, $db->RowFloat("RealF_".$field_tw));
$sheet->setCellValue("W".$baris, $db->RowFloat("KON_KINERJA"));
$sheet->setCellValue("X".$baris, $db->RowFloat("KON_REAL"));
$sheet->setCellValue("Y".$baris, $db->Row("N_UPT"));
$baris++;
}
$baris--;
$sheet->getStyle('A5:Y'.$baris)->applyFromArray(['borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"000000"]]]]);
$sheet->getSheetView()->setZoomScale(90);
$sheet->getHeaderFooter()->setOddFooter('&LeMONEv - Kabupaten Mempawah &CEvaluasi &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeMONEv - Kabupaten Mempawah &CEvaluasi &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Evaluasi '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "default") {
report_show();
}
?>
+302
View File
@@ -0,0 +1,302 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/repo_tw_upt.php
Desc. : PHP - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 20th, 2012.
Last Modified : June 24th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set('display_errors', '0');
ini_set("max_execution_time", "900");
ini_set("pcre.backtrack_limit", "5000000");
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
//require_once("Spreadsheet/Excel/Writer.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = Param::Get("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = Param::Get("OPDID", 0);
if ( $data == "print" || $data == "export") {
$nama_opd = "";
$db->Query("SELECT Nama_OPD FROM vi_para90_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) $nama_opd = $db->Row("Nama_OPD");
$tabel_data = "dpa_detail"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($twulan == 1) {
$q3 = "T.RencK_TW1";
$qR = "T.RealK_TW1";
$qSF = "T.RencF_TW1,0";
$qRF = "T.RealF_TW1,0";
} else if ($twulan == 2) {
$q3 = "T.RencK_TW1+T.RencK_TW2";
$qR = "T.RealK_TW1+T.RealK_TW2";
$qSF = "T.RealF_TW1,T.RencF_TW2";
$qRF = "T.RealF_TW1,T.RealF_TW2";
} else if ($twulan == 3) {
$q3 = "T.RencK_TW1+T.RencK_TW2+T.RencK_TW3";
$qR = "T.RealK_TW1+T.RealK_TW2+T.RealK_TW3";
$qSF = "T.RealF_TW1,T.RealF_TW2,T.RencF_TW3";
$qRF = "T.RealF_TW1,T.RealF_TW2,T.RealF_TW3";
} else if ($twulan == 4) {
$q3 = "T.RencK_TW1+T.RencK_TW2+T.RencK_TW3+T.RencK_TW4";
$qR = "T.RealK_TW1+T.RealK_TW2+T.RealK_TW3+T.RealK_TW4";
$qSF = "T.RealF_TW1,T.RealF_TW2,T.RencF_TW3,T.RencF_TW4";
$qRF = "T.RealF_TW1,T.RealF_TW2,T.RencF_TW3,T.RealF_TW4";
}
/*/ proses rekap database
Report_Empty("rekap_urus");
Report_Empty("rekap_fung");
Report_Empty("rekap_opd");
Report_Empty("rekap_upt");
$asql = array();
// insert urusan
$db->Query("INSERT INTO rep_rekap_urus SELECT T.Tahun,BU.K_Urusan,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=S.K_BidangU) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
$db->Query("SELECT T.Tahun,BU.K_Urusan,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RU.URUS_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RU.URUS_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RU.URUS_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RU.URUS_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=S.K_BidangU) LEFT JOIN rep_rekap_urus RU ON (T.Tahun=RU.Tahun AND BU.K_Urusan=RU.K_Urusan AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_urus SET URUS_TARGET_PSN='".$db->Row("S_PSN")."',URUS_REAL_PSN='".$db->Row("R_PSN")."',URUS_INDI_S='".$db->Row("OS_PSN")."',URUS_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_Urusan='".$db->Row("K_Urusan")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert fungsi
$db->Query("INSERT INTO rep_rekap_fung SELECT T.Tahun,S.K_BidangU,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,S.K_BidangU");
$db->Query("SELECT T.Tahun,S.K_BidangU,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RF.FUNG_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RF.FUNG_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RF.FUNG_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RF.FUNG_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN rep_rekap_fung RF ON (T.Tahun=RF.Tahun AND S.K_BidangU=RF.K_BidangU AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,S.K_BidangU");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_fung SET FUNG_TARGET_PSN='".$db->Row("S_PSN")."',FUNG_REAL_PSN='".$db->Row("R_PSN")."',FUNG_INDI_S='".$db->Row("OS_PSN")."',FUNG_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_BidangU='".$db->Row("K_BidangU")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert opd
$db->Query("INSERT INTO rep_rekap_opd SELECT T.Tahun,T.OPDID,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
$db->Query("SELECT T.Tahun,T.OPDID,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RS.OPD_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RS.OPD_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RS.OPD_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RS.OPD_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN rep_rekap_opd RS ON (T.Tahun=RS.Tahun AND T.OPDID=RS.OPDID AND RS.UserID='".user_id()."' AND RS.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_opd SET OPD_TARGET_PSN='".$db->Row("S_PSN")."',OPD_REAL_PSN='".$db->Row("R_PSN")."',OPD_INDI_S='".$db->Row("OS_PSN")."',OPD_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert upt
$db2->Query("INSERT INTO rep_rekap_upt SELECT T.Tahun,T.OPDID,T.UPTID,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
$db->Query("SELECT T.Tahun,T.OPDID,T.UPTID,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RU.UPT_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RU.UPT_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RU.UPT_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RU.UPT_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN rep_rekap_upt RU ON (T.Tahun=RU.Tahun AND T.OPDID=RU.OPDID AND T.UPTID=RU.UPTID AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_upt SET UPT_TARGET_PSN='".$db->Row("S_PSN")."',UPT_REAL_PSN='".$db->Row("R_PSN")."',UPT_INDI_S='".$db->Row("OS_PSN")."',UPT_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UPTID='".$db->Row("UPTID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
for ($x=0; $x<count($asql); $x++) $db2->Query($asql[$x]);
$tsql = "";
if ($id_opd>0) $tsql = " AND RT.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql .= " AND RT.UPTID='".$id_upt."'";
$db->Query("SELECT R.K_Urusan KO_URUSAN,BU.K_BidangU KO_FUNGSI,S.K_OPD KO_OPD,U.K_UPT KO_UPT,R.N_Urusan N_URUSAN,BU.N_BidangU N_FUNGSI,S.N_OPD N_OPD,U.N_UPT N_UPT,RU.*,RF.*,RS.*,RT.* FROM rep_rekap_upt RT LEFT JOIN para_opd S ON (RT.OPDID=S.OPDID) LEFT JOIN para_upt U ON (RT.UPTID=U.UPTID) LEFT JOIN para_bidang_u BU ON (S.K_BidangU=BU.K_BidangU AND BU.Aktif=1) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan) LEFT JOIN rep_rekap_urus RU ON (BU.K_Urusan=RU.K_Urusan AND RT.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_rekap_fung RF ON (S.K_BidangU=RF.K_BidangU AND RT.Tahun=RF.Tahun AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') LEFT JOIN rep_rekap_opd RS ON (RT.OPDID=RS.OPDID AND RT.Tahun=RS.Tahun AND RS.UserID='".user_id()."' AND RS.Unix='".user_unix()."') WHERE RT.Tahun='".$tahun."'".$tsql." AND RT.Unix='".user_unix()."' ORDER BY R.K_Urusan, BU.K_BidangU, S.K_OPD, U.K_UPT");*/
$db->Query("SELECT TRUE");
}
if ( $data == "print" ) {
$_head = '<div style="text-align:center;font-size:120%;"><b>LAPORAN PELAKSANAAN RENCANA PROGRAM DAN ANGGARAN KEGIATAN PEMBANGUNAN DAERAH APBD<br>KABUPATEN MEMPAWAH TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</b></div><br>
<table width="100%" class="garis"><thead>
<tr><th width="20" rowspan="2">Kode</th><th width="180" rowspan="2">Urusan/Bidang Urusan Pemerintahan Daerah</th><th width="50" rowspan="2">Jumlah Anggaran (Rp)</th><th width="100" colspan="4">Penyerapan Keuangan (%)</th><th width="100" colspan="2">Indikator Keluaran (OUTPUT)</th></tr>
<tr><th>Target</th><th>%</th><th>Realisasi</th><th>%</th><th>S (%)</th><th>R (%)</th></tr>
<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th></tr></thead><tbody>';
$_line = '<tr><td class="l" nowrap>%s</td><td class="l">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td></tr>';
$_bline = '<tr><td class="b" nowrap>%s</td><td class="b">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td></tr>';
$header = $_head;
$body = $urus = $fung = $opd = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
$body .= sprintf($_bline, $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), uang2($db->Row("URUS_PAGU")), uang2($db->Row("URUS_TARGET")), uang2($db->Row("URUS_TARGET_PSN")), uang2($db->Row("URUS_REAL")), uang2($db->Row("URUS_REAL_PSN")), uang2($db->Row("URUS_INDI_S")), uang2($db->Row("URUS_INDI_R")));
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
$body .= sprintf($_bline, $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), uang($db->Row("FUNG_PAGU"),2), uang($db->Row("FUNG_TARGET"),2), uang($db->Row("FUNG_TARGET_PSN"),2), uang($db->Row("FUNG_REAL"),2), uang($db->Row("FUNG_REAL_PSN"),2), uang($db->Row("FUNG_INDI_S"),2), uang($db->Row("FUNG_INDI_R"),2));
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
$body .= sprintf($_bline, $db->Row("KO_OPD"), $db->Row("N_OPD"), uang($db->Row("OPD_PAGU"),2), uang($db->Row("OPD_TARGET"),2), uang($db->Row("OPD_TARGET_PSN"),2), uang($db->Row("OPD_REAL"),2), uang($db->Row("OPD_REAL_PSN"),2), uang($db->Row("OPD_INDI_S"),2), uang($db->Row("OPD_INDI_R"),2));
$opd = $db->Row("KO_OPD");
}
$body .= sprintf($_line, $db->Row("KO_UPT"), $db->Row("N_UPT"), uang($db->Row("UPT_PAGU"),2), uang($db->Row("UPT_TARGET"),2), uang($db->Row("UPT_TARGET_PSN"),2), uang($db->Row("UPT_REAL"),2), uang($db->Row("UPT_REAL_PSN"),2), uang($db->Row("UPT_INDI_S"),2), uang($db->Row("UPT_INDI_R"),2));
}
echo $header . $body . "</tbody></table>";
} else if ( $data == "export" ) {
$wbook = new Spreadsheet_Excel_Writer();
$fjudul =& $wbook->addFormat();
$fjudul->setBold();
$fjudul->setAlign("center");
$fhead =& $wbook->addFormat();
$fhead->setBold();
$fhead->setAlign("center");
$fhead->setVAlign("vcenter");
$fhead->setBorder(1);
$fhead->setTextWrap();
$ftxt =& $wbook->addFormat();
$ftxt->setVAlign("top");
$ftxt->setBottom(1);
$ftxt->setTextWrap();
$ftxt->setNumFormat("@");
$fbtxt =& $wbook->addFormat();
$fbtxt->setVAlign("top");
$fbtxt->setBottom(1);
$fbtxt->setTextWrap();
$fbtxt->setBold();
$fbtxt->setNumFormat("@");
$fctxt =& $wbook->addFormat();
$fctxt->setVAlign("top");
$fctxt->setAlign("center");
$fctxt->setBottom(1);
$fctxt->setTextWrap();
$fctxt->setNumFormat("@");
$fbctxt =& $wbook->addFormat();
$fbctxt->setVAlign("top");
$fbctxt->setAlign("center");
$fbctxt->setBottom(1);
$fbctxt->setTextWrap();
$fbctxt->setBold();
$fbctxt->setNumFormat("@");
$fbrtxt =& $wbook->addFormat();
$fbrtxt->setVAlign("top");
$fbrtxt->setAlign("right");
$fbrtxt->setBottom(1);
$fbrtxt->setTextWrap();
$fbrtxt->setBold();
$fbrtxt->setNumFormat("@");
$fnum =& $wbook->addFormat();
$fnum->setNumFormat(4);
$fnum->setBottom(1);
$fbnum =& $wbook->addFormat();
$fbnum->setNumFormat(4);
$fbnum->setBottom(1);
$fbnum->setBold();
$wsheet =& $wbook->addWorksheet("Real Triwulan");
$wsheet->setColumn(0,0,18);
$wsheet->setColumn(1,1,60);
$wsheet->setColumn(2,3,16);
$wsheet->setColumn(4,4,8);
$wsheet->setColumn(5,5,16);
$wsheet->setColumn(6,6,8);
$wsheet->setColumn(7,8,8);
$wsheet->write(0,0,"LAPORAN PELAKSANAAN RENCANA PROGRAM DAN ANGGARAN KEGIATAN PEMBANGUNAN DAERAH APBD",$fjudul);
$wsheet->setMerge(0,0,0,8);
$wsheet->write(1,0,"KABUPATEN MEMPAWAH TRIWULAN ".romawi($twulan)." TAHUN ANGGARAN ".$tahun,$fjudul);
$wsheet->setMerge(1,0,1,8);
$baris = 3;
for ($x=$baris; $x<=($baris+1); $x++) {
for ($y=0; $y<=8; $y++) $wsheet->write($x,$y,"",$fhead);
}
$wsheet->write($baris,0,"Kode",$fhead);
$wsheet->setMerge($baris,0,($baris+1),0);
$wsheet->write($baris,1,"Urusan/Bidang Urusan Pemerintahan Daerah",$fhead);
$wsheet->setMerge($baris,1,($baris+1),1);
$wsheet->write($baris,2,"Jumlah Anggaran (Rp)",$fhead);
$wsheet->setMerge($baris,2,($baris+1),2);
$wsheet->write($baris,3,"Penyerapan Keuangan (%)",$fhead);
$wsheet->setMerge($baris,3,$baris,6);
$wsheet->write($baris,7,"Indikator Keluaran (OUTPUT)",$fhead);
$wsheet->setMerge($baris,7,$baris,8);
$wsheet->write(($baris+1),3,"Target",$fhead);
$wsheet->write(($baris+1),4,"%",$fhead);
$wsheet->write(($baris+1),5,"Realisasi",$fhead);
$wsheet->write(($baris+1),6,"%",$fhead);
$wsheet->write(($baris+1),7,"S (%)",$fhead);
$wsheet->write(($baris+1),8,"R (%)",$fhead);
for ($x=1; $x<=9; $x++) $wsheet->write(($baris+2),$x-1,$x,$fhead);
$baris += 3;
$urus = $fung = $opd = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
if ($urus <> "") {
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_URUSAN"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_URUSAN"), $fbtxt);
$wsheet->write($baris,2,$db->Row("URUS_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("URUS_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("URUS_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("URUS_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("URUS_REAL_PSN"), $fbnum);
$wsheet->write($baris,7,$db->Row("URUS_INDI_S"), $fbnum);
$wsheet->write($baris,8,$db->Row("URUS_INDI_R"), $fbnum);
$baris++;
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
if ($fung <> "") {
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_FUNGSI"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_FUNGSI"), $fbtxt);
$wsheet->write($baris,2,$db->Row("FUNG_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("FUNG_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("FUNG_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("FUNG_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("FUNG_REAL_PSN"), $fbnum);
$wsheet->write($baris,7,$db->Row("FUNG_INDI_S"), $fbnum);
$wsheet->write($baris,8,$db->Row("FUNG_INDI_R"), $fbnum);
$baris++;
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
if ($opd <> "") {
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_OPD"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_OPD"), $fbtxt);
$wsheet->write($baris,2,$db->Row("OPD_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("OPD_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("OPD_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("OPD_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("OPD_REAL_PSN"), $fbnum);
$wsheet->write($baris,7,$db->Row("OPD_INDI_S"), $fbnum);
$wsheet->write($baris,8,$db->Row("OPD_INDI_R"), $fbnum);
$baris++;
$opd = $db->Row("KO_OPD");
}
for ($x=0; $x<=8; $x++) $wsheet->write($baris, $x, "", $ftxt);
$wsheet->write($baris,0,$db->Row("KO_UPT"), $ftxt);
$wsheet->write($baris,1,$db->Row("N_UPT"), $ftxt);
$wsheet->write($baris,2,$db->Row("UPT_PAGU"), $fnum);
$wsheet->write($baris,3,$db->Row("UPT_TARGET"), $fnum);
$wsheet->write($baris,4,$db->Row("UPT_TARGET_PSN"), $fnum);
$wsheet->write($baris,5,$db->Row("UPT_REAL"), $fnum);
$wsheet->write($baris,6,$db->Row("UPT_REAL_PSN"), $fnum);
$wsheet->write($baris,7,$db->Row("UPT_INDI_S"), $fnum);
$wsheet->write($baris,8,$db->Row("UPT_INDI_R"), $fnum);
$baris++;
}
$wbook->send("Rekap Hasil UPT ".$twulan."-".$tahun." - ".tgl_dmy(true).".xls");
$wbook->close();
} else if ( $data == "default") {
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$form->option_que("Tahun Data", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM renja90_awal_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$form->option_db("Nama Perangkat Daerah", "OPDID", $id_opd, true, false, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1".$q_opd." ORDER BY K_OPD", (user_level(3)?array(0,"SEMUA OPD"):null));
$form->radio("Triwulan", "TW", $twulan, true, false, array(1=>"I",2=>"II",3=>"III",4=>"IV"));
$form->show(' _Tahun_ _OPDID_ _TW_ ');
}
?>
+337
View File
@@ -0,0 +1,337 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/repo_tw_upt.php
Desc. : PHP - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 20th, 2012.
Last Modified : June 24th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set('display_errors', '0');
ini_set("max_execution_time", "900");
ini_set("pcre.backtrack_limit", "5000000");
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
//require_once("Spreadsheet/Excel/Writer.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Table;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = Param::Get("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = Param::Get("OPDID", 0);
if ( $data == "print" || $data == "export") {
$nama_opd = "";
$db->Query("SELECT Nama_OPD FROM vi_para90_opd WHERE OPDID='".$id_opd."'");
if ($db->Next()) $nama_opd = $db->Row("Nama_OPD");
$tabel_data = "dpa90_sub"; $tsql = "";
if ($id_opd>0) $tsql .= " AND T.OPDID='".$id_opd."'";
if ($twulan == 1) {
$q3 = "T.RencK_TW1";
$qR = "T.RealK_TW1";
$qSF = "T.RencF_TW1,0";
$qRF = "T.RealF_TW1,0";
} else if ($twulan == 2) {
$q3 = "T.RencK_TW1+T.RencK_TW2";
$qR = "T.RealK_TW1+T.RealK_TW2";
$qSF = "T.RealF_TW1,T.RencF_TW2";
$qRF = "T.RealF_TW1,T.RealF_TW2";
} else if ($twulan == 3) {
$q3 = "T.RencK_TW1+T.RencK_TW2+T.RencK_TW3";
$qR = "T.RealK_TW1+T.RealK_TW2+T.RealK_TW3";
$qSF = "T.RealF_TW1,T.RealF_TW2,T.RencF_TW3";
$qRF = "T.RealF_TW1,T.RealF_TW2,T.RealF_TW3";
} else if ($twulan == 4) {
$q3 = "T.RencK_TW1+T.RencK_TW2+T.RencK_TW3+T.RencK_TW4";
$qR = "T.RealK_TW1+T.RealK_TW2+T.RealK_TW3+T.RealK_TW4";
$qSF = "T.RealF_TW1,T.RealF_TW2,T.RencF_TW3,T.RencF_TW4";
$qRF = "T.RealF_TW1,T.RealF_TW2,T.RencF_TW3,T.RealF_TW4";
}
/* proses rekap database
Report_Empty("rekap_urus");
Report_Empty("rekap_fung");
Report_Empty("rekap_opd");
Report_Empty("rekap_upt");
Report_Empty("rekap_prog");
$asql = array();
// insert urusan
$db->Query("INSERT INTO rep_rekap_urus SELECT T.Tahun,BU.K_Urusan,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=S.K_BidangU) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
$db->Query("SELECT T.Tahun,BU.K_Urusan,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RU.URUS_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RU.URUS_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RU.URUS_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RU.URUS_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=S.K_BidangU) LEFT JOIN rep_rekap_urus RU ON (T.Tahun=RU.Tahun AND BU.K_Urusan=RU.K_Urusan AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,BU.K_Urusan");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_urus SET URUS_TARGET_PSN='".$db->Row("S_PSN")."',URUS_REAL_PSN='".$db->Row("R_PSN")."',URUS_INDI_S='".$db->Row("OS_PSN")."',URUS_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_Urusan='".$db->Row("K_Urusan")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert fungsi
$db->Query("INSERT INTO rep_rekap_fung SELECT T.Tahun,S.K_BidangU,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,S.K_BidangU");
$db->Query("SELECT T.Tahun,S.K_BidangU,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RF.FUNG_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RF.FUNG_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RF.FUNG_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RF.FUNG_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN para_opd S ON (T.OPDID=S.OPDID) LEFT JOIN rep_rekap_fung RF ON (T.Tahun=RF.Tahun AND S.K_BidangU=RF.K_BidangU AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,S.K_BidangU");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_fung SET FUNG_TARGET_PSN='".$db->Row("S_PSN")."',FUNG_REAL_PSN='".$db->Row("R_PSN")."',FUNG_INDI_S='".$db->Row("OS_PSN")."',FUNG_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND K_BidangU='".$db->Row("K_BidangU")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert opd
$db->Query("INSERT INTO rep_rekap_opd SELECT T.Tahun,T.OPDID,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
$db->Query("SELECT T.Tahun,T.OPDID,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RS.OPD_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RS.OPD_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RS.OPD_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RS.OPD_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN rep_rekap_opd RS ON (T.Tahun=RS.Tahun AND T.OPDID=RS.OPDID AND RS.UserID='".user_id()."' AND RS.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_opd SET OPD_TARGET_PSN='".$db->Row("S_PSN")."',OPD_REAL_PSN='".$db->Row("R_PSN")."',OPD_INDI_S='".$db->Row("OS_PSN")."',OPD_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert upt
$db2->Query("INSERT INTO rep_rekap_upt SELECT T.Tahun,T.OPDID,T.UPTID,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
$db->Query("SELECT T.Tahun,T.OPDID,T.UPTID,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RU.UPT_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RU.UPT_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RU.UPT_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RU.UPT_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN rep_rekap_upt RU ON (T.Tahun=RU.Tahun AND T.OPDID=RU.OPDID AND T.UPTID=RU.UPTID AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_upt SET UPT_TARGET_PSN='".$db->Row("S_PSN")."',UPT_REAL_PSN='".$db->Row("R_PSN")."',UPT_INDI_S='".$db->Row("OS_PSN")."',UPT_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UPTID='".$db->Row("UPTID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
// insert program
$db2->Query("INSERT INTO rep_rekap_prog SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(T.B_Total),SUM(".$q3."),0,SUM(".$qR."),0,0,0,'".user_unix()."','".user_id()."' FROM ".$tabel_data." T WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
$db->Query("SELECT T.Tahun,T.OPDID,T.UPTID,T.ProgID,SUM(((".$q3.")/T.B_Total*100)*T.B_Total/RP.PROG_PAGU) S_PSN,SUM(((".$qR.")/T.B_Total*100)*T.B_Total/RP.PROG_PAGU) R_PSN,SUM(GREATEST(".$qSF.")*T.B_Total/RP.PROG_PAGU) OS_PSN,SUM(GREATEST(".$qRF.")*T.B_Total/RP.PROG_PAGU) OR_PSN FROM ".$tabel_data." T LEFT JOIN rep_rekap_prog RP ON (T.Tahun=RP.Tahun AND T.OPDID=RP.OPDID AND T.UPTID=RP.UPTID AND T.ProgID=RP.ProgID AND RP.UserID='".user_id()."' AND RP.Unix='".user_unix()."') WHERE T.Tahun='".$tahun."'".$tsql." GROUP BY T.Tahun,T.OPDID,T.UPTID,T.ProgID");
while ($db->Next()){
$asql[] = "UPDATE rep_rekap_prog SET PROG_TARGET_PSN='".$db->Row("S_PSN")."',PROG_REAL_PSN='".$db->Row("R_PSN")."',PROG_INDI_S='".$db->Row("OS_PSN")."',PROG_INDI_R='".$db->Row("OR_PSN")."' WHERE Tahun='".$db->Row("Tahun")."' AND OPDID='".$db->Row("OPDID")."' AND UPTID='".$db->Row("UPTID")."' AND ProgID='".$db->Row("ProgID")."' AND UserID='".user_id()."' AND Unix='".user_unix()."'";
}
for ($x=0; $x<count($asql); $x++) $db2->Query($asql[$x]);
$tsql = "";
if ($id_opd>0) $tsql = " AND RP.OPDID='".$id_opd."'";
if ($id_upt>0) $tsql = " AND RP.UPTID='".$id_upt."'";
$tsql .= ($is_rutin==1) ? "" : " AND RP.ProgID>7";
$db->Query("SELECT R.K_Urusan KO_URUSAN,BU.K_BidangU KO_FUNGSI,S.K_OPD KO_OPD,U.K_UPT KO_UPT,PR.K_Prog KO_PROGRAM,R.N_Urusan N_URUSAN,BU.N_BidangU N_FUNGSI,S.N_OPD N_OPD,U.N_UPT N_UPT,P.N_Prog N_PROGRAM,RU.*,RF.*,RS.*,RT.*,RP.*,PR.Prog_Indi INDI_PROG,PR.Prog_Target TAR_PROG FROM rep_rekap_prog RP LEFT JOIN dpa_prog PR ON (RP.Tahun=PR.Tahun AND RP.OPDID=PR.OPDID AND RP.UPTID=PR.UPTID AND RP.ProgID=PR.ProgID) LEFT JOIN para_opd S ON (RP.OPDID=S.OPDID) LEFT JOIN para_upt U ON (RP.UPTID=U.UPTID) LEFT JOIN para_program P ON (RP.ProgID=P.ProgID) LEFT JOIN para_bidang_u BU ON (S.K_BidangU=BU.K_BidangU AND BU.Aktif=1) LEFT JOIN para_urusan R ON (BU.K_Urusan=R.K_Urusan) LEFT JOIN rep_rekap_urus RU ON (BU.K_Urusan=RU.K_Urusan AND RP.Tahun=RU.Tahun AND RU.UserID='".user_id()."' AND RU.Unix='".user_unix()."') LEFT JOIN rep_rekap_fung RF ON (S.K_BidangU=RF.K_BidangU AND RP.Tahun=RF.Tahun AND RF.UserID='".user_id()."' AND RF.Unix='".user_unix()."') LEFT JOIN rep_rekap_opd RS ON (RP.OPDID=RS.OPDID AND RP.Tahun=RS.Tahun AND RS.UserID='".user_id()."' AND RS.Unix='".user_unix()."') LEFT JOIN rep_rekap_upt RT ON (RP.OPDID=RT.OPDID AND RP.UPTID=RT.UPTID AND RP.Tahun=RT.Tahun AND RT.UserID='".user_id()."' AND RT.Unix='".user_unix()."') WHERE RP.Tahun='".$tahun."'".$tsql." AND RP.Unix='".user_unix()."' ORDER BY R.K_Urusan, BU.K_BidangU, S.K_OPD, U.K_UPT, P.N_Urut, PR.K_Prog");*/
$db->Query("SELECT TRUE");
}
if ( $data == "print" ) {
$_head = '<div style="text-align:center;font-size:120%;"><b>LAPORAN PELAKSANAAN RENCANA PROGRAM DAN ANGGARAN KEGIATAN PEMBANGUNAN DAERAH APBD<br>KABUPATEN MEMPAWAH TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</b></div><br>
<table width="100%" class="garis"><thead>
<tr><th width="20" rowspan="2">Kode</th><th width="180" rowspan="2">Urusan/Bidang Urusan Pemerintahan Daerah<br>/Program</th><th width="50" rowspan="2">Jumlah Anggaran (Rp)</th><th width="100" colspan="4">Penyerapan Keuangan (%)</th><th width="100" colspan="3">Indikator Keluaran (OUTPUT)</th></tr>
<tr><th>Target</th><th>%</th><th>Realisasi</th><th>%</th><th>Target Kinerja</th><th>S (%)</th><th>R (%)</th></tr>
<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th></tr></thead><tbody>';
$_line = '<tr><td class="l" nowrap>%s</td><td class="l">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="l">%s</td><td class="r">%s</td><td class="r">%s</td></tr>';
$_bline = '<tr><td class="l b" nowrap>%s</td><td class="l b">%s</td><td class="r b">%s</td><td class="r b">%s</td><td class="r b">%s</td><td class="r b">%s</td><td class="r b">%s</td><td class="r b">%s</td><td class="r b">%s</td><td class="r b">%s</td></tr>';
$header = $_head;
$body = $urus = $fung = $opd = $upt = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
$body .= sprintf($_bline, $db->Row("KO_URUSAN"), $db->Row("N_URUSAN"), uang2($db->Row("URUS_PAGU")), uang2($db->Row("URUS_TARGET")), uang2($db->Row("URUS_TARGET_PSN")), uang2($db->Row("URUS_REAL")), uang2($db->Row("URUS_REAL_PSN")), "", uang2($db->Row("URUS_INDI_S")), uang2($db->Row("URUS_INDI_R")));
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
$body .= sprintf($_bline, $db->Row("KO_FUNGSI"), $db->Row("N_FUNGSI"), uang($db->Row("FUNG_PAGU"),2), uang($db->Row("FUNG_TARGET"),2), uang($db->Row("FUNG_TARGET_PSN"),2), uang($db->Row("FUNG_REAL"),2), uang($db->Row("FUNG_REAL_PSN"),2), "", uang($db->Row("FUNG_INDI_S"),2), uang($db->Row("FUNG_INDI_R"),2));
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
$body .= sprintf($_bline, $db->Row("KO_OPD"), $db->Row("N_OPD"), uang($db->Row("OPD_PAGU"),2), uang($db->Row("OPD_TARGET"),2), uang($db->Row("OPD_TARGET_PSN"),2), uang($db->Row("OPD_REAL"),2), uang($db->Row("OPD_REAL_PSN"),2), "", uang($db->Row("OPD_INDI_S"),2), uang($db->Row("OPD_INDI_R"),2));
$opd = $db->Row("KO_OPD");
}
if ($upt <> $db->Row("KO_UPT")) {
$body .= sprintf($_bline, $db->Row("KO_UPT"), $db->Row("N_UPT"), uang($db->Row("UPT_PAGU"),2), uang($db->Row("UPT_TARGET"),2), uang($db->Row("UPT_TARGET_PSN"),2), uang($db->Row("UPT_REAL"),2), uang($db->Row("UPT_REAL_PSN"),2), "", uang($db->Row("UPT_INDI_S"),2), uang($db->Row("UPT_INDI_R"),2));
$upt = $db->Row("KO_UPT");
}
$body .= sprintf($_line, $db->Row("KO_PROGRAM"), $db->Row("N_PROGRAM"), uang($db->Row("PROG_PAGU"),2), uang($db->Row("PROG_TARGET"),2), uang($db->Row("PROG_TARGET_PSN"),2), uang($db->Row("PROG_REAL"),2), uang($db->Row("PROG_REAL_PSN"),2), $db->Row("TAR_PROG"), uang($db->Row("PROG_INDI_S"),2), uang($db->Row("PROG_INDI_R"),2));
}
echo $header . $body . "</tbody></table>";
} else if ( $data == "export" ) {
$wbook = new Spreadsheet_Excel_Writer();
$fjudul =& $wbook->addFormat();
$fjudul->setBold();
$fjudul->setAlign("center");
$fhead =& $wbook->addFormat();
$fhead->setBold();
$fhead->setAlign("center");
$fhead->setVAlign("vcenter");
$fhead->setBorder(1);
$fhead->setTextWrap();
$ftxt =& $wbook->addFormat();
$ftxt->setVAlign("top");
$ftxt->setBottom(1);
$ftxt->setTextWrap();
$ftxt->setNumFormat("@");
$fbtxt =& $wbook->addFormat();
$fbtxt->setVAlign("top");
$fbtxt->setBottom(1);
$fbtxt->setTextWrap();
$fbtxt->setBold();
$fbtxt->setNumFormat("@");
$fctxt =& $wbook->addFormat();
$fctxt->setVAlign("top");
$fctxt->setAlign("center");
$fctxt->setBottom(1);
$fctxt->setTextWrap();
$fctxt->setNumFormat("@");
$fbctxt =& $wbook->addFormat();
$fbctxt->setVAlign("top");
$fbctxt->setAlign("center");
$fbctxt->setBottom(1);
$fbctxt->setTextWrap();
$fbctxt->setBold();
$fbctxt->setNumFormat("@");
$fbrtxt =& $wbook->addFormat();
$fbrtxt->setVAlign("top");
$fbrtxt->setAlign("right");
$fbrtxt->setBottom(1);
$fbrtxt->setTextWrap();
$fbrtxt->setBold();
$fbrtxt->setNumFormat("@");
$fnum =& $wbook->addFormat();
$fnum->setNumFormat(4);
$fnum->setBottom(1);
$fbnum =& $wbook->addFormat();
$fbnum->setNumFormat(4);
$fbnum->setBottom(1);
$fbnum->setBold();
$wsheet =& $wbook->addWorksheet("Real Triwulan");
$wsheet->setColumn(0,0,18);
$wsheet->setColumn(1,1,60);
$wsheet->setColumn(2,3,16);
$wsheet->setColumn(4,4,8);
$wsheet->setColumn(5,5,16);
$wsheet->setColumn(6,6,8);
$wsheet->setColumn(7,7,25);
$wsheet->setColumn(8,9,8);
$wsheet->write(0,0,"LAPORAN PELAKSANAAN RENCANA PROGRAM DAN ANGGARAN KEGIATAN PEMBANGUNAN DAERAH APBD",$fjudul);
$wsheet->setMerge(0,0,0,9);
$wsheet->write(1,0,"KABUPATEN MEMPAWAH TRIWULAN ".romawi($twulan)." TAHUN ANGGARAN ".$tahun,$fjudul);
$wsheet->setMerge(1,0,1,9);
$baris = 3;
for ($x=$baris; $x<=($baris+1); $x++) {
for ($y=0; $y<=9; $y++) $wsheet->write($x,$y,"",$fhead);
}
$wsheet->write($baris,0,"Kode",$fhead);
$wsheet->setMerge($baris,0,($baris+1),0);
$wsheet->write($baris,1,"Urusan/Bidang Urusan Pemerintahan Daerah/Program",$fhead);
$wsheet->setMerge($baris,1,($baris+1),1);
$wsheet->write($baris,2,"Jumlah Anggaran (Rp)",$fhead);
$wsheet->setMerge($baris,2,($baris+1),2);
$wsheet->write($baris,3,"Penyerapan Keuangan (%)",$fhead);
$wsheet->setMerge($baris,3,$baris,6);
$wsheet->write($baris,7,"Indikator Keluaran (OUTPUT)",$fhead);
$wsheet->setMerge($baris,7,$baris,9);
$wsheet->write(($baris+1),3,"Target",$fhead);
$wsheet->write(($baris+1),4,"%",$fhead);
$wsheet->write(($baris+1),5,"Realisasi",$fhead);
$wsheet->write(($baris+1),6,"%",$fhead);
$wsheet->write(($baris+1),7,"Target Kinerja",$fhead);
$wsheet->write(($baris+1),8,"S (%)",$fhead);
$wsheet->write(($baris+1),9,"R (%)",$fhead);
for ($x=1; $x<=10; $x++) $wsheet->write(($baris+2),$x-1,$x,$fhead);
$baris += 3;
$urus = $fung = $opd = $upt = "";
while ($db->Next()) {
if ($urus <> $db->Row("KO_URUSAN")) {
if ($urus <> "") {
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_URUSAN"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_URUSAN"), $fbtxt);
$wsheet->write($baris,2,$db->Row("URUS_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("URUS_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("URUS_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("URUS_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("URUS_REAL_PSN"), $fbnum);
$wsheet->write($baris,8,$db->Row("URUS_INDI_S"), $fbnum);
$wsheet->write($baris,9,$db->Row("URUS_INDI_R"), $fbnum);
$baris++;
$urus = $db->Row("KO_URUSAN");
}
if ($fung <> $db->Row("KO_FUNGSI")) {
if ($fung <> "") {
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_FUNGSI"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_FUNGSI"), $fbtxt);
$wsheet->write($baris,2,$db->Row("FUNG_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("FUNG_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("FUNG_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("FUNG_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("FUNG_REAL_PSN"), $fbnum);
$wsheet->write($baris,8,$db->Row("FUNG_INDI_S"), $fbnum);
$wsheet->write($baris,9,$db->Row("FUNG_INDI_R"), $fbnum);
$baris++;
$fung = $db->Row("KO_FUNGSI");
}
if ($opd <> $db->Row("KO_OPD")) {
if ($opd <> "") {
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_OPD"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_OPD"), $fbtxt);
$wsheet->write($baris,2,$db->Row("OPD_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("OPD_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("OPD_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("OPD_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("OPD_REAL_PSN"), $fbnum);
$wsheet->write($baris,8,$db->Row("OPD_INDI_S"), $fbnum);
$wsheet->write($baris,9,$db->Row("OPD_INDI_R"), $fbnum);
$baris++;
$opd = $db->Row("KO_OPD");
}
if ($upt <> $db->Row("KO_UPT")) {
if ($upt <> "") {
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "");
$baris++;
}
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "", $fbtxt);
$wsheet->write($baris,0,$db->Row("KO_UPT"), $fbtxt);
$wsheet->write($baris,1,$db->Row("N_UPT"), $fbtxt);
$wsheet->write($baris,2,$db->Row("UPT_PAGU"), $fbnum);
$wsheet->write($baris,3,$db->Row("UPT_TARGET"), $fbnum);
$wsheet->write($baris,4,$db->Row("UPT_TARGET_PSN"), $fbnum);
$wsheet->write($baris,5,$db->Row("UPT_REAL"), $fbnum);
$wsheet->write($baris,6,$db->Row("UPT_REAL_PSN"), $fbnum);
$wsheet->write($baris,8,$db->Row("UPT_INDI_S"), $fbnum);
$wsheet->write($baris,9,$db->Row("UPT_INDI_R"), $fbnum);
$baris++;
$upt = $db->Row("KO_UPT");
}
for ($x=0; $x<=9; $x++) $wsheet->write($baris, $x, "", $ftxt);
$wsheet->write($baris,0,$db->Row("KO_PROGRAM"), $ftxt);
$wsheet->write($baris,1,$db->Row("N_PROGRAM"), $ftxt);
$wsheet->write($baris,2,$db->Row("PROG_PAGU"), $fnum);
$wsheet->write($baris,3,$db->Row("PROG_TARGET"), $fnum);
$wsheet->write($baris,4,$db->Row("PROG_TARGET_PSN"), $fnum);
$wsheet->write($baris,5,$db->Row("PROG_REAL"), $fnum);
$wsheet->write($baris,6,$db->Row("PROG_REAL_PSN"), $fnum);
$wsheet->write($baris,7,$db->Row("TAR_PROG"), $ftxt);
$wsheet->write($baris,8,$db->Row("PROG_INDI_S"), $fnum);
$wsheet->write($baris,9,$db->Row("PROG_INDI_R"), $fnum);
$baris++;
}
$wbook->send("Rekap Hasil Program ".$twulan."-".$tahun." - ".tgl_dmy(true).".xls");
$wbook->close();
} else if ( $data == "default") {
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$form->option_que("Tahun Data", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM renja90_awal_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$form->option_db("Nama Perangkat Daerah", "OPDID", $id_opd, true, false, "vi_para90_opd", array("OPDID","Nama_OPD"), "Aktif=1".$q_opd." ORDER BY K_OPD", (user_level(3)?array(0,"SEMUA OPD"):null));
$form->radio("Triwulan", "TW", $twulan, true, false, array(1=>"I",2=>"II",3=>"III",4=>"IV"));
$form->show(' _Tahun_ _OPDID_ _TW_ ');
}
?>
+70
View File
@@ -0,0 +1,70 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/repo_tw_upt.php
Desc. : PHP - Laporan Realisasi Triwulan / UPT
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : March 20th, 2012.
Last Modified : June 24th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set('display_errors', '0');
ini_set("max_execution_time", "900");
ini_set("pcre.backtrack_limit", "5000000");
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$is_rutin = Param::Get("Cetak_Rutin", 1);
if ( $data == "print" || $data == "export") {
$tsql = ($is_rutin==1) ? "" : " AND ProgID<>422";
//todo: cek lagi utk rutin/penunjang berdasarkan urusanid=20
$adata = array();
$db->Query("SELECT COUNT(DISTINCT ProgID) P_RPJMD FROM renstra_prog WHERE RPJMDID=2".$tsql);
if ($db->Next()) $adata['RPJMD']['Prog'] = $db->Row("P_RPJMD");
$db->Query("SELECT COUNT(DISTINCT ProgID) Prog,COUNT(*) Keg FROM renstra_keg WHERE RPJMDID=2".$tsql);
if ($db->Next()) $adata['RENSTRA'] = $db->AllRow();
$db->Query("SELECT COUNT(DISTINCT ProgID) Prog,COUNT(*) Keg FROM renja90_awal_keg WHERE RPJMDID=2 AND Tahun='".$tahun."'".$tsql);
if ($db->Next()) $adata['RKPD'] = $db->AllRow();
$db->Query("SELECT COUNT(DISTINCT ProgID) Prog,COUNT(*) Keg FROM dpa90_keg WHERE RPJMDID=2 AND Tahun='".$tahun."'".$tsql);
if ($db->Next()) $adata['RKA'] = $db->AllRow();
}
if ( $data == "print" ) {
$_head = '<div style="text-align:center;font-size:120%;"><b>REKAP JUMLAH PROGRAM DAN KEGIATAN<br>TAHUN ANGGARAN '.$tahun.'</b></div><br>
<table width="100%" class="garis">
<tr><td width="20" class="c b" rowspan="2">Tahun</td><td width="50" class="c b" rowspan="2">Program RPJMD</td><td width="100" class="c b" colspan="2">RENSTRA</td><td width="100" class="c b" colspan="2">RKPD</td><td width="100" class="c b" colspan="2">RKA</td></tr>
<tr><td class="c b">Program</td><td class="c b">Kegiatan</td><td class="c b">Program</td><td class="c b">Kegiatan</td><td class="c b">Program</td><td class="c b">Kegiatan</td></tr>';
$_line = '<tr><td class="c" nowrap>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td></tr>';
$header = $_head;
$body = "";
$body .= sprintf($_line, $tahun, rupiah($adata['RPJMD']['Prog']), rupiah($adata['RENSTRA']['Prog']), rupiah($adata['RENSTRA']['Keg']), rupiah($adata['RKPD']['Prog']), rupiah($adata['RKPD']['Keg']), rupiah($adata['RKA']['Prog']), rupiah($adata['RKA']['Keg']));
echo $header . $body . "</table>";
} else if ( $data == "export" ) {
} else if ( $data == "default") {
$form = new Form($db);
$form->option_db("Tahun Data", "Tahun", $tahun, true, false, "para_periode", array("Tahun","Tahun"));
$form->radio("Rutin / Penunjang", "Cetak_Rutin", $is_rutin, true, false, array(1=>"Ya",2=>"Tidak"));
$form->show(' _Tahun_ _Cetak_Rutin_ ');
}
?>
+53
View File
@@ -0,0 +1,53 @@
<?php
/*******************************************************************
Module : /apps/php/sys/chpasswd.php
Desc. : PHP - Perubahan Password Operator
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2008.
Last Modified : April 25th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.misc.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
$db = DB();
$auth = new cAUTH();
$ajson = array();
$data = $ap->getParam("data");
if ( $data == "default") {
$form = new cFORM();
$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 = $ap->getParam("LPass");
$b_pass1 = $ap->getParam("BPass1");
$b_pass2 = $ap->getParam("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);
?>
+20
View File
@@ -0,0 +1,20 @@
/*******************************************************************
Module : /assets/css/fonts.css
Desc. : CSS Fonts
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 20th, 2007.
Last Modified : November 22nd, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
@font-face {
font-family: coreui-icons-linear;
src: url(../assets/fonts/coreui/CoreUI-Icons-Linear.eot?64h6xh);
src: url(../assets/fonts/coreui/CoreUI-Icons-Linear.eot?64h6xh#iefix) format("embedded-opentype"), url(../assets/fonts/coreui/CoreUI-Icons-Linear.ttf?64h6xh) format("truetype"), url(../assets/fonts/coreui/CoreUI-Icons-Linear.woff?64h6xh) format("woff"),
url(../assets/fonts/coreui/CoreUI-Icons-Linear.svg?64h6xh#CoreUI-Icons-Linear) format("svg");
font-weight: 400;
font-style: normal;
}
+67
View File
@@ -0,0 +1,67 @@
/*******************************************************************
Module : /assets/css/pdf-pokir.css
Desc. : CSS Class for PDF Pokir DPRD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 7th, 2008.
Last Modified : April 30th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
body {
font-family: 'DejaVu Sans Condensed';
font-size: 9pt;
width: 100%;
color: #000;
}
p { margin: 0; padding: 0; padding-bottom: 10px; }
p.judul { text-align: center; font-size: 1.3em; font-weight: bold; }
table.footer {
width: 100%;
font-family: sans-serif;
font-size: 9pt;
color: #333;
border-top: 1px solid #ccc;
}
table.garis {
width: 100%;
border: 1px solid #ccc;
border-spacing: 0;
border-collapse: collapse;
}
table.garis th, table.garis td {
font-size: 9pt;
text-align: left;
border: 1px solid #ccc;
padding: 2mm;
}
table.garis th {
font-size: 10pt;
text-align: center;
font-weight: bold;
background-color: #ddd;
white-space: nowrap;
}
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
table td.l { text-align: left; }
table td.c { text-align: center; }
table td.r { text-align: right; }
table td.b { font-weight: bold; }
table td.i { font-style: italic; }
table td.small { font-size: .65em; }
table td.bi { font-weight: bold; font-style: italic; background-color: #F0F0F0; }
table tr.misi td { background-color: #A7DA4E; text-transform: uppercase; }
table tr.opd td { background-color: #666BE2; text-transform: uppercase; }
table tr.prog td { background-color: #37AF43; text-transform: uppercase; }
table tr.keg td { background-color: #EFD24C; text-transform: uppercase; }
table tr.sub td { background-color: #F8B4FE; text-transform: uppercase; }
table tr.keg td.pad { padding-left: 20px; }
table tr.sub td.pad { padding-left: 40px; }
table tr td.pad { padding-left: 0; }
+66
View File
@@ -0,0 +1,66 @@
/*******************************************************************
Module : /assets/css/pdf-pokir.css
Desc. : CSS Class for PDF Pokir DPRD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 7th, 2008.
Last Modified : April 30th, 2020.
(c) 2008 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
p { margin: 0; padding: 0; padding-bottom: 10px; }
p.judul { text-align: center; font-size: 1.3em; font-weight: bold; }
table.footer {
width: 100%;
font-family: sans-serif;
font-size: 9pt;
color: #333;
border-top: 1px solid #ccc;
}
table.garis {
width: 100%;
border: 1px solid #ccc;
border-spacing: 0;
border-collapse: collapse;
}
table.garis th, table.garis td {
font-size: 9pt;
text-align: left;
border: 1px solid #ccc;
padding: 2mm;
}
table.garis th {
font-size: 10pt;
text-align: center;
vertical-align: middle;
font-weight: bold;
background-color: #ddd;
white-space: nowrap;
}
table.garis td { padding-top: 1.2mm; padding-bottom: 1.2mm; vertical-align: top; }
table.min-65 > td { min-width: 65px; }
table td.l { text-align: left; }
table td.c { text-align: center; }
table td.r { text-align: right; white-space: nowrap; }
table td.b { font-weight: bold; }
table td.i { font-style: italic; }
table td.small { font-size: .65em; }
table td.bi { font-weight: bold; font-style: italic; background-color: #F0F0F0; }
table td.titik-dua { padding: 0 6px; text-align: center; }
table tr.misi > td { background-color: #A7DA4E; }
table tr.opd > td { background-color: #666BE2; }
table tr.prog > td { background-color: #37AF43; }
table tr.keg > td { background-color: #EFD24C; }
table tr.sub > td { background-color: #F8B4FE; }
table tr.keg td.pad { padding-left: 20px; }
table tr.sub td.pad { padding-left: 40px; }
table tr td.pad { padding-left: 0; }
table tr.sub_no > th { font-size: .7rem; font-style: italic; }
table tr.b > td { font-weight: bold; }
+135
View File
@@ -0,0 +1,135 @@
/*******************************************************************
Module : /assets/css/styles.css
Desc. : CSS Custom
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 20th, 2007.
Last Modified : May 31st, 2018.
(c) 2009 - 2018, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
div.note-editor.card {
margin-bottom: 0 !important;
border: unset !important;
}
button.btn-ganti {
box-shadow: none !important;
padding-top: 0;
padding-bottom: 0;
width: 9.8em;
text-align: left;
}
button.btn-ganti span {
position: relative;
left: -12px;
display: inline-block;
padding: 3px 8px;
background: rgba(0,0,0,0.15);
height: 100%;
vertical-align: middle;
}
table button.plus-circle { background-color: var(--success); }
table button.minus-circle { background-color: var(--danger); }
table button.reload { background-color: var(--secondary); }
table a.plus-circle i { color: var(--success); }
table a.minus-circle i { color: var(--danger); }
table a.reload i { color: var(--secondary); }
/******************************** child of datatable ********************************/
table.dataTable a.fon-tabel-dt i {
padding: 0 4px;
width: 1.5rem !important;
height: 1.5rem !important;
border: 0.15em solid white;
border-radius: .7em;
box-shadow: 0 0 0.2em #444;
background-color: #31b131;
}
table.dataTable tr.dt-hasChild a.fon-tabel-dt i {
background-color: #d33333;
}
table.dataTable a.fon-tabel-dt:hover i, table.dataTable tr.dt-hasChild a.fon-tabel-dt:hover i {
color: unset;
}
/******************************** chatbox ********************************/
.ps-container {
position: relative
-ms-touch-action: auto;
touch-action: auto;
overflow: hidden !important;
-ms-overflow-style: none;
}
.chat-body {
-webkit-box-flex: initial;
flex: initial;
display: table;
min-width: 0;
}
.chat-body p {
position: relative;
padding: 0 8px 6px;
margin: 0;
background-color: #f5f6f7;
border-radius: 3px;
font-weight: 100;
color: #9b9b9b;
}
.chat-body p.nama {
background-color: transparent !important;
margin: 0 8px;
color: #000;
padding: 0;
}
.sent-box {
position: relative;
display: -webkit-box;
display: flex;
-webkit-box-align: center;
align-items: center;
padding: 12px 20px;
background-color: #f9fafb;
border-color: #f1f2f3 !important;
border-top: 1px solid #ebebeb !important;
}
.sent-box>*:first-child {
margin-left: 0
}
.sent-box>* {
margin: 0 8px
}
.sent-input {
-webkit-box-flex: 1;
flex-grow: 1;
border: none;
outline: none !important;
background-color: transparent;
}
.sent-btn {
background-color: transparent;
border: none;
color: #cac7c7;
font-size: 16px;
cursor: pointer;
overflow: -moz-hidden-unscrollable;
-webkit-transition: .2s linear;
transition: .2s linear;
color: #48b0f7 !important;
}
.text-fisik {
width: 100px;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

+25
View File
@@ -0,0 +1,25 @@
/*******************************************************************
Module : /assets/locale/pickdate.id.js
Desc. : JS - Date & Pickdate Locale
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 28th, 2013.
Last Modified : November 8th, 2023.
(c) 2013 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (jQuery.fn.datepicker) {
jQuery.fn.datepicker.dates.id = {
days: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],
daysShort: ["Min","Sen","Sel","Rab","Kam","Jum","Sab"],
daysMin: ["Mg","Sn","Sl","Rb","Km","Jm","Sb"],
months: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agt","Sep","Okt","Nov","Des"],
today: "Hari Ini",
monthsTitle: "Bulan",
clear: "Kosongkan",
weekStart: 0,
format: "dd-mm-yyyy"
};
}
+32
View File
@@ -0,0 +1,32 @@
/*******************************************************************
Module : /assets/locale/fonia.id.js
Desc. : JS - Fonia Module Locale
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 28th, 2013.
Last Modofied : November 22nd, 2019
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (typeof FoniaJS !== "undefined") {
FoniaJS.locale('id', {
Fonia: {
sess_expire: 'Session Anda telah berakhir, silakan login kembali!',
page404: 'Halaman aplikasi belum tersedia!',
input_passwd: 'Silakan masukkan Password!',
input_userid: 'Silakan masukkan User ID!',
auth_super: 'Persetujuan Supervisor',
auth_user: 'Validasi Operator',
auth_wait_msg: 'Menunggu disetujui oleh<br>Supervisor Anda...',
cancel: 'Batal',
auth_fail: 'Proses gagal!<br>Menunggu terlalu lama ...',
auth_success: 'Proses disetujui!',
but_add: 'Tambah',
but_edit: 'Ubah'
}
});
}
+85
View File
@@ -0,0 +1,85 @@
/*******************************************************************
Module : /assets/locale/moment.id.js
Desc. : JS - Moment Locale
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : January 28th, 2013.
Last Modofied : November 22nd, 2019
(c) 2013 - 2019, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
if (typeof moment !== "undefined") {
moment.locale('id', {
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
longDateFormat : {
LT : 'HH.mm',
LTS : 'HH.mm.ss',
L : 'DD-MM-YYYY',
LL : 'D MMMM YYYY',
LLL : 'D MMMM YYYY [pukul] HH.mm',
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
},
meridiemParse: /pagi|siang|sore|malam/,
meridiemHour : function (hour, meridiem) {
if (hour === 12) {
hour = 0;
}
if (meridiem === 'pagi') {
return hour;
} else if (meridiem === 'siang') {
return hour >= 11 ? hour : hour + 12;
} else if (meridiem === 'sore' || meridiem === 'malam') {
return hour + 12;
}
},
meridiem : function (hours, minutes, isLower) {
if (hours < 11) {
return 'pagi';
} else if (hours < 15) {
return 'siang';
} else if (hours < 19) {
return 'sore';
} else {
return 'malam';
}
},
calendar : {
sameDay : '[Hari ini pukul] LT',
nextDay : '[Besok pukul] LT',
nextWeek : 'dddd [pukul] LT',
lastDay : '[Kemarin pukul] LT',
lastWeek : 'dddd [lalu pukul] LT',
sameElse : 'L'
},
relativeTime : {
future : 'dalam %s',
past : '%s yang lalu',
s : 'beberapa detik',
ss : '%d detik',
m : 'semenit',
mm : '%d menit',
h : 'sejam',
hh : '%d jam',
d : 'sehari',
dd : '%d hari',
M : 'sebulan',
MM : '%d bulan',
y : 'setahun',
yy : '%d tahun'
},
week : {
dow : 1, // Monday is the first day of the week.
doy : 7 // The week that contains Jan 7th is the first week of the year.
}
});
moment.locale('id');
}
+53
View File
@@ -0,0 +1,53 @@
<!------------------------------------------------------------------
Module : /assets/templates/404.php
Desc. : HTML5 Page - Halaman Template Error 404
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : February 17th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_] - Error 404</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body class="min-vh-100 d-flex flex-row align-items-center">
<div class="container">
<div class="row justify-content-center">
<div class="col-xl-4 col-md-8">
<div class="card-group">
<div class="card">
<div class="card-body">
<div class="mb-2">
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo300.png" title="[_REG_NAME_UP_]">
<div class="text-center pt-2 pb-2"><span class="reg_app1">[_APP_NAME_]</span><br><span class="reg_app2">Ver. [_APP_VER_]</span></div>
</div>
<div class="mb-2 mx-auto d-block text-center">
<div class="fs-4 text-danger">4.0.4</div>
<div class="fs-5 text-info">Modul atau bagian aplikasi yang diakses tidak ditemukan !</div>
</div>
<div class="text-center pt-2 pb-2 d-none" id="divLoginMsg">&nbsp;</div>
<div class="pt-4">
<div class="text-center">&reg; [_CREATOR_YEAR_]. [_REG_NAME_]</div>
<div class="text-center">All Rights Reserved.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
+100
View File
@@ -0,0 +1,100 @@
<!------------------------------------------------------------------
Module : /assets/templates/index.php
Desc. : HTML Page - Halaman Template / Themes
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : October 10th, 2008.
Last Modified : May 15th, 2024.
(c) 2008 - 2024, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_]</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body>
<div class="modal fade" id="sidebarMain" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<img src="[_WEB_PATH_]assets/images/logo-apps.png" title="[_APP_NAME_]">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class="fs-1 bi-x-lg"></i></button>
</div>
<div class="modal-body">
<nav class="sidebar card py-2 mb-4"><ul class="nav flex-column">[_NAVI_SIDEBAR_]</ul></nav>
</div>
</div>
</div>
</div>
<div class="wrapper d-flex flex-column min-vh-100">
<header class="fixed-top navbar-custom">
<nav class="navbar navbar-expand-lg">
<div class="container-fluid">
<div class="navbar-toggler btn p-0 d-lg-none"><a href="#" data-bs-toggle="modal" data-bs-target="#sidebarMain"><i class="icon-md icon-3xl bi-list"></i></a></div>
<div class="collapse navbar-collapse">
<ul class="navbar-nav navbar-nav-scroll me-auto">[_NAVI_HEADER_]</ul>
</div>
<ul class="nav flex-nowrap align-items-center ms-sm-3 list-unstyled">
<li class="nav-item d-none d-md-block d-flex align-items-center" id="liPeriode">&nbsp;</li>
<li class="nav-item ms-2 dropdown">
<a class="nav-link btn p-0" id="profileDD" role="button" data-bs-auto-close="outside" data-bs-display="static" data-bs-toggle="dropdown" aria-expanded="false"><span class="badge-profile"></span><img class="icon-md rounded-5" src="[_WEB_PATH_]assets/images/[_USER_IMG_]" title="[_USER_NAME_]"></a>
<ul class="dropdown-menu dropdown-menu-end dropdown-profile pt-3 small me-md-n3" aria-labelledby="profileDD">
<li class="dropdown-item-text">
<div class="d-flex text-black">
<div class="flex-shrink-0"><img src="[_WEB_PATH_]assets/images/[_USER_IMG_]" class="icon-lg"></div>
<div class="flex-grow-1 ms-3">
<div>[_USER_USER_]</div>
<div class="fs-6">[_USER_NAME_]</div>
<div class="small">[_USER_POSISI_]</div>
</div>
</div>
</li>
[_MENU_MODUL_]
<li class="dropdown-divider"></li>
<li><a class="dropdown-item slink" id="HomeLink"><i class="me-2 bi-house"></i>Beranda</a></li>
<li><a class="dropdown-item"><i class="me-2 bi-person-circle"></i>Profil</a></li>
<!--<li><a class="dropdown-item"><i class="me-2 bi-gear"></i>Settings</a></li>-->
<li><a class="dropdown-item mlink" id="SYSCLink"><i class="me-2 bi-lock"></i>Ubah Password</a></li>
<li class="dropdown-divider"></li>
<li><a class="dropdown-item text-danger slink" id="ExitLink"><i class="me-2 bi-arrow-right"></i>Keluar</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</header>
<div class="body flex-grow-1">
<div class="container-fluid mt-2 px-0 py-2">
<div aria-live="polite" aria-atomic="true" class="position-relative">
<div class="toast-container position-absolute top-0 end-0 p-3" id="div-toast">&nbsp;</div>
</div>
<div id="pageToolbarTop" class="container-fluid">&nbsp;</div>
<div id="pageContent" class="container-fluid">&nbsp;</div>
<div id="pageToolbarBot" class="container-fluid">&nbsp;</div>
</div>
</div>
<footer class="footer">
<div><a href="[_REG_WEBSITE_]">&reg; [_REG_YEAR_]; [_REG_NAME_]</a></div>
<div class="ms-auto d-none d-md-block">Informasi : XXXX XXXX XXXX (Admin)</div>
</footer>
</div>
<div id="dataPrint" class="d-none d-print-block">&nbsp;</div>
<div id="preloader"><div id="loader"></div></div>
</body>
</html>
+73
View File
@@ -0,0 +1,73 @@
<!------------------------------------------------------------------
Module : /assets/templates/login.php
Desc. : HTML5 Page - Halaman Template Login
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 21th, 2009.
Last Modified : July 13th, 2020.
(c) 2009 - 2020, 3FONIA Software; WWW.3FONIA.COM.
------------------------------------------------------------------->
<!DOCTYPE html>
<html lang="en">
<head>
<title>[_APP_NAME_VER_]</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PhpED + FW9 @ 3FONIA Software"/>
<meta name="author" content="Siau Pheng &lt;siaupheng[at]3fonia.com&gt;"/>
<meta name="description" content="[_APP_NAME_VER_], [_APP_NAMES_]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<link rel="icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
<link rel="shortcut icon" href="[_WEB_PATH_]assets/images/logo150.png" type="image/png" />
</head>
<body class="min-vh-100 d-flex flex-row align-items-center dark:bg-transparent">
<div class="container">
<div aria-live="polite" aria-atomic="true" class="position-relative">
<div class="toast-container position-absolute top-0 start-50 translate-middle-x" id="div-toast">&nbsp;</div>
</div>
<div class="row justify-content-center">
<div class="col-xl-4 col-lg-5 col-md-6 col-10">
<div class="card-group d-block d-md-flex row">
<div class="card col-md-6 p-3 mb-0">
<div class="card-body">
<div class="mb-2">
<img class="mx-auto d-block" src="[_WEB_PATH_]assets/images/logo150.png" title="[_REG_NAME_UP_]">
<div class="text-center pt-2 pb-2">[_APP_NAME_] Ver. [_APP_VER_]<br>Register ID : [_REG_ID_]</div>
</div>
<div class="input-group mb-2">
<span class="input-group-text">
<i class="bi-person-circle"></i>
</span>
<input class="form-control" id="Username" type="text" placeholder="ID Pengguna">
</div>
<div class="input-group mb-3">
<span class="input-group-text">
<i class="bi-unlock2"></i>
</span>
<input class="form-control" id="Password" type="password" placeholder="Kata Sandi">
</div>
<div class="input-group mb-3">
<span class="input-group-text">
<i class="bi-calendar2"></i>
</span>
[_OPTION_BLN_]&nbsp;&nbsp;[_OPTION_TAHUN_]
</div>
<div class="input-group d-grid gap-2">
<button id="butLogin" class="btn btn-primary" type="button">Login</button>
</div>
<div class="text-center d-none" id="divLoginMsg">&nbsp;</div>
<div class="pt-4">
<div class="text-center">&reg; [_REG_YEAR_]; [_REG_NAME_]</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
+80
View File
@@ -0,0 +1,80 @@
<?php
/*******************************************************************
Module : /auth.php
Desc. : PHP Page - Halaman Identifikasi Akses
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : November 20th, 2016.
Last Modified : March 26th, 2023.
(c) 2016 - 2023, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../vendor/autoload.php");
if (!isset($_SESSION['__WEB_APP'])) {
require_once(__DIR__."/apps/cfg/app.php");
}
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Menu;
$db = $db ?? new MySQL();
$auth = new Auth($db);
$ajson = [];
$mode = Param::Get("mode", "");
if ($mode == "auth") {
$data = Param::Get("data", "");
$ajson = ['status' => 0, 'pesan' => ""];
if ($data == "super-check") {
$bsuper = (Param::Get("SUPER","true") == "true") ? true : false;
$buover = (Param::Get("UOVER","false") == "true") ? true : false;
if (!$auth->user_check_level(Param::Get("UID"), $_SESSION['__WEB_APP']['AUTH_LEVEL']) && $bsuper == true) {
$ajson['status'] = 0;
$ajson['pesan'] = "Silakan hubungi Supervisor / Administrator Anda!";
} else {
if (!$auth->user_check(Param::Get("UID"), Param::Get("PWD"))) {
$ajson['status'] = 0;
$ajson['pesan'] = "User ID atau Password Anda Salah!<br>Anda tidak diijinkan melanjutkan proses!";
} else {
$ajson['status'] = 1;
if ($buover == true && $bsuper == false && Param::Get("UID") <> $_SESSION['__WEB_USER']['Username']) {
$new_sess = $auth->user_data(Param::Get("UID"));
foreach ($new_sess as $_key => $_val) {
if ($_SESSION['__WEB_USER'][$_key]) $_SESSION['__WEB_USER'][$_key] = $_val;
}
}
}
}
} elseif ($data == "super-request") {
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."' AND Auth=0");
$db->Query("INSERT INTO app_auth SET UserID='".user_id()."',Kode='".Param::Get("KODE")."',SID='".Param::Get("REQ_SID")."',REQ='".Param::Get("REQ")."',Catatan='".Param::Get("MSG")."',Tanggal=NOW()");
} elseif ($data == "super-cancel") {
$db->Query("DELETE FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
} elseif ($data == "request-check") {
$db->Query("SELECT Auth FROM app_auth WHERE UserID='".user_id()."' AND Kode='".Param::Get("KODE")."' AND SID='".Param::Get("REQ_SID")."' AND REQ='".Param::Get("REQ")."'");
if ($db->Next() && $db->Row("Auth",0) == 1) $ajson['status'] = 1;
}
} else {
$page = Param::Get("p", "");
$query = Param::Get("q", "");
$ajson['login'] = false;
if (user_logged() && $page<>"") {
$ajson = Menu::MenuJSON($db, $page, $query);
}
$auth->token_update();
}
send_json($ajson);
?>
Vendored
View File
+99
View File
@@ -0,0 +1,99 @@
<?php
/*******************************************************************
Module : /index.php
Desc. : PHP Page - Halaman Utama Aplikasi Web
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : May 28th, 2011.
Last Modified : August 8th, 2020.
(c) 2011 - 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../vendor/autoload.php");
require_once(__DIR__."/apps/cfg/app.php");
require_once(__DIR__."/apps/php/func.emonev.php");
use siaupheng\fonia3\App;
use siaupheng\fonia3\Web\Auth;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\DB\MySQL;
/*function requestData($url, $postdata = null){
$ch = curl_init($url);
$headers = array( 'Accept: application/json' );
curl_setopt_array($ch, array(
CURLOPT_POST => 1,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $postdata,
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_VERBOSE => 1
));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
$token = $_GET['token'];
if (!empty($token) && !$_SESSION['token']) $_SESSION['token'] = $token;
$user = "";
if ($_SESSION['token']) {
$url = "http://127.0.0.1/TEST/sso/provider/cek_token.php?token=".$_SESSION['token'];
$respon = json_decode(requestData($url));
$user = $respon->data;
if ($respon->code != 200) {
unset($_SESSION['token']);
}
}*/
$db = $db ?? new MySQL();
$auth = new Auth($db);
$auth->set_id_reg($_SESSION['__WEB_APP']['PARENT_CODE']);
$token = Param::Get("auth", "");
if (!empty($token) && !$_SESSION['APP_TOKEN']) $_SESSION['APP_TOKEN'] = $token;
if ($_SESSION['APP_TOKEN']) {
if ($auth->token_check()) {
if (!isset($_SESSION['__WEB_USER'])) {
$auser = $auth->user_data($auth->getUserByToken($_SESSION['APP_TOKEN']));
$nlevel = intval($auser['Level']); // 2 => "KECAMATAN", 7=>"KELURAHAN / DESA", 3 => "OPD", 5 => "DPRD", 9 => "VIEWER"
if ($nlevel == 2 || $nlevel == 7) { // KECAMATAN
$auser['Grup_MenuID'] = 6;
//UPDATE KEC + KEL ARRAY DATA
$auser['A_KEC'] = explode(",", $auser['AK_KEC']);
$auser['A_KEL'] = explode(",", $auser['AK_KEL']);
} else if ($nlevel == 3) { // OPD
$auser['Grup_MenuID'] = 4;
$db->Query("SELECT IK FROM para90_opd WHERE OPDID IN (".$auser['AK_OPD'].")");
if ($db->Next()) { if ($db->Row("IK",0)==1) $auser['Grup_MenuID'] = 3; }
//UPDATE OPD ARRAY DATA
$auser['A_OPD'] = explode(",", $auser['AK_OPD']);
} else if ($nlevel == 5) {// DPRD
$auser['Grup_MenuID'] = 5;
//UPDATE DPRD ARRAY DATA
$auser['A_DPRD'] = explode(",", $auser['AK_DPRD']);
} else if ($nlevel == 9) {// VIEWER
$auser['Grup_MenuID'] = 9;
}
if (intval($auser['Grup_MenuID']) > 0) $auser['Menu_Grup'] = $auth->user_allmenu($auser['Grup_MenuID']);
$_SESSION['__WEB_USER'] = $auser;
}
$auth->gen_module_menu();
$auth->user_log();
} else {
unset($_SESSION['APP_TOKEN']);
unset($_SESSION['__WEB_USER']);
}
}
require_once(__DIR__."/apps/cfg/assets.php");
$html = new App();
$html->TampilApp([
'OPTION_TAHUN' => ['value'=>$_SESSION['__WEB_APP']['REAL_THN'], 'option'=>tahun_ang()],
'OPTION_BLN' => ['value'=>$_SESSION['__WEB_APP']['REAL_BLN'], 'option'=>bulan_array()]
]);
?>