Created
September 19, 2024 06:57
-
-
Save lukluk/37e9e61a32816228f5b112a7bd7e6da3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Http\Controllers; | |
use Illuminate\Http\Request; | |
use App\Models\PsbAkdDokumenOutput; | |
use App\Models\PsbAkdCsntr; | |
use Barryvdh\DomPDF\Facade\Pdf; | |
class DocumentController extends Controller | |
{ | |
public function downloadPdf($idDoc, Request $request) | |
{ | |
$idCsntr = $request->query('idcsntr'); | |
$dokumenOutput = PsbAkdDokumenOutput::findOrFail($idDoc); | |
$csntr = PsbAkdCsntr::findOrFail($idCsntr); | |
$htmlContent = $dokumenOutput->doc_template; | |
$filename = $dokumenOutput->filename; | |
// Generate PDF | |
$data["psb_akd_csntr.no_pendaftaran"] = $csntr->no_pendaftaran; | |
$no = substr($csntr->no_pendaftaran, -3); | |
$data["u1"] = $no[-3]; | |
$data["u2"] = $no[-2]; | |
$data["u3"] = $no[-1]; | |
$data["psb_akd_csntr.no_pendaftaran"] = | |
$data["psb_akd_csntr.jenjang_id"] = $csntr->jenjang->nama; | |
$data["psb_akd_csntr.jalur"] = $csntr->jalur; | |
$data["psb_akd_csntr.thn_akd"] = $csntr->thn_akd; | |
$data["gelombang"] = $csntr->gelombang->gelombang; | |
$data["psb_akd_csntr.gelombang_id"] = $csntr->gelombang->gelombang; | |
$data["psb_akd_csntr.tmp_lahir"] = $csntr->tmp_lahir; | |
$data["psb_akd_csntr.jml_sdr"] = $csntr->jml_sdr; | |
$data["psb_akd_csntr.tgl_lahir"] = $csntr->tgl_lahir ? $csntr->tgl_lahir->format('Y-m-d') : null; // Assuming tgl_lahir is a DateTime object | |
$data["psb_akd_csntr.anak_ke"] = $csntr->anak_ke; | |
$data["psb_akd_csntr.gol_darah"] = $csntr->gol_darah; | |
$data["psb_akd_csntr.jns_kelamin"] = $csntr->jns_kelamin; | |
$data["psb_akd_csntr.jns_kelamin2"] = $csntr->jns_kelamin == "PA" ? "Laki-Laki" : "Perempuan"; | |
$data["psb_akd_csntr.alamat"] = $csntr->alamat; | |
$data["psb_akd_csntr.rt"] = $csntr->rt; | |
$data["psb_akd_csntr.rw"] = $csntr->rw; | |
$data["psb_akd_csntr.desa_id"] = $csntr->desa->nama; | |
$data["psb_akd_csntr.kecamatan_id"] = $csntr->kecamatan->nama; | |
$data["psb_akd_csntr.kota_id"] = $csntr->kota->nama; | |
$data["psb_akd_csntr.provinsi_id"] = $csntr->provinsi->nama; | |
$data["psb_akd_csntr.kode_pos"] = $csntr->kode_pos; | |
$data["psb_akd_csntr.jml_hafalan"] = $csntr->jml_hafalan; | |
$data["psb_akd_csntr.nisn"] = $csntr->nisn; | |
$data["psb_akd_csntr.nik"] = $csntr->nik; | |
$data["psb_akd_csntr.kk"] = $csntr->kk; | |
$data["psb_akd_csntr.pj_biaya"] = $csntr->pj_biaya; | |
$data["psb_akd_csntr.pip"] = $csntr->pip; | |
$data["psb_akd_csntr.file_bukti_pembayaran"] = $csntr->file_bukti_pembayaran; | |
$data["psb_akd_csntr.status_anak"] = $csntr->status_anak; | |
$data["psb_akd_csntr.membaca_alquran"] = $csntr->membaca_alquran; | |
$data["psb_akd_csntr.catatan"] = $csntr->catatan; | |
$data["psb_akd_csntr.konfirmasi_bukti_pembayaran"] = $csntr->konfirmasi_bukti_pembayaran; | |
$data["psb_akd_csntr.biaya"] = $csntr->biaya; | |
$data["psb_akd_csntr.tgl_daftar"] = $csntr->tgl_daftar ? $csntr->tgl_daftar->format('Y-m-d') : null; | |
$data["psb_akd_csntr_sekolah_asal.nama"] = $csntr->sekolahAsal->nama; | |
$data["psb_akd_csntr_sekolah_asal.nspn"] = $csntr->sekolahAsal->nspn; | |
$data["psb_akd_csntr_sekolah_asal.thn_lulus"] = $csntr->sekolahAsal->thn_lulus; | |
$data["psb_akd_csntr_sekolah_asal.alamat"] = $csntr->sekolahAsal->alamat; | |
$data["psb_akd_csntr_sekolah_asal.desa_id"] = $csntr->sekolahAsal->desa->nama; | |
$data["psb_akd_csntr_sekolah_asal.kecamatan_id"] = $csntr->sekolahAsal->kecamatan->nama; | |
$data["psb_akd_csntr_sekolah_asal.kota_id"] = $csntr->sekolahAsal->kota->nama; | |
$data["psb_akd_csntr_sekolah_asal.provinsi_id"] = $csntr->sekolahAsal->provinsi->nama; | |
$data["psb_akd_csntr_sekolah_asal.nilai_bhs_indonesia"] = $csntr->sekolahAsal->nilai_bhs_indonesia; | |
$data["psb_akd_csntr_sekolah_asal.nilai_bhs_inggris"] = $csntr->sekolahAsal->nilai_bhs_inggris; | |
$data["psb_akd_csntr_sekolah_asal.nilai_matematika"] = $csntr->sekolahAsal->nilai_matematika; | |
$data["psb_akd_csntr_sekolah_asal.nilai_ipa"] = $csntr->sekolahAsal->nilai_ipa; | |
$data["psb_akd_csntr_sekolah_asal.nilai_bhs_indonesia_2"] = $csntr->sekolahAsal->nilai_bhs_indonesia_2; | |
$data["psb_akd_csntr_sekolah_asal.nilai_bhs_inggris_2"] = $csntr->sekolahAsal->nilai_bhs_inggris_2; | |
$data["psb_akd_csntr_sekolah_asal.nilai_matematika_2"] = $csntr->sekolahAsal->nilai_matematika_2; | |
$data["psb_akd_csntr_sekolah_asal.nilai_ipa_2"] = $csntr->sekolahAsal->nilai_ipa_2; | |
$data["psb_akd_csntr_parents.ayah.nama"] = $csntr->ayah->nama; | |
$data["psb_akd_csntr_parents.ibu.nama"] = $csntr->ibu->nama; | |
$data["psb_akd_csntr_parents.ayah.tmp_lahir"] = $csntr->ayah->tmp_lahir; | |
$data["psb_akd_csntr_parents.ayah.tgl_lahir"] = $csntr->ayah->tgl_lahir; | |
$data["psb_akd_csntr_parents.ayah.pendidikan_id"] = $csntr->ayah->pendidikan->nama; | |
$data["psb_akd_csntr_parents.ayah.pekerjaan_id"] = $csntr->ayah->pekerjaan->nama; | |
$data["psb_akd_csntr_parents.ayah.penghasilan_id"] = $csntr->ayah->penghasilan->nama; | |
$data["psb_akd_csntr_parents.ayah.no_hp"] = $csntr->ayah->no_hp; | |
$data["psb_akd_csntr_parents.ayah.status_hidup"] = $csntr->ayah->status_hidup; | |
$data["psb_akd_csntr_parents.ayah.nik"] = $csntr->ayah->nik; | |
$data["psb_akd_csntr_parents.ayah.domisili_sesuai_kk"] = $csntr->ayah->domisili_sesuai_kk; | |
$data["psb_akd_csntr_parents.ibu.tmp_lahir"] = $csntr->ibu->tmp_lahir; | |
$data["psb_akd_csntr_parents.ibu.tgl_lahir"] = $csntr->ibu->tgl_lahir; | |
$data["psb_akd_csntr_parents.ibu.pendidikan_id"] = $csntr->ibu->pendidikan->nama; | |
$data["psb_akd_csntr_parents.ibu.pekerjaan_id"] = $csntr->ibu->pekerjaan->nama; | |
$data["psb_akd_csntr_parents.ibu.penghasilan_id"] = $csntr->ibu->penghasilan->nama; | |
$data["psb_akd_csntr_parents.ibu.no_hp"] = $csntr->ibu->no_hp; | |
$data["psb_akd_csntr_parents.ibu.status_hidup"] = $csntr->ibu->status_hidup; | |
$data["psb_akd_csntr_parents.ibu.nik"] = $csntr->ibu->nik; | |
$data["psb_akd_csntr_parents.ibu.domisili_sesuai_kk"] = $csntr->ibu->domisili_sesuai_kk; | |
$dok = ""; | |
$csntr->dokumen->each(function ($dokumen, $n) use (&$dok) { | |
$dok .= $dokumen->dokumen->nama . "<br/>"; | |
}); | |
$data["psb_akd_csntr.dokumen"] = $dok; | |
$htmlContent = str_replace(array_keys($data), array_values($data), $htmlContent); | |
$pdf = Pdf::loadHTML($htmlContent); | |
return $pdf->download($filename . '.pdf'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment