filled('filter_periode')) { $periode = $request->filter_periode; // format YYYY-MM $query->whereRaw("DATE_FORMAT(tanggal_diterima, '%Y-%m') = ?", [$periode]); } $riwayats = $query->orderBy('tanggal_diterima', 'desc')->get(); return view('riwayat', compact('riwayats')); } public function konfirmasiPenyaluran($id_log) { $log = LogDistribusi::where('id', $id_log)->where('status', 'Menunggu')->first(); if ($log) { $log->update(['status' => 'Selesai']); PenerimaBantuan::where('id', $log->id_penerima) ->update(['tanggal_pencairan_terakhir' => $log->tanggal_diterima]); } return redirect()->back(); } public function cetakPdf(Request $request) { if (!$request->filled('periode')) { abort(400, 'Periode tidak valid!'); } $periode = $request->periode; $periode_obj = date_create_from_format('Y-m', $periode); if (!$periode_obj) { abort(400, 'Format periode tidak valid!'); } $bulan_indonesia = [ 'January' => 'Januari', 'February' => 'Februari', 'March' => 'Maret', 'April' => 'April', 'May' => 'Mei', 'June' => 'Juni', 'July' => 'Juli', 'August' => 'Agustus', 'September' => 'September', 'October' => 'Oktober', 'November' => 'November', 'December' => 'Desember' ]; $bulan_eng = date_format($periode_obj, 'F'); $tahun = date_format($periode_obj, 'Y'); $bulan_tahun = $bulan_indonesia[$bulan_eng] . ' ' . $tahun; $riwayats = LogDistribusi::with(['penerimaBantuan.tempat_ibadah']) ->whereRaw("DATE_FORMAT(tanggal_diterima, '%Y-%m') = ?", [$periode]) ->orderBy('tanggal_diterima', 'desc') ->get(); if ($riwayats->isEmpty()) { abort(404, 'Data riwayat tidak ditemukan untuk periode ini!'); } $tgl_sekarang_indo = date('d') . ' ' . $bulan_indonesia[date('F')] . ' ' . date('Y'); $html = ' Laporan Riwayat Penyaluran Bantuan - ' . $bulan_tahun . '

Laporan Riwayat Penyaluran Bantuan

Periode: ' . $bulan_tahun . '

'; $no = 1; foreach ($riwayats as $r) { $tgl = $r->tanggal_diterima->format('d-m-Y H:i'); $nama_kk = $r->penerimaBantuan->nama_kepala_keluarga ?? 'Data Terhapus'; $nik = $r->penerimaBantuan && $r->penerimaBantuan->nik_kepala_keluarga ? substr($r->penerimaBantuan->nik_kepala_keluarga, 0, 6) . '**********' : '-'; $alamat = $r->penerimaBantuan->alamat ?? '-'; $penyalur = $r->penerimaBantuan && $r->penerimaBantuan->tempat_ibadah ? $r->penerimaBantuan->tempat_ibadah->nama_tempat : '-'; $html .= ' '; $no++; } $html .= '
No Tanggal Terima Nama Kepala Keluarga NIK Alamat Penyalur Status
' . $no . ' ' . $tgl . ' ' . e($nama_kk) . ' ' . $nik . ' ' . e($alamat) . ' ' . e($penyalur) . ' ' . $r->status . '
Pontianak, ' . $tgl_sekarang_indo . '



Administrator
'; $pdf = Pdf::loadHTML($html)->setPaper('A4', 'landscape'); $filename = "Laporan_Penyaluran_" . $periode . ".pdf"; return $pdf->stream($filename); } }