68 lines
2.2 KiB
PHP
68 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\DataAlumni;
|
|
use App\Models\TahunAngkatan;
|
|
use App\Models\Jabatan;
|
|
use Barryvdh\DomPDF\Facade\Pdf;
|
|
use App\Exports\HasilKlasifikasiExport;
|
|
use Maatwebsite\Excel\Facades\Excel;
|
|
|
|
class ExportKmeansController extends Controller
|
|
{
|
|
// Menampilkan halaman pilih angkatan dan tombol export
|
|
public function index(Request $request)
|
|
{
|
|
$angkatanList = TahunAngkatan::all();
|
|
$id_angkatan = $request->get('id_angkatan');
|
|
$data = [];
|
|
|
|
if ($id_angkatan) {
|
|
$data = DataAlumni::with(['jabatan', 'kualifikasiBidang', 'hasilKlasifikasi'])
|
|
->where('angkatan', $id_angkatan)
|
|
->get();
|
|
}
|
|
|
|
// Tambahkan mapping jabatan dan kualifikasi bidang
|
|
$jabatanMap = Jabatan::pluck('Kategori_bidang_kerja', 'id_kategori')->toArray();
|
|
|
|
return view('hasil_klasIfikasi_eksport', [
|
|
'data' => $data,
|
|
'angkatanList' => $angkatanList,
|
|
'id_angkatan' => $id_angkatan,
|
|
'jabatanMap' => $jabatanMap,
|
|
]);
|
|
}
|
|
|
|
public function exportPDF($id_angkatan)
|
|
{
|
|
$data = DataAlumni::with(['jabatan', 'kualifikasiBidang', 'hasilKlasifikasi'])
|
|
->where('angkatan', $id_angkatan)
|
|
->get();
|
|
|
|
$angkatan = TahunAngkatan::find($id_angkatan);
|
|
$jabatanMap = Jabatan::pluck('Kategori_bidang_kerja', 'id_kategori')->toArray();
|
|
|
|
$pdf = Pdf::loadView('hasil_klasifikasi_pdf', [
|
|
'data' => $data,
|
|
'angkatan' => $angkatan->tahun ?? 'Unknown',
|
|
'jabatanMap' => $jabatanMap,
|
|
]);
|
|
|
|
return $pdf->download('hasil_klasifikasi_angkatan_' . ($angkatan->tahun ?? 'unknown') . '.pdf');
|
|
}
|
|
|
|
public function exportExcel($id_angkatan)
|
|
{
|
|
// Ambil data angkatan berdasarkan ID
|
|
$angkatan = TahunAngkatan::find($id_angkatan);
|
|
|
|
// Gunakan nama tahun angkatan dalam nama file
|
|
$tahunAngkatan = $angkatan->tahun ?? 'Unknown';
|
|
|
|
return Excel::download(new HasilKlasifikasiExport($id_angkatan), 'hasil_klasifikasi_angkatan_' . $tahunAngkatan . '.xlsx');
|
|
}
|
|
}
|