Files
2026-07-16 14:07:54 +07:00

118 lines
5.6 KiB
PHP

<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sys/akses_sip.php
Desc. : PHP - Konfigurasi Hak Akses Data e-Planning
Created By : Siau Pheng ([email protected]).
Created Date : February 17th, 2020.
Last Modified : February 22nd, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.sippd.php");
use siaupheng\fonia3\DB\MySQL;
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']['RENC_THN']);
$id_opd = Param::Get("OPDID", 0);
$id = Param::Get("AksesID", 0);
if ( $data == "akses-detail" ) {
$aakses = [];
if ($mode == "edit") {
$db->Query("SELECT O.OPDID,O.N_OPD,IFNULL(A.SIPOPDID,0) SIPOPDID,IFNULL(A.Hak_Renja1,1) Hak_Renja1,IFNULL(A.Hak_Renja2,1) Hak_Renja2 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND OPDID='".$id_opd."') O LEFT JOIN (SELECT * FROM sippd_akses_sip WHERE Tahun='".$tahun."' AND SIPOPDID='".$id."') A ON (O.OPDID=A.OPDID)");
if ($db->Next()) $aakses = $db->AllRow();
}
$form = new Form($db);
$form->textbox("Nama OPD", "N_OPD", $aakses['N_OPD'], false, false, "text");
$form->switch("Akses Renja Awal", "Hak_Renja1", $aakses['Hak_Renja1'], true, true, ["1","0"]);
$form->switch("Akses Renja", "Hak_Renja2", $aakses['Hak_Renja2'], true, true, ["1","0"]);
$form->hidden("AksesID", $aakses['SIPOPDID']);
$form->hidden("OPDID", $aakses['OPDID']);
$form->show(' _N_OPD_ _Hak_Renja1_ _Hak_Renja2_ _OPDID_ _AksesID_ ');
} else if ( $data == "akses-semua" ) {
$form = new Form($db);
$form->textbox("Tahun Perencanaan", "Tahun2", $tahun, false, false, "text");
$form->switch("Akses Renja Awal", "Hak_Renja1", 0, true, true, ["1","0"]);
$form->switch("Akses Renja", "Hak_Renja2", 0, true, true, ["1","0"]);
$form->show('
<div class="row">
<div class="col">
_Tahun2_
_Hak_Renja1_
_Hak_Renja2_
</div>
</div>
<div class="row"><div class="col"><hr class="my-1"></div></div>
<div class="row">
<div class="col">
<div class="badge bg-danger text-white text-wrap">
<p class="h6 mb-3">PROSES INI AKAN SEKALIGUS MENGUBAH SEMUA HAK AKSES DATA E-PLANNING OLEH OPD SESUAI TAHUN TERPILIH.</p>
</div>
</div>
</div>');
} else if ( $data == "detail" ) {
if ( in_array($mode, ["save","save-all"]) ) {
$hak_renja1 = Param::Get("Hak_Renja1", 0);
$hak_renja2 = Param::Get("Hak_Renja2", 0);
if ( $mode=="save" ) {
if ($id == 0) {
$db->Query("INSERT INTO sippd_akses_sip (Tahun,OPDID,UserID) VALUES ('".$tahun."','".$id_opd."','".user_id()."')");
$id = $db->LastInsertID();
}
} else if ( $mode=="save-all" ) {
$db->Query("INSERT INTO sippd_akses_sip (Tahun,OPDID,UserID) SELECT '".$tahun."',OPDID,'".user_id()."' FROM para90_opd WHERE Aktif=1 AND IV=0 AND OPDID NOT IN (SELECT OPDID FROM sippd_akses_sip WHERE Tahun='".$tahun."')");
}
$db->Query("UPDATE sippd_akses_sip SET Hak_Renja1='".$hak_renja1."',Hak_Renja2='".$hak_renja2."',UserID='".user_id()."' WHERE ".($mode=="save"?"SIPOPDID='".$id."'":"Tahun='".$tahun."'"));
}
$tcari = trim(Param::Get("Cari_OPD"));
$tsql = ($tcari=="") ? "" : " WHERE CONCAT(O.K_OPD,O.N_OPD) LIKE '%".$tcari."%'";
$obj = new Table($db);
$obj->set_query("SELECT O.OPDID,O.K_OPD,O.N_OPD,IFNULL(A.SIPOPDID,0) SIPOPDID,IFNULL(A.Tahun,'".$tahun."') Tahun,IFNULL(A.Hak_Renja1,1) Hak_Renja1,IFNULL(A.Hak_Renja2,1) Hak_Renja2 FROM (SELECT * FROM para90_opd WHERE Aktif=1 AND IV=0 ORDER BY OPDID) O LEFT JOIN (SELECT * FROM sippd_akses_sip WHERE Tahun='".$tahun."' ORDER BY OPDID) A ON (O.OPDID=A.OPDID)".$tsql);
$obj->add_field("OPDID", "ID", "hid");
$obj->add_field("SIPOPDID", "ID", "hid");
$obj->add_field("Tahun", "Tahun", "c");
$obj->add_field("K_OPD", "Kode", "c");
$obj->add_field("N_OPD", "Nama OPD", "awr");
$obj->add_field("Hak_Renja1", "Renja Awal", "c", "checkbox");
$obj->add_field("Hak_Renja2", "Renja", "c", "checkbox");
$obj->set_field_order("K_OPD", "A");
$obj->add_row_btn("clipboard", "Ubah", "TAksesSJS.detail_ubah");
$obj->set_func_navi("TAksesSJS.data_query('detail')");
$ajson[] = $obj->json_table("divDetail");
} else if ( $data == "default") {
$form = new Form($db);
$op_tahun = $form->option("Tahun", "Tahun", $tahun, true, true, tahun_ang("Tahun "), "", "TAksesSJS.oc_Tahun()");
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Daftar Akses Data e-Planning</div><div class="card-body">
<div class="row mb-1">
<div class="col-md-8 col-sm-12"><div class="input-group"><input class="form-control" id="Cari_OPD" name="Cari_OPD" 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 class="col-md-4 col-sm-12 mt-2 mt-sm-0"><div class="input-group">'.$op_tahun.'<button class="btn btn-info shadow-none" type="button" id="butUpAll">Ubah Semua</button></div></div>
</div>
<div id="divDetail">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>