637 lines
43 KiB
PHP
637 lines
43 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 : April 14th, 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_renja = $_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);
|
|
|
|
if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-akun","detail-prog","detail-keg","detail-sub"]) ) {
|
|
$qsql = " Tahun='".$thn_renja."'";
|
|
|
|
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_real = (in_array($_SESSION['__WEB_USER']['Level'],[0,1])) ? "1" : "0";
|
|
if (in_array($_SESSION['__WEB_USER']['Level'],[3,4])) {
|
|
$f_real = "IFNULL(H.Hak_Real,1)";
|
|
}
|
|
$obj = new Table($db);
|
|
$obj->set_query("SELECT K.*,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_real." Hak_Real 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 OPDID,Hak_Real FROM sippd_akses_sip WHERE Tahun='".$thn_renja."') 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_Real", "Real", "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();
|
|
foreach($aparam as $key => $val) {
|
|
if (strpos($key, "Prog_TW_") !== false) {
|
|
$aid = explode("_", str_replace("Prog_TW_","",$key));
|
|
$db->Query("UPDATE dpa_prog_indi SET Real_TW".$aid[0]."='".($val=='0:0'?'':$val)."',Poin_TW".$aid[0]."='".tipedata_poin($val)."' WHERE Tahun='".$thn_renja."' AND DPAProgIndiID='".$aid[1]."' LIMIT 1");
|
|
}
|
|
}
|
|
$q_poin = "IF(TipeDataID<2,Poin_TW1,Poin_TW".$tw_data.")";
|
|
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_TW".$tw_data.")),Poin_TW".$tw_data.")";
|
|
} 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_TW".$tw_data.")),Poin_TW".$tw_data.")";
|
|
} 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_TW".$tw_data.")),Poin_TW".$tw_data.")";
|
|
}
|
|
$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_renja."' 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" ) {
|
|
/*if ($mode_detail=="update") {
|
|
$sql = new SQL($db);
|
|
$sql->set_table("dpa_keg");
|
|
$sql->add_param("Real_Kendala");
|
|
$sql->add_param("Real_Tindak");
|
|
$sql->add_param("Real_Bantu");
|
|
$sql->add_param_stamp("Real_Stamp");
|
|
$sql->add_param_userid("Real_UserID");
|
|
$sql->add_where("Tahun", $thn_renja);
|
|
$sql->add_where("DPAKegID", Param::Get("DPAKegID",0));
|
|
$sql->UpdateDB();
|
|
|
|
$aparam = Param::Get_Array();
|
|
foreach($aparam as $key => $val) {
|
|
if (strpos($key, "Keluar_TW_") !== false) {
|
|
$aid = explode("_", str_replace("Keluar_TW_","",$key));
|
|
$db->Query("UPDATE dpa_keg_keluar SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_renja."' AND DPAKegKeluarID='".$aid[1]."' LIMIT 1");
|
|
}
|
|
if (strpos($key, "Hasil_TW_") !== false) {
|
|
$aid = explode("_", str_replace("Hasil_TW_","",$key));
|
|
$db->Query("UPDATE dpa_keg_hasil SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_renja."' AND DPAKegHasilID='".$aid[1]."' LIMIT 1");
|
|
}
|
|
}
|
|
}*/
|
|
|
|
$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("clipboard", "Kinerja", "KinerjaJS.keg_real");
|
|
$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_Kendala");
|
|
//$sql->add_param("Real_Tindak");
|
|
//$sql->add_param("Real_Bantu");
|
|
$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_renja);
|
|
$sql->add_where("DPASubID", Param::Get("DPASubID",0));
|
|
$sql->UpdateDB();
|
|
|
|
$aparam = Param::Get_Array();
|
|
foreach($aparam as $key => $val) {
|
|
if (strpos($key, "Output_TW_") !== false) {
|
|
$aid = explode("_", str_replace("Output_TW_","",$key));
|
|
$db->Query("UPDATE dpa_sub_output SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_renja."' AND DPASubOutputID='".$aid[1]."' LIMIT 1");
|
|
// update kinerja ke dpa_sub
|
|
//$db->Query("UPDATE dpa_sub A, (SELECT IF(Real_TW1=0,0,IF(Target_Output=0,100,Real_TW1/Target_Output*100)) Kin_TW1,IF(Real_TW2=0,0,IF(Target_Output=0,100,Real_TW2/Target_Output*100)) Kin_TW2,IF(Real_TW3=0,0,IF(Target_Output=0,100,Real_TW3/Target_Output*100)) Kin_TW3,IF(Real_TW4=0,0,IF(Target_Output=0,100,Real_TW4/Target_Output*100)) Kin_TW4 FROM dpa_sub_output WHERE Tahun='".$thn_renja."' AND DPASubOutputID='".$aid[1]."' LIMIT 1) B SET A.Kin_TW1=B.Kin_TW1,A.Kin_TW2=B.Kin_TW2,A.Kin_TW3=B.Kin_TW3,A.Kin_TW4=B.Kin_TW4 WHERE A.Tahun='".$thn_renja."' AND DPASubID='".Param::Get("DPASubID",0)."' 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_renja);
|
|
$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_renja."' 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_renja."' 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_renja."' 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_renja."' 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_renja."' AND OPDID='".$id_opd."' GROUP BY ProgID) B SET A.Real_Keu=B.P1 WHERE A.ProgID=B.ProgID AND A.Tahun='".$thn_renja."' 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 ($emon_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_renja."' 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 <strong>Sampai Dengan Triwulan '.romawi($tw_data).'</strong></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()) {
|
|
$_p_input = ($db->Row("TipeDataID", 0) > 0) ? json_decode($db->Row("P_Input", "{}"), true) : [];
|
|
$_val_cap = $db->Row("Real_TW".$tw_data);
|
|
$tindi = '<textarea class="form-control" disabled="true" rows="2">'.$db->Row("Text_Indi")." (".$db->Row("Satuan_Indi").')</textarea>';
|
|
$ttarget = '<input type="text" class="form-control" value="'.$db->Row("Target_Indi2").'" readonly="">';
|
|
$tcss = 'border '.($_val_cap==""?'border-danger':'border-success').' rounded';
|
|
$treal = tipedata_select("Prog_TW_".$tw_data."_".$db->Row("DPAProgIndiID"), $db->Row("TipeDataID", 0), $_val_cap, $emon_en, $_p_input, $tcss);
|
|
$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>
|
|
<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'.($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" ) {
|
|
$id_dpa_sub = Param::Get("DPASubID", 0);
|
|
$adetail = [];
|
|
$db->Query("SELECT *,(RealK_TW1+RealK_TW2+RealK_TW3+RealK_TW4) Tot_Real FROM dpa_sub WHERE Tahun='".$thn_renja."' 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());
|
|
foreach($adetail as $_key => $_val) {
|
|
if (strpos($_key, "Pagu_")!==false || strpos($_key, "RealK_")!==false || strpos($_key, "RealF_")!==false) $adetail[$_key] = doubleval($_val);
|
|
}
|
|
|
|
$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'], $emon_en, false, 2);
|
|
$tno_kontr = $form->textbox("_", "Real_No_Kontrak", $adetail['Real_No_Kontrak'], $emon_en, false, "text", "nomor kontrak");
|
|
$tpelak = $form->textarea("_", "Real_Pelaksana", $adetail['Real_Pelaksana'], $emon_en, false, 2, "nama pelaksana");
|
|
$tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".$adetail['Update_User'].", pada : ".tgl_sql2str($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 <strong>Sampai Dengan Triwulan '.romawi($tw_data).'</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">';
|
|
|
|
$db->Query("SELECT * FROM dpa_sub_output WHERE ".$qsql);
|
|
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 Output Sub Kegiatan</h3></div></div>
|
|
</div></div>
|
|
';
|
|
}
|
|
while ($db->Next()) {
|
|
$tindi = $form->textarea("_", "Text_Indi", $db->Row("Text_Output"), false, false, 2);
|
|
$tstatus = $form->textbox("_", "Status_Indi", ucfirst($db->Row("Status_Output")), false, false, "text");
|
|
$ttarget = $form->textbox("_", "Target_Indi", (float)$db->Row("Target_Output")." ".$db->Row("Satuan_Output"), false, false, "text");
|
|
$treal = $form->textbox("_", "Output_TW_".$tw_data."_".$db->Row("DPASubOutputID"), $db->Row("Real_TW".$tw_data), $emon_en, true, "double");
|
|
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</label>
|
|
<div class="col">'.$tindi.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label">Status Indikator</label>
|
|
<div class="col-sm-6 col-lg-4">'.$tstatus.'</div>
|
|
</div>
|
|
<div class="row">
|
|
<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">'.$db->Row("Satuan_Output").'</span></div></div>
|
|
</div>
|
|
</div></div>
|
|
';
|
|
}
|
|
|
|
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">Catatan / Kendala / Permasalahan dari Sub Kegiatan</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 class="row mb-1">
|
|
<label class="col-sm-4 col-lg-2 col-form-label" for="Real_Catatan">Catatan /<br>Kendala / DLL</label>
|
|
<div class="col">'.$tcatatan.'</div>
|
|
</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 <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="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 class="row mt-2"><div class="col">'.$tinfo.'</div></div>
|
|
<input type="hidden" id="DPASubID" value="'.$adetail['DPASubID'].'">';
|
|
|
|
} else if ( $data == "detail-akun" ) {
|
|
$id_dpa_akun = Param::Get("DPAAkunID", 0);
|
|
$adetail = array();
|
|
$db->Query("SELECT D.*,A.N_Akun FROM (SELECT * FROM dpa_akun WHERE Tahun='".$thn_renja."' 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 = $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, $emon_en, $emon_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, $emon_en, $emon_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, $emon_en, $emon_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 (Rp.)</label>
|
|
<div class="col-sm-4">'.$f_pagu.'</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"> </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]).' '.$thn_renja.'</div>
|
|
<div class="col-6 col-lg-4">S/D BULAN '.strtoupper(bulan_array()[$bln_data]).' '.$thn_renja.'</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<div class="col-6 col-lg-2">Realisasi Keuangan (Rp)</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 == "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_renja.'</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_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 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"> </div>
|
|
<div id="divPROG"> </div>
|
|
<div id="divKEG"> </div>
|
|
<div id="divSUB"> </div>
|
|
<div id="divAKUN"> </div>
|
|
</div></div>
|
|
</div>';
|
|
}
|
|
|
|
send_json($ajson);
|
|
?>
|