From a47bb95e50e23f59344e3f455dbcbe868076a4c1 Mon Sep 17 00:00:00 2001 From: edmondlang Date: Fri, 15 Sep 2023 18:32:36 +0800 Subject: [PATCH] update wallet credit note --- .../GenerateCreditNotePdfLogic.php | 54 +++++++++ .../GenerateCreditNotePdfController.php | 15 +++ .../Resources/WalletTransactionResource.php | 1 + .../views/pages/pdfs/credit_note.blade.php | 108 ++++++++++++++++++ 4 files changed, 178 insertions(+) create mode 100644 app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php create mode 100644 app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php create mode 100644 resources/views/pages/pdfs/credit_note.blade.php diff --git a/app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php new file mode 100644 index 00000000..3df84972 --- /dev/null +++ b/app/Classes/Modules/Transactions/ControllersLogic/GenerateCreditNotePdfLogic.php @@ -0,0 +1,54 @@ +fetchesTransaction = $fetchesTransaction; + $this->fetchesCompanyModule = $fetchesCompanyModule; + } + + /** + * @param Request $request + * @return string|\Symfony\Component\HttpFoundation\Response + * @throws \App\Classes\Exceptions\MalformedRequestException + */ + public function execute(Request $request) + { + $transaction = $this->fetchesTransaction->execute(['id' => $request->route('id')]); + + $supplier = $this->fetchesCompanyModule->execute(['id' => $transaction->receiver]); + + // dd($supplier->name); + + $addresses = $supplier->addresses()->where('type', 1)->first(); + + dd($supplier->contacts()->get() ); + + $pdf = LaravelMpdf::loadView('pages.pdfs.credit_note', ['transaction' => $transaction, 'supplier' => $supplier]); + + return $pdf->stream('CreditNote.pdf'); + } +} diff --git a/app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php b/app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php new file mode 100644 index 00000000..11d27cdd --- /dev/null +++ b/app/Http/Controllers/Transactions/GenerateCreditNotePdfController.php @@ -0,0 +1,15 @@ +execute($request); + } +} diff --git a/app/Http/Resources/WalletTransactionResource.php b/app/Http/Resources/WalletTransactionResource.php index c43d2346..e5b8d1ce 100644 --- a/app/Http/Resources/WalletTransactionResource.php +++ b/app/Http/Resources/WalletTransactionResource.php @@ -45,6 +45,7 @@ class WalletTransactionResource extends JsonResource } return [ + 'id' => (int) $this->id, 'type' => (int) $this->type, 'marking' => $this->owner->owner->reference, 'bill_no' => $this->bill_no, diff --git a/resources/views/pages/pdfs/credit_note.blade.php b/resources/views/pages/pdfs/credit_note.blade.php new file mode 100644 index 00000000..f005b83a --- /dev/null +++ b/resources/views/pages/pdfs/credit_note.blade.php @@ -0,0 +1,108 @@ +@extends('layouts.base_pdf') +@section('inner_content') +
+ +

+
{{ $transaction->bill_no }}
+
+ + + + + + + + + + + +
+ + + CIEF WORLDWIDE SDN BHD + + + (1134596-M)
+ No. 72-3, Jalan Jalil 1,
+ The Earth Bukit Jalil,
+ 57000 Kuala Lumpur
+ Tel: 03-8082 1252 +
+
+ + {{ $transaction->type == 9 ? 'Credit' : 'Debit' }} Note + +
+ +
Date: {{ $transaction->created_at }}
+
 
+ +
+ + {{ $transaction->type == 9 ? 'Credit' : 'Debit' }} To + +
+
+ {{ $supplier->name }} +
+
+ @php + $addresses = $supplier->addresses()->where('type', 1)->first(); + @endphp + {{ $addresses->street_one }} + {{ $addresses->street_two }} , + {{ $addresses->district()->first()->name }}, + {{ $addresses->postcode }} + {{ $addresses->state()->first()->name }}, + {{ $addresses->country()->first()->name }} +
+
+ Phone: {{ $supplier->contacts()->first()->phone }} +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NoDescriptionQuantityUnit Price (RM)Total Amount
(RM)
1{{ ucfirst($transaction->payment_reference) }}1 + {{ number_format($transaction->amount, 2) }} + + {{ number_format($transaction->amount, 2) }} +
Total + {{ number_format($transaction->amount, 2) }} +
+ + + + + + +
This is generated by computer. No signature required.Page {PAGENO} of {nbpg}
+
+@endsection \ No newline at end of file