diff --git a/apps/php/valid/faktor_opd.php b/apps/php/valid/faktor_opd.php
new file mode 100644
index 0000000..7df54b1
--- /dev/null
+++ b/apps/php/valid/faktor_opd.php
@@ -0,0 +1,157 @@
+set_query("SELECT M.OPDID,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_tw." Hak_Tw FROM vi_para90_opd M LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$thn_data."') H ON (H.OPDID=M.OPDID) WHERE ".$msql);
+ $obj->add_field("OPDID", "OPD", "hid");
+ $obj->add_field("ORGID", "ORG", "hid");
+ $obj->add_field("Nama_OPD", "Nama OPD", "hid");
+ $obj->add_field("Hak_Tw", "Hak Tw", "hid");
+ $obj->add_field("K_OPD", "Kode", "c");
+ $obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
+ //$obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
+ $obj->set_field_order("K_OPD", "A");
+ $obj->add_row_btn("folder", "Matrik", "ValidFaktorOPDJS.opd_select");
+ $obj->set_func_navi("ValidFaktorOPDJS.data_query('tabel-opd')");
+ $obj->set_textbtn(true);
+ $ajson[] = $obj->json_table("divOPD");
+
+} else if ( $data == "tabel-matrik" ) {
+ if ($mode_detail === "update") {
+ $sql = new SQL($db);
+ $sql->set_table("dpa_dalev_renja_matrik");
+ $sql->add_param("B_Catatan");
+ $sql->add_param("B_Valid");
+ $sql->add_where("Tahun", $thn_data);
+ $sql->add_where("DalevMatrikID");
+ $sql->UpdateDB();
+ }
+
+ $tbl_mat = '
ID TW Dokumen Matrik Ukuran Aksi ';
+ $db->Query("SELECT * FROM dpa_dalev_renja_matrik WHERE ".$qsql." AND Aktif=1");
+ while ($db->Next()){
+ $mat_link = ' ';
+ $mat_link .= ' ';
+ $tbl_mat .= sprintf('%s %s %s %s %s ', $db->Row("DalevMatrikID"), $db->Row("TW"), $db->Row("Matrik_Name"), $db->Row("Matrik_Name"), $db->Row("Matrik_Size"), $mat_link);
+ }
+ $tbl_mat .= '
';
+ $ajson['html'] = $tbl_mat;
+ $ajson['toolbar'] = "";
+
+} else if ( $data == "detail-matrik" ) {
+ $arec = [];
+ if ($id_matrik > 0) {
+ $db->Query("SELECT * FROM dpa_dalev_renja_matrik WHERE DalevMatrikID='".$id_matrik."' LIMIT 1");
+ if ($db->Next()) $arec = $db->AllRow();
+ }
+
+ $form = new Form($db);
+ $tcatat = $form->textarea("_", "B_Catatan", $arec['B_Catatan'], true, true, 1);
+ $tvalid = $form->checkbox("_", "B_Valid", $arec['B_Valid'], true, true, [1,0]);
+ $ajson['html'] = '
+
+
+
Catatan Bapperinda
+
'.$tcatat.'
+
+
+
Status Validasi
+
'.$tvalid.'
+
Batal Simpan
+
+
+
';
+
+} else if ( $data == "matrik-download") {
+ if ($id_matrik > 0) {
+ $adata = [];
+ $db->Query("SELECT * FROM dpa_dalev_renja_matrik WHERE DalevMatrikID='".$id_matrik."' LIMIT 1");
+ if ($db->Next()) $adata = $db->AllRow();
+
+ $_file = $_SESSION['__WEB_APP']['REAL_PATH'] . 'dokumen/' . $adata['Matrik_File'];
+
+ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+ header('Content-Disposition: attachment; filename="' . $adata['Matrik_Name'] . '"');
+
+ echo file_get_contents($_file);
+ exit;
+ }
+
+} else if ( $data === "default") {
+ echo '
+
';
+}
+
+send_json($ajson);
+?>
diff --git a/apps/php/valid/kinerja.php b/apps/php/valid/kinerja.php
new file mode 100644
index 0000000..d7ab567
--- /dev/null
+++ b/apps/php/valid/kinerja.php
@@ -0,0 +1,528 @@
+set_query("SELECT K.*,M.ORGID,M.K_OPD,M.N_OPD,M.Nama_OPD,".$f_bln." Hak_Bln,".$f_tw." Hak_Tw FROM (SELECT A.OPDID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID) GROUP BY A.OPDID) K LEFT JOIN (SELECT * FROM sippd_akses_mon WHERE Tahun='".$thn_data."') H ON (H.OPDID=K.OPDID) LEFT JOIN vi_para90_opd M ON (M.OPDID=K.OPDID) WHERE M.Aktif=1");
+ $obj->set_query_footer("SELECT 1 OPDID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT 1 OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql.") B ON (B.OPDID=A.OPDID)");
+ $obj->add_field("OPDID", "OPD", "hid");
+ $obj->add_field("ORGID", "ORG", "hid");
+ $obj->add_field("Nama_OPD", "Nama OPD", "hid");
+ $obj->add_field("Hak_Bln", "Hak Bln", "hid");
+ $obj->add_field("Hak_Tw", "Hak Tw", "hid");
+ $obj->add_field("K_OPD", "Kode", "c");
+ $obj->add_field("N_OPD", "Nama Perangkat Daerah", "awr");
+ //$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
+ //$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "r", "rupiah", "rupiah");
+ $obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
+ $obj->set_field_order("K_OPD", "A");
+ $obj->add_row_btn("folder", "Program", "ValidKinerjaJS.opd_select");
+ $obj->set_func_navi("ValidKinerjaJS.data_query('tabel-opd')");
+ $obj->set_textbtn(true);
+ $ajson[] = $obj->json_table("divOPD");
+
+} else if ( $data == "tabel-prog" ) {
+ if ($mode_detail=="update") {
+ $aparam = Param::Get_Array(); $_sql = [];
+ foreach($aparam as $key => $val) {
+ if (strpos($key, "B_Catat_TW_") !== false) {
+ $aid = explode("_", str_replace("B_Catat_TW_","",$key));
+ $_sql[$aid[1]][] = 'B_Catatan=\''.$val.'\'';
+ }
+ }
+ if (count($_sql) > 0) {
+ foreach ($_sql as $id => $val) {
+ $db->Query("UPDATE dpa_prog_indi SET ".implode(',', $val)." WHERE Tahun='".$thn_data."' AND DPAProgIndiID='".$id."' LIMIT 1");
+ }
+ }
+ }
+
+ $obj = new Table($db);
+ $obj->set_query("SELECT K.*,M.N_Prog,CONCAT('(',M.K_Prog,') ',M.N_Prog) Nama_Prog FROM (SELECT C.DPAProgID,C.K_Prog,A.ProgID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL,IF(IFNULL(I.Indi_Text,0)=0 OR IFNULL(C.Kinerja_Ini,0)=0,2,IF(IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Target,0) AND IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Real,0),0,1)) CSS_INDI FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT ProgID,SUM(IF(Text_Indi='',0,1)) Indi_Text,SUM(IF(Poin_Target=0,0,1)) Indi_Target,SUM(IF(Poin_TW".$tw_data."=0,0,1)) Indi_Real FROM dpa_prog_indi WHERE ".$qsql." GROUP BY ProgID) I ON (I.ProgID=A.ProgID) LEFT JOIN (SELECT ProgID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY ProgID) B ON (B.ProgID=A.ProgID) LEFT JOIN (SELECT *,Real_TW".$tw_data." Kinerja_Ini FROM dpa_prog WHERE".$qsql.") C ON (C.ProgID=A.ProgID) GROUP BY A.ProgID) K LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' GROUP BY ProgID) M ON (M.ProgID=K.ProgID)");
+ $obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT OPDID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID)");
+ $obj->add_field("DPAProgID", "PID", "hid");
+ $obj->add_field("ProgID", "ID", "hid");
+ $obj->add_field("Nama_Prog", "Nama PROG", "hid");
+ $obj->add_field("K_Prog", "Kode", "c", null, null, "dom-nomen");
+ $obj->add_field("N_Prog", "Nama Program", "awr");
+ //$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
+ //$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "r nwr", "rupiah", "rupiah");
+ $obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
+ $obj->set_field_order("K_Prog", "A");
+ //$obj->add_row_btn("clipboard", "Capaian", "ValidKinerjaJS.prog_real", "", "", "CSS_INDI", [1=>"warning",2=>"danger"]);
+ $obj->add_row_btn("check-circle", "Validasi", "ValidKinerjaJS.prog_real");
+ $obj->add_row_btn("folder", "Kegiatan", "ValidKinerjaJS.prog_select");
+ $obj->set_func_navi("ValidKinerjaJS.data_query('tabel-prog')");
+ $obj->set_textbtn(true);
+ $ajson[] = $obj->json_table("divPROG");
+
+} else if ( $data == "tabel-keg" ) {
+ $obj = new Table($db);
+ $obj->set_query("SELECT K.*,KR.DPAKegID,KR.K_Keg,M.N_Keg,CONCAT('(',M.K_Keg,') ',M.N_Keg) Nama_Keg FROM (SELECT A.KegID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT KegID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY KegID) B ON (B.KegID=A.KegID) GROUP BY A.KegID) K LEFT JOIN (SELECT * FROM dpa_keg WHERE".$qsql.") KR ON (KR.KegID=K.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$id_prog."' GROUP BY KegID) M ON (M.KegID=K.KegID)");
+ $obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT ProgID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY ProgID) B ON (B.ProgID=A.ProgID)");
+ $obj->add_field("DPAKegID", "KID", "hid");
+ $obj->add_field("KegID", "ID", "hid");
+ $obj->add_field("Nama_Keg", "Nama KEG", "hid");
+ $obj->add_field("K_Keg", "Kode", "c", null, null, "dom-nomen");
+ $obj->add_field("N_Keg", "Nama Kegiatan", "awr");
+ //$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
+ //$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "r", "rupiah", "rupiah");
+ $obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
+ $obj->set_field_order("K_Keg", "A");
+ $obj->add_row_btn("folder", "Sub Kegiatan", "ValidKinerjaJS.keg_select");
+ $obj->set_func_navi("ValidKinerjaJS.data_query('tabel-keg')");
+ $obj->set_textbtn(true);
+ $ajson[] = $obj->json_table("divKEG");
+
+} else if ( $data == "tabel-sub" ) {
+ /*if ($mode_detail=="update") {
+ $sql = new SQL($db);
+ $sql->set_table("dpa_sub");
+ $sql->add_param("Real_Catatan");
+ $sql->add_param("Real_No_Kontrak");
+ $sql->add_param("Real_Pelaksana");
+ $sql->add_param_stamp("Real_Stamp");
+ $sql->add_param_userid("Real_UserID");
+ $sql->add_where("Tahun", $thn_data);
+ $sql->add_where("DPASubID", $id_dpa_sub);
+ $sql->UpdateDB();
+
+ $db->Query("UPDATE dpa_sub_output SET Real_TW".$tw_data."='".Param::Get("Real_TW")."' WHERE Tahun='".$thn_data."' AND DPASubOutputID='".Param::Get("DPASubOutputID")."' LIMIT 1");
+ }*/
+
+ $obj = new Table($db);
+ $obj->set_query("SELECT K.*,SR.DPASubID,SR.K_Sub,M.N_Sub,CONCAT('(',M.K_Sub,') ',M.N_Sub) Nama_Sub FROM (SELECT A.SubID,SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON,MAX(A.Real_Stamp) TGL,IF(IFNULL(I.Indi_Text,0)=0,2,IF(IFNULL(I.Indi_Text,0)=IFNULL(I.Indi_Target,0) AND B.Real_KF>0,0,1)) CSS_INDI FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT SubID,SUM(IF(Text_Output='',0,1)) Indi_Text,SUM(IF(Target_Output=0,0,1)) Indi_Target FROM dpa_sub_output WHERE ".$qsql." GROUP BY SubID) I ON (I.SubID=A.SubID) LEFT JOIN (SELECT SubID,SUM(Renc_Keu) TOT_PAGU,GREATEST(RealK_TW".$tw_data.",RealF_TW".$tw_data.") Real_KF FROM dpa_sub WHERE".$qsql." GROUP BY SubID) B ON (B.SubID=A.SubID) GROUP BY A.SubID) K LEFT JOIN (SELECT * FROM dpa_sub WHERE".$qsql.") SR ON (SR.SubID=K.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND KegID='".$id_keg."') M ON (M.SubID=K.SubID)");
+ $obj->set_query_footer("SELECT SUM(A.Renc_Keu) TOT_PAGU,SUM".$q_keu_lalu." REAL_LALU,SUM".$q_keu_ini." REAL_TOTAL,(SUM".$q_keu_ini."/SUM(A.Renc_Keu))*100 REAL_PSN,SUM(GREATEST".$q_fis_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_FISIK,SUM(GREATEST".$q_non_ini."*A.Renc_Keu/B.TOT_PAGU) REAL_NON FROM (SELECT * FROM dpa_akun WHERE".$qsql.") A LEFT JOIN (SELECT KegID,SUM(Renc_Keu) TOT_PAGU FROM dpa_akun WHERE".$qsql." GROUP BY KegID) B ON (B.KegID=A.KegID)");
+ $obj->add_field("DPASubID", "SID", "hid");
+ $obj->add_field("SubID", "ID", "hid");
+ $obj->add_field("Nama_Sub", "Nama SUB", "hid");
+ $obj->add_field("K_Sub", "Kode", "c", null, null, "dom-nomen");
+ $obj->add_field("N_Sub", "Nama Sub Kegiatan", "awr");
+ //$obj->add_field("TOT_PAGU", "Jumlah Pagu", "r", "rupiah", "rupiah");
+ //$obj->add_field("REAL_TOTAL", "Real s/d ".substr(bulan_array()[$bln_data],0,3), "r", "rupiah", "rupiah");
+ $obj->add_field("REAL_PSN", "Keu. %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_FISIK", "Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("REAL_NON", "N-Fisik %", "r", "rupiah2", "rupiah2");
+ $obj->add_field("TGL", "Update", "c nwr", "sqljams", "", "val-tgljams");
+ $obj->set_field_order("K_Sub", "A");
+ //$obj->add_row_btn("clipboard", "Kinerja", "ValidKinerjaJS.sub_ubah", "", "", "CSS_INDI", [0=>"success",1=>"warning",2=>"danger"]);
+ //$obj->add_row_btn("folder", "Akun", "ValidKinerjaJS.sub_select");
+ $obj->add_row_btn("check-circle", "Validasi", "ValidKinerjaJS.sub_ubah");
+ $obj->set_func_navi("ValidKinerjaJS.data_query('tabel-sub')");
+ $obj->set_textbtn(true);
+ $ajson[] = $obj->json_table("divSUB");
+
+} else if ( $data == "tabel-eviden" ) {
+ if ($mode_detail === "update") {
+ $sql = new SQL($db);
+ $sql->set_table("dpa_sub_eviden");
+ $sql->add_param("B_Catatan");
+ $sql->add_param("B_Valid");
+ $sql->add_where("Tahun", $thn_data);
+ $sql->add_where("DPAEvidenID");
+ $sql->UpdateDB();
+ }
+
+ $tbl_evi = '
ID TW Dokumen Eviden Ukuran Aksi ';
+ $db->Query("SELECT * FROM dpa_sub_eviden WHERE ".$qsql." AND Aktif=1");
+ while ($db->Next()){
+ $afile = explode(".", $db->Row("Eviden_File"));
+ if (in_array($afile[1], ["png","jpg","jpeg"])) {
+ $evi_link = ' ';
+ } else if ($afile[1]=="pdf") {
+ $evi_link = ' ';
+ } else {
+ $evi_link = ' ';
+ }
+ $evi_link .= ' ';
+ $tbl_evi .= sprintf('%s %s %s %s %s ', $db->Row("DPAEvidenID"), $db->Row("TW"), $db->Row("Eviden_Name"), $db->Row("Eviden_Name"), $db->Row("Eviden_Size"), $evi_link);
+ }
+ $tbl_evi .= '
';
+ $ajson['html'] = $tbl_evi;
+ $ajson['toolbar'] = "";
+
+} else if ( $data == "detail-prog" ) {
+ $arec = [];
+ $db->Query("SELECT * FROM dpa_prog WHERE Tahun='".$thn_data."' AND DPAProgID='".$id_dpa_prog."' LIMIT 1");
+ if ($db->Next()) $arec = $db->AllRow();
+ if ($arec['ProgID'] > 0) {
+ $db->Query("SELECT N_Prog FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND ProgID='".$arec['ProgID']."' LIMIT 1");
+ if ($db->Next()) $arec = array_merge($arec, $db->AllRow());
+ }
+
+ echo '
+
+
+
Capaian Indikator Program
+
';
+
+ $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 '
+
+
Belum ada Indikator Program
+
';
+ }
+ while ($db->Next()) {
+ $arec = $db->AllRow();
+ $_p_input = (($arec['TipeDataID'] ?? 0) > 0) ? json_decode($arec['P_Input'] ?? '{}', true) : [];
+ $_val_cap1 = $arec['Real_TW1'];
+ $_val_cap2 = $arec['Real_TW2'];
+ $_val_cap3 = $arec['Real_TW3'];
+ $_val_cap4 = $arec['Real_TW4'];
+ $tcss1 = 'border '.(empty($_val_cap1)?'border-danger':'border-success').' rounded';
+ $tcss2 = 'border '.(empty($_val_cap2)?'border-danger':'border-success').' rounded';
+ $tcss3 = 'border '.(empty($_val_cap3)?'border-danger':'border-success').' rounded';
+ $tcss4 = 'border '.(empty($_val_cap4)?'border-danger':'border-success').' rounded';
+
+ $form = new Form($db);
+ $tindi = $form->textarea('_', 'Text_Indi', $arec['Text_Indi']." (".$arec['Satuan_Indi'].')', false, false, 2);
+ $ttarget = '
';
+ $treal1 = tipedata_select("Prog_TW_1_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap1, false, $_p_input, $tcss1);
+ $treal2 = tipedata_select("Prog_TW_2_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap2, false, $_p_input, $tcss2);
+ $treal3 = tipedata_select("Prog_TW_3_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap3, false, $_p_input, $tcss3);
+ $treal4 = tipedata_select("Prog_TW_4_".$arec['DPAProgIndiID'], $arec['TipeDataID'], $_val_cap4, false, $_p_input, $tcss4);
+ $tstatus = $form->textbox('_', "Status_Indi", ucfirst($arec['Status_Indi']), false, false);
+ $tsumb = $form->textbox('_', 'Sumber_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['Sumber_Data'], false, false, 'text');
+ $tcatat = $form->textbox('_', 'Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['Catatan'], false, false, 'text');
+ $tbcatat = $form->textbox('_', 'B_Catat_TW_'.$tw_data.'_'.$arec['DPAProgIndiID'], $arec['B_Catatan'], true, true, 'text', 'catatan dari bapperida');
+ echo '
+
+
+
Tolok Ukur
+
'.$tindi.'
+
+
+
Target Indikator
+
'.$ttarget.'
+
Status Indikator '.$tstatus.'
+
+
+
Capaian Indikator
+
+
+
+
+
+
Sumber Data / Eviden
+
'.$tsumb.'
+
+
+
Catatan / Kendala
+
'.$tcatat.'
+
+
+
Catatan Bapperida
+
'.$tbcatat.'
+
+
';
+ }
+ echo '
';
+
+} else if ( $data == "detail-sub" ) {
+ $adetail = [];
+ $db->Query("SELECT *,(RealK_TW1+RealK_TW2+RealK_TW3+RealK_TW4) Tot_Real FROM dpa_sub WHERE Tahun='".$thn_data."' AND DPASubID='".$id_dpa_sub."' LIMIT 1");
+ if ($db->Next()) $adetail = $db->AllRow();
+ $db->Query("SELECT N_Sub FROM para90_submap WHERE Tahun='".$_SESSION['__WEB_APP']['SUBMAP_TAHUN']."' AND SubID='".$id_sub."' LIMIT 1");
+ if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
+ $db->Query("SELECT Username Update_User FROM app_operator WHERE UserID='".$adetail['Update_UserID']."' LIMIT 1");
+ if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
+ $db->Query("SELECT Username Real_User FROM app_operator WHERE UserID='".$adetail['Real_UserID']."' LIMIT 1");
+ if ($db->Next()) $adetail = array_merge($adetail, $db->AllRow());
+
+ $form = new Form($db);
+ $tkode = $form->textbox("_", "K_Sub", $adetail['K_Sub'], false, false);
+ $tsub = $form->textarea("_", "N_Sub", $adetail['N_Sub'], false, false, 2);
+ $tcatatan = $form->textarea("_", "Real_Catatan", $adetail['Real_Catatan'], false, true, 1);
+ $tinfo = $form->textbox("_", "Informasi", "Diperbaharui oleh : ".($adetail['Real_User'] ?? $adetail['Update_User']).", pada : ".tgl_sql2str(($adetail['Real_Stamp'] ?? $adetail['Update_Stamp']), true), false, false);
+
+ echo '
+
+
Kode Sub Kegiatan
+
'.$tkode.'
+
+
+
Nama Sub Kegiatan
+
'.$tsub.'
+
';
+
+ $aoutput = ['DPASubOutputID'=>0, 'Text_Output'=>"", 'Sasaran_Output'=>"", 'Status_Output'=>"", 'Target_Output'=>"", 'Satuan_Output'=>""];
+ $db->Query("SELECT * FROM dpa_sub_output WHERE ".$qsql);
+ if ($db->Next()) $aoutput = array_merge($aoutput, $db->AllRow());
+
+ foreach ($aoutput as $key => &$val) {
+ if (strpos($key, "Real_TW")!==false) $val = (int) $val;
+ }
+ unset($val);
+ $aoutput["Real_TW1"] = (empty($aoutput["Real_TW1"])) ? '-' : (string) $aoutput["Real_TW1"]." ".$aoutput['Satuan_Output'];
+ $aoutput["Real_TW2"] = (empty($aoutput["Real_TW2"])) ? '-' : (string) $aoutput["Real_TW2"]." ".$aoutput['Satuan_Output'];
+ $aoutput["Real_TW3"] = (empty($aoutput["Real_TW3"])) ? '-' : (string) $aoutput["Real_TW3"]." ".$aoutput['Satuan_Output'];
+ $aoutput["Real_TW4"] = (empty($aoutput["Real_TW4"])) ? '-' : (string) $aoutput["Real_TW4"]." ".$aoutput['Satuan_Output'];
+
+ $tindi = $form->textarea("_", "Text_Indi", $aoutput['Text_Output'], false, false, 1);
+ $tsasar = $form->textbox("_", "Sasaran_Output", $aoutput['Sasaran_Output'], false, false, "text");
+ $tstatus = $form->textbox("_", "Status_Indi", ucfirst($aoutput['Status_Output']), false, false, "text");
+ $ttarget = $form->textbox("_", "Target_Indi", (int) $aoutput['Target_Output']." ".$aoutput['Satuan_Output'], false, false, "text");
+ $treal1 = $form->textbox("_", "Real_TW1", $aoutput["Real_TW1"], false, false, "text");
+ $treal2 = $form->textbox("_", "Real_TW2", $aoutput["Real_TW2"], false, false, "text");
+ $treal3 = $form->textbox("_", "Real_TW3", $aoutput["Real_TW3"], false, false, "text");
+ $treal4 = $form->textbox("_", "Real_TW4", $aoutput["Real_TW4"], false, false, "text");
+ echo '
+
+
+
Tolok Ukur Output
+
'.$tindi.'
+
+
+
Kelompok Sasaran
+
'.$tsasar.'
+
+
+
Target
+
'.$ttarget.'
+
+
+
+
+
+
Catatan / Kendala
+
'.$tcatatan.'
+
+
+
+
+
+
+
';
+
+} else if ( $data == "detail-eviden" ) {
+ $arec = [];
+ $id_dpa_eviden = Param::Get("DPAEvidenID", 0);
+ if ($id_dpa_eviden > 0) {
+ $db->Query("SELECT * FROM dpa_sub_eviden WHERE DPAEvidenID='".$id_dpa_eviden."' LIMIT 1");
+ if ($db->Next()) $arec = $db->AllRow();
+ }
+
+ $form = new Form($db);
+ $tcatat = $form->textarea("_", "B_Catatan", $arec['B_Catatan'], true, true, 1);
+ $tvalid = $form->checkbox("_", "B_Valid", $arec['B_Valid'], true, true, [1,0]);
+ $ajson['html'] = '
+
+
+
Catatan Bapperinda
+
'.$tcatat.'
+
+
+
Status Validasi
+
'.$tvalid.'
+
Batal Simpan
+
+
+
';
+
+} else if ( $data === "default" ) {
+ echo '
+
';
+}
+
+send_json($ajson);
+?>