commit pertama
This commit is contained in:
@@ -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);
|
||||
?>
|
||||
Reference in New Issue
Block a user