158 lines
6.8 KiB
PHP
158 lines
6.8 KiB
PHP
<?php
|
|
|
|
/*******************************************************************
|
|
|
|
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
|
|
Module : /apps/php/valid/faktor_opd.php
|
|
Desc. : PHP - Validasi Faktor Pendukung OPD
|
|
Created By : Siau Pheng ([email protected]).
|
|
Created Date : December 7th, 2011.
|
|
Last Modified : September 15th, 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;
|
|
|
|
$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_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);
|
|
$k_opd = Param::Get("K_OPD", "");
|
|
$id_matrik = Param::Get("DalevMatrikID", 0);
|
|
|
|
if ( in_array($data, ["tabel-opd","tabel-matrik"]) ) {
|
|
$qsql = " Tahun='".$thn_data."'";
|
|
$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-matrik" ) {
|
|
$qsql .= " AND OPDID='".$id_opd."'";
|
|
}
|
|
}
|
|
|
|
if ( $data == "tabel-opd" ) {
|
|
$f_tw = (in_array($_SESSION['__WEB_USER']['Level'],[0,1])) ? "1" : "0";
|
|
if (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) {
|
|
$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_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");
|
|
$obj->add_field("Hak_Tw", "Hak Tw", "hid");
|
|
$obj->add_field("K_OPD", "Kode", "c");
|
|
$obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
|
|
//$obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
|
|
$obj->set_field_order("K_OPD", "A");
|
|
$obj->add_row_btn("folder", "Matrik", "ValidFaktorOPDJS.opd_select");
|
|
$obj->set_func_navi("ValidFaktorOPDJS.data_query('tabel-opd')");
|
|
$obj->set_textbtn(true);
|
|
$ajson[] = $obj->json_table("divOPD");
|
|
|
|
} else if ( $data == "tabel-matrik" ) {
|
|
if ($mode_detail === "update") {
|
|
$sql = new SQL($db);
|
|
$sql->set_table("dpa_dalev_renja_matrik");
|
|
$sql->add_param("B_Catatan");
|
|
$sql->add_param("B_Valid");
|
|
$sql->add_where("Tahun", $thn_data);
|
|
$sql->add_where("DalevMatrikID");
|
|
$sql->UpdateDB();
|
|
}
|
|
|
|
$tbl_mat = '<table id="tabelMatrik" class="table table-striped table-bordered table-hover" data-order=\'[[0,"asc"]]\'><thead><tr><th class="hid">ID</th><th>TW</td><th>Dokumen Matrik</th><th>Ukuran</th><th class="sorting_disabled">Aksi</th></tr></thead><tbody>';
|
|
$db->Query("SELECT * FROM dpa_dalev_renja_matrik WHERE ".$qsql." AND Aktif=1");
|
|
while ($db->Next()){
|
|
$mat_link = '<a class="table-icon" title="Dokumen" onclick="ValidFaktorOPDJS.matrik_download(\''.$db->Row("DalevMatrikID").'\');"><i class="bi-filetype-xlsx"></i></a>';
|
|
$mat_link .= '<a class="table-icon fon-tabel-dt" title="Validasi"><i class="bi-check2"></i></a>';
|
|
$tbl_mat .= sprintf('<tr><td class="hid">%s</td><td class="c">%s</td><td class="l" title="%s">%s</td><td class="c">%s</td><td class="c">%s</td></tr>', $db->Row("DalevMatrikID"), $db->Row("TW"), $db->Row("Matrik_Name"), $db->Row("Matrik_Name"), $db->Row("Matrik_Size"), $mat_link);
|
|
}
|
|
$tbl_mat .= '</tbody></table>';
|
|
$ajson['html'] = $tbl_mat;
|
|
$ajson['toolbar'] = "";
|
|
|
|
} else if ( $data == "detail-matrik" ) {
|
|
$arec = [];
|
|
if ($id_matrik > 0) {
|
|
$db->Query("SELECT * FROM dpa_dalev_renja_matrik WHERE DalevMatrikID='".$id_matrik."' LIMIT 1");
|
|
if ($db->Next()) $arec = $db->AllRow();
|
|
}
|
|
|
|
$form = new Form($db);
|
|
$tcatat = $form->textarea("_", "B_Catatan", $arec['B_Catatan'], true, true, 1);
|
|
$tvalid = $form->checkbox("_", "B_Valid", $arec['B_Valid'], true, true, [1,0]);
|
|
$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="B_Catatan">Catatan Bapperinda</label>
|
|
<div class="col">'.$tcatat.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="B_Valid">Status Validasi</label>
|
|
<div class="col-sm-6 col-lg-4 col-form-label">'.$tvalid.'</div>
|
|
<div class="col text-end"><button type="button" class="btn btn-warning me-2" id="butBatalMatrik">Batal</button><button type="button" class="btn btn-success" id="butSimpanMatrik">Simpan</button></div>
|
|
</div>
|
|
<input type="hidden" id="DalevMatrikID" value="'.$arec['DalevMatrikID'].'">
|
|
</div></div>';
|
|
|
|
} else if ( $data == "matrik-download") {
|
|
if ($id_matrik > 0) {
|
|
$adata = [];
|
|
$db->Query("SELECT * FROM dpa_dalev_renja_matrik WHERE DalevMatrikID='".$id_matrik."' LIMIT 1");
|
|
if ($db->Next()) $adata = $db->AllRow();
|
|
|
|
$_file = $_SESSION['__WEB_APP']['REAL_PATH'] . 'dokumen/' . $adata['Matrik_File'];
|
|
|
|
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
header('Content-Disposition: attachment; filename="' . $adata['Matrik_Name'] . '"');
|
|
|
|
echo file_get_contents($_file);
|
|
exit;
|
|
}
|
|
|
|
} else if ( $data === "default") {
|
|
echo '
|
|
<div class="fade-in">
|
|
<div class="card"><div class="card-header custom-style">Validasi 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">
|
|
<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="K_OPD" type="hidden" value="">
|
|
<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 id="divOPD"> </div>
|
|
<div id="divMATRIK"> </div>
|
|
</div></div>
|
|
</div>';
|
|
}
|
|
|
|
send_json($ajson);
|
|
?>
|