Files
emonev/apps/php/mon/old_ehasil_kinerja.php
2026-05-22 08:49:20 +07:00

369 lines
25 KiB
PHP

<?php
/*******************************************************************
App. Name : SISTEM INFORMASI MONITORING DAN EVALUASI
Module : /apps/php/mon/ehasil_kinerja.php
Desc. : PHP - Laporan Evaluasi Kinerja Triwulan Per OPD
Created By : Siau Pheng ([email protected]).
Created Date : March 20th, 2012.
Last Modified : November 12th, 2024.
(c) 2012 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func.emonev.php");
//require_once("Spreadsheet/Excel/Writer.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\DB\SQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = $db ?? new MySQL();
$db2 = new MySQL();
$db3 = new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['REAL_THN']);
$twulan = Param::Get("TW", $_SESSION['__WEB_APP']['REAL_TW']);
$id_opd = Param::Get("OPDID", 0);
if ( $data == "print" || $data == "export") {
$a_opd = [];
$db->Query("SELECT * FROM para90_opd WHERE OPDID='".$id_opd."' LIMIT 1");
if ($db->Next()) $a_opd = $db->AllRow();
$tsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."'";
if ($twulan == 1) {
$field_indi = "(Real_TW1,0)";
$field_keu = "(A.RealK_TW1)";
$field_kin = "(A.Kin_TW1,0)";
} else if ($twulan == 2) {
$field_indi = "(Real_TW1,Real_TW2)";
$field_keu = "(A.RealK_TW1+A.RealK_TW2)";
$field_kin = "(A.Kin_TW1,A.Kin_TW2)";
} else if ($twulan == 3) {
$field_indi = "(Real_TW1,Real_TW2,Real_TW3)";
$field_keu = "(A.RealK_TW1+A.RealK_TW2+A.RealK_TW3)";
$field_kin = "(A.Kin_TW1,A.Kin_TW2,A.Kin_TW3)";
} else if ($twulan == 4) {
$field_indi = "(Real_TW1,Real_TW2,Real_TW3,Real_TW4)";
$field_keu = "(A.RealK_TW1+A.RealK_TW2+A.RealK_TW3+A.RealK_TW4)";
$field_kin = "(A.Kin_TW1,A.Kin_TW2,A.Kin_TW3,A.Kin_TW4)";
}
$db->Query("SELECT P_A.K_Prog,P_I.*,T.Tot_Pagu,T.Tot_Real,T.Kinerja,P.OPD_Pagu,P.OPD_Real,P.OPD_Kinerja,O.K_OPD,O.N_OPD,X.N_Prog FROM (SELECT OPDID,ProgID,K_Prog FROM dpa90_prog".$tsql.") P_A INNER JOIN (SELECT OPDID,ProgID,Text_Indi IP_Text,CONCAT(Target_Indi,' ',Satuan_Indi) IP_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Indi) IP_Real FROM dpa90_prog_indi".$tsql.") P_I ON (P_I.OPDID=P_A.OPDID AND P_I.ProgID=P_A.ProgID) LEFT JOIN (SELECT A.OPDID,A.ProgID,SUM(A.Pagu_Ini) Tot_Pagu,SUM".$field_keu." Tot_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,ProgID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID,ProgID) B ON (B.OPDID=A.OPDID AND B.ProgID=A.ProgID) GROUP BY A.OPDID,A.ProgID) T ON (T.OPDID=P_A.OPDID AND T.ProgID=P_A.ProgID) LEFT JOIN (SELECT A.OPDID,SUM(A.Pagu_Ini) OPD_Pagu,SUM".$field_keu." OPD_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) OPD_Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID) B ON (B.OPDID=A.OPDID) GROUP BY A.OPDID) P ON (P.OPDID=P_A.OPDID) LEFT JOIN (SELECT * FROM para90_opd WHERE Aktif=1) O ON (O.OPDID=P_A.OPDID) LEFT JOIN (SELECT ProgID,N_Prog FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY ProgID) X ON (X.ProgID=P_A.ProgID) WHERE O.Aktif IS NOT NULL ORDER BY O.K_OPD,P_A.K_Prog");
}
if ( $data == "print" ) {
$header = '<div class="text-center fs-5"><b>LAPORAN KINERJA PERANGKAT DAERAH<br>KABUPATEN MEMPAWAH TRIWULAN '.romawi($twulan).' TAHUN ANGGARAN '.$tahun.'</b></div><br><table class="garis"><thead><tr><th width="20">Kode</th><th width="100">Nama Program/Kegiatan/Sub Kegiatan</th><th width="100">Indikator Program/Kegiatan/Sub Kegiatan</th><th width="80">Target Program/Kegiatan/Sub Kegiatan</th><th width="80">Realisasi/Capaian Indikator</th><th width="60">Anggaran (Rp.)</th><th width="60">Realisasi (Rp.)</th><th width="60">Kinerja (%)</th><th width="60">Lokasi</th><th width="60">Kendala</th><th width="60">Tindak Lanjut</th><th width="60">Pihak Yang Dapat Membantu</th></tr></thead><tbody>';
$_line = '<tr class="%s"><td class="l" nowrap>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td class="r">%s</td><td class="r">%s</td><td class="r">%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>';
$_oline = '<tr><td class="b l">%s</td><td class="b" colspan="4">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b r">%s</td><td class="b" colspan="4">&nbsp;</td></tr>';
$body = ""; $id_opd = 0; $id_prog = 0; $id_keg = 0;
while ($db->Next()) {
if ($id_opd <> $db->Row("OPDID")) {
$body .= sprintf($_oline, $db->Row("K_OPD"), $db->Row("N_OPD"), uang2($db->Row("OPD_Pagu")), uang2($db->Row("OPD_Real")), uang2($db->Row("OPD_Kinerja")));
$id_opd = $db->Row("OPDID");
}
if ($id_prog <> $db->Row("ProgID")) {
$vp_kode = $db->Row("K_Prog");
$vp_nama = $db->Row("N_Prog");
$vp_pagu = uang2($db->Row("Tot_Pagu"));
$vp_real = uang2($db->Row("Tot_Real"));
$vp_kine = uang2($db->Row("Kinerja"));
//$id_keg = 0;
} else {
$vp_kode = "";
$vp_nama = "";
$vp_pagu = "";
$vp_real = "";
$vp_kine = "";
}
if ($id_prog <> 0 && $id_prog <> $db->Row("ProgID")) {
$id_keg = 0;
$xsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
$db2->Query("SELECT K_A.K_Keg,K_I.*,T.Tot_Pagu,T.Tot_Real,T.Kinerja,X.N_Keg FROM (SELECT OPDID,KegID,K_Keg FROM dpa90_keg".$xsql.") K_A INNER JOIN ((SELECT OPDID,KegID,1 Indi,CONCAT('Hasil: ',Text_Hasil) Indi_Text,CONCAT(Target_Hasil,' ',Satuan_Hasil) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Hasil) Indi_Real FROM dpa90_keg_hasil".$xsql.") UNION ALL (SELECT OPDID,KegID,2 Indi,CONCAT('Keluaran: ',Text_Keluar) Indi_Text,CONCAT(Target_Keluar,' ',Satuan_Keluar) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Keluar) Indi_Real FROM dpa90_keg_keluar".$xsql.")) K_I ON (K_I.OPDID=K_A.OPDID AND K_I.KegID=K_A.KegID) LEFT JOIN (SELECT A.OPDID,A.KegID,SUM(A.Pagu_Ini) Tot_Pagu,SUM".$field_keu." Tot_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,KegID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID,KegID) B ON (B.OPDID=A.OPDID AND B.KegID=A.KegID) GROUP BY A.OPDID,A.KegID) T ON (T.OPDID=K_A.OPDID AND T.KegID=K_A.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY KegID) X ON (X.KegID=K_A.KegID) ORDER BY K_A.K_Keg,K_I.Indi");
while ($db2->Next()) {
if ($id_keg <> $db2->Row("KegID")) {
$vk_kode = $db2->Row("K_Keg");
$vk_nama = $db2->Row("N_Keg");
$vk_pagu = uang2($db2->Row("Tot_Pagu"));
$vk_real = uang2($db2->Row("Tot_Real"));
$vk_kine = uang2($db2->Row("Kinerja"));
} else {
$vk_kode = "";
$vk_nama = "";
$vk_pagu = "";
$vk_real = "";
$vk_kine = "";
}
if ($id_keg <> 0 && $id_keg <> $db2->Row("KegID")) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
$body .= sprintf($_line, "keg", $vk_kode, $vk_nama, $db2->Row("Indi_Text"), $db2->Row("Indi_Target"), $db2->Row("Indi_Real"), $vk_pagu, $vk_real, $vk_kine, "", "", "", "");
$id_keg = $db2->Row("KegID");
}
if ($id_keg > 0 ) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
}
$body .= sprintf($_line, "prog", $vp_kode, $vp_nama, $db->Row("IP_Text"), $db->Row("IP_Target"), $db->Row("IP_Real"), $vp_pagu, $vp_real, $vp_kine, "", "", "", "");
$id_prog = $db->Row("ProgID");
}
if ($id_prog > 0 ) {
$xsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."'";
$db2->Query("SELECT K_A.K_Keg,K_I.*,T.Tot_Pagu,T.Tot_Real,T.Kinerja,X.N_Keg FROM (SELECT OPDID,KegID,K_Keg FROM dpa90_keg".$xsql.") K_A INNER JOIN ((SELECT OPDID,KegID,1 Indi,CONCAT('Hasil: ',Text_Hasil) Indi_Text,CONCAT(Target_Hasil,' ',Satuan_Hasil) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Hasil) Indi_Real FROM dpa90_keg_hasil".$xsql.") UNION ALL (SELECT OPDID,KegID,2 Indi,CONCAT('Keluaran: ',Text_Keluar) Indi_Text,CONCAT(Target_Keluar,' ',Satuan_Keluar) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Keluar) Indi_Real FROM dpa90_keg_keluar".$xsql.")) K_I ON (K_I.OPDID=K_A.OPDID AND K_I.KegID=K_A.KegID) LEFT JOIN (SELECT A.OPDID,A.KegID,SUM(A.Pagu_Ini) Tot_Pagu,SUM".$field_keu." Tot_Real,SUM(GREATEST".$field_kin."*A.Pagu_Ini/B.TOTAL_PAGU) Kinerja FROM (SELECT * FROM dpa90_sub".$tsql.") A LEFT JOIN (SELECT OPDID,KegID,SUM(Pagu_Ini) TOTAL_PAGU FROM dpa90_sub".$tsql." GROUP BY OPDID,KegID) B ON (B.OPDID=A.OPDID AND B.KegID=A.KegID) GROUP BY A.OPDID,A.KegID) T ON (T.OPDID=K_A.OPDID AND T.KegID=K_A.KegID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."' GROUP BY KegID) X ON (X.KegID=K_A.KegID) ORDER BY K_A.K_Keg,K_I.Indi");
while ($db2->Next()) {
if ($id_keg <> $db2->Row("KegID")) {
$vk_kode = $db2->Row("K_Keg");
$vk_nama = $db2->Row("N_Keg");
$vk_pagu = uang2($db2->Row("Tot_Pagu"));
$vk_real = uang2($db2->Row("Tot_Real"));
$vk_kine = uang2($db2->Row("Kinerja"));
} else {
$vk_kode = "";
$vk_nama = "";
$vk_pagu = "";
$vk_real = "";
$vk_kine = "";
}
if ($id_keg <> 0 && $id_keg <> $db2->Row("KegID")) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
$body .= sprintf($_line, "keg", $vk_kode, $vk_nama, $db2->Row("Indi_Text"), $db2->Row("Indi_Target"), $db2->Row("Indi_Real"), $vk_pagu, $vk_real, $vk_kine, "", "", "", "");
$id_keg = $db2->Row("KegID");
}
if ($id_keg > 0) {
// start subkeg
$zsql = " WHERE Tahun='".$tahun."' AND OPDID='".$id_opd."' AND ProgID='".$id_prog."' AND KegID='".$id_keg."'";
$db3->Query("SELECT S_A.*,S_I.Indi_Text,S_I.Indi_Target,S_I.Indi_Real,X.N_Sub FROM (SELECT A.OPDID,A.SubID,A.K_Sub,A.Pagu_Ini Tot_Pagu,".$field_keu." Tot_Real,A.Lokasi,A.Real_Kendala,A.Real_Tindak,A.Real_Bantu,GREATEST".$field_kin." Kinerja FROM dpa90_sub A".$zsql.") S_A INNER JOIN (SELECT OPDID,SubID,Text_Output Indi_Text,CONCAT(Target_Output,' ',Satuan_Output) Indi_Target,CONCAT(GREATEST".$field_indi.",' ',Satuan_Output) Indi_Real FROM dpa90_sub_output".$xsql.") S_I ON (S_I.OPDID=S_A.OPDID AND S_I.SubID=S_A.SubID) LEFT JOIN (SELECT * FROM para90_submap WHERE Tahun='".map_tahun_submap($tahun)."') X ON (X.SubID=S_A.SubID) ORDER BY S_A.K_Sub");
while ($db3->Next()) {
$body .= sprintf($_line, "sub", $db3->Row("K_Sub"), $db3->Row("N_Sub"), $db3->Row("Indi_Text"), $db3->Row("Indi_Target"), $db3->Row("Indi_Real"), uang2($db3->Row("Tot_Pagu")), uang2($db3->Row("Tot_Real")), uang2($db3->Row("Kinerja")), $db3->Row("Lokasi"), $db3->Row("Real_Kendala"), $db3->Row("Real_Tindak"), $db3->Row("Real_Bantu"));
}
// end subkeg
}
}
echo $header . $body . "</tbody></table>";
/*} else if ( $data == "export" ) {
$wbook = new Spreadsheet_Excel_Writer();
$fjudul =& $wbook->addFormat();
$fjudul->setBold();
$fjudul->setAlign("center");
$fhead =& $wbook->addFormat();
$fhead->setBold();
$fhead->setAlign("center");
$fhead->setVAlign("vcenter");
$fhead->setBorder(1);
$fhead->setTextWrap();
$ftxt =& $wbook->addFormat();
$ftxt->setVAlign("top");
$ftxt->setBottom(1);
$ftxt->setTextWrap();
$ftxt->setNumFormat("@");
$fnum =& $wbook->addFormat();
$fnum->setNumFormat(4);
$fnum->setBottom(1);
$f_sjudul =& $wbook->addFormat(['NumFormat'=>"@"]);
$f_opd =& $wbook->addFormat(['FgColor'=>55,'NumFormat'=>"@"]);
$f_opd_num =& $wbook->addFormat(['FgColor'=>55,'NumFormat'=>4]);
$f_prog =& $wbook->addFormat(['FgColor'=>10,'NumFormat'=>"@"]);
$f_prog_num =& $wbook->addFormat(['FgColor'=>10,'NumFormat'=>4]);
$f_keg =& $wbook->addFormat(['FgColor'=>45,'NumFormat'=>"@"]);
$f_keg_num =& $wbook->addFormat(['FgColor'=>45,'NumFormat'=>4]);
$f_sub =& $wbook->addFormat(['FgColor'=>39,'NumFormat'=>"@"]);
$f_sub_num =& $wbook->addFormat(['FgColor'=>39,'NumFormat'=>4]);
$wsheet =& $wbook->addWorksheet("Real-Bulanan");
$wsheet->setColumn(0,0,18);
$wsheet->setColumn(1,1,60);
$wsheet->setColumn(2,7,16);
$wsheet->setColumn(8,8,12);
$wsheet->setColumn(9,15,16);
$wsheet->setColumn(16,16,8);
$wsheet->write(0,0,"LAPORAN REALISASI FISIK DAN KEUANGAN",$fjudul);
$wsheet->setMerge(0,0,0,16);
$wsheet->write(1,0,"TAHUN ANGGARAN ".$tahun,$fjudul);
$wsheet->setMerge(1,0,1,16);
$baris = 3;
$wsheet->write($baris,0,"Nama Perangkat Daerah",$f_sjudul);
$wsheet->write($baris,2,$a_opd['N_OPD'],$f_sjudul);
$wsheet->write(($baris+1),0,"Pengguna Anggaran / Kuasa Pengguna Anggaran",$f_sjudul);
$wsheet->write(($baris+1),2,$a_opd['P_Nama'],$f_sjudul);
$wsheet->write(($baris+2),0,"Bendahara Pengeluaran",$f_sjudul);
$wsheet->write(($baris+2),2,$a_opd['B_Nama'],$f_sjudul);
$wsheet->write(($baris+3),0,"Tahun Anggaran",$f_sjudul);
$wsheet->write(($baris+3),2,$tahun,$f_sjudul);
$wsheet->write(($baris+4),0,"Bulan",$f_sjudul);
$wsheet->write(($baris+4),2,bulan_array()[$bulan],$f_sjudul);
$baris += 5;
for ($x=$baris; $x<=($baris+3); $x++) {
for ($y=0; $y<=16; $y++) $wsheet->write($x,$y,"",$fhead);
}
$wsheet->write($baris,0,"Kode",$fhead);
$wsheet->setMerge($baris,0,($baris+2),0);
$wsheet->write($baris,1,"Uraian",$fhead);
$wsheet->setMerge($baris,1,($baris+2),1);
$wsheet->write($baris,2,"Target",$fhead);
$wsheet->setMerge($baris,2,$baris,5);
$wsheet->write($baris,6,"Bobot (%)",$fhead);
$wsheet->setMerge($baris,6,($baris+2),6);
$wsheet->write($baris,7,"Nilai Kontrak Swakelola (Rp)",$fhead);
$wsheet->setMerge($baris,7,($baris+2),7);
$wsheet->write($baris,8,"Pelaksana/Rekanan No & Tanggal Kontrak",$fhead);
$wsheet->setMerge($baris,8,($baris+2),8);
$wsheet->write($baris,9,"Realisasi",$fhead);
$wsheet->setMerge($baris,9,$baris,14);
$wsheet->write($baris,15,"Sisa Anggaran",$fhead);
$wsheet->setMerge($baris,15,($baris+2),15);
$wsheet->write($baris,16,"Keterangan",$fhead);
$wsheet->setMerge($baris,16,($baris+2),16);
$wsheet->write(($baris+1),2,"Fisik",$fhead);
$wsheet->setMerge(($baris+1),2,($baris+1),3);
$wsheet->write(($baris+1),4,"Harga Satuan (Rp)",$fhead);
$wsheet->setMerge(($baris+1),4,($baris+2),4);
$wsheet->write(($baris+1),4,"Keuangan Dana (Rp)",$fhead);
$wsheet->setMerge(($baris+1),5,($baris+2),5);
$wsheet->write(($baris+1),9,"Fisik (%)",$fhead);
$wsheet->setMerge(($baris+1),9,($baris+1),12);
$wsheet->write(($baris+1),13,"Keuangan",$fhead);
$wsheet->setMerge(($baris+1),13,($baris+1),14);
$wsheet->write(($baris+2),2,"Volume",$fhead);
$wsheet->write(($baris+2),3,"Satuan",$fhead);
$wsheet->write(($baris+2),9,"Rencana",$fhead);
$wsheet->write(($baris+2),10,"Realisasi",$fhead);
$wsheet->write(($baris+2),11,"Deviasi",$fhead);
$wsheet->write(($baris+2),12,"Tertimbang",$fhead);
for ($x=1; $x<=17; $x++) $wsheet->write(($baris+3),$x-1,$x,$fhead);
$baris += 4;
$kprog = ""; $kkeg = ""; $ksub = ""; $tot_ini = 0; $tot_renc = 0; $tot_real = 0;
while ($db->Next()) {
if ($kprog <> $db->Row("ProgID")) {
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_prog);
$wsheet->write($baris,0,$db->Row("PROG_KODE"), $f_prog);
$wsheet->write($baris,1,$db->Row("N_Prog"), $f_prog);
$wsheet->write($baris,5,$db->Row("PROG_INI"), $f_prog_num);
$wsheet->write($baris,7,$db->Row("PROG_RENC"), $f_prog_num);
$wsheet->write($baris,13,$db->Row("PROG_REAL"), $f_prog_num);
$wsheet->write($baris,14,$db->Row("PROG_REAL")/$db->Row("PROG_RENC")*100, $f_prog_num);
$wsheet->write($baris,15,$db->Row("PROG_RENC")-$db->Row("PROG_REAL"), $f_prog_num);
$baris++;
$kprog = $db->Row("ProgID");
}
if ($kkeg <> $db->Row("KegID")) {
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_keg);
$wsheet->write($baris,0,$db->Row("KEG_KODE"), $f_keg);
$wsheet->write($baris,1,$db->Row("N_Keg"), $f_keg);
$wsheet->write($baris,5,$db->Row("KEG_INI"), $f_keg_num);
$wsheet->write($baris,7,$db->Row("KEG_RENC"), $f_keg_num);
$wsheet->write($baris,13,$db->Row("KEG_REAL"), $f_keg_num);
$wsheet->write($baris,14,$db->Row("KEG_REAL")/$db->Row("KEG_RENC")*100, $f_keg_num);
$wsheet->write($baris,15,$db->Row("KEG_RENC")-$db->Row("KEG_REAL"), $f_keg_num);
$baris++;
$kkeg = $db->Row("KegID");
}
if ($ksub <> $db->Row("SubID")) {
$psn_realk = ($db->RowFloat("SUB_RENC")==0) ? 0 : ($db->RowFloat("SUB_REAL")/$db->RowFloat("SUB_RENC")*100);
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_sub);
$wsheet->write($baris,0,$db->Row("K_Sub"), $f_sub);
$wsheet->write($baris,1,$db->Row("N_Sub"), $f_sub);
$wsheet->write($baris,5,$db->Row("SUB_INI"), $f_sub_num);
$wsheet->write($baris,7,$db->Row("SUB_RENC"), $f_sub_num);
$wsheet->write($baris,13,$db->Row("SUB_REAL"), $f_sub_num);
$wsheet->write($baris,14,$psn_realk, $f_sub_num);
$wsheet->write($baris,15,$db->Row("SUB_RENC")-$db->Row("SUB_REAL"), $f_sub_num);
$baris++;
$ksub = $db->Row("SubID");
}
$info_kontrak = $db->Row("Real_No_Kontrak"); $info_kontrak .= ($info_kontrak==""?"":"<br>").$db->Row("Real_Pelaksana");
$psn_realk = ($db->RowFloat("Renc_Keu")==0) ? 0 : ($db->RowFloat("AKUN_REALK")/$db->RowFloat("Renc_Keu")*100);
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $ftxt);
$wsheet->write($baris,0,$db->Row("K_Akun"), $ftxt);
$wsheet->write($baris,1,$db->Row("N_Akun"), $ftxt);
$wsheet->write($baris,2,$db->Row("Volume"), $fnum);
$wsheet->write($baris,3,$db->Row("N_Satuan"), $ftxt);
$wsheet->write($baris,4,$db->Row("Harga_Satuan"), $fnum);
$wsheet->write($baris,5,$db->Row("Pagu_Ini"), $fnum);
$wsheet->write($baris,6,$db->Row("Nilai_Bobot"), $fnum);
$wsheet->write($baris,7,$db->Row("Renc_Keu"), $fnum);
$wsheet->write($baris,8,$info_kontrak, $ftxt);
$wsheet->write($baris,9,$db->Row("Renc_Fisik"), $fnum);
$wsheet->write($baris,10,$db->Row("AKUN_REALF"), $fnum);
$wsheet->write($baris,11,$db->Row("Renc_Fisik")-$db->Row("AKUN_REALF"), $fnum);
$wsheet->write($baris,12,$db->Row("AKUN_REALF")*$db->Row("Nilai_Bobot")/100, $fnum);
$wsheet->write($baris,13,$db->Row("AKUN_REALK"), $fnum);
$wsheet->write($baris,14,$psn_realk, $fnum);
$wsheet->write($baris,15,$db->Row("Renc_Keu")-$db->Row("AKUN_REALK"), $fnum);
$baris++;
$tot_ini += $db->Row("Pagu_Ini");
$tot_renc += $db->Row("Renc_Keu");
$tot_real += $db->Row("AKUN_REALK");
}
for ($x=0; $x<=16; $x++) $wsheet->write($baris, $x, "", $f_opd);
$wsheet->write($baris,0,"Jumlah", $f_opd);
$wsheet->setMerge($baris,0,$baris,1);
$wsheet->write($baris,5,$tot_ini, $f_opd_num);
$wsheet->write($baris,7,$tot_renc, $f_opd_num);
$wsheet->write($baris,13,$tot_real, $f_opd_num);
$wsheet->write($baris,14,$tot_real/$tot_renc*100, $f_opd_num);
$wsheet->write($baris,15,$tot_renc-$tot_real, $f_opd_num);
$baris++;
$wbook->send("Laporan Realisasi F & K ".bulan_array()[$bulan]."-".$tahun." - ".tgl_dmy(true).".xls");
$wbook->close();*/
} else if ( $data == "default") {//oke
$q_opd = "";
if (in_array($_SESSION['__WEB_USER']['Level'],[1,3,4])) {
$id_opd = $_SESSION['__WEB_USER']['A_OPD'][0];
$q_opd = " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")";
}
$form = new Form($db);
$tthn = $form->option_que("_", "Tahun", $tahun, true, false, "SELECT Tahun,CONCAT('Tahun ',Tahun) N_Tahun FROM dpa90_prog GROUP BY Tahun ORDER BY Tahun", ["Tahun","N_Tahun"]);
$topd = $form->option_db("_", "OPDID", $id_opd, true, false, "vi_para90_opd", ["OPDID","Nama_OPD"], "Aktif=1".$q_opd." ORDER BY K_OPD");//, (user_level(3)?array(0,"SEMUA OPD"):null)
$ttw = $form->radio("_", "TW", $twulan, true, false, [1=>"I",2=>"II",3=>"III",4=>"IV"]);
echo '
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="OPDID">Nama Perangkat Daerah</label>
<div class="col-sm-8 col-lg-9">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-5 col-lg-4">'.$tthn.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="TW">Triwulan</label>
<div class="col-sm-8 col-lg-9">'.$ttw.'</div>
</div>';
}
?>