option_db("_", "KecID", $id_kec, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Aktif=1 AND Level=1 ORDER BY N_Lokasi", array(0," "), "", "RepoMJalanJS.oc_KecID()"); $tkel = $form->option_db("_", "KelID", $id_kel, true, true, "para_lokasi", ["LokasiID","N_Lokasi"], "Aktif=1 AND Level=2 AND IndukID='".$id_kec."' ORDER BY N_Lokasi", [0,"SEMUA KELURAHAN / DESA"]); $tju = $form->radio("_", "JU", $ju, true, true, [9=>"Semua Status",1=>"Jalan Utama",2=>"Jalan Lingkungan"]); echo '
'.$tkec.'
'.$tkel.'
'.$tju.'
'; } /************************** RESPON HERE ***************************/ $db = $db ?? new MySQL(); $data = Param::Get("data"); $id_kec = Param::Get("KecID", 0); $id_kel = Param::Get("KelID", 0); $ju = Param::Get("JU", 9); if ( $data == "pdf" || $data == "cetak-html" || $data == "export") { $adesa = ['N_Kec'=>"", 'N_Desa'=>"Semua Desa"]; $db->Query("SELECT LokasiID KecID,N_Lokasi N_Kec FROM para_lokasi WHERE LokasiID='".$id_kec."' LIMIT 1"); if ($db->Next()) $adesa = array_merge($adesa, $db->AllRow()); if ($id_kel > 0) { $db->Query("SELECT LokasiID DesaID,N_Lokasi N_Desa FROM para_lokasi WHERE LokasiID='".$id_kel."' LIMIT 1"); if ($db->Next()) $adesa = array_merge($adesa, $db->AllRow()); } $tsql = ($ju==9) ? "" : ($ju==1?" AND JU=1":" AND JU=0"); $tsql .= ($id_kec==0) ? "" : " AND KecID='".$id_kec."'"; $tsql .= ($id_kel==0) ? "" : " AND KelID='".$id_kel."'"; $db->Query("SELECT J.*,K.N_Lokasi N_Kec,L.N_Lokasi N_Kel FROM (SELECT * FROM para_jalan WHERE Aktif=1".$tsql.") J LEFT JOIN para_lokasi K ON (K.LokasiID=J.KecID) LEFT JOIN para_lokasi L ON (L.LokasiID=J.KelID) ORDER BY K.K_Lokasi,L.K_Lokasi,J.N_Jalan"); } if ( $data == "cetak-html" ) { $html = '

DAFTAR NAMA JALAN
'.$adesa['N_Kec'].'

'; $t_head = '
'; $t_foot = '
No.Kecamatan / Kelurahan / Nama Jalan / GangLokasiKet
'; $_line = '%s%s%s%s'; $_sub = ' %s'; $body = $t_head; $kkec = 0; $kkel = 0; $nomor = 1; while ($db->Next()) { if ($kkec <> $db->Row("KecID")) { $body .= sprintf($_sub, "opd", $db->Row("N_Kec")); $kkec = $db->Row("KecID"); } if ($kkel <> $db->Row("KelID")) { $body .= sprintf($_sub, "prog", $db->Row("N_Kel")); $kkel = $db->Row("KelID"); $nomor = 1; } $body .= sprintf($_line, $nomor, $db->Row("N_Jalan"), $db->Row("Lokasi"), ($db->Row("JU")==1?"JU":"JL")); $nomor++; } $body .= sprintf($t_foot); echo $html . $body; } else if ( $data == "export" ) { \PhpOffice\PhpSpreadsheet\Cell\Cell::setValueBinder( new \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder() ); $styleTxt = [ 'numberFormat' => ['formatCode' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT] ]; $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("Daftar Nama Jalan") ->setCategory("Daftar Nama Jalan") ->setSubject("Daftar Nama Jalan") ->setDescription("Daftar Nama Jalan") ->setCompany("BAPPERIDA Kabupaten Mempawah"); $sheet = $ssheet->getActiveSheet(); $sheet->setTitle("JALAN"); // header $styleHeader = [ 'font' => ['bold' => true], 'alignment' => ['horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER] ]; $sheet->setCellValue("A1", "DAFTAR NAMA JALAN"); $sheet->mergeCells('A1:D1'); $sheet->setCellValue("A2", $adesa['N_Kec']); $sheet->mergeCells('A2:D2'); $sheet->getStyle('A1:D2')->applyFromArray($styleHeader); // table header $sheet->getColumnDimension('A')->setWidth(8); $sheet->getColumnDimension('B')->setWidth(30); $sheet->getColumnDimension('C')->setWidth(40); $sheet->getColumnDimension('D')->setWidth(6); $styleTableH1 = [ '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'=>"2187AC"]], 'borders' => ['allBorders' => ['borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN, 'color' => ['rgb'=>"000000"]]] ]; $sheet->setCellValue("A4", "No."); $sheet->setCellValue("B4", "Kecamatan / Kelurahan / Nama Jalan / Gang"); $sheet->setCellValue("C4", "Lokasi"); $sheet->setCellValue("D4", "Ket"); $sheet->getStyle('A4:D4')->applyFromArray($styleTableH1); $baris = 5; $kkec = 0; $kkel = 0; $nomor = 1; while ($db->Next()) { if ($kkec <> $db->Row("KecID")) { $sheet->setCellValue("B".$baris, $db->Row("N_Kec")); $sheet->mergeCells('B'.$baris.':D'.$baris); $baris++; $kkec = $db->Row("KecID"); } if ($kkel <> $db->Row("KelID")) { $sheet->setCellValue("B".$baris, $db->Row("N_Kel")); $sheet->mergeCells('B'.$baris.':D'.$baris); $baris++; $kkel = $db->Row("KelID"); $nomor = 1; } $sheet->setCellValue("A".$baris, $nomor); $sheet->setCellValue("B".$baris, $db->Row("N_Jalan")); $sheet->setCellValue("C".$baris, $db->Row("Lokasi")); $sheet->setCellValue("D".$baris, ($db->Row("JU")==1?"JU":"JL")); $baris++; $nomor++; } $sheet->getSheetView()->setZoomScale(90); //$sheet->getHeaderFooter()->setOddFooter('&LeMONEv - Kabupaten Mempawah &CEvaluasi &R&I&D &T // Halaman : &P dari &N'); //$sheet->getHeaderFooter()->setEvenFooter('&LeMONEv - Kabupaten Mempawah &CEvaluasi &R&I&D &T // Halaman : &P dari &N'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="Daftar Nama Jalan '.$adesa['N_Kec'].'.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 == "default") { report_show(); } ?>