From b489855d1169b50f70296142016dcc548d58a27c Mon Sep 17 00:00:00 2001 From: hafifierahman Date: Tue, 21 Jan 2025 00:07:48 +0800 Subject: [PATCH] added pdf and fix surat wakil no pdf and added pdf for resit --- app/Http/Controllers/BayaranController.php | 45 ++++++++- composer.json | 1 + .../views/pembayaran/resit/resitpdf.blade.php | 93 +++++++++++++++++++ .../pembayaran/resit/resitportal.blade.php | 27 +++--- routes/web.php | 1 + 5 files changed, 154 insertions(+), 13 deletions(-) create mode 100644 resources/views/pembayaran/resit/resitpdf.blade.php diff --git a/app/Http/Controllers/BayaranController.php b/app/Http/Controllers/BayaranController.php index 4e39014..3874901 100644 --- a/app/Http/Controllers/BayaranController.php +++ b/app/Http/Controllers/BayaranController.php @@ -16,6 +16,7 @@ use Illuminate\Support\Facades\Log; use Money\Money; use App\Services\OnlineTransactionLoggerService; use Illuminate\Support\Facades\Session; +use PDF; class BayaranController extends Controller { @@ -215,7 +216,49 @@ class BayaranController extends Controller ->json(); $gadai = $gadai_details[0][0]; - return view('pembayaran.resit.resitportal', compact('customer_details', 'payment_details', 'cawangan_detail', 'nama_cawangan', 'gadai')); + $company = Session::get('company'); + + return view('pembayaran.resit.resitportal', compact('customer_details', 'payment_details', 'cawangan_detail', 'nama_cawangan', 'gadai','company')); + } + + public function generateResit(Request $request) + { + $this->serviceCallHttp($request->company); + + $kpbaru = Auth::User()->icno; + + $customer = $this->CallableHttp + ->get('/api/customers/' . $kpbaru) + ->json(); + $customer_details = $customer; + + $current = Carbon::now(); + $current = new Carbon(); + $date = $current->toDateTimeString(); + + $payment_details = $this->CallableHttp + ->get('/api/transaction/online/express', ['billplz_id' => $request->billplzid]) + ->json(); + + $cawangan_info = $this->CallableHttp + ->get('/api/cawangan/' . $payment_details['kodcaw']) + ->json(); + $cawangan = $this->CallableHttp + ->get('/api/cawangan/detail/' . $payment_details['kodcaw']) + ->json(); + $cawangan_detail = $cawangan[0]; + $nama_cawangan = $cawangan_info['details_caw']; + + $gadai_details = $this->CallableHttp + ->get('/api/gadai/norujukan/' . $payment_details['norujukan']) + ->json(); + $gadai = $gadai_details[0][0]; + + // Load a view and pass data to it + $pdf = PDF::loadView('pembayaran.resit.resitpdf', compact('customer_details', 'payment_details', 'cawangan_detail', 'nama_cawangan', 'gadai')); + + // Return the generated PDF (inline display in browser) + return $pdf->stream('resit_pembayaran.pdf'); } public function callback(Request $request) diff --git a/composer.json b/composer.json index 531e898..6c677f0 100644 --- a/composer.json +++ b/composer.json @@ -6,6 +6,7 @@ "license": "MIT", "require": { "php": "^7.3|^8.0", + "barryvdh/laravel-dompdf": "^2.2", "fideloper/proxy": "^4.4", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^7.0.1", diff --git a/resources/views/pembayaran/resit/resitpdf.blade.php b/resources/views/pembayaran/resit/resitpdf.blade.php new file mode 100644 index 0000000..c8482cd --- /dev/null +++ b/resources/views/pembayaran/resit/resitpdf.blade.php @@ -0,0 +1,93 @@ + + + + + + {{ config('app.name') }} | Pembayaran Berjaya + + + + + + + + + + + +
+
+ Logo Ar Rahn + Logo Ar Rahn +
+
+ Pelanggan yang dihargai, +
+
+ Terima kasih kerana menggunakan perkhidmatan kami. +
+
+
+
Status Bayaran
+
Berjaya
+
+
+
+
ID Transaksi
+
{{ $payment_details['reference_no'] }}
+
+
+
+
No. Surat Akuan Gadai
+
{{ $payment_details['norujukan'] }}
+
+
+
+
Nama Pelanggan
+
{{ $payment_details['customer_name'] }}
+
+
+
+
Tarikh Transaksi
+ @php + $myDateTime = DateTime::createFromFormat('Y-m-d', $payment_details['tarikh'] ); + $formattedweddingdate = $myDateTime->format('d/m/Y'); + @endphp +
{{ $formattedweddingdate . ' ' . $payment_details['masa'] }}
+
+
+
+
Jumlah Bayaran
+
RM {{ number_format($payment_details['total_payment'], 2) }}
+
+ @if($gadai['hargajualan'] == 0) +
+
+
Tarikh Lanjutan
+
31/12/2021
+
+ @endif +
+
+ Sebarang pembayaran akan dikemaskini selepas 1 Jam sebaik pembayaran dilakukan +
+
+ Nota: Resit ini adalah cetakan komputer dan tandatangan tidak diperlukan. +
+
+ {{ $cawangan_detail['namacaw'] }}
+ {{ $cawangan_detail['alamat1'] . ' ' . $cawangan_detail['alamat2'] }} +
+
+ + + diff --git a/resources/views/pembayaran/resit/resitportal.blade.php b/resources/views/pembayaran/resit/resitportal.blade.php index 7470f0c..5c0ea26 100644 --- a/resources/views/pembayaran/resit/resitportal.blade.php +++ b/resources/views/pembayaran/resit/resitportal.blade.php @@ -126,12 +126,17 @@ -
-
- Kembali Muka Hadapan - +
+
+
+ @csrf + + + Kembali Muka Hadapan + +
-
+
@@ -139,13 +144,11 @@ diff --git a/routes/web.php b/routes/web.php index fab2450..99def21 100644 --- a/routes/web.php +++ b/routes/web.php @@ -119,6 +119,7 @@ Route::group(['middleware' => 'auth','verified'], function () { Route::put('profile', ['as' => 'profile.update', 'uses' => 'App\Http\Controllers\ProfileController@update']); Route::get('/cust/print.suratwakil/{kodcaw}/{norujukan}',['as'=>'cust.print.suratwakil','uses'=>'App\Http\Controllers\ProfileController@printSuratWakil']); + Route::post('/generate-resit', 'App\Http\Controllers\BayaranController@generateResit')->name('resit.pdf'); }); Route::get('/requestic', 'App\Http\Controllers\TacController@requestKadPengenalan')->name('requestic');