Files
emonev/apps/php/valid/faktor_opd.php
T

163 lines
7.2 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 16th, 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()){
$afile = explode(".", $db->Row("Matrik_File"));
if ($afile[1] === "pdf") {
$mat_link = '<a class="table-icon" title="Dokumen" onclick="ValidFaktorOPDJS.matrik_open_pdf(\''.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Matrik_File").'\');"><i class="bi-file-pdf"></i></a>';
} else {
$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">&nbsp;</div>
<div id="divMATRIK">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>