diff --git a/app/Http/Controllers/MemoController.php b/app/Http/Controllers/MemoController.php index 28cfe7a..04390f1 100644 --- a/app/Http/Controllers/MemoController.php +++ b/app/Http/Controllers/MemoController.php @@ -9,6 +9,8 @@ use Illuminate\Support\Facades\DB; use Modules\Lpj\Models\Permohonan; use Illuminate\Support\Facades\Log; use App\Http\Controllers\Controller; +use Barryvdh\DomPDF\Facade\Pdf; +use Illuminate\Support\Facades\Storage; class MemoController extends Controller { @@ -116,7 +118,7 @@ class MemoController extends Controller $permohonan->memo_penyelesaian_date = $memoDate; $permohonan->memo_penyelesaian_payment_date = $paymentDate; $permohonan->memo_penyelesaian_created_at = now(); - $permohonan->save(); + //$permohonan->save(); Log::info('MemoController: Berhasil update permohonan ID: ' . $permohonanId); } @@ -385,7 +387,7 @@ class MemoController extends Controller * Generate PDF memo penyelesaian dan simpan ke database * * @param Request $request - * @return \Illuminate\Http\RedirectResponse + * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function generatePdf(Request $request) { @@ -395,19 +397,60 @@ class MemoController extends Controller try { // Validasi input - $request->validate([ - 'permohonan_ids' => 'required|array', - 'permohonan_ids.*' => 'exists:permohonan,id', - 'memo_number' => 'required|string|max:255', - 'payment_date' => 'required|date', - 'memo_date' => 'required|date' - ]); $permohonanIds = $request->permohonan_ids; $memoNumber = $request->memo_number; $paymentDate = $request->payment_date; $memoDate = $request->memo_date; + // Ambil data permohonan yang dipilih + $permohonanList = Permohonan::with([ + 'user', + 'debiture', + 'branch', + 'tujuanPenilaian', + 'penilaian', + 'jenisFasilitasKredit', + 'documents.inspeksi', + 'penilai', + 'documents.detail', + 'noc' + ])->whereIn('id', $permohonanIds)->get(); + + // Hitung total biaya PJ dari nominal_bayar di tabel NOC + $totalBiayaPJ = Noc::whereIn('permohonan_id', $permohonanIds) + ->sum('nominal_bayar'); + + // Data untuk template memo + $memoData = [ + 'memo_number' => $memoNumber, + 'memo_date' => $memoDate, + 'payment_date' => $paymentDate, + 'total_biaya_pj' => $totalBiayaPJ, + 'permohonan_list' => $permohonanList, + 'debitur_count' => $permohonanList->count(), + 'jaminan_info' => $this->getJaminanInfo($permohonanList) + ]; + // Generate PDF dari template + $pdf = Pdf::loadView('lpj::memo.pdf-template', compact('memoData', 'permohonanList', 'totalBiayaPJ')) + ->setPaper('a4', 'portrait') + ->setOptions([ + 'defaultFont' => 'Times-Roman', + 'isRemoteEnabled' => true, + 'isHtml5ParserEnabled' => true, + 'isPhpEnabled' => true, + 'dpi' => 150, + 'defaultPaperSize' => 'a4', + 'chroot' => public_path(), + ]); + + // Nama file PDF + $fileName = 'memo-penyelesaian-' . str_replace(['/', ' '], ['-', '-'], $memoNumber) . '-' . date('Y-m-d-H-i-s') . '.pdf'; + $filePath = 'memo-penyelesaian/' . $fileName; + + // Simpan PDF ke storage + Storage::disk('public')->put($filePath, $pdf->output()); + // Update status permohonan yang dipilih foreach ($permohonanIds as $permohonanId) { $permohonan = Permohonan::find($permohonanId); @@ -417,7 +460,8 @@ class MemoController extends Controller $permohonan->memo_penyelesaian_date = $memoDate; $permohonan->memo_penyelesaian_payment_date = $paymentDate; $permohonan->memo_penyelesaian_created_at = now(); - $permohonan->save(); + $permohonan->memo_penyelesaian_pdf_path = $filePath; + //$permohonan->save(); Log::info('MemoController: Berhasil update permohonan ID: ' . $permohonanId); } @@ -426,8 +470,8 @@ class MemoController extends Controller DB::commit(); Log::info('MemoController: Berhasil generate PDF dan menyimpan memo penyelesaian untuk ' . count($permohonanIds) . ' permohonan'); - return redirect()->route('memo.index') - ->with('success', 'Memo penyelesaian berhasil dibuat dan disimpan untuk ' . count($permohonanIds) . ' permohonan'); + // Return PDF untuk download + return $pdf->download($fileName); } catch (Exception $e) { DB::rollback(); diff --git a/resources/views/memo/pdf-template.blade.php b/resources/views/memo/pdf-template.blade.php new file mode 100644 index 0000000..c2de268 --- /dev/null +++ b/resources/views/memo/pdf-template.blade.php @@ -0,0 +1,363 @@ + + + + + + Memo Penyelesaian - {{ $memoData['memo_number'] }} + + + + + +
+ +
+ +
+ Memo Instruksi Penyelesaian Rekening Escrow / KSL Penilai Jaminan +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Kepada:SUBDIT E-Channel Support & Operation (NOC)
Dari:SUBDIT Appraisal
Nomor:{{ $memoData['memo_number'] }}
Tanggal:{{ \Carbon\Carbon::parse($memoData['memo_date'])->format('d F Y') }}
Perihal:Penyelesaian Rekening Escrow / KSL Penilai Jaminan (PJ)
+
+ +
+ +
+

Sehubungan dengan telah dilakukannya penilaian jaminan dengan keterangan sbb : +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nama Debitur:Terlampir ({{ $memoData['debitur_count'] }} Debitur)
Jaminan:{{ $memoData['jaminan_info'] }}
Total Biaya PJ:Rp {{ number_format($memoData['total_biaya_pj'], 0, ',', '.') }},-
({{ terbilang($memoData['total_biaya_pj']) }} Rupiah)
Pembayaran Tanggal:{{ \Carbon\Carbon::parse($memoData['payment_date'])->format('d F Y') }}
LPJ selesai dikirim:-
Jenis Penilaian:KJPP
+ +

Kami menginstruksikan kepada Sentra Operasi untuk menyelesaikan Rekening Escrow + / KSL Penilai Jaminan atas nama debitur tersebut diatas ke KJPP + (terlampir).

+ +

Demikian kami sampaikan, atas perhatian dan kerjasamanya kami ucapkan terima + kasih.

+
+ +
+ + + + + + +
+

Salam

+
+

Innawati Sulina

+

DD Operation 2

+
+

 

+
+

Wahab N. Wibawa

+

Pgs EO Subdit Appraisal

+
+

 

+
+

Sumurung P. Siahaan

+

 

+
+
+ +
+

Lampiran :

+ +
+ + +
+
LAMPIRAN
+
REKAP PERMOHONAN PENYELESAIAN BIAYA KJPP
+

Memo No: {{ $memoData['memo_number'] }}

+ + + + + + + + + + + + + + + @foreach ($permohonanList as $index => $permohonan) + + + + + + + + + + @endforeach + + + + + + + +
NoNomor RegistrasiDebiturCabangAOTujuan PenilaianBiaya PJ
{{ $index + 1 }}{{ $permohonan->nomor_registrasi }}{{ $permohonan->debiture->name ?? '-' }}{{ $permohonan->branch->name ?? '-' }}{{ $permohonan->user->name ?? '-' }}{{ $permohonan->tujuanPenilaian->name ?? '-' }}Rp + {{ number_format($permohonan->noc->nominal_bayar ?? 0, 0, ',', '.') }}
Total Biaya PJ:Rp {{ number_format($totalBiayaPJ, 0, ',', '.') }}
+
+ + +