upgrade dan bugfix kinerja, faktor pendukung, dll
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
Desc. : JS - Kelola Faktor Pendukung OPD
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : December 7th, 2011.
|
||||
Last Modified : May 24th, 2026.
|
||||
Last Modified : September 7th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
@@ -49,6 +49,20 @@ var FaktorOPDJS = {
|
||||
},
|
||||
|
||||
faktor_save: function(){
|
||||
/*var _kosong = 0;
|
||||
var _dok = $('#LabelMatrik1');
|
||||
_dok.removeClass("btn-outline-success btn-outline-danger")
|
||||
if (parseInt($('#Matrik_TW').val()) === 0) {
|
||||
_kosong++;
|
||||
_dok.addClass("btn-outline-danger");
|
||||
} else {
|
||||
_dok.addClass("btn-outline-success")
|
||||
}
|
||||
if (_kosong > 0) {
|
||||
FoniaJS.showError('Tolong lengkapi Matrik Tindak Lanjut.');
|
||||
return false;
|
||||
}*/
|
||||
|
||||
var _param = ['data=simpan-faktor','ORGID','OPDID','K_OPD','DalevRenjaID'];
|
||||
$(':input[id^="Pendorong_"]').each((i,e) => { _param.push(e.id); });
|
||||
$(':input[id^="Penghambat_"]').each((i,e) => { _param.push(e.id); });
|
||||
@@ -63,6 +77,16 @@ var FaktorOPDJS = {
|
||||
}).send();
|
||||
},
|
||||
|
||||
matrik_download: function() {
|
||||
var dload = new cEXPORT({
|
||||
url: this.PHP,
|
||||
filename: $('#Matrik_Template').val(),
|
||||
});
|
||||
dload.add_param('data', 'matrik-download');
|
||||
dload.add_param('Matrik_Template');
|
||||
dload.download();
|
||||
},
|
||||
|
||||
data_query: function(tipe, mode){
|
||||
if (tipe=="tabel-opd"){
|
||||
new Request.JSONF({
|
||||
@@ -77,7 +101,41 @@ var FaktorOPDJS = {
|
||||
$('#divFAKTOR').html(adata.html);
|
||||
$('#divFAKTOR')
|
||||
.find('#butBatalFaktor').click((e) => this.show_hide(1)).end()
|
||||
.find('#butSimpanFaktor').click((e) => this.faktor_save());
|
||||
.find('#butSimpanFaktor').click((e) => this.faktor_save()).end()
|
||||
.find('#butMatrikDown').click((e) => this.matrik_download()).end()
|
||||
.find('#FileMatrik1').off('change').change(() => {
|
||||
const allow_ext = ['xls', 'xlsx'];
|
||||
var fd = new FormData(), files = $('#FileMatrik1')[0].files[0];
|
||||
var filext = files.name.split('.').pop().toLowerCase();
|
||||
if ($.inArray(filext, allow_ext) === -1) {
|
||||
FoniaJS.showError('Jenis File tidak dapat diterima !');
|
||||
return false;
|
||||
}
|
||||
fd.append('Matrik1', files);
|
||||
fd.append('ORGID', $('#ORGID').val());
|
||||
fd.append('OPDID', $('#OPDID').val());
|
||||
fd.append('DalevRenjaID', $('#DalevRenjaID').val());
|
||||
$.ajax({
|
||||
url: this.PHP + '?data=matrik-upload',
|
||||
type: 'post',
|
||||
data: fd,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
success: (ares) => {
|
||||
var _dok = $('#LabelMatrik1');
|
||||
_dok.removeClass("btn-outline-success btn-outline-danger")
|
||||
if (ares && ares.result !== 0){
|
||||
FoniaJS.showInfo('Sukses upload file Dokumen Matrik !');
|
||||
$('#Matrik_Name').html(ares.Matrik_Name);
|
||||
$('#Matrik_TW').val(ares.Matrik_TW);
|
||||
_dok.addClass("btn-outline-success")
|
||||
} else {
|
||||
_dok.addClass("btn-outline-danger");
|
||||
FoniaJS.showError(ares.message ?? 'Ada masalah dalam proses upload Dokumen Matrik !');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}).send();
|
||||
}
|
||||
|
||||
+87
-4
@@ -5,7 +5,7 @@
|
||||
Desc. : JS - Kelola Realisasi Kinerja OPD
|
||||
Created By : Siau Pheng ([email protected]).
|
||||
Created Date : December 7th, 2011.
|
||||
Last Modified : May 24th, 2026.
|
||||
Last Modified : September 7th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
@@ -100,7 +100,32 @@ var KinerjaJS = {
|
||||
},
|
||||
|
||||
prog_save: function(){
|
||||
//todo: cek jika simpan dg !empty kinerja, wajib isi sumber data.
|
||||
var _kosong = 0;
|
||||
$(':input[id^="Prog_TW_"]').each((i,e) => {
|
||||
var _id = e.id.replace('Prog_TW', '');
|
||||
if (e.value && e.value.trim() !== '' && parseFloat(e.value) > 0) {
|
||||
var _sumber = $('#Sumber_TW'+_id); _catat = $('#Catat_TW'+_id);
|
||||
_sumber.removeClass("is-valid is-invalid")
|
||||
_catat.removeClass("is-valid is-invalid")
|
||||
if (_sumber.val() === '') {
|
||||
_kosong++;
|
||||
_sumber.addClass("is-invalid").focus();
|
||||
} else {
|
||||
_sumber.addClass("is-valid")
|
||||
}
|
||||
if (_catat.val() === '') {
|
||||
_kosong++;
|
||||
_catat.addClass("is-invalid").focus();
|
||||
} else {
|
||||
_catat.addClass("is-valid")
|
||||
}
|
||||
}
|
||||
});
|
||||
if (_kosong > 0) {
|
||||
FoniaJS.showError('Tolong lengkapi Sumber Data / Eviden.');
|
||||
return false;
|
||||
}
|
||||
|
||||
var _param = ['data=tabel-prog','mode_detail=update','Hak_Tw','ORGID','OPDID','ProgID','DPAProgID'];
|
||||
$(':input[id^="Prog_TW_"]').each((i,e) => { _param.push(e.id); });
|
||||
$(':input[id^="Sumber_TW_"]').each((i,e) => { _param.push(e.id); });
|
||||
@@ -136,15 +161,73 @@ var KinerjaJS = {
|
||||
const tombol = [{},{i:'butTutup'},{i:'butWSimpan',v:'Simpan',c:'success'}];
|
||||
if ($('#Hak_Bln').val()==0) tombol.pop();
|
||||
this.winDSub = FoniaJS.showWindow('DSub', 'Kinerja dan Informasi Sub Kegiatan', txt, 'xl', tombol, () => {
|
||||
$('#winDSub').find('#butWSimpan').click(() => this.sub_save());
|
||||
$('#winDSub')
|
||||
.find('#butWSimpan').click(() => this.sub_save()).end()
|
||||
.find('#FileEviden1').off('change').change(() => {
|
||||
const allow_ext = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'png', 'jpg', 'mpg', 'mp4'];
|
||||
var fd = new FormData(), files = $('#FileEviden1')[0].files[0];
|
||||
var filext = files.name.split('.').pop().toLowerCase();
|
||||
if ($.inArray(filext, allow_ext) === -1) {
|
||||
FoniaJS.showError('Jenis File tidak dapat diterima !');
|
||||
return false;
|
||||
}
|
||||
fd.append('Eviden1', files);
|
||||
fd.append('ORGID', $('#ORGID').val());
|
||||
fd.append('OPDID', $('#OPDID').val());
|
||||
fd.append('DPASubID', $('#DPASubID').val());
|
||||
$.ajax({
|
||||
url: this.PHP + '?data=eviden-upload',
|
||||
type: 'post',
|
||||
data: fd,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
success: (ares) => {
|
||||
var _dok = $('#LabelEviden1');
|
||||
_dok.removeClass("btn-outline-success btn-outline-danger")
|
||||
if (ares && ares.result !== 0){
|
||||
FoniaJS.showInfo('Sukses upload file Dokumen Eviden !');
|
||||
$('#Eviden_Name').html(ares.Eviden_Name);
|
||||
$('#Eviden_TW').val(ares.Eviden_TW);
|
||||
_dok.addClass("btn-outline-success")
|
||||
} else {
|
||||
_dok.addClass("btn-outline-danger");
|
||||
FoniaJS.showError(ares.message ?? 'Ada masalah dalam proses upload Dokumen Eviden !');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}).send();
|
||||
},
|
||||
|
||||
sub_save: function(){
|
||||
var _kosong = 0;
|
||||
var _evi = $('#Real_TW').val();
|
||||
if (_evi && _evi.trim() !== '' && parseFloat(_evi) > 0) {
|
||||
var _dok = $('#LabelEviden1');
|
||||
_dok.removeClass("btn-outline-success btn-outline-danger")
|
||||
if (parseInt($('#Eviden_TW').val()) === 0) {
|
||||
_kosong++;
|
||||
_dok.addClass("btn-outline-danger");
|
||||
} else {
|
||||
_dok.addClass("btn-outline-success")
|
||||
}
|
||||
var _catat = $('#Real_Catatan');
|
||||
_catat.removeClass("is-valid is-invalid")
|
||||
if (_catat.val() === '') {
|
||||
_kosong++;
|
||||
_catat.addClass("is-invalid").focus();
|
||||
} else {
|
||||
_catat.addClass("is-valid")
|
||||
}
|
||||
}
|
||||
if (_kosong > 0) {
|
||||
FoniaJS.showError('Tolong lengkapi Eviden / Catatan.');
|
||||
return false;
|
||||
}
|
||||
|
||||
var _param = ['data=tabel-sub','Hak_Bln','ORGID','OPDID','ProgID','KegID','SubID','DPASubID','Real_Catatan','Real_No_Kontrak','Real_Pelaksana','DPASubOutputID','Real_TW','mode_detail=update'];
|
||||
//$(':input[id^="Output_TW_"]').each((i,e) => { _param.push(e.id); });
|
||||
new Request.JSONF({
|
||||
url: this.PHP,
|
||||
sendParam: _param,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Desc. : PHP - Fungsi SiMONEv
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : May 15th, 2012.
|
||||
Last Modified : February 3rd, 2026.
|
||||
Last Modified : September 7th, 2026.
|
||||
|
||||
(c) 2012 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
@@ -83,13 +83,14 @@ function tipedata_query() {
|
||||
}
|
||||
|
||||
function tipedata_select($id_target = "Target_Indi", $id_tipe = 0, $val_target = "", $bol_en = false, $a_input = [], $tcss = "") {
|
||||
$ttarget = '<input type="double" class="form-control double" id="'.$id_target.'" value="'.floatval($val_target).'"'.($bol_en?'':' readonly').' required="true" />';
|
||||
$ttarget = '<input type="double" class="form-control double '.$tcss.'" id="'.$id_target.'" value="'.floatval($val_target).'"'.($bol_en?'':' readonly').' required="true" />';
|
||||
if ($id_tipe == 2) { // rasio
|
||||
$atarget = ($val_target == "") ? [0,0] : explode(":", $val_target);
|
||||
$vtarget = '';
|
||||
for ($i = 0; $i < 10; $i++) $vtarget .= array_merge(range('a','z'),range('A','Z'))[rand(0,51)];
|
||||
$ttarget = '<div class="input-group '.$tcss.'"><input type="number" class="form-control" id="'.$vtarget.'_b" value="'.$atarget[0].'"'.($bol_en?'':' readonly').' required=true onchange="$(\'#'.$id_target.'\').val(($(\'#'.$vtarget.'_b\').val()||\'0\')+\':\'+($(\'#'.$vtarget.'_a\').val()||\'0\'));" /><span class="input-group-text">:<input type="hidden" id="'.$id_target.'" value="'.$val_target.'"></span><input type="number" class="form-control" id="'.$vtarget.'_a" value="'.$atarget[1].'"'.($bol_en?'':' readonly').' required=true onchange="$(\'#'.$id_target.'\').val(($(\'#'.$vtarget.'_b\').val()||\'0\')+\':\'+($(\'#'.$vtarget.'_a\').val()||\'0\'));" /></div>';
|
||||
} else if ($id_tipe > 2) { // enum_v2
|
||||
$ttarget = '<select class="form-select" id="'.$id_target.'" name="'.$id_target.'"'.($bol_en?'':' disabled=true').'>';
|
||||
$ttarget = '<select class="form-select '.$tcss.'" id="'.$id_target.'" name="'.$id_target.'"'.($bol_en?'':' disabled=true').'>';
|
||||
//$ttarget .= '<option value="">-</option>'; option-tags
|
||||
foreach($a_input as $_key => $_val) {
|
||||
$ttarget .= '<option value="'.$_key.'"'.($_key==$val_target?' selected="selected"':'').'>'.$_val.'</option>';
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
Desc. : PHP - Evaluasi Hasil Kinerja Triwulan
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2011.
|
||||
Last Modified : July 4th, 2026.
|
||||
Last Modified : September 7th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
@@ -201,7 +201,8 @@ if ( $data == "print" ) {
|
||||
$body .= sprintf($_skor, "RATA-RATA CAPAIAN KINERJA DAN ANGGARAN DARI SELURUH PROGRAM (%)", uang2($atotal['T_13K']/$atotal['Prog'])." %", uang2($atotal['T_13RP']/$atotal['Prog'])." %");
|
||||
$body .= sprintf($_skor, "PREDIKAT KINERJA DARI SELURUH PROGRAM", emonev_kinerja($atotal['T_13K']/$atotal['Prog']), emonev_kinerja($atotal['T_13RP']/$atotal['Prog']));
|
||||
|
||||
echo $header . $body . "</tbody></table>";
|
||||
$footer = sprintf('<div class="d-flex flex-row-reverse"><div>%s, %s<br>Mengetahui Pimpinan,<br>Kepala %s<div class="py-5"> </div>%s<br>%s</div></div>', $aopd['N_Lokasi'], tgl_dmy(), $aopd['N_OPD'], $aopd['P_Nama'], 'NIP. '.$aopd['P_NIP']);
|
||||
echo $header . $body . "</tbody></table>" . $footer;
|
||||
|
||||
} else if ( $data == "default") {
|
||||
$q_opd = "";
|
||||
|
||||
+77
-19
@@ -7,7 +7,7 @@
|
||||
Desc. : PHP - Kelola Faktor Pendukung OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2011.
|
||||
Last Modified : August 26th, 2026.
|
||||
Last Modified : September 7th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
@@ -28,7 +28,7 @@ $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'];
|
||||
$thn_data = $_SESSION['__WEB_APP']['REAL_THN'];
|
||||
$tw_data = $_SESSION['__WEB_APP']['REAL_TW'];
|
||||
$id_org = Param::Get("ORGID", 0);
|
||||
$id_opd = Param::Get("OPDID", 0);
|
||||
@@ -36,7 +36,7 @@ $k_opd = Param::Get("K_OPD", "");
|
||||
$id_faktor = Param::Get("DalevRenjaID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-opd","detail-faktor"]) ) {
|
||||
$qsql = " Tahun='".$thn_renja."'";
|
||||
$qsql = " Tahun='".$thn_data."'";
|
||||
$msql = "M.Aktif=1";
|
||||
|
||||
if ( $data == "tabel-opd" ) {
|
||||
@@ -55,7 +55,7 @@ if ( $data == "tabel-opd" ) {
|
||||
$f_tw = "IFNULL(H.Hak_Kin_T".$tw_data.",1)";
|
||||
}
|
||||
$obj = new Table($db);
|
||||
$obj->set_query("SELECT M.OPDID,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_tw." Hak_Tw FROM vi_para90_opd M LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$thn_renja."') H ON (H.OPDID=M.OPDID) WHERE ".$msql);
|
||||
$obj->set_query("SELECT M.OPDID,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_tw." Hak_Tw FROM vi_para90_opd M LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$thn_data."') H ON (H.OPDID=M.OPDID) WHERE ".$msql);
|
||||
$obj->add_field("OPDID", "OPD", "hid");
|
||||
$obj->add_field("ORGID", "ORG", "hid");
|
||||
$obj->add_field("Nama_OPD", "Nama OPD", "hid");
|
||||
@@ -72,48 +72,106 @@ if ( $data == "tabel-opd" ) {
|
||||
} else if ( $data == "simpan-faktor" ) {
|
||||
$pdor = Param::Get("Pendorong_TWX", "");
|
||||
$pham = Param::Get("Penghambat_TWX", "");
|
||||
$pla1 = Param::Get("Lanjut_TWX", "");
|
||||
//$pla1 = Param::Get("Lanjut_TWX", "");
|
||||
$pla2 = Param::Get("Lanjut_RKPD_TWX", "");
|
||||
$db->Query("REPLACE INTO dpa_dalev_renja (DalevRenjaID,RPJMDID,Tahun,ORGID,OPDID,K_OPD,Pendorong_TW".$tw_data.",Penghambat_TW".$tw_data.",Lanjut_TW".$tw_data.",Lanjut_RKPD_TW".$tw_data.") VALUES ('".$id_faktor."','".$id_rpjmd."','".$thn_renja."','".$id_org."','".$id_opd."','".$k_opd."','".$pdor."','".$pham."','".$pla1."','".$pla2."')");
|
||||
//$db->Query("REPLACE INTO dpa_dalev_renja (DalevRenjaID,RPJMDID,Tahun,ORGID,OPDID,K_OPD,Pendorong_TW".$tw_data.",Penghambat_TW".$tw_data.",Lanjut_TW".$tw_data.",Lanjut_RKPD_TW".$tw_data.") VALUES ('".$id_faktor."','".$id_rpjmd."','".$thn_data."','".$id_org."','".$id_opd."','".$k_opd."','".$pdor."','".$pham."','".$pla1."','".$pla2."')");
|
||||
$db->Query("REPLACE INTO dpa_dalev_renja (DalevRenjaID,RPJMDID,Tahun,ORGID,OPDID,K_OPD,Pendorong_TW".$tw_data.",Penghambat_TW".$tw_data.",Lanjut_RKPD_TW".$tw_data.") VALUES ('".$id_faktor."','".$id_rpjmd."','".$thn_data."','".$id_org."','".$id_opd."','".$k_opd."','".$pdor."','".$pham."','".$pla2."')");
|
||||
|
||||
} else if ( $data == "detail-faktor" ) {
|
||||
$arec = [];
|
||||
$db->Query("SELECT * FROM dpa_dalev_renja WHERE Tahun='".$thn_renja."' AND OPDID='".$id_opd."' LIMIT 1");
|
||||
if ($db->Next()) $arec = $db->AllRow();
|
||||
$db->Query("SELECT * FROM dpa_dalev_renja WHERE Tahun='".$thn_data."' AND OPDID='".$id_opd."' LIMIT 1");
|
||||
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
|
||||
$db->Query("SELECT K_OPD FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
|
||||
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
|
||||
$db->Query("SELECT SUM(IF(TW='".$tw_data."',1,0)) Matrik_TW,IF(TW='".$tw_data."',Matrik_Name,'') Matrik_Name FROM dpa_dalev_renja_matrik WHERE Tahun='".$arec['Tahun']."' AND DalevRenjaID='".$arec['DalevRenjaID']."' AND Aktif=1");
|
||||
if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
|
||||
|
||||
if ((int) $arec['Matrik_TW'] === 0) {
|
||||
$arec['Matrik_TW'] = 0;
|
||||
$arec['Matrik_Name'] = 'belum ada file matrik';
|
||||
}
|
||||
$arec['Matrik_Template'] = $arec['K_OPD'] .'-'. $thn_data .'-'. isi_nol($tw_data,2) .'.xls';
|
||||
|
||||
$form = new Form($db);
|
||||
$tdor = $form->textarea("_", "Pendorong_TWX", $arec['Pendorong_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tham = $form->textarea("_", "Penghambat_TWX", $arec['Penghambat_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tla1 = $form->textarea("_", "Lanjut_TWX", $arec['Lanjut_TW'.$tw_data], $emon_en, true, 3);
|
||||
//$tla1 = $form->textarea("_", "Lanjut_TWX", $arec['Lanjut_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tla2 = $form->textarea("_", "Lanjut_RKPD_TWX", $arec['Lanjut_RKPD_TW'.$tw_data], $emon_en, true, 3);
|
||||
|
||||
$ajson['html'] = '
|
||||
<div class="row mb-2">
|
||||
<div class="row my-2">
|
||||
<div class="col"><h5 class="text-center">Faktor dan Tindak Lanjut <strong>Triwulan '.romawi($tw_data).'</strong></h5></div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Pendorong_TWX">Faktor Pendukung Keberhasilan Kinerja</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Pendorong_TWX">Faktor Pendukung Keberhasilan Kinerja</label>
|
||||
<div class="col">'.$tdor.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Penghambat_TWX">Faktor Penghambat Pencapaian Kinerja</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Penghambat_TWX">Faktor Penghambat Pencapaian Kinerja</label>
|
||||
<div class="col">'.$tham.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Lanjut_TWX">Tindak Lanjut yang Diperlukan Dalam Triwulan Berikutnya</label>
|
||||
<div class="col">'.$tla1.'</div>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Lanjut_TWX">Matrik Tindak Lanjut untuk Pencapaian Triwulan Berikutnya</label>
|
||||
<div class="col-sm-7 col-lg-4">
|
||||
<div class="input-group">
|
||||
<button class="btn btn-outline-warning" id="butMatrikDown"><i class="bi-cloud-download me-1"></i>Download</button>
|
||||
<label class="form-control">'.$arec['Matrik_Template'].'</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-7 col-lg-5">
|
||||
<div class="input-group">
|
||||
<label class="btn '.((int) $arec['Matrik_TW']===0?'btn-outline-danger':'btn-outline-success').'" id="LabelMatrik1" for="FileMatrik1"><i class="bi-cloud-upload me-1"></i>Upload<input type="file" name="FileMatrik1" id="FileMatrik1" class="d-none" accept=".xls, .xlsx"></label>
|
||||
<label class="form-control" id="Matrik_Name" for="FileMatrik1">'.$arec['Matrik_Name'].'</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Lanjut_RKPD_TWX">Tindak Lanjut yang Diperlukan Dalam RKPD Berikutnya</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Lanjut_RKPD_TWX">Tindak Lanjut yang Diperlukan Dalam RKPD Berikutnya</label>
|
||||
<div class="col">'.$tla2.'</div>
|
||||
</div>
|
||||
'.($emon_en?'<div class="row mt-1"><div class="col text-end"><button type="button" class="btn btn-warning me-2" id="butBatalFaktor">Batal</button><button type="button" class="btn btn-success" id="butSimpanFaktor">Simpan</button></div></div>':'').'
|
||||
<input type="hidden" id="DalevRenjaID" value="'.$arec['DalevRenjaID'].'">';
|
||||
'.($emon_en?'<div class="row mt-2"><div class="col text-end"><button type="button" class="btn btn-warning me-2" id="butBatalFaktor">Batal</button><button type="button" class="btn btn-success" id="butSimpanFaktor">Simpan</button></div></div>':'').'
|
||||
<input type="hidden" id="DalevRenjaID" value="'.$arec['DalevRenjaID'].'">
|
||||
<input type="hidden" id="Matrik_Template" value="'.$arec['Matrik_Template'].'">
|
||||
<input type="hidden" id="Matrik_TW" value="'.$arec['Matrik_TW'].'">';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
} else if ( $data == "matrik-download") {
|
||||
$_file = $_SESSION['__WEB_APP']['REAL_PATH'] . 'assets/dokumen/template.xlsx';
|
||||
$_name = Param::Get('Matrik_Template', '');
|
||||
|
||||
// xlsx = application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
||||
header('Content-Type: application/vnd.ms-excel');
|
||||
//header('Content-Disposition: attachment; filename="' . $_name . '"');
|
||||
|
||||
echo file_get_contents($_file);
|
||||
exit;
|
||||
|
||||
} else if ( $data === "matrik-upload") {
|
||||
$file1_ok = false;
|
||||
$file1_name = $_FILES['Matrik1']['name'];
|
||||
$file1_size = $_FILES['Matrik1']['size'];
|
||||
$file1_ext = pathinfo($file1_name, PATHINFO_EXTENSION);
|
||||
$ajson['result'] = 0;
|
||||
if ($file1_size < 20480000) {
|
||||
$file1_ok = true;
|
||||
} else {
|
||||
$ajson['message'] = "Ukuran file diatas 20MB !";
|
||||
}
|
||||
|
||||
if ($file1_ok === true) {
|
||||
$saveas = md5("EMONEVMPW-F" . $thn_data . $id_faktor ."1". time()) .".". $file1_ext;
|
||||
if (!is_dir($_SESSION['__WEB_APP']['REAL_PATH'].'dokumen')) mkdir($_SESSION['__WEB_APP']['REAL_PATH'].'dokumen', 0775, true);
|
||||
if (move_uploaded_file($_FILES['Matrik1']['tmp_name'], $_SESSION['__WEB_APP']['REAL_PATH'].'dokumen/'.$saveas)) {
|
||||
$db->Query("INSERT INTO dpa_dalev_renja_matrik SET Tahun='".$thn_data."',DalevRenjaID='".$id_faktor."',ORGID='".$id_org."',OPDID='".$id_opd."',TW='".$tw_data."',Matrik_Name='".$file1_name."',Matrik_File='".$saveas."',Matrik_Size='".format_bytes($file1_size)."',UserID='".user_id()."'");
|
||||
$ajson['result'] = 1;
|
||||
$ajson['Matrik_Name'] = $file1_name;
|
||||
$ajson['Matrik_TW'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
} else if ( $data === "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Kelola Data Faktor Pendukung OPD // Tahun Anggaran '.$thn_renja.'</div><div class="card-body">
|
||||
<div class="card"><div class="card-header custom-style">Kelola Data Faktor Pendukung OPD // Tahun Anggaran '.$thn_data.'</div><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
|
||||
@@ -40,37 +40,37 @@ if ( $data == "simpan-faktor" ) {
|
||||
$db->Query("REPLACE INTO dpa_dalev_rkpd (DalevRKPDID,RPJMDID,Tahun,Pendorong_TW".$tw_data.",Penghambat_TW".$tw_data.",Lanjut_TW".$tw_data.",Lanjut_RKPD_TW".$tw_data.") VALUES ('".$id_faktor."','".$id_rpjmd."','".$thn_renja."','".$pdor."','".$pham."','".$pla1."','".$pla2."')");
|
||||
|
||||
} else if ( $data == "detail-faktor" ) {
|
||||
$arec = [];
|
||||
$arec = [ 'DalevRKPDID' => 0 ];
|
||||
$db->Query("SELECT * FROM dpa_dalev_rkpd WHERE Tahun='".$thn_renja."' LIMIT 1");
|
||||
if ($db->Next()) $arec = $db->AllRow();
|
||||
|
||||
$form = new Form($db);
|
||||
$tdor = $form->textarea("_", "Pendorong_TWX", $arec['Pendorong_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tham = $form->textarea("_", "Penghambat_TWX", $arec['Penghambat_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tla1 = $form->textarea("_", "Lanjut_TWX", $arec['Lanjut_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tla2 = $form->textarea("_", "Lanjut_RKPD_TWX", $arec['Lanjut_RKPD_TW'.$tw_data], $emon_en, true, 3);
|
||||
$tdor = $form->textarea("_", "Pendorong_TWX", $arec['Pendorong_TW'.$tw_data] ?? '', $emon_en, true, 3);
|
||||
$tham = $form->textarea("_", "Penghambat_TWX", $arec['Penghambat_TW'.$tw_data] ?? '', $emon_en, true, 3);
|
||||
$tla1 = $form->textarea("_", "Lanjut_TWX", $arec['Lanjut_TW'.$tw_data] ?? '', $emon_en, true, 3);
|
||||
$tla2 = $form->textarea("_", "Lanjut_RKPD_TWX", $arec['Lanjut_RKPD_TW'.$tw_data] ?? '', $emon_en, true, 3);
|
||||
|
||||
$ajson['html'] = '
|
||||
<div class="row mb-2">
|
||||
<div class="col"><h5 class="text-center">Faktor dan Tindak Lanjut <strong>Triwulan '.romawi($tw_data).'</strong></h5></div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Pendorong_TWX">Faktor Pendukung Keberhasilan Kinerja</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Pendorong_TWX">Faktor Pendukung Keberhasilan Kinerja</label>
|
||||
<div class="col">'.$tdor.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Penghambat_TWX">Faktor Penghambat Pencapaian Kinerja</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Penghambat_TWX">Faktor Penghambat Pencapaian Kinerja</label>
|
||||
<div class="col">'.$tham.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Lanjut_TWX">Tindak Lanjut yang Diperlukan Dalam Triwulan Berikutnya</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Lanjut_TWX">Tindak Lanjut yang Diperlukan Dalam Triwulan Berikutnya</label>
|
||||
<div class="col">'.$tla1.'</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Lanjut_RKPD_TWX">Tindak Lanjut yang Diperlukan Dalam RKPD Berikutnya</label>
|
||||
<label class="col-sm-5 col-lg-3 col-form-label" for="Lanjut_RKPD_TWX">Tindak Lanjut yang Diperlukan Dalam RKPD Berikutnya</label>
|
||||
<div class="col">'.$tla2.'</div>
|
||||
</div>
|
||||
'.($emon_en?'<div class="row mt-1"><div class="col text-end"><button type="button" class="btn btn-warning me-2" id="butBatalFaktor">Batal</button><button type="button" class="btn btn-success" id="butSimpanFaktor">Simpan</button></div></div>':'').'
|
||||
'.($emon_en?'<div class="row mt-2"><div class="col text-end"><button type="button" class="btn btn-warning me-2" id="butBatalFaktor">Batal</button><button type="button" class="btn btn-success" id="butSimpanFaktor">Simpan</button></div></div>':'').'
|
||||
<input type="hidden" id="DalevRKPDID" value="'.$arec['DalevRKPDID'].'">';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
|
||||
+53
-30
@@ -7,7 +7,7 @@
|
||||
Desc. : PHP - Kelola Realisasi Kinerja OPD
|
||||
Created By : Siau Pheng (siaupheng@3fonia.com).
|
||||
Created Date : December 7th, 2011.
|
||||
Last Modified : August 26th, 2026.
|
||||
Last Modified : September 7th, 2026.
|
||||
|
||||
(c) 2011 - 2026, 3FONIA Software; WWW.3FONIA.COM.
|
||||
|
||||
@@ -40,6 +40,7 @@ $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);
|
||||
$id_dpa_sub = Param::Get("DPASubID", 0);
|
||||
|
||||
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-akun","detail-prog","detail-keg","detail-sub"]) ) {
|
||||
$qsql = " Tahun='".$thn_data."'";
|
||||
@@ -245,20 +246,10 @@ if ( $data == "tabel-opd" ) {
|
||||
$sql->add_param_stamp("Real_Stamp");
|
||||
$sql->add_param_userid("Real_UserID");
|
||||
$sql->add_where("Tahun", $thn_data);
|
||||
$sql->add_where("DPASubID", Param::Get("DPASubID",0));
|
||||
$sql->add_where("DPASubID", $id_dpa_sub);
|
||||
$sql->UpdateDB();
|
||||
|
||||
$db->Query("UPDATE dpa_sub_output SET Real_TW".$tw_data."='".Param::Get("Real_TW")."' WHERE Tahun='".$thn_data."' AND DPASubOutputID='".Param::Get("DPASubOutputID")."' LIMIT 1");
|
||||
|
||||
/*$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 dpa_sub_output SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_data."' AND DPASubOutputID='".$aid[1]."' LIMIT 1");
|
||||
// update kinerja ke dpa_sub
|
||||
//$db->Query("UPDATE dpa_sub A, (SELECT 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 dpa_sub_output WHERE Tahun='".$thn_data."' 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_data."' AND DPASubID='".Param::Get("DPASubID",0)."' LIMIT 1");
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
$obj = new Table($db);
|
||||
@@ -356,7 +347,7 @@ if ( $data == "tabel-opd" ) {
|
||||
$arec = $db->AllRow();
|
||||
$_p_input = (($arec['TipeDataID'] ?? 0) > 0) ? json_decode($arec['P_Input'] ?? '{}', true) : [];
|
||||
$_val_cap = $arec['Real_TW'.$tw_data];
|
||||
$tcss = 'border '.($_val_cap==""?'border-danger':'border-success').' rounded';
|
||||
$tcss = 'border '.(empty($_val_cap)?'border-danger':'border-success').' rounded';
|
||||
|
||||
$form = new Form($db);
|
||||
$tindi = $form->textarea('_', 'Text_Indi', $arec['Text_Indi']." (".$arec['Satuan_Indi'].')', false, false, 2);
|
||||
@@ -402,12 +393,13 @@ if ( $data == "tabel-opd" ) {
|
||||
echo '<input type="hidden" id="DPAProgID" value="'.$id_dpa_prog.'">';
|
||||
|
||||
} 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 dpa_sub WHERE Tahun='".$thn_data."' 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 SUM(IF(TW='".$tw_data."',1,0)) Eviden_TW,IF(TW='".$tw_data."',Eviden_Name,'') Eviden_Name FROM dpa_sub_eviden WHERE Tahun='".$adetail['Tahun']."' AND DPASubID='".$adetail['DPASubID']."' AND Aktif=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");
|
||||
@@ -415,14 +407,18 @@ if ( $data == "tabel-opd" ) {
|
||||
foreach ($adetail as $_key => $_val) {
|
||||
if (strpos($_key, "Pagu_")!==false || strpos($_key, "RealK_")!==false || strpos($_key, "RealF_")!==false) $adetail[$_key] = doubleval($_val);
|
||||
}
|
||||
if ((int) $adetail['Eviden_TW'] === 0) {
|
||||
$adetail['Eviden_TW'] = 0;
|
||||
$adetail['Eviden_Name'] = 'belum ada file eviden';
|
||||
}
|
||||
|
||||
$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);
|
||||
$tcatatan = $form->textarea("_", "Real_Catatan", $adetail['Real_Catatan'], $bln_en, false, 2);
|
||||
$tcatatan = $form->textarea("_", "Real_Catatan", $adetail['Real_Catatan'], $bln_en, true, 1);
|
||||
$tno_kontr = $form->textbox("_", "Real_No_Kontrak", $adetail['Real_No_Kontrak'], $bln_en, false, "text", "nomor kontrak");
|
||||
$tpelak = $form->textarea("_", "Real_Pelaksana", $adetail['Real_Pelaksana'], $bln_en, false, 2, "nama pelaksana");
|
||||
$tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".$adetail['Update_User'].", pada : ".tgl_sql2str($adetail['Update_Stamp'], true), false, false);
|
||||
$tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".($adetail['Real_User'] ?? $adetail['Update_User']).", pada : ".tgl_sql2str(($adetail['Real_Stamp'] ?? $adetail['Update_Stamp']), true), false, false);
|
||||
|
||||
echo '
|
||||
<div class="row mb-1">
|
||||
@@ -463,28 +459,31 @@ if ( $data == "tabel-opd" ) {
|
||||
<label class="col-sm-4 col-lg-2 col-form-label">Status Output</label>
|
||||
<div class="col-sm-6 col-lg-4">'.$tstatus.'</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label">Target & Realisasi</label>
|
||||
<div class="col-sm-6 col-lg-4">'.$ttarget.'</div>
|
||||
<div class="col-sm-8 col-lg-4"><div class="input-group">'.$treal.'<span class="input-group-text">'.$aoutput['Satuan_Output'].'</span></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">Dokumen Eviden</label>
|
||||
<div class="col">
|
||||
<div class="input-group">
|
||||
<label class="btn '.((int) $adetail['Eviden_TW']===0?'btn-outline-danger':'btn-outline-success').'" id="LabelEviden1" for="FileEviden1"><i class="bi-cloud-upload me-1"></i>Eviden<input type="file" name="FileEviden1" id="FileEviden1" class="d-none" accept=".pdf, .doc, .docx, .xls, .xlsx, .png, .jpg, .mpg, .mp4"></label>
|
||||
<label class="form-control" id="Eviden_Name" for="FileEviden1">'.$adetail['Eviden_Name'].'</label>
|
||||
</div>
|
||||
<small class="text-muted">Ukuran file max <strong>10MB</strong> ( pdf / doc / docx / xls / xlsx / png / jpg / mpg / mp4 )</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Real_Catatan">Catatan / Kendala</label>
|
||||
<div class="col">'.$tcatatan.'</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">Catatan / Kendala / Permasalahan 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="card"><div class="card-body">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-4 col-lg-2 col-form-label" for="Real_Catatan">Catatan /<br>Kendala / DLL</label>
|
||||
<div class="col">'.$tcatatan.'</div>
|
||||
</div>
|
||||
</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 <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">
|
||||
@@ -502,6 +501,7 @@ if ( $data == "tabel-opd" ) {
|
||||
</div></div></div>
|
||||
</div>
|
||||
<div class="row mt-2"><div class="col">'.$tinfo.'</div></div>
|
||||
<input type="hidden" id="Eviden_TW" value="'.$adetail['Eviden_TW'].'">
|
||||
<input type="hidden" id="DPASubID" value="'.$adetail['DPASubID'].'">
|
||||
<input type="hidden" id="DPASubOutputID" value="'.$aoutput['DPASubOutputID'].'">';
|
||||
|
||||
@@ -590,7 +590,30 @@ if ( $data == "tabel-opd" ) {
|
||||
<input type="hidden" id="REALRP" value="'.$realK_las.'">
|
||||
<input type="hidden" id="PAGURP" value="'.$adetail['Renc_Keu'].'">';
|
||||
|
||||
} else if ( $data == "default") {
|
||||
} else if ( $data === "eviden-upload") {
|
||||
$file1_ok = false;
|
||||
$file1_name = $_FILES['Eviden1']['name'];
|
||||
$file1_size = $_FILES['Eviden1']['size'];
|
||||
$file1_ext = pathinfo($file1_name, PATHINFO_EXTENSION);
|
||||
$ajson['result'] = 0;
|
||||
if ($file1_size < 10240000) {
|
||||
$file1_ok = true;
|
||||
} else {
|
||||
$ajson['message'] = "Ukuran file diatas 10MB !";
|
||||
}
|
||||
|
||||
if ($file1_ok === true) {
|
||||
$saveas = md5("EMONEVMPW" . $thn_data . $id_dpa_sub ."1". time()) .".". $file1_ext;
|
||||
if (!is_dir($_SESSION['__WEB_APP']['REAL_PATH'].'dokumen')) mkdir($_SESSION['__WEB_APP']['REAL_PATH'].'dokumen', 0775, true);
|
||||
if (move_uploaded_file($_FILES['Eviden1']['tmp_name'], $_SESSION['__WEB_APP']['REAL_PATH'].'dokumen/'.$saveas)) {
|
||||
$db->Query("INSERT INTO dpa_sub_eviden SET Tahun='".$thn_data."',DPASubID='".$id_dpa_sub."',ORGID='".$id_org."',OPDID='".$id_opd."',TW='".$tw_data."',Eviden_Name='".$file1_name."',Eviden_File='".$saveas."',Eviden_Size='".format_bytes($file1_size)."',UserID='".user_id()."'");
|
||||
$ajson['result'] = 1;
|
||||
$ajson['Eviden_Name'] = $file1_name;
|
||||
$ajson['Eviden_TW'] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
} else if ( $data === "default") {
|
||||
echo '
|
||||
<div class="fade-in">
|
||||
<div class="card"><div class="card-header custom-style">Kelola Data Realisasi Kinerja Renja OPD // Bulan '.bulan_array()[$bln_data].' '.$thn_data.'</div><div class="card-body">
|
||||
|
||||
Reference in New Issue
Block a user