Files
emonev/apps/php/mon/kinerja.php
T

670 lines
45 KiB
PHP

<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/kinerja.php
Desc. : PHP - Kelola Realisasi Kinerja OPD
Created By : Siau Pheng ([email protected]).
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-akun","detail-prog","detail-keg","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" || $data == "detail-keg" ) {
$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."'";
}
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", "KinerjaJS.opd_select");
$obj->set_func_navi("KinerjaJS.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, "Prog_TW_") !== false) {
$aid = explode("_", str_replace("Prog_TW_","",$key));
$_sql[$aid[1]][] = 'Real_TW'.$aid[0].'=\''.($val=='0:0'?'':$val).'\'';
$_sql[$aid[1]][] = 'Poin_TW'.$aid[0].'=\''.tipedata_poin($val).'\'';
}
if (strpos($key, "Sumber_TW_") !== false) {
$aid = explode("_", str_replace("Sumber_TW_","",$key));
$_sql[$aid[1]][] = 'Sumber_Data=\''.$val.'\'';
}
if (strpos($key, "Catat_TW_") !== false) {
$aid = explode("_", str_replace("Catat_TW_","",$key));
$_sql[$aid[1]][] = '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");
}
}
$q_poin = "IF(TipeDataID<2,Poin_TW1,Poin_TW1)";
if ($tw_data == 2) {
$q_poin = "IF(TipeDataID<2,IF(Status_Indi='komulatif',Poin_TW1+Poin_TW2,IF(Status_Indi='rata-rata',(Poin_TW1+Poin_TW2)/2,Poin_TW2)),Poin_TW2)";
} else if ($tw_data == 3) {
$q_poin = "IF(TipeDataID<2,IF(Status_Indi='komulatif',Poin_TW1+Poin_TW2+Poin_TW3,IF(Status_Indi='rata-rata',(Poin_TW1+Poin_TW2+Poin_TW3)/3,Poin_TW3)),Poin_TW3)";
} else if ($tw_data == 4) {
$q_poin = "IF(TipeDataID<2,IF(Status_Indi='komulatif',Poin_TW1+Poin_TW2+Poin_TW3+Poin_TW4,IF(Status_Indi='rata-rata',(Poin_TW1+Poin_TW2+Poin_TW3+Poin_TW4)/4,Poin_TW4)),Poin_TW4)";
}
$db->Query("UPDATE dpa_prog A,(SELECT ProgID,IF(Poin_Target=0,0,AVG(".$q_poin."/Poin_Target)*100) Poin FROM dpa_prog_indi WHERE Tahun='".$thn_data."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' GROUP BY ProgID) B SET A.Real_TW".$tw_data."=B.Poin WHERE A.DPAProgID='".$id_dpa_prog."'");
}
$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", "KinerjaJS.prog_real", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Kegiatan", "KinerjaJS.prog_select");
$obj->set_func_navi("KinerjaJS.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", "KinerjaJS.keg_select");
$obj->set_func_navi("KinerjaJS.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", "KinerjaJS.sub_ubah", "", "", "CSS_INDI", [0=>"success",1=>"warning",2=>"danger"]);
$obj->add_row_btn("folder", "Akun", "KinerjaJS.sub_select");
$obj->set_func_navi("KinerjaJS.data_query('tabel-sub')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divSUB");
} else if ( $data == "tabel-akun" ) {
if ($mode_detail=="update") {
$sql = new SQL($db);
$sql->set_table("dpa_akun");
$sql->add_param("RealK_B".$bln_data, Param::Get("RealK_Bln",0));
$sql->add_param("RealF_B".$bln_data, Param::Get("RealF_Bln",0));
$sql->add_param("RealN_B".$bln_data, Param::Get("RealN_Bln",0));
$sql->add_param("Real_Keu", "RealK_B1+RealK_B2+RealK_B3+RealK_B4+RealK_B5+RealK_B6+RealK_B7+RealK_B8+RealK_B9+RealK_B10+RealK_B11+RealK_B12", true);
$sql->add_param("Real_Fisik", "GREATEST(RealF_B1,RealF_B2,RealF_B3,RealF_B4,RealF_B5,RealF_B6,RealF_B7,RealF_B8,RealF_B9,RealF_B10,RealF_B11,RealF_B12)", true);
$sql->add_param("Real_Non", "GREATEST(RealN_B1,RealN_B2,RealN_B3,RealN_B4,RealN_B5,RealN_B6,RealN_B7,RealN_B8,RealN_B9,RealN_B10,RealN_B11,RealN_B12)", true);
$sql->add_param_stamp("Real_Stamp");
$sql->add_param_userid("Real_UserID");
$sql->add_where("Tahun", $thn_data);
$sql->add_where("DPAAkunID", Param::Get("DPAAkunID",0));
$sql->UpdateDB();
// update sub
$db->Query("UPDATE dpa_sub A, (SELECT SubID,SUM(Real_Keu) P1,SUM(RealK_B1+RealK_B2+RealK_B3) K1,SUM(RealK_B4+RealK_B5+RealK_B6) K2,SUM(RealK_B7+RealK_B8+RealK_B9) K3,SUM(RealK_B10+RealK_B11+RealK_B12) K4,GREATEST(RealF_B1,RealF_B2,RealF_B3) F1,GREATEST(RealF_B4,RealF_B5,RealF_B6) F2,GREATEST(RealF_B7,RealF_B8,RealF_B9) F3,GREATEST(RealF_B10,RealF_B11,RealF_B12) F4,GREATEST(RealN_B1,RealN_B2,RealN_B3) N1,GREATEST(RealN_B4,RealN_B5,RealN_B6) N2,GREATEST(RealN_B7,RealN_B8,RealN_B9) N3,GREATEST(RealN_B10,RealN_B11,RealN_B12) N4 FROM dpa_akun WHERE Tahun='".$thn_data."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."' GROUP BY SubID) B SET A.Real_Keu=B.P1,A.RealK_TW1=B.K1,A.RealK_TW2=B.K2,A.RealK_TW3=B.K3,A.RealK_TW4=B.K4,A.RealF_TW1=B.F1,A.RealF_TW2=B.F2,A.RealF_TW3=B.F3,A.RealF_TW4=B.F4,A.RealN_TW1=B.N1,A.RealN_TW2=B.N2,A.RealN_TW3=B.N3,A.RealN_TW4=B.N4 WHERE A.SubID=B.SubID AND A.Tahun='".$thn_data."' AND A.OPDID='".$id_opd."' AND A.ProgID='".$id_prog."' AND A.KegID='".$id_keg."'");
// update keg
$db->Query("UPDATE dpa_keg A, (SELECT KegID,SUM(Real_Keu) P1 FROM dpa_sub WHERE Tahun='".$thn_data."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' GROUP BY KegID) B SET A.Real_Keu=B.P1 WHERE A.KegID=B.KegID AND A.Tahun='".$thn_data."' AND A.OPDID='".$id_opd."' AND A.ProgID='".$id_prog."'");
// update prog
$db->Query("UPDATE dpa_prog A, (SELECT ProgID,SUM(Real_Keu) P1 FROM dpa_keg WHERE Tahun='".$thn_data."' AND OPDID='".$id_opd."' GROUP BY ProgID) B SET A.Real_Keu=B.P1 WHERE A.ProgID=B.ProgID AND A.Tahun='".$thn_data."' AND A.OPDID='".$id_opd."'");
}
$obj = new Table($db);
$obj->set_query("SELECT A.*,A.Renc_Keu TOT_PAGU,".$q_keu_lalu." REAL_LALU,".$q_keu_ini." REAL_TOTAL,(".$q_keu_ini."/A.Renc_Keu)*100 REAL_PSN,GREATEST".$q_fis_ini." REAL_FISIK,GREATEST".$q_non_ini." REAL_NON,M.N_Akun FROM (SELECT * FROM dpa_akun WHERE ".$qsql.") A LEFT JOIN (SELECT * FROM para90_akun WHERE Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."') M ON (M.AkunID=A.AkunID)");
$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 SubID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY SubID) B ON (B.SubID=A.SubID)");
$obj->add_field("DPAAkunID", "ID", "hid");
$obj->add_field("K_Akun", "Kode", "c");
$obj->add_field("N_Akun", "Nama Akun", "awr");
$obj->add_field("TOT_PAGU", "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("Real_Stamp", "Update", "c nwr", "sqljams", "", "val-tgljams");
$obj->set_field_order("K_Akun", "A");
if ($bln_en) {
$obj->add_row_btn("clipboard", "Realisasi", "KinerjaJS.akun_ubah");
} else {
$obj->add_row_btn("clipboard", "Detail", "KinerjaJS.akun_ubah");
}
$obj->set_func_navi("KinerjaJS.data_query('tabel-akun')");
$obj->set_textbtn(true);
$ajson[] = $obj->json_table("divAKUN");
} 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_cap = $arec['Real_TW'.$tw_data];
$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);
$ttarget = '<input type="text" class="form-control" value="'.$db->Row("Target_Indi2").'" readonly="">';
$treal = tipedata_select("Prog_TW_".$tw_data."_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap, $tw_en, $_p_input, $tcss);
$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');
$tcapaian = "";
for ($_tw = 1; $_tw < $tw_data; $_tw++) {
$tcapaian .= ' / TW'.$_tw.' : '.$db->Row("Real_TW".$_tw);
}
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-6 col-lg-4">'.$treal.'</div>
<div class="col"><button class="btn btn-outline-secondary shadow-none text-info" title="Input hanya Capaian per Triwulan '.romawi($tw_data).' saja."><i class="bi-lightbulb"></i></button></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'.($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>
</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 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");
if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
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, 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['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>
<div class="accordion" id="accorDPAReal">
<div class="accordion-item">
<h2 class="accordion-header" id="flush-one"><button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#flush-coll-one" aria-controls="flush-coll-one" aria-expanded="true">Kinerja Indikator Output</button></h2>
<div id="flush-coll-one" class="accordion-collapse collapse show" aria-labelledby="flush-head-one" data-bs-parent="#accorDPAReal">
<div class="accordion-body">';
$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());
$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");
$treal = $form->textbox("_", "Real_TW", (int) $aoutput["Real_TW".$tw_data], $bln_en, true, "integer");
echo '
<div class="card"><div class="card-body">
<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">Status Output</label>
<div class="col-sm-6 col-lg-4">'.$tstatus.'</div>
</div>
<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-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">
<div class="accordion-body">
<div class="card"><div class="card-body">
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_No_Kontrak">Nomor Kontrak</label>
<div class="col">'.$tno_kontr.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-5 col-lg-3 col-form-label" for="Real_Pelaksana">Nama Pelaksana</label>
<div class="col">'.$tpelak.'</div>
</div>
</div></div>
</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'].'">';
} else if ( $data == "detail-akun" ) {
$id_dpa_akun = Param::Get("DPAAkunID", 0);
$adetail = ['Real_User'=>""];
$db->Query("SELECT D.*,A.N_Akun FROM (SELECT * FROM dpa_akun WHERE Tahun='".$thn_data."' AND DPAAkunID='".$id_dpa_akun."' LIMIT 1) D LEFT JOIN para90_akun A ON (D.AkunID=A.AkunID AND A.Tahun='".$_SESSION['__WEB_APP']['AKUN_TAHUN']."')");
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());
$realK_las = 0; $realK_tot = 0; $realF_las = 0; $realF_tot = 0; $realN_las = 0; $realN_tot =0;
for ($x=1; $x<=$bln_data; $x++) {
if ($x<$bln_data) {
$realK_las += $adetail['RealK_B'.$x];
$realF_las = max($adetail['RealF_B'.$x], $realF_las);
$realN_las = max($adetail['RealN_B'.$x], $realN_las);
}
$realK_tot += $adetail['RealK_B'.$x];
$realF_tot = max($adetail['RealF_B'.$x], $realF_las);
$realN_tot = max($adetail['RealN_B'.$x], $realN_las);
}
$form = new Form($db);
$f_kakun = $form->textbox("_", "K_Akun", $adetail['K_Akun'], false, false, "text");
$f_akun = $form->textarea("_", "N_Akun", $adetail['N_Akun'], false, false, 2);
$f_pagu = $form->textbox("_", "Pagu_Ini", $adetail['Renc_Keu'], false, false, "double");
$f_k_las = $form->textbox("_", "RealK_Las", $realK_las, false, false, "double");
$f_k_bln = $form->textbox("_", "RealK_Bln", $adetail['RealK_B'.$bln_data], false, false, "double");
$f_k_tot = $form->textbox("_", "RealK_Tot", $realK_tot, $bln_en, $bln_en, "double");
$f_f_las = $form->textbox("_", "RealF_Las", $realF_las, false, false, "double");
$f_f_bln = $form->textbox("_", "RealF_Bln", $realF_tot, false, false, "double");
$f_f_tot = $form->textbox("_", "RealF_Tot", $realF_tot, $bln_en, $bln_en, "double");
$f_n_las = $form->textbox("_", "RealN_Las", $realN_las, false, false, "double");
$f_n_bln = $form->textbox("_", "RealN_Bln", $realN_tot, false, false, "double");
$f_n_tot = $form->textbox("_", "RealN_Tot", $realN_tot, $bln_en, $bln_en, "double");
$tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".$adetail['Real_User'].", pada : ".tgl_sql2str($adetail['Real_Stamp'], true), false, false);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Kode Akun</label>
<div class="col-sm-6 col-lg-4">'.$f_kakun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Nama Akun</label>
<div class="col">'.$f_akun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-2 col-form-label">Kontrak/Swakelola</label>
<div class="col-sm-4"><div class="form-group"><div class="input-group"><span class="input-group-text">Rp</span>'.$f_pagu.'</div></div></div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1 text-center font-weight-bold">
<div class="col-6 col-lg-2">&nbsp;</div>
<div class="col-6 col-lg-3">S/D BULAN LALU</div>
<div class="col-6 col-lg-3">BULAN '.strtoupper(bulan_array()[$bln_data]).'&nbsp;'.$thn_data.'</div>
<div class="col-6 col-lg-4">S/D BULAN '.strtoupper(bulan_array()[$bln_data]).' '.$thn_data.'</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Keuangan</div>
<div class="col-6 col-lg-3">'.$f_k_las.'</div>
<div class="col-6 col-lg-3">'.$f_k_bln.'</div>
<div class="col-6 col-lg-4">
<div class="form-group"><div class="input-group"><span class="input-group-text">Rp</span>'.$f_k_tot.'</div></div>
</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Fisik</div>
<div class="col-6 col-lg-3">'.$f_f_las.'</div>
<div class="col-6 col-lg-3">'.$f_f_bln.'</div>
<div class="col-6 col-lg-4">
<div class="form-group"><div class="input-group"><span class="input-group-text">%</span>'.$f_f_tot.'</div></div>
</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Non-Fisik</div>
<div class="col-6 col-lg-3">'.$f_n_las.'</div>
<div class="col-6 col-lg-3">'.$f_n_bln.'</div>
<div class="col-6 col-lg-4">
<div class="form-group"><div class="input-group"><span class="input-group-text">%</span>'.$f_n_tot.'</div></div>
</div>
</div>
<div class="row mb-1"><div class="col">'.$tinfo.'</div></div>
<input type="hidden" id="AkunID" value="'.$adetail['AkunID'].'">
<input type="hidden" id="DPAAkunID" value="'.$adetail['DPAAkunID'].'">
<input type="hidden" id="REALRP" value="'.$realK_las.'">
<input type="hidden" id="PAGURP" value="'.$adetail['Renc_Keu'].'">';
} 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">
<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 class="row mb-1">
<div class="col">
<div class="input-group">
<input class="form-control" id="Nama_SUB" placeholder="Nama Sub Kegiatan" type="text" readonly>
<input id="SubID" type="hidden" value="0">
<button class="btn btn-info btn-ganti" type="button" id="butSUB"><span><i class="bi-arrow-left-right"></span></i>Sub 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 id="divAKUN">&nbsp;</div>
</div></div>
</div>';
}
send_json($ajson);
?>