From d4366fb8835be717e4003ef887931349862f40a6 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 3 Nov 2023 16:07:52 +0700 Subject: [PATCH] Update: fitur cetak QR Code Checkbox --- app/Http/Controllers/PetiController.php | 38 ++++++++ .../Manajemen_Peti/Peti/all_print.blade.php | 86 +++++++++++++++++++ .../Manajemen_Peti/Peti/index.blade.php | 46 ++++++++++ routes/web.php | 4 +- 4 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/all_print.blade.php diff --git a/app/Http/Controllers/PetiController.php b/app/Http/Controllers/PetiController.php index 36e5a91..1f5000f 100644 --- a/app/Http/Controllers/PetiController.php +++ b/app/Http/Controllers/PetiController.php @@ -210,4 +210,42 @@ class PetiController extends Controller return redirect()->back()->with('error', 'Terjadi kesalahan saat mencetak PDF.'); } } + + public function AllPdf(Request $request) + { + $peti_ids = $request->input('peti_ids'); + $selectedIds = explode(',', $peti_ids); + + // Mengambil data dari database berdasarkan ID yang dipilih + $peti = Peti::whereIn('id', $selectedIds)->get(); + + // $peti = Peti::all(); + // Inisialisasi Dompdf + $options = new Options(); + $options->set('isHtml5ParserEnabled', true); + $options->set('isRemoteEnabled', true); + $options->set('defaultFont', 'Arial'); + $dompdf = new Dompdf($options); + + // Load HTML dari view + $html = view('dashboard.Master_Data.Manajemen_Peti.Peti.all_print', compact('peti'))->render(); + $dompdf->loadHtml($html); + + // Render PDF (portrait A4) + $dompdf->setPaper('A4', 'portrait'); + $dompdf->render(); + $output = $dompdf->output(); + + // Download file PDF dengan nama yang sesuai + return response()->stream( + function () use ($output) { + echo $output; + }, + 200, + [ + 'Content-Type' => 'application/pdf', + 'Content-Disposition' => 'inline; filename="label_Peti.pdf"', + ] + ); + } } diff --git a/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/all_print.blade.php b/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/all_print.blade.php new file mode 100644 index 0000000..75dc222 --- /dev/null +++ b/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/all_print.blade.php @@ -0,0 +1,86 @@ + + + + + Data PDF + + + + + + @foreach ($peti as $item => $data) + size(150) + ->errorCorrection('H') + ->generate($data->fix_lot . ';' . $data->id . ';' . $data->warehouse_id), + ); + ?> + @if ($loop->index % 3 == 0) +
+ @endif + + + + + + + + + + + + + + + + + + + + + +
+ Logo ISTW + PETI NUMBERBARCODE
+ {{ $data->fix_lot }} + + QR Code +
PT. ISTWCUSTOMER
QTY PETIPT. {{ $data->customer->name }}
1
+ @endforeach + + + + diff --git a/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/index.blade.php b/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/index.blade.php index 4218b20..e1a496d 100644 --- a/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/index.blade.php +++ b/resources/views/dashboard/Master_Data/Manajemen_Peti/Peti/index.blade.php @@ -27,10 +27,16 @@
+
+ @csrf + + +
+ @@ -51,6 +57,7 @@ @forelse ($peti as $data_peti) + @@ -85,10 +92,49 @@ @endforelse
No User Customer WH
{{ $nopeti++ }} {{ $data_peti->created_by }} {{ $data_peti->customer->name }} {{ $data_peti->warehouse->name }}
+
@else @include('pages.user.Master_Data.Manajemen_Peti.Peti.index') @endif + + + + @endsection diff --git a/routes/web.php b/routes/web.php index 54b23ce..4e23933 100644 --- a/routes/web.php +++ b/routes/web.php @@ -116,9 +116,11 @@ Route::prefix('dashboard')->name('dashboard.')->middleware(['auth'])->group(func Route::get('peti/{id}/edit', 'edit')->name('peti.edit'); Route::put('peti/{id}', 'update')->name('peti.update'); Route::delete('peti/delete/{id}', 'destroy')->name('peti.destroy'); - Route::get('peticetak_pdf/{id}', 'cetakpdf')->name('peticetakpdf.cetakpdf'); + Route::get('peticetak_pdf/{id}', 'cetakPdf')->name('peticetakpdf.cetakpdf'); + Route::get('all-cetak/peti', 'AllPdf')->name('all-pdf.cetakpdf'); }); + //Halaman Warehouse Route::controller(WarehouseController::class)->group(function () { Route::get('warehouse', 'index')->name('warehouse.index');