ubah subkeg output, tambah eviden di kinerja prog dan kinerja subkeg

This commit is contained in:
2026-08-19 08:09:46 +07:00
parent 1892713ca6
commit 8f0060a027
9 changed files with 330 additions and 258 deletions
+119 -109
View File
@@ -27,9 +27,10 @@ $ajson = [];
$data = Param::Get("data");
$mode = Param::Get("mode");
$mode_detail = Param::Get("mode_detail");
$emon_en = Param::Get("Hak_Real", 0);
$bln_en = Param::Get("Hak_Bln", 0);
$tw_en = Param::Get("Hak_Tw", 0);
$id_rpjmd = $_SESSION['__WEB_APP']['REAL_RPJMDID'];
$thn_renja = $_SESSION['__WEB_APP']['REAL_THN'];
$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);
@@ -41,7 +42,7 @@ $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."'";
$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'].")": "";
@@ -130,17 +131,20 @@ if ( in_array($data, ["tabel-opd","tabel-prog","tabel-keg","tabel-sub","tabel-ak
}
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)";
$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_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("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 OPDID,Hak_Renja 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_Real", "Real", "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");
@@ -157,11 +161,25 @@ if ( $data == "tabel-opd" ) {
} else if ( $data == "tabel-prog" ) {
if ($mode_detail=="update") {
$aparam = Param::Get_Array();
$aparam = Param::Get_Array(); $_sql = [];
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");
$_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)";
@@ -172,7 +190,7 @@ if ( $data == "tabel-opd" ) {
} 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_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."'");
$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);
@@ -197,31 +215,6 @@ if ( $data == "tabel-opd" ) {
$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)");
@@ -237,7 +230,6 @@ if ( $data == "tabel-opd" ) {
$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);
@@ -247,27 +239,26 @@ if ( $data == "tabel-opd" ) {
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("Tahun", $thn_data);
$sql->add_where("DPASubID", Param::Get("DPASubID",0));
$sql->UpdateDB();
$aparam = Param::Get_Array();
$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");
/*$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");
$db->Query("UPDATE dpa_sub_output SET Real_TW".$aid[0]."='".$val."' WHERE Tahun='".$thn_data."' 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");
//$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_data."' 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_data."' AND DPASubID='".Param::Get("DPASubID",0)."' LIMIT 1");
}
}
}*/
}
$obj = new Table($db);
@@ -303,15 +294,15 @@ if ( $data == "tabel-opd" ) {
$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("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_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."'");
$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_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."'");
$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_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."'");
$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);
@@ -327,7 +318,7 @@ if ( $data == "tabel-opd" ) {
$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) {
if ($bln_en) {
$obj->add_row_btn("clipboard", "Realisasi", "KinerjaJS.akun_ubah");
} else {
$obj->add_row_btn("clipboard", "Detail", "KinerjaJS.akun_ubah");
@@ -338,7 +329,7 @@ if ( $data == "tabel-opd" ) {
} else if ( $data == "detail-prog" ) {
$arec = [];
$db->Query("SELECT * FROM dpa_prog WHERE Tahun='".$thn_renja."' AND DPAProgID='".$id_dpa_prog."' LIMIT 1");
$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");
@@ -351,7 +342,7 @@ if ( $data == "tabel-opd" ) {
<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 &nbsp;<strong>Sampai Dengan Triwulan '.romawi($tw_data).'</strong></h5></div>
<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)");
@@ -362,12 +353,18 @@ if ( $data == "tabel-opd" ) {
</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="">';
$arec = $db->AllRow();
$_p_input = (($arec['TipeDataID'] ?? 0) > 0) ? json_decode($arec['P_Input'] ?? '{}', true) : [];
$_val_cap = $arec['Real_TW'.$tw_data];
$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);
$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);
@@ -381,12 +378,21 @@ if ( $data == "tabel-opd" ) {
<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>
@@ -398,7 +404,7 @@ if ( $data == "tabel-opd" ) {
} 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");
$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());
@@ -413,9 +419,9 @@ if ( $data == "tabel-opd" ) {
$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");
$tcatatan = $form->textarea("_", "Real_Catatan", $adetail['Real_Catatan'], $bln_en, false, 2);
$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['Update_User'].", pada : ".tgl_sql2str($adetail['Update_Stamp'], true), false, false);
echo '
@@ -430,41 +436,39 @@ if ( $data == "tabel-opd" ) {
<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 &nbsp;<strong>Sampai Dengan Triwulan '.romawi($tw_data).'</button></h2>
<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->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>
';
}
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">
<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></div>';
echo '
</div></div></div>
@@ -473,16 +477,19 @@ if ( $data == "tabel-opd" ) {
<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="card"><div class="card-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></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>
@@ -491,16 +498,18 @@ if ( $data == "tabel-opd" ) {
<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="DPASubID" value="'.$adetail['DPASubID'].'">';
<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 = 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();
$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());
@@ -522,13 +531,13 @@ if ( $data == "tabel-opd" ) {
$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_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, $emon_en, $emon_en, "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, $emon_en, $emon_en, "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 '
@@ -541,18 +550,18 @@ if ( $data == "tabel-opd" ) {
<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>
<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_renja.'</div>
<div class="col-6 col-lg-4">S/D BULAN '.strtoupper(bulan_array()[$bln_data]).' '.$thn_renja.'</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 (Rp)</div>
<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">
@@ -560,7 +569,7 @@ if ( $data == "tabel-opd" ) {
</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Fisik (%)</div>
<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">
@@ -568,7 +577,7 @@ if ( $data == "tabel-opd" ) {
</div>
</div>
<div class="row mb-1">
<div class="col-6 col-lg-2">Realisasi Non-Fisik (%)</div>
<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">
@@ -584,14 +593,15 @@ if ( $data == "tabel-opd" ) {
} 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="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_Real" type="hidden" value="1">
<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>