validasi kinerja

This commit is contained in:
2026-09-15 12:27:07 +07:00
parent ec23a94764
commit b28dc2f936
7 changed files with 1251 additions and 3 deletions
+41 -1
View File
@@ -42,7 +42,7 @@ $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"]) ) {
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-eviden","tabel-akun","detail-prog","detail-keg","detail-sub"]) ) {
$qsql = " Tahun='".$thn_data."'";
if ( $data == "tabel-opd" ) {
@@ -55,6 +55,8 @@ if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-ak
$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."'";
} else if ( $data == "tabel-eviden" ) {
$qsql .= " AND OPDID='".$id_opd."' AND DPASubID='".$id_dpa_sub."'";
}
if ($bln_data == 1) {
@@ -318,6 +320,32 @@ if ( $data == "tabel-opd" ) {
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divAKUN");
} else if ( $data == "tabel-eviden" ) {
if ($mode_detail=="delete") {
$db->Query("UPDATE dpa_sub_eviden SET Aktif=0 WHERE Tahun='".$thn_data."' AND OPDID='".$id_opd."' AND DPAEvidenID='".Param::Get("DPAEvidenID",0)."' LIMIT 1");
}
$tbl_evi = '<table id="tabelEviden" class="table table-striped table-bordered table-hover" data-order=\'[[0,"asc"]]\'><thead><tr><th class="hid">ID</th><th>TW</td><th>Dokumen Eviden</th><th>Ukuran</th><th class="sorting_disabled">Aksi</th></tr></thead><tbody>';
$db->Query("SELECT * FROM dpa_sub_eviden WHERE ".$qsql." AND Aktif=1");
while ($db->Next()){
$afile = explode(".", $db->Row("Eviden_File"));
if (in_array($afile[1], ["png","jpg","jpeg"])) {
$evi_link = '<a class="table-icon" title="Dokumen" href="'.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Eviden_File").'" data-lightbox="dokumen"><i class="bi-file-image"></i></a>';
} else if ($afile[1]=="pdf") {
$evi_link = '<a class="table-icon" title="Dokumen" onclick="KinerjaJS.eviden_open_pdf(\''.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Eviden_File").'\');"><i class="bi-file-pdf"></i></a>';
} else {
$evi_link = '<a class="table-icon" title="Dokumen" onclick="KinerjaJS.eviden_open_doc(\''.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Eviden_File").'\');"><i class="bi-file-x"></i></a>';
}
if ((int) $db->Row("B_Valid", 0) == 0) {
$evi_link .= '<a class="table-icon" title="Hapus" onclick="KinerjaJS.eviden_hapus('.$db->Row("DPAEvidenID").',\''.$db->Row("Eviden_Name").'\');"><i class="bi-trash"></i></a>';
}
$ctt_bpd = (empty($db->Row("B_Catatan"))) ? '' : '<br><strong>Catatan Baperida: </strong><i>'.$db->Row("B_Catatan").'</i>';
$tbl_evi .= 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("DPAEvidenID"), $db->Row("TW"), $db->Row("Eviden_Name"), $db->Row("Eviden_Name").$ctt_bpd, $db->Row("Eviden_Size"), $evi_link);
}
$tbl_evi .= '</tbody></table>';
$ajson['html'] = $tbl_evi;
$ajson['toolbar'] = "";
} else if ( $data == "detail-prog" ) {
$arec = [];
$db->Query("SELECT * FROM dpa_prog WHERE Tahun='".$thn_data."' AND DPAProgID='".$id_dpa_prog."' LIMIT 1");
@@ -356,6 +384,7 @@ if ( $data == "tabel-opd" ) {
$tstatus = $form->textbox('_', "Status_Indi", ucfirst($arec['Status_Indi']), false, false);
$tsumb = $form->textbox('_', 'Sumber_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['Sumber_Data'], $tw_en, true, 'text', 'sumber data capaian / link / informasi pendukung');
$tcatat = $form->textbox('_', 'Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['Catatan'], $tw_en, true, 'text', 'catatan atau kendala, jika ada');
$tcatatbpd = $form->textbox('_', 'CatatB_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['B_Catatan'], false, false, 'text');
$tcapaian = "";
for ($_tw = 1; $_tw < $tw_data; $_tw++) {
$tcapaian .= ' / TW'.$_tw.' : '.$db->Row("Real_TW".$_tw);
@@ -384,6 +413,10 @@ if ( $data == "tabel-opd" ) {
<label class="col-sm-4 col-lg-2 col-form-label" for="Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'].'">Catatan / Kendala</label>
<div class="col">'.$tcatat.'</div>
</div>
<div class="row'.(empty($arec['B_Catatan'])?' d-none':'').'">
<label class="col-sm-4 col-lg-2 col-form-label">Catatan Bapperida</label>
<div class="col">'.$tcatatbpd.'</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>
@@ -484,6 +517,13 @@ if ( $data == "tabel-opd" ) {
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">Daftar Dokumen Eviden</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 id="divEviden"></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">
+157
View File
@@ -0,0 +1,157 @@
<?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 (siaupheng@3fonia.com).
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">&nbsp;</div>
<div id="divMATRIK">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>
+528
View File
@@ -0,0 +1,528 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/valid/kinerja.php
Desc. : PHP - Validasi Realisasi Kinerja OPD
Created By : Siau Pheng (siaupheng@3fonia.com).
Created Date : December 7th, 2011.
Last Modified : September 7th, 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");
$bln_en = Param::Get("Hak_Bln", 0);
$tw_en = Param::Get("Hak_Tw", 0);
$id_rpjmd = $_SESSION['__WEB_APP']['REAL_RPJMDID'];
$thn_data = $_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);
$id_dpa_sub = Param::Get("DPASubID", 0);
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-eviden","detail-prog","detail-sub"]) ) {
$qsql = " Tahun='".$thn_data."'";
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" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
} else if ( $data == "detail-sub" ) {
$qsql .= " AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' AND SubID='".$id_sub."'";
} else if ( $data == "detail-eviden" ) {
$qsql .= " AND OPDID='".$id_opd."' AND DPASubID='".$id_dpa_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_bln = "0"; $f_tw = "0";
if (in_array($_SESSION['__WEB_USER']['Level'],[0,1])) {
$f_bln = "1"; $f_tw = "1";
} else if (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) {
$f_bln = "IFNULL(H.Hak_Kin_B".isi_nol($bln_data,2).",1)"; $f_tw = "IFNULL(H.Hak_Kin_T".$tw_data.",1)";
}
$obj = new Table($db);
$obj->set_query("SELECT K.*,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_bln." Hak_Bln,".$f_tw." Hak_Tw 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 dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID) GROUP BY A.OPDID) K LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$thn_data."') 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 dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT 1 OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa_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_Bln", "Hak Bln", "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("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
//$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "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", "ValidKinerjaJS.opd_select");
$obj->set_func_navi("ValidKinerjaJS.data_query('tabel-opd')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divOPD");
} else if ( $data == "tabel-prog" ) {
if ($mode_detail=="update") {
$aparam = Param::Get_Array(); $_sql = [];
foreach($aparam as $key => $val) {
if (strpos($key, "B_Catat_TW_") !== false) {
$aid = explode("_", str_replace("B_Catat_TW_","",$key));
$_sql[$aid[1]][] = 'B_Catatan=\''.$val.'\'';
}
}
if (count($_sql) > 0) {
foreach ($_sql as $id => $val) {
$db->Query("UPDATE dpa_prog_indi SET ".implode(',', $val)." WHERE Tahun='".$thn_data."' AND DPAProgIndiID='".$id."' LIMIT 1");
}
}
}
$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 dpa_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 dpa_prog_indi WHERE ".$qsql." GROUP BY ProgID) I ON (I.ProgID=A.ProgID) LEFT JOIN (SELECT ProgID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY ProgID) B ON (B.ProgID=A.ProgID) LEFT JOIN (SELECT *,Real_TW".$tw_data." Kinerja_Ini FROM dpa_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 dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa_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");
//$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "r nwr", "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", "ValidKinerjaJS.prog_real", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
$obj->add_row_btn("check-circle", "Validasi", "ValidKinerjaJS.prog_real");
$obj->add_row_btn("folder", "Kegiatan", "ValidKinerjaJS.prog_select");
$obj->set_func_navi("ValidKinerjaJS.data_query('tabel-prog')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divPROG");
} else if ( $data == "tabel-keg" ) {
$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 FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT KegID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY KegID) B ON (B.KegID=A.KegID) GROUP BY A.KegID) K LEFT JOIN (SELECT * FROM dpa_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 dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT ProgID,SUM(Renc_Keu) TOT_PAGU FROM dpa_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");
//$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "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("folder", "Sub Kegiatan", "ValidKinerjaJS.keg_select");
$obj->set_func_navi("ValidKinerjaJS.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("dpa_sub");
$sql->add_param("Real_Catatan");
$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_data);
$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");
}*/
$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.Real_KF>0,0,1)) CSS_INDI FROM (SELECT * FROM dpa_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 dpa_sub_output WHERE ".$qsql." GROUP BY SubID) I ON (I.SubID=A.SubID) LEFT JOIN (SELECT SubID,SUM(Renc_Keu) TOT_PAGU,GREATEST(RealK_TW".$tw_data.",RealF_TW".$tw_data.") Real_KF FROM dpa_sub WHERE".$qsql." GROUP BY SubID) B ON (B.SubID=A.SubID) GROUP BY A.SubID) K LEFT JOIN (SELECT * FROM dpa_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 dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT KegID,SUM(Renc_Keu) TOT_PAGU FROM dpa_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");
//$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "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", "ValidKinerjaJS.sub_ubah", "", "", "CSS_INDI", [0=>"success",1=>"warning",2=>"danger"]);
//$obj->add_row_btn("folder", "Akun", "ValidKinerjaJS.sub_select");
$obj->add_row_btn("check-circle", "Validasi", "ValidKinerjaJS.sub_ubah");
$obj->set_func_navi("ValidKinerjaJS.data_query('tabel-sub')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divSUB");
} else if ( $data == "tabel-eviden" ) {
if ($mode_detail === "update") {
$sql = new SQL($db);
$sql->set_table("dpa_sub_eviden");
$sql->add_param("B_Catatan");
$sql->add_param("B_Valid");
$sql->add_where("Tahun", $thn_data);
$sql->add_where("DPAEvidenID");
$sql->UpdateDB();
}
$tbl_evi = '<table id="tabelEviden" class="table table-striped table-bordered table-hover" data-order=\'[[0,"asc"]]\'><thead><tr><th class="hid">ID</th><th>TW</td><th>Dokumen Eviden</th><th>Ukuran</th><th class="sorting_disabled">Aksi</th></tr></thead><tbody>';
$db->Query("SELECT * FROM dpa_sub_eviden WHERE ".$qsql." AND Aktif=1");
while ($db->Next()){
$afile = explode(".", $db->Row("Eviden_File"));
if (in_array($afile[1], ["png","jpg","jpeg"])) {
$evi_link = '<a class="table-icon" title="Dokumen" href="'.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Eviden_File").'" data-lightbox="dokumen"><i class="bi-file-image"></i></a>';
} else if ($afile[1]=="pdf") {
$evi_link = '<a class="table-icon" title="Dokumen" onclick="ValidKinerjaJS.eviden_open_pdf(\''.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Eviden_File").'\');"><i class="bi-file-pdf"></i></a>';
} else {
$evi_link = '<a class="table-icon" title="Dokumen" onclick="ValidKinerjaJS.eviden_open_doc(\''.$_SESSION['__WEB_APP']['WEB_PATH'].'dokumen/'.$db->Row("Eviden_File").'\');"><i class="bi-file-x"></i></a>';
}
$evi_link .= '<a class="table-icon fon-tabel-dt" title="Validasi"><i class="bi-check2"></i></a>';
$tbl_evi .= 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("DPAEvidenID"), $db->Row("TW"), $db->Row("Eviden_Name"), $db->Row("Eviden_Name"), $db->Row("Eviden_Size"), $evi_link);
}
$tbl_evi .= '</tbody></table>';
$ajson['html'] = $tbl_evi;
$ajson['toolbar'] = "";
} else if ( $data == "detail-prog" ) {
$arec = [];
$db->Query("SELECT * FROM dpa_prog WHERE Tahun='".$thn_data."' 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());
}
echo '
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Program</label>
<div class="col"><textarea class="form-control" disabled="true" rows="2">'.$arec['N_Prog'].'</textarea></div>
</div>
<div class="row mb-1">
<div class="col"><h5 class="text-center">Capaian Indikator Program</h5></div>
</div>';
$db->Query("SELECT I.*,IFNULL(T.P_Input,'{}') P_Input FROM (SELECT *,func_tipedata(TipeDataID,Target_Indi) Target_Indi2 FROM dpa_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()) {
$arec = $db->AllRow();
$_p_input = (($arec['TipeDataID'] ?? 0) > 0) ? json_decode($arec['P_Input'] ?? '{}', true) : [];
$_val_cap1 = $arec['Real_TW1'];
$_val_cap2 = $arec['Real_TW2'];
$_val_cap3 = $arec['Real_TW3'];
$_val_cap4 = $arec['Real_TW4'];
$tcss1 = 'border '.(empty($_val_cap1)?'border-danger':'border-success').' rounded';
$tcss2 = 'border '.(empty($_val_cap2)?'border-danger':'border-success').' rounded';
$tcss3 = 'border '.(empty($_val_cap3)?'border-danger':'border-success').' rounded';
$tcss4 = 'border '.(empty($_val_cap4)?'border-danger':'border-success').' rounded';
$form = new Form($db);
$tindi = $form->textarea('_', 'Text_Indi', $arec['Text_Indi']." (".$arec['Satuan_Indi'].')', false, false, 2);
$ttarget = '<input type="text" class="form-control" value="'.$db->Row("Target_Indi2").'" readonly="">';
$treal1 = tipedata_select("Prog_TW_1_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap1, false, $_p_input, $tcss1);
$treal2 = tipedata_select("Prog_TW_2_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap2, false, $_p_input, $tcss2);
$treal3 = tipedata_select("Prog_TW_3_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap3, false, $_p_input, $tcss3);
$treal4 = tipedata_select("Prog_TW_4_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap4, false, $_p_input, $tcss4);
$tstatus = $form->textbox('_', "Status_Indi", ucfirst($arec['Status_Indi']), false, false);
$tsumb = $form->textbox('_', 'Sumber_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['Sumber_Data'], false, false, 'text');
$tcatat = $form->textbox('_', 'Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['Catatan'], false, false, 'text');
$tbcatat = $form->textbox('_', 'B_Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['B_Catatan'], true, true, 'text', 'catatan dari bapperida');
echo '
<div class="card mb-2"><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-4">'.$ttarget.'</div>
<div class="col"><div class="input-group"><span class="input-group-text">Status Indikator</span>'.$tstatus.'</div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Capaian Indikator</label>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 1</span>'.$treal1.'</div></div></div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 3</span>'.$treal3.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">&nbsp;</label>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 2</span>'.$treal2.'</div></div></div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 4</span>'.$treal4.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sumber_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'].'">Sumber Data / Eviden</label>
<div class="col">'.$tsumb.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'].'">Catatan / Kendala</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_Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'].'">Catatan Bapperida</label>
<div class="col">'.$tbcatat.'</div>
</div>
</div></div>';
}
echo '<input type="hidden" id="DPAProgID" value="'.$id_dpa_prog.'">';
} else if ( $data == "detail-sub" ) {
$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 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());
$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'], false, true, 1);
$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">
<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>';
$aoutput = ['DPASubOutputID'=>0, 'Text_Output'=>"", 'Sasaran_Output'=>"", 'Status_Output'=>"", 'Target_Output'=>"", 'Satuan_Output'=>""];
$db->Query("SELECT * FROM dpa_sub_output WHERE ".$qsql);
if ($db->Next()) $aoutput = array_merge($aoutput, $db->AllRow());
foreach ($aoutput as $key => &$val) {
if (strpos($key, "Real_TW")!==false) $val = (int) $val;
}
unset($val);
$aoutput["Real_TW1"] = (empty($aoutput["Real_TW1"])) ? '-' : (string) $aoutput["Real_TW1"]." ".$aoutput['Satuan_Output'];
$aoutput["Real_TW2"] = (empty($aoutput["Real_TW2"])) ? '-' : (string) $aoutput["Real_TW2"]." ".$aoutput['Satuan_Output'];
$aoutput["Real_TW3"] = (empty($aoutput["Real_TW3"])) ? '-' : (string) $aoutput["Real_TW3"]." ".$aoutput['Satuan_Output'];
$aoutput["Real_TW4"] = (empty($aoutput["Real_TW4"])) ? '-' : (string) $aoutput["Real_TW4"]." ".$aoutput['Satuan_Output'];
$tindi = $form->textarea("_", "Text_Indi", $aoutput['Text_Output'], false, false, 1);
$tsasar = $form->textbox("_", "Sasaran_Output", $aoutput['Sasaran_Output'], false, false, "text");
$tstatus = $form->textbox("_", "Status_Indi", ucfirst($aoutput['Status_Output']), false, false, "text");
$ttarget = $form->textbox("_", "Target_Indi", (int) $aoutput['Target_Output']." ".$aoutput['Satuan_Output'], false, false, "text");
$treal1 = $form->textbox("_", "Real_TW1", $aoutput["Real_TW1"], false, false, "text");
$treal2 = $form->textbox("_", "Real_TW2", $aoutput["Real_TW2"], false, false, "text");
$treal3 = $form->textbox("_", "Real_TW3", $aoutput["Real_TW3"], false, false, "text");
$treal4 = $form->textbox("_", "Real_TW4", $aoutput["Real_TW4"], false, false, "text");
echo '
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-2">
<label class="col-sm-4 col-lg-2 col-form-label">Tolok Ukur Output</label>
<div class="col">'.$tindi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label" for="Sasaran_Output">Kelompok Sasaran</label>
<div class="col">'.$tsasar.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Target</label>
<div class="col-sm-6 col-lg-4">'.$ttarget.'</div>
<div class="col-sm-8 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">Status Output</span>'.$tstatus.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Realisasi</label>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 1</span>'.$treal1.'</div></div></div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 3</span>'.$treal3.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">&nbsp;</label>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 2</span>'.$treal2.'</div></div></div>
<div class="col-sm-4 col-lg-4"><div class="form-group"><div class="input-group"><span class="input-group-text">TW 4</span>'.$treal4.'</div></div></div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Catatan / Kendala</label>
<div class="col">'.$tcatatan.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div id="divEviden"></div>
<div class="row mt-2"><div class="col">'.$tinfo.'</div></div>
<input type="hidden" id="SubID" value="'.$adetail['SubID'].'">
<input type="hidden" id="DPASubID" value="'.$adetail['DPASubID'].'">
<input type="hidden" id="DPASubOutputID" value="'.$aoutput['DPASubOutputID'].'">';
} else if ( $data == "detail-eviden" ) {
$arec = [];
$id_dpa_eviden = Param::Get("DPAEvidenID", 0);
if ($id_dpa_eviden > 0) {
$db->Query("SELECT * FROM dpa_sub_eviden WHERE DPAEvidenID='".$id_dpa_eviden."' 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="butBatalEviden">Batal</button><button type="button" class="btn btn-success" id="butSimpanEviden">Simpan</button></div>
</div>
<input type="hidden" id="DPAEvidenID" value="'.$arec['DPAEvidenID'].'">
</div></div>';
} else if ( $data === "default" ) {
echo '
<div class="fade-in">
<div class="card"><div class="card-header custom-style">Validasi Data Realisasi Kinerja Renja OPD // Bulan '.bulan_array()[$bln_data].' '.$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="Hak_Bln" type="hidden" value="1">
<input id="Hak_Tw" 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 id="divOPD">&nbsp;</div>
<div id="divPROG">&nbsp;</div>
<div id="divKEG">&nbsp;</div>
<div id="divSUB">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>