commit pertama

This commit is contained in:
2026-01-30 13:07:53 +07:00
commit 48199537d4
303 changed files with 136097 additions and 0 deletions
+239
View File
@@ -0,0 +1,239 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/data_hasil_forum.php
Desc. : PHP - Export Data Hasil Forum OPD
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : March 21st, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../vendor/autoload.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
ini_set("max_execution_time", "300");
ini_set("pcre.backtrack_limit", "5000000");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$id_rpjmd = $ap->getParam("RPJMDID", $_SESSION['__WEB_APP']['RENC_RPJMDID']);
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_forum = $ap->getParam("ForumID", 0);
$id_opd = $ap->getParam("OPDID", 0);
$id_kec = $ap->getParam("KecID", 0);
$id_status = $ap->getParam("StatusID", 0);
if ( $data == "excel" ) {
$tsql = " Tahun='".$tahun."'";
$tsql .= ($id_forum==0) ? "" : " AND OPDID IN (SELECT OPDID FROM para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."')";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan,T.K_Status,T.S_Status FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID) LEFT JOIN para_status T ON (U.StatusID=T.StatusID)");
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Hasil Forum OPD ".$tahun)
->setCategory("Data Hasil Forum OPD ".$tahun)
->setSubject($tahun)
->setDescription("Data Hasil Forum OPD ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("HASIL FORUM");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AC1');
$sheet->setCellValue("A2", "DATA HASIL FORUM OPD TAHUN ".$tahun);
$sheet->mergeCells('A2:AC2');
$sheet->getStyle('A1:AC2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(7);
$sheet->getColumnDimension('W')->setWidth(15);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(8);
$sheet->getColumnDimension('AB')->setWidth(8);
$sheet->getColumnDimension('AC')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "Status");
$sheet->setCellValue("W4", "Ket Status");
$sheet->setCellValue("X4", "ID UNIQ");
$sheet->setCellValue("Y4", "ID OPD");
$sheet->setCellValue("Z4", "ID Kec");
$sheet->setCellValue("AA4", "ID Kel");
$sheet->setCellValue("AB4", "ID Bel");
$sheet->setCellValue("AC4", "ID Satuan");
$sheet->getStyle('A4:AC4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("K_Status"));
$sheet->setCellValue("W".$baris, $db->Row("S_Status"));
$sheet->setCellValue("X".$baris, $db->RowFloat("UsulanLID"));
$sheet->setCellValue("Y".$baris, $db->RowFloat("OPDID"));
$sheet->setCellValue("Z".$baris, $db->RowFloat("KecID"));
$sheet->setCellValue("AA".$baris, $db->RowFloat("KelID"));
$sheet->setCellValue("AB".$baris, $db->RowFloat("BelID"));
$sheet->setCellValue("AC".$baris, $db->RowFloat("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Hasil Forum OPD '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-opd" ) {
$aoption = array('type' => "option", 'id' => "OPDID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM vi_para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."'".($_SESSION['__WEB_USER']['Level']==3?" AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")":""));
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("OPDID");
$aoption['avalue'][] = array('value'=>$db->Row("OPDID"), 'html'=>$db->Row("Nama_OPD"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new cFORM();
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tforum = $form->option_db("_", "ForumID", 0, true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1 ORDER BY ForumID", array(0,"SEMUA FORUM"), null, "XDataHasilForumJS.oc_Forum()");
$topd = $form->option("_", "OPDID", 0, true, true, array(0=>"SEMUA OPD"));
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")));
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Nama Forum</label>
<div class="col-sm-8 col-lg-9">'.$tforum.'</div>
</div>
<div class="form-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="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
<div class="col-sm-8 col-lg-9">'.$tstatus.'</div>
</div>';
}
send_json($ajson);
?>
+124
View File
@@ -0,0 +1,124 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/sip/data_renja_opd.php
Desc. : PHP - Export Data Renja OPD
Created By : Siau Pheng ([email protected]).
Created Date : May 8th, 2020.
Last Modified : July 7th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules/data.xls.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
function report_show() {
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
form_clear();
form_option("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA'], "enabled", "para_periode", array("Tahun","Tahun"));
form_option("OPDID", 0, "enabled", "vi_para_opd", array("OPDID","Nama_OPD"), "", "IV=0 AND Aktif=1".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?"":array(0,"SEMUA OPD")));
form_radio_array("OAksi", 9, "enabled", array(9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"));
form_show('<table width="100%" height="160">
<tr>
<td width="150">Tahun Data</td>
<td>_Tahun_</td>
</tr>
<tr>
<td>Nama OPD</td>
<td>_OPDID_</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td>Asistensi Renja</td>
<td>_OAksi_</td>
</tr>
</table>');
}
function Lo_Dana($arec, $id) {
return ($arec['DanaID']==$id?$arec['Ini_Pagu']:0);
}
/************************** RESPON HERE ***************************/
$db = DB();
$data = $ap->getParam("data");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA']);
$id_opd = $ap->getParam("OPDID", 0);
$ak_o = $ap->getParam("OAksi", 0);
if ( $data == "excel" ) {
$tsql = " WHERE Tahun='".$tahun."' AND Ini_Pagu>0";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN RENJA ".$tahun;
$db->Query("SELECT O.K_OPD KO_OPD,BU.K_BidangU KO_BIDU,PR.K_Prog KO_PROG,T.K_RKA,T.K_Keg,T.N_Keg,O.N_OPD N_OPD,BU.N_BidangU N_BIDU,P.N_Prog N_PROG,T.DanaID,T.OPDID,T.ProgID,T.KegID,T.RKegID,T.Ini_Pagu,T.Dpn_Pagu,T.Keg_Indi,T.Keg_Target,T.Sasaran,T.Lokasi,D.K_Dana,R.DanaID DanaID2,R.KelID,R.ID,R.Kode,R.Uraian,R.Volume,R.SatuanID,S.N_Satuan,R.Rupiah,R.Ini_Pagu Ini_Pagu2,R.Dpn_Pagu Dpn_Pagu2,R.UsulanLID,R.UsulanDID,IFNULL(L.K_Desa,'') K_Desa,IFNULL(L.N_Desa,'') N_Desa,IFNULL(L.N_Kec,'') N_Kec,PR.Prog_Indi,PR.Prog_Target FROM (SELECT *,LEFT(K_Keg,4) K_BidangU FROM renja_keg".$tsql.") T LEFT JOIN renja_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.ProgID=PR.ProgID) LEFT JOIN para_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_program P ON (P.ProgID=T.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=T.K_BidangU) LEFT JOIN para_dana D ON (D.DanaID=T.DanaID) INNER JOIN (SELECT * FROM renja_rincian WHERE Tahun='".$tahun."' AND Ini_Pagu>0) R ON (R.K_RKA=T.K_RKA) LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID) LEFT JOIN vi_para_desa L ON (R.KelID=L.DesaID) ORDER BY T.K_OPD,T.K_BidangU,PR.K_Prog,T.K_Keg,R.Kode");
$xls = new cXLS("DATA RENJA OPD");
$xls->add_header(strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$xls->add_header("DATA RENJA OPD");
$xls->add_header($tglheader);
$xls->add_field("OPD", 6, "L");
$xls->add_field("BU", 5, "L");
$xls->add_field("PROG", 13, "L");
$xls->add_field("KEG", 16, "L");
$xls->add_field("Nama OPD", 20, "L");
$xls->add_field("Nama BU", 20, "L");
$xls->add_field("Nama Prog", 20, "L");
$xls->add_field("Nama Keg", 20, "L");
$xls->add_field("Dana", 11, "L");
$xls->add_field("Pagu ".$tahun, 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Indikator", 20, "L");
$xls->add_field("Target", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Rinci", 5, "C");
$xls->add_field("Uraian Rincian", 20, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Nilai @", 12, "R,N");
$xls->add_field("Jumlah", 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Kode Desa", 30, "L");
$xls->add_field("Nama Desa", 30, "L");
$xls->add_field("Nama Kecamatan", 30, "L");
$xls->add_field("Indikator Program", 30, "L");
$xls->add_field("Target Program", 30, "L");
$xls->add_field("Kode UNIQ", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Prog", 8, "L,N0");
$xls->add_field("ID Keg", 8, "L,N0");
$xls->add_field("ID Dana", 8, "L,N0");
$xls->add_field("ID Rinci", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_field("ID Usul Desa", 10, "L,N0");
$xls->add_field("ID Usul Dewan", 10, "L,N0");
$xls->add_sheet("Renja ".$tahun, false);
$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("KO_OPD"), $db->Row("KO_BIDU"), $db->Row("KO_PROG"), $db->Row("K_Keg"), $db->Row("N_OPD"), $db->Row("N_BIDU"), $db->Row("N_PROG"), $db->Row("N_Keg"), $db->Row("K_Dana"), $db->RowFloat("Ini_Pagu"), $db->RowFloat("Dpn_Pagu"), $db->Row("Keg_Indi"), $db->Row("Keg_Target"), $db->Row("Sasaran"), $db->Row("Lokasi"),$db->Row("Kode"), $db->Row("Uraian"), $db->RowFloat("Volume"), $db->Row("N_Satuan"), $db->RowFloat("Rupiah"), $db->RowFloat("Ini_Pagu2"), $db->RowFloat("Dpn_Pagu2"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("Prog_Indi"), $db->Row("Prog_Target"), $db->Row("K_RKA"), $db->Row("RKegID"), $db->Row("OPDID"), $db->Row("ProgID"), $db->Row("KegID"), $db->Row("DanaID"), $db->Row("ID"), $db->Row("KelID"), $db->Row("SatuanID"), $db->Row("UsulanLID"), $db->Row("UsulanDID"));
}
$xls->add_stamp(1, true);
$xls->send();
unset($xls);
} else if ( $data == "default") {
report_show();
}
?>
+248
View File
@@ -0,0 +1,248 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/data_usul_desa.php
Desc. : PHP - Export Data Usulan / Desa
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : March 4th, 2022.
(c) 2020 - 2022, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules3/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules3/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules3/data.json.php");
require_once(dirname(__FILE__)."/../../../../../vendor/autoload.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
/************************** RESPON HERE ***************************/
$db = DB();
$ajson = array();
$data = $ap->getParam("data");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_kec = $ap->getParam("KecID", 0);
$id_kel = $ap->getParam("KelID", 0);
$jen_awal = $ap->getParam("Jenis_Awal", 0);
$jen_susul = $ap->getParam("Jenis_Susul", 0);
$jen_kec = $ap->getParam("Jenis_Kec", 0);
if ( $data == "excel" ) {
$ajenis = array();
if ($jen_awal>0) array_push($ajenis, 0, 2);
if ($jen_susul>0) array_push($ajenis, 1);
if ($jen_kec>0) array_push($ajenis, 3);
$tsql = " Tahun='".$tahun."' AND JU IN (".implode(",",$ajenis).")";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID)");
$client = new \Redis();
$client->connect('127.0.0.1', 6379);
$pool = new \Cache\Adapter\Redis\RedisCachePool($client);
$simpleCache = new \Cache\Bridge\SimpleCache\SimpleCacheBridge($pool);
\PhpOffice\PhpSpreadsheet\Settings::setCache($simpleCache);
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Usulan Desa ".$tahun)
->setCategory("Data Usulan Desa ".$tahun)
->setSubject($tahun)
->setDescription("Data Usulan Desa ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("USULAN DESA");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AA1');
$sheet->setCellValue("A2", "DATA USULAN DESA TAHUN ".$tahun);
$sheet->mergeCells('A2:AA2');
$sheet->getStyle('A1:AA2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(8);
$sheet->getColumnDimension('W')->setWidth(8);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "ID UNIQ");
$sheet->setCellValue("W4", "ID OPD");
$sheet->setCellValue("X4", "ID Kec");
$sheet->setCellValue("Y4", "ID Kel");
$sheet->setCellValue("Z4", "ID Bel");
$sheet->setCellValue("AA4", "ID Satuan");
$sheet->getStyle('A4:AA4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("UsulanLID"));
$sheet->setCellValue("W".$baris, $db->Row("OPDID"));
$sheet->setCellValue("X".$baris, $db->Row("KecID"));
$sheet->setCellValue("Y".$baris, $db->Row("KelID"));
$sheet->setCellValue("Z".$baris, $db->Row("BelID"));
$sheet->setCellValue("AA".$baris, $db->Row("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Usulan Desa '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-kel" ) {
$aoption = array('type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."'");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"SEMUA DESA");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = array('value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new cFORM();
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")), null, "XDataUsulDesaJS.oc_Kec()");
$tkel = $form->option("_", "KelID", 0, true, true, array(0=>"SEMUA DESA"));
$tjawal = $form->radio("_", "Jenis_Awal", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjsusul = $form->radio("_", "Jenis_Susul", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjkec = $form->radio("_", "Jenis_Kec", 1, true, true, array(1=>"Ya",0=>"Tidak"));
echo '
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Tahun">Tahun Data</label>
<div class="col-sm-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa</label>
<div class="col-sm-8 col-lg-9">'.$tkel.'</div>
</div>
<div class="form-row mb-1"><div class="col"><hr /></div></div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Awal">Usulan Awal</label>
<div class="col-sm-8 col-lg-9">'.$tjawal.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Susul">Usulan Susulan</label>
<div class="col-sm-8 col-lg-9">'.$tjsusul.'</div>
</div>
<div class="form-row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Kec">Usulan Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tjkec.'</div>
</div>';
}
send_json($ajson);
?>
+122
View File
@@ -0,0 +1,122 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/pok/data_usul_dewan.php
Desc. : PHP - Export Data Usulan / Dewan
Created By : Siau Pheng ([email protected]).
Created Date : March 19th, 2020.
Last Modified : May 4th, 2020.
(c) 2020, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
require_once(dirname(__FILE__)."/../../../../../modules/web.auth.php");
require_once(dirname(__FILE__)."/../../../../../modules/web.form.php");
require_once(dirname(__FILE__)."/../../../../../modules/data.xls.php");
require_once(dirname(__FILE__)."/../func.sippd.php");
function report_show() {
$id_dprd = ($_SESSION['__WEB_USER']['Level']==5) ? $_SESSION['__WEB_USER']['DPRDID'] : 0;
form_clear();
form_option("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA'], "enabled", "para_periode", array("Tahun","Tahun"));
form_option("DPRDID", $id_dprd, "enabled", "para_dprd", array("DPRDID","N_DPRD"), "", "Aktif=1 ORDER BY N_DPRD", ($_SESSION['__WEB_USER']['Level']==5?"":array(0,"SEMUA DEWAN")));
form_radio_array("BAksi", 9, "enabled", array(9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"));
form_radio_array("OAksi", 9, "enabled", array(9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"));
form_show('<table width="100%" height="180">
<tr>
<td width="150">Tahun Data</td>
<td>_Tahun_</td>
</tr>
<tr>
<td>Nama Dewan</td>
<td>_DPRDID_</td>
</tr>
<tr>
<td colspan="2"><hr></td>
</tr>
<tr>
<td>Verifikasi Bappeda</td>
<td>_BAksi_</td>
</tr>
<tr>
<td>Verifikasi OPD</td>
<td>_OAksi_</td>
</tr>
</table>');
}
/************************** RESPON HERE ***************************/
$db = DB();
$data = $ap->getParam("data");
$id_rpjmd = $_SESSION['__WEB_APP']['RENC_RPJMDID'];
$tahun = $ap->getParam("Tahun", $_SESSION['__WEB_USER']['TAHUN_RENJA']);
$id_dprd = $ap->getParam("DPRDID", 0);
$ak_b = $ap->getParam("BAksi", 0);
$ak_o = $ap->getParam("OAksi", 0);
if ( $data == "excel" ) {
$tsql = ($id_dprd==0) ? "" : " AND DPRDID='".$id_dprd."'";
$tsql .= ($ak_b==9) ? "" : " AND BAksi='".$ak_b."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,L.K_DPRD,L.N_DPRD,O.K_OPD,O.N_OPD,D.K_Lokasi K_Desa,D.N_Lokasi N_Desa,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,S.N_Satuan,IFNULL(R.K_Keg,'') K_Keg FROM (SELECT * FROM pok_usulan_dewan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_dprd L ON (U.DPRDID=L.DPRDID) LEFT JOIN para_opd O ON (U.OPDID=O.OPDID) LEFT JOIN para_lokasi K ON (U.KecID=K.LokasiID AND K.Level=1) LEFT JOIN para_lokasi D ON (U.KelID=D.LokasiID AND D.Level=2) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) LEFT JOIN (SELECT RKegID,K_Keg FROM renja_keg WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."') R ON (U.RKegID=R.RKegID)");
$xls = new cXLS("DATA USULAN DEWAN");
$xls->add_header(strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$xls->add_header("DATA USULAN DEWAN");
$xls->add_header($tglheader);
$xls->add_field("Kode", 6, "C");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Dusun", 20, "L");
$xls->add_field("RT", 10, "L");
$xls->add_field("Masalah", 20, "L");
$xls->add_field("Usulan", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Waktu", 10, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Anggaran", 12, "R,N");
$xls->add_field("Veri Bappeda", 6, "C,N0");
$xls->add_field("Catatan Bappeda", 30, "L");
$xls->add_field("Veri OPD", 6, "C,N0");
$xls->add_field("Catatan OPD", 30, "L");
$xls->add_field("Kode Urusan", 8, "L");
$xls->add_field("Kode Program", 10, "L");
$xls->add_field("Kode Kegiatan", 12, "L");
$xls->add_field("Jenis Usulan", 20, "L");
$xls->add_field("Dewan", 5, "L");
$xls->add_field("Nama Dewan", 12, "L");
$xls->add_field("OPD", 5, "L");
$xls->add_field("Nama OPD", 12, "L");
$xls->add_field("Desa", 5, "L");
$xls->add_field("Nama Desa", 12, "L");
$xls->add_field("Kec", 4, "L");
$xls->add_field("Nama Kec", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID DPRD", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Kec", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_sheet("Usulan Dewan", false);
$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("Kode"), $db->Row("Lokasi"), $db->Row("Dusun"), $db->Row("RT"), $db->Row("Masalah"), $db->Row("Usulan"), $db->Row("Sasaran"), $db->Row("Waktu"), $db->Row("Volume"), $db->Row("N_Satuan"), $db->Row("Rupiah"), $db->Row("BAksi"), $db->Row("BKet"), $db->Row("OAksi"), $db->Row("OKet"), substr($db->Row("K_Keg"),0,4), substr($db->Row("K_Keg"),0,13), $db->Row("K_Keg"), $db->Row("OJenis"), $db->Row("K_DPRD"), $db->Row("N_DPRD"),$db->Row("K_OPD"), $db->Row("N_OPD"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("K_Kec"), $db->Row("N_Kec"), $db->Row("UsulanDID"), $db->Row("DPRDID"), $db->Row("OPDID"), $db->Row("KecID"), $db->Row("KelID"), $db->Row("SatuanID"));
}
$xls->add_stamp(1, true);
$xls->send();
unset($xls);
} else if ( $data == "default") {
report_show();
}
?>
+236
View File
@@ -0,0 +1,236 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/hasil_forum.php
Desc. : PHP - Export Data Hasil Forum
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_forum = Param::Get("ForumID", 0);
$id_opd = Param::Get("OPDID", 0);
$id_kec = Param::Get("KecID", 0);
$id_status = Param::Get("StatusID", 0);
if ( $data == "excel" ) {
$tsql = " Tahun='".$tahun."'";
$tsql .= ($id_forum==0) ? "" : " AND OPDID IN (SELECT OPDID FROM para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."')";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_status==0) ? " AND StatusID>0" : " AND StatusID='".$id_status."'";
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan,T.K_Status,T.S_Status FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID) LEFT JOIN para_status T ON (U.StatusID=T.StatusID)");
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Hasil Forum OPD ".$tahun)
->setCategory("Data Hasil Forum OPD ".$tahun)
->setSubject($tahun)
->setDescription("Data Hasil Forum OPD ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("HASIL FORUM");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AC1');
$sheet->setCellValue("A2", "DATA HASIL FORUM OPD TAHUN ".$tahun);
$sheet->mergeCells('A2:AC2');
$sheet->getStyle('A1:AC2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(7);
$sheet->getColumnDimension('W')->setWidth(15);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(8);
$sheet->getColumnDimension('AB')->setWidth(8);
$sheet->getColumnDimension('AC')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "Status");
$sheet->setCellValue("W4", "Ket Status");
$sheet->setCellValue("X4", "ID UNIQ");
$sheet->setCellValue("Y4", "ID OPD");
$sheet->setCellValue("Z4", "ID Kec");
$sheet->setCellValue("AA4", "ID Kel");
$sheet->setCellValue("AB4", "ID Bel");
$sheet->setCellValue("AC4", "ID Satuan");
$sheet->getStyle('A4:AC4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("K_Status"));
$sheet->setCellValue("W".$baris, $db->Row("S_Status"));
$sheet->setCellValue("X".$baris, $db->RowFloat("UsulanLID"));
$sheet->setCellValue("Y".$baris, $db->RowFloat("OPDID"));
$sheet->setCellValue("Z".$baris, $db->RowFloat("KecID"));
$sheet->setCellValue("AA".$baris, $db->RowFloat("KelID"));
$sheet->setCellValue("AB".$baris, $db->RowFloat("BelID"));
$sheet->setCellValue("AC".$baris, $db->RowFloat("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Hasil Forum OPD '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-opd" ) {
$aoption = array('type' => "option", 'id' => "OPDID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM vi_para90_opd WHERE Aktif=1 AND ForumID='".$id_forum."'".($_SESSION['__WEB_USER']['Level']==3?" AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")":""));
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("OPDID");
$aoption['avalue'][] = array('value'=>$db->Row("OPDID"), 'html'=>$db->Row("Nama_OPD"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tforum = $form->option_db("_", "ForumID", 0, true, true, "para_forum", array("ForumID","N_Forum"), "Aktif=1 ORDER BY ForumID", array(0,"SEMUA FORUM"), null, "XDataHasilForumJS.oc_Forum()");
$topd = $form->option("_", "OPDID", 0, true, true, array(0=>"SEMUA OPD"));
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")));
$tstatus = $form->option_db("_", "StatusID", 0, true, true, "vi_para_status", array("StatusID","Nama_Status"), "Aktif=1 ORDER BY K_Status", array(0,"SEMUA STATUS"));
echo '
<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-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="ForumID">Nama Forum</label>
<div class="col">'.$tforum.'</div>
</div>
<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">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="StatusID">Nama Status</label>
<div class="col">'.$tstatus.'</div>
</div>';
}
send_json($ajson);
?>
+126
View File
@@ -0,0 +1,126 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/renja_opd.php
Desc. : PHP - Export Data Renja OPD
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
function Lo_Dana($arec, $id) {
return ($arec['DanaID']==$id?$arec['Ini_Pagu']:0);
}
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_opd = Param::Get("OPDID", 0);
$ak_o = Param::Get("OAksi", 0);
if ( $data == "excel" ) {
$tsql = " WHERE Tahun='".$tahun."' AND Ini_Pagu>0";
$tsql .= ($id_opd==0) ? "" : " AND OPDID='".$id_opd."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN RENJA ".$tahun;
$db->Query("SELECT O.K_OPD KO_OPD,BU.K_BidangU KO_BIDU,PR.K_Prog KO_PROG,T.K_RKA,T.K_Keg,T.N_Keg,O.N_OPD N_OPD,BU.N_BidangU N_BIDU,P.N_Prog N_PROG,T.DanaID,T.OPDID,T.ProgID,T.KegID,T.RKegID,T.Ini_Pagu,T.Dpn_Pagu,T.Keg_Indi,T.Keg_Target,T.Sasaran,T.Lokasi,D.K_Dana,R.DanaID DanaID2,R.KelID,R.ID,R.Kode,R.Uraian,R.Volume,R.SatuanID,S.N_Satuan,R.Rupiah,R.Ini_Pagu Ini_Pagu2,R.Dpn_Pagu Dpn_Pagu2,R.UsulanLID,R.UsulanDID,IFNULL(L.K_Desa,'') K_Desa,IFNULL(L.N_Desa,'') N_Desa,IFNULL(L.N_Kec,'') N_Kec,PR.Prog_Indi,PR.Prog_Target FROM (SELECT *,LEFT(K_Keg,4) K_BidangU FROM renja_keg".$tsql.") T LEFT JOIN renja_prog PR ON (T.Tahun=PR.Tahun AND T.OPDID=PR.OPDID AND T.ProgID=PR.ProgID) LEFT JOIN para_opd O ON (O.OPDID=T.OPDID) LEFT JOIN para_program P ON (P.ProgID=T.ProgID) LEFT JOIN para_bidang_u BU ON (BU.K_BidangU=T.K_BidangU) LEFT JOIN para_dana D ON (D.DanaID=T.DanaID) INNER JOIN (SELECT * FROM renja_rincian WHERE Tahun='".$tahun."' AND Ini_Pagu>0) R ON (R.K_RKA=T.K_RKA) LEFT JOIN para_satuan S ON (R.SatuanID=S.SatuanID) LEFT JOIN vi_para_desa L ON (R.KelID=L.DesaID) ORDER BY T.K_OPD,T.K_BidangU,PR.K_Prog,T.K_Keg,R.Kode");
$xls = new SimpleXLS([
'title'=>"Data Renja OPD",
'desc'=>"Export Data Renja OPD"
]);
$xls->add_header("<b>".$_SESSION['__WEB_APP']['REG_NAME']."</b>");
$xls->add_header("<b>DATA RENJA OPD</b>");
$xls->add_header($tglheader);
$xls->add_field("OPD", 6, "L");
$xls->add_field("BU", 5, "L");
$xls->add_field("PROG", 13, "L");
$xls->add_field("KEG", 16, "L");
$xls->add_field("Nama OPD", 20, "L");
$xls->add_field("Nama BU", 20, "L");
$xls->add_field("Nama Prog", 20, "L");
$xls->add_field("Nama Keg", 20, "L");
$xls->add_field("Dana", 11, "L");
$xls->add_field("Pagu ".$tahun, 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Indikator", 20, "L");
$xls->add_field("Target", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Rinci", 5, "C");
$xls->add_field("Uraian Rincian", 20, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Nilai @", 12, "R,N");
$xls->add_field("Jumlah", 15, "R,N");
$xls->add_field("Pagu N+1", 15, "R,N");
$xls->add_field("Kode Desa", 30, "L");
$xls->add_field("Nama Desa", 30, "L");
$xls->add_field("Nama Kecamatan", 30, "L");
$xls->add_field("Indikator Program", 30, "L");
$xls->add_field("Target Program", 30, "L");
$xls->add_field("Kode UNIQ", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Prog", 8, "L,N0");
$xls->add_field("ID Keg", 8, "L,N0");
$xls->add_field("ID Dana", 8, "L,N0");
$xls->add_field("ID Rinci", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_field("ID Usul Desa", 10, "L,N0");
$xls->add_field("ID Usul Dewan", 10, "L,N0");
$xls->add_sheet("Renja ".$tahun, false);
$xls->show_headers();
while ($db->Next()) {
$xls->add_value($db->Row("KO_OPD"), $db->Row("KO_BIDU"), $db->Row("KO_PROG"), $db->Row("K_Keg"), $db->Row("N_OPD"), $db->Row("N_BIDU"), $db->Row("N_PROG"), $db->Row("N_Keg"), $db->Row("K_Dana"), $db->RowFloat("Ini_Pagu"), $db->RowFloat("Dpn_Pagu"), $db->Row("Keg_Indi"), $db->Row("Keg_Target"), $db->Row("Sasaran"), $db->Row("Lokasi"),$db->Row("Kode"), $db->Row("Uraian"), $db->RowFloat("Volume"), $db->Row("N_Satuan"), $db->RowFloat("Rupiah"), $db->RowFloat("Ini_Pagu2"), $db->RowFloat("Dpn_Pagu2"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("N_Kec"), $db->Row("Prog_Indi"), $db->Row("Prog_Target"), $db->Row("K_RKA"), $db->Row("RKegID"), $db->Row("OPDID"), $db->Row("ProgID"), $db->Row("KegID"), $db->Row("DanaID"), $db->Row("ID"), $db->Row("KelID"), $db->Row("SatuanID"), $db->Row("UsulanLID"), $db->Row("UsulanDID"));
}
$xls->add_stamp(1, true);
$xls->send("Data Renja OPD.xlsx");
unset($xls);
} else if ( $data == "default") {
$q_opd = ($_SESSION['__WEB_USER']['Level']==3) ? " AND OPDID IN (".$_SESSION['__WEB_USER']['AK_OPD'].")" : "";
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, false, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$topd = $form->option_db("_", "OPDID", 0, true, false, "vi_para90_opd", array("OPDID","Nama_OPD"), "IV=0 AND Aktif=1".$q_opd." ORDER BY K_OPD", ($_SESSION['__WEB_USER']['Level']==3?"":array(0,"SEMUA OPD")));
$toaksi = $form->radio("_", "OAksi", 9, true, true, [9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"]);
echo '
<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-4 col-lg-5">'.$ttahun.'</div>
</div>
<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">'.$topd.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="OAksi">Asistensi Renja</label>
<div class="col col-form-label">'.$toaksi.'</div>
</div>';
}
send_json($ajson);
?>
+248
View File
@@ -0,0 +1,248 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/usul_desa.php
Desc. : PHP - Export Data Usulan / Desa
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_kec = Param::Get("KecID", 0);
$id_kel = Param::Get("KelID", 0);
$jen_awal = Param::Get("Jenis_Awal", 0);
$jen_susul = Param::Get("Jenis_Susul", 0);
$jen_kec = Param::Get("Jenis_Kec", 0);
if ( $data == "excel" ) {
$ajenis = array();
if ($jen_awal>0) array_push($ajenis, 0, 2);
if ($jen_susul>0) array_push($ajenis, 1);
if ($jen_kec>0) array_push($ajenis, 3);
$tsql = " Tahun='".$tahun."' AND JU IN (".implode(",",$ajenis).")";
$tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'";
$tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,O.K_OPD,O.N_OPD,D.K_Desa,D.N_Desa,D.K_Kec,D.N_Kec,B.K_Belanja,B.N_Belanja,S.N_Satuan FROM (SELECT * FROM mus_usulan_desa WHERE".$tsql.") U LEFT JOIN para90_opd O ON (U.OPDID=O.OPDID) LEFT JOIN vi_para_desa D ON (U.KelID=D.DesaID) LEFT JOIN para_belanja B ON (U.BelID=B.BelID) LEFT JOIN para_satuan S ON (U.SatuanID2=S.SatuanID)");
/*
$client = new \Redis();
$client->connect('127.0.0.1', 6379);
$pool = new \Cache\Adapter\Redis\RedisCachePool($client);
$simpleCache = new \Cache\Bridge\SimpleCache\SimpleCacheBridge($pool);
\PhpOffice\PhpSpreadsheet\Settings::setCache($simpleCache);*/
\PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() );
$styleTxt = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT]
];
$styleNum = [
'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED2]
];
$ssheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$ssheet->getProperties()
->setCreator($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setLastModifiedBy($_SESSION['__WEB_APP']['APP_NAME']." v".$_SESSION['__WEB_APP']['APP_VER'])
->setTitle("Data Usulan Desa ".$tahun)
->setCategory("Data Usulan Desa ".$tahun)
->setSubject($tahun)
->setDescription("Data Usulan Desa ".$tahun)
->setCompany("Bappeda Kabupaten Sambas");
$sheet = $ssheet->getActiveSheet();
$sheet->setTitle("USULAN DESA");
// header
$styleHeader = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER]
];
$sheet->setCellValue("A1", strtoupper($_SESSION['__WEB_APP']['REG_NAME']));
$sheet->mergeCells('A1:AA1');
$sheet->setCellValue("A2", "DATA USULAN DESA TAHUN ".$tahun);
$sheet->mergeCells('A2:AA2');
$sheet->getStyle('A1:AA2')->applyFromArray($styleHeader);
// table header
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->getColumnDimension('C')->setWidth(20);
$sheet->getColumnDimension('D')->setWidth(10);
$sheet->getColumnDimension('E')->setWidth(20);
$sheet->getColumnDimension('F')->setWidth(20);
$sheet->getColumnDimension('G')->setWidth(20);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(9);
$sheet->getColumnDimension('J')->setWidth(10);
$sheet->getColumnDimension('K')->setWidth(12);
$sheet->getColumnDimension('L')->setWidth(5);
$sheet->getColumnDimension('M')->setWidth(7);
$sheet->getColumnDimension('N')->setWidth(6);
$sheet->getColumnDimension('O')->setWidth(12);
$sheet->getColumnDimension('P')->setWidth(6);
$sheet->getColumnDimension('Q')->setWidth(12);
$sheet->getColumnDimension('R')->setWidth(6);
$sheet->getColumnDimension('S')->setWidth(12);
$sheet->getColumnDimension('T')->setWidth(6);
$sheet->getColumnDimension('U')->setWidth(15);
$sheet->getColumnDimension('V')->setWidth(8);
$sheet->getColumnDimension('W')->setWidth(8);
$sheet->getColumnDimension('X')->setWidth(8);
$sheet->getColumnDimension('Y')->setWidth(8);
$sheet->getColumnDimension('Z')->setWidth(8);
$sheet->getColumnDimension('AA')->setWidth(10);
$styleTableH = [
'font' => ['bold' => true],
'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER, 'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER, 'wrapText' => true],
'fill' => ['fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID, 'startColor' => ['rgb'=>"D0D0D0"]],
'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"C0C0C0"]]]
];
$sheet->setCellValue("A4", "Kode");
$sheet->setCellValue("B4", "Lokasi");
$sheet->setCellValue("C4", "Dusun");
$sheet->setCellValue("D4", "RT");
$sheet->setCellValue("E4", "Masalah");
$sheet->setCellValue("F4", "Usulan");
$sheet->setCellValue("G4", "Sasaran");
$sheet->setCellValue("H4", "Waktu");
$sheet->setCellValue("I4", "Volume");
$sheet->setCellValue("J4", "Satuan");
$sheet->setCellValue("K4", "Anggaran");
$sheet->setCellValue("L4", "Prio");
$sheet->setCellValue("M4", "Status");
$sheet->setCellValue("N4", "OPD");
$sheet->setCellValue("O4", "Nama OPD");
$sheet->setCellValue("P4", "Desa");
$sheet->setCellValue("Q4", "Nama Desa");
$sheet->setCellValue("R4", "Kec");
$sheet->setCellValue("S4", "Nama Kec");
$sheet->setCellValue("T4", "Bel");
$sheet->setCellValue("U4", "Nama Belanja");
$sheet->setCellValue("V4", "ID UNIQ");
$sheet->setCellValue("W4", "ID OPD");
$sheet->setCellValue("X4", "ID Kec");
$sheet->setCellValue("Y4", "ID Kel");
$sheet->setCellValue("Z4", "ID Bel");
$sheet->setCellValue("AA4", "ID Satuan");
$sheet->getStyle('A4:AA4')->applyFromArray($styleTableH);
$baris = 5;
while ($db->Next()) {
$sheet->setCellValue("A".$baris, $db->Row("Kode"));
$sheet->setCellValue("B".$baris, $db->Row("Lokasi2"));
$sheet->setCellValue("C".$baris, $db->Row("Dusun2"));
$sheet->setCellValue("D".$baris, $db->Row("RT2"));
$sheet->setCellValue("E".$baris, $db->Row("Masalah2"));
$sheet->setCellValue("F".$baris, $db->Row("Usulan2"));
$sheet->setCellValue("G".$baris, $db->Row("Sasaran2"));
$sheet->setCellValue("H".$baris, $db->Row("Waktu2"));
$sheet->setCellValue("I".$baris, $db->Row("Volume2"));
$sheet->setCellValue("J".$baris, $db->Row("N_Satuan"));
$sheet->setCellValue("K".$baris, $db->RowFloat("Rupiah2"));
$sheet->setCellValue("L".$baris, $db->Row("Prio"));
$sheet->setCellValue("M".$baris, $db->Row("StatusID"));
$sheet->setCellValue("N".$baris, $db->Row("K_OPD"));
$sheet->setCellValue("O".$baris, $db->Row("N_OPD"));
$sheet->setCellValue("P".$baris, $db->Row("K_Desa"));
$sheet->setCellValue("Q".$baris, $db->Row("N_Desa"));
$sheet->setCellValue("R".$baris, $db->Row("K_Kec"));
$sheet->setCellValue("S".$baris, $db->Row("N_Kec"));
$sheet->setCellValue("T".$baris, $db->Row("K_Belanja"));
$sheet->setCellValue("U".$baris, $db->Row("N_Belanja"));
$sheet->setCellValue("V".$baris, $db->Row("UsulanLID"));
$sheet->setCellValue("W".$baris, $db->Row("OPDID"));
$sheet->setCellValue("X".$baris, $db->Row("KecID"));
$sheet->setCellValue("Y".$baris, $db->Row("KelID"));
$sheet->setCellValue("Z".$baris, $db->Row("BelID"));
$sheet->setCellValue("AA".$baris, $db->Row("SatuanID2"));
//$sheet->getStyle('K'.$baris.':K'.$baris)->applyFromArray($styleNum);
$baris++;
}
$sheet->getSheetView()->setZoomScale(75);
$sheet->getHeaderFooter()->setOddFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
$sheet->getHeaderFooter()->setEvenFooter('&LeSIPPD - Kabupaten Sambas &Usulan Desa '.$tahun.' &R&I&D &T // Halaman : &P dari &N');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Data Usulan Desa '.$tahun.'.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($ssheet, 'Xlsx');
$writer->save('php://output');
$ssheet->disconnectWorksheets();
unset($ssheet);
unset($writer);
} else if ( $data == "option-kel" ) {
$aoption = array('type' => "option", 'id' => "KelID", 'value' => 0, 'avalue' => array());
$db->Query("SELECT * FROM para_lokasi WHERE Aktif=1 AND Level=2 AND IndukID='".$id_kec."'");
if ($db->RecordCount()<>1) $aoption['avalue'][] = array('value'=>0, 'html'=>"SEMUA DESA");
while ($db->Next()) {
if ($db->RecordCount()==1) $aoption['value'] = $db->Row("LokasiID");
$aoption['avalue'][] = array('value'=>$db->Row("LokasiID"), 'html'=>$db->Row("N_Lokasi"));
}
$ajson[] = $aoption;
} else if ( $data == "default") {
$q_kec = ($_SESSION['__WEB_USER']['Level']==2) ? " AND LokasiID IN (".$_SESSION['__WEB_USER']['AK_KEC'].")": " AND Level=1 AND LokasiID>2";
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tkec = $form->option_db("_", "KecID", 0, true, true, "para_lokasi", array("LokasiID","N_Lokasi"), "Aktif=1".$q_kec." ORDER BY N_Lokasi", ($_SESSION['__WEB_USER']['Level']==2?"":array(0,"SEMUA KECAMATAN")), null, "XDataUsulDesaJS.oc_Kec()");
$tkel = $form->option("_", "KelID", 0, true, true, array(0=>"SEMUA DESA"));
$tjawal = $form->radio("_", "Jenis_Awal", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjsusul = $form->radio("_", "Jenis_Susul", 1, true, true, array(1=>"Ya",0=>"Tidak"));
$tjkec = $form->radio("_", "Jenis_Kec", 1, true, true, array(1=>"Ya",0=>"Tidak"));
echo '
<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-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KecID">Nama Kecamatan</label>
<div class="col-sm-8 col-lg-9">'.$tkec.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="KelID">Nama Desa</label>
<div class="col-sm-8 col-lg-9">'.$tkel.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Awal">Usulan Awal</label>
<div class="col col-form-label">'.$tjawal.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Susul">Usulan Susulan</label>
<div class="col col-form-label">'.$tjsusul.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="Jenis_Kec">Usulan Kecamatan</label>
<div class="col col-form-label">'.$tjkec.'</div>
</div>';
}
send_json($ajson);
?>
+123
View File
@@ -0,0 +1,123 @@
<?php
/*******************************************************************
App. Name : SISTEM INFORMASI PERENCANAAN PEMBANGUNAN DAERAH
Module : /apps/php/xls/usul_dewan.php
Desc. : PHP - Export Data Usulan / Dewan
Created By : Siau Pheng ([email protected]).
Created Date : January 4th, 2020.
Last Modified : June 6th, 2024.
(c) 2014 - 2024, 3FONIA Software; WWW.3FONIA.COM.
*******************************************************************/
ini_set("pcre.backtrack_limit", 100000000);
require_once(__DIR__."/../../../../../vendor/autoload.php");
require_once(__DIR__."/../func/report.php");
use siaupheng\fonia3\DB\MySQL;
use siaupheng\fonia3\Web\Param;
use siaupheng\fonia3\Web\Form;
use siaupheng\fonia3\Data\SimpleXLS;
$db = (is_resource($db)) ? $db : new MySQL();
$ajson = [];
$data = Param::Get("data");
$tahun = Param::Get("Tahun", $_SESSION['__WEB_APP']['RENC_THN']);
$id_dprd = Param::Get("DPRDID", 0);
$ak_b = Param::Get("BAksi", 0);
$ak_o = Param::Get("OAksi", 0);
if ( $data == "excel" ) {
$tsql = ($id_dprd==0) ? "" : " AND DPRDID='".$id_dprd."'";
$tsql .= ($ak_b==9) ? "" : " AND BAksi='".$ak_b."'";
$tsql .= ($ak_o==9) ? "" : " AND OAksi='".$ak_o."'";
$tglheader = "TAHUN USULAN ".$tahun;
$db->Query("SELECT U.*,L.K_DPRD,L.N_DPRD,O.K_OPD,O.N_OPD,D.K_Lokasi K_Desa,D.N_Lokasi N_Desa,K.K_Lokasi K_Kec,K.N_Lokasi N_Kec,S.N_Satuan,IFNULL(R.K_Keg,'') K_Keg FROM (SELECT * FROM pok_usulan_dewan WHERE Tahun='".$tahun."'".$tsql.") U LEFT JOIN para_dprd L ON (U.DPRDID=L.DPRDID) LEFT JOIN para_opd O ON (U.OPDID=O.OPDID) LEFT JOIN para_lokasi K ON (U.KecID=K.LokasiID AND K.Level=1) LEFT JOIN para_lokasi D ON (U.KelID=D.LokasiID AND D.Level=2) LEFT JOIN para_satuan S ON (U.SatuanID=S.SatuanID) LEFT JOIN (SELECT RKegID,K_Keg FROM renja_keg WHERE RPJMDID='".$id_rpjmd."' AND Tahun='".$tahun."') R ON (U.RKegID=R.RKegID)");
$xls = new SimpleXLS([
'title'=>"Data Usulan Dewan",
'desc'=>"Export Data Usulan Dewan"
]);
$xls->add_header("<b>".$_SESSION['__WEB_APP']['REG_NAME']."</b>");
$xls->add_header("<b>DATA USULAN DEWAN</b>");
$xls->add_header($tglheader);
$xls->add_field("Kode", 6, "C");
$xls->add_field("Lokasi", 20, "L");
$xls->add_field("Dusun", 20, "L");
$xls->add_field("RT", 10, "L");
$xls->add_field("Masalah", 20, "L");
$xls->add_field("Usulan", 20, "L");
$xls->add_field("Sasaran", 20, "L");
$xls->add_field("Waktu", 10, "L");
$xls->add_field("Volume", 7, "R,N0");
$xls->add_field("Satuan", 10, "L");
$xls->add_field("Anggaran", 12, "R,N");
$xls->add_field("Veri Bappeda", 6, "C,N0");
$xls->add_field("Catatan Bappeda", 30, "L");
$xls->add_field("Veri OPD", 6, "C,N0");
$xls->add_field("Catatan OPD", 30, "L");
$xls->add_field("Kode Urusan", 8, "L");
$xls->add_field("Kode Program", 10, "L");
$xls->add_field("Kode Kegiatan", 12, "L");
$xls->add_field("Jenis Usulan", 20, "L");
$xls->add_field("Dewan", 5, "L");
$xls->add_field("Nama Dewan", 12, "L");
$xls->add_field("OPD", 5, "L");
$xls->add_field("Nama OPD", 12, "L");
$xls->add_field("Desa", 5, "L");
$xls->add_field("Nama Desa", 12, "L");
$xls->add_field("Kec", 4, "L");
$xls->add_field("Nama Kec", 12, "L");
$xls->add_field("ID UNIQ", 8, "L,N0");
$xls->add_field("ID DPRD", 8, "L,N0");
$xls->add_field("ID OPD", 8, "L,N0");
$xls->add_field("ID Kec", 8, "L,N0");
$xls->add_field("ID Kel", 8, "L,N0");
$xls->add_field("ID Satuan", 10, "L,N0");
$xls->add_sheet("Usulan Dewan", true);
while ($db->Next()) {
$xls->add_value($db->Row("Kode"), $db->Row("Lokasi"), $db->Row("Dusun"), $db->Row("RT"), $db->Row("Masalah"), $db->Row("Usulan"), $db->Row("Sasaran"), $db->Row("Waktu"), $db->Row("Volume"), $db->Row("N_Satuan"), $db->Row("Rupiah"), $db->Row("BAksi"), $db->Row("BKet"), $db->Row("OAksi"), $db->Row("OKet"), substr($db->Row("K_Keg"),0,4), substr($db->Row("K_Keg"),0,13), $db->Row("K_Keg"), $db->Row("OJenis"), $db->Row("K_DPRD"), $db->Row("N_DPRD"),$db->Row("K_OPD"), $db->Row("N_OPD"), $db->Row("K_Desa"), $db->Row("N_Desa"), $db->Row("K_Kec"), $db->Row("N_Kec"), $db->Row("UsulanDID"), $db->Row("DPRDID"), $db->Row("OPDID"), $db->Row("KecID"), $db->Row("KelID"), $db->Row("SatuanID"));
}
$xls->add_stamp(1, true);
$xls->send("Data Usulan Dewan.xlsx");
unset($xls);
} else if ( $data == "default") {
$id_dprd = ($_SESSION['__WEB_USER']['Level']==5) ? $_SESSION['__WEB_USER']['DPRDID'] : 0;
$form = new Form($db);
$ttahun = $form->option_db("_", "Tahun", $tahun, true, true, "para_periode", array("Tahun","Tahun"), "Tahun BETWEEN '".$_SESSION['__WEB_APP']['Tahun_Min']."' AND '".$_SESSION['__WEB_APP']['Tahun_Max']."'");
$tdprd = $form->option_db("_", "DPRDID", $id_dprd, true, false, "para_dprd", ["DPRDID","N_DPRD"], "Aktif=1 ORDER BY N_DPRD", ($_SESSION['__WEB_USER']['Level']==5?"":[0,"SEMUA DEWAN"]));
$tbaksi = $form->radio("_", "BAksi", 9, true, true, [9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"]);
$toaksi = $form->radio("_", "OAksi", 9, true, true, [9=>"Semua",1=>"Diterima",2=>"Ditolak",0=>"Belum"]);
echo '
<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-4 col-lg-5">'.$ttahun.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="DPRDID">Nama Dewan</label>
<div class="col-sm-8 col-lg-9">'.$tdprd.'</div>
</div>
<div class="row mb-1"><div class="col"><hr class="my-1"></div></div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="BAksi">Verifikasi Bappeda</label>
<div class="col col-form-label">'.$tbaksi.'</div>
</div>
<div class="row mb-1">
<label class="col-sm-4 col-lg-3 col-form-label" for="OAksi">Verifikasi OPD</label>
<div class="col col-form-label">'.$toaksi.'</div>
</div>';
}
send_json($ajson);
?>