diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceDocumentProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceDocumentProcessor.php index 7a12a6ad..39b42576 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceDocumentProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceDocumentProcessor.php @@ -6,8 +6,6 @@ use App\Classes\Modules\Documents\Services\CreatesDocument; use App\Classes\Modules\Documents\Services\CreatesFiles; use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\ValueObjects\Constants\ApprovalStatus; -use App\Classes\ValueObjects\Constants\DocumentType; -use App\Models\Booking; use Meneses\LaravelMpdf\Facades\LaravelMpdf; class CreateInvoiceDocumentProcessor @@ -30,40 +28,22 @@ class CreateInvoiceDocumentProcessor } /** - * @param Booking $booking * @return void - * @throws \App\Classes\Exceptions\MalformedRequestException */ - public function execute($transaction, $po_order_transaction, $supplier, $document_type) + public function execute($transaction, $purchaseOrder, $supplier, $document_type) { $lowercaseDocumentType = strtolower($document_type); - if ($document_type !== DocumentType::SUPPLIER_DELIVER_ORDER) { + $order_pdf = LaravelMpdf::loadView('pages.pdfs.' . $lowercaseDocumentType, ['transaction' => $transaction, 'po_order_transaction' => $purchaseOrder, 'supplier' => $supplier]); + $document_object = new DocumentObject( + $document_type, + [chunk_split('data:application/pdf;base64,' . base64_encode($order_pdf->output()))], + '', + ApprovalStatus::COMPLETED, + $lowercaseDocumentType . 's' + ); - $order_pdf = LaravelMpdf::loadView('pages.pdfs.' . $lowercaseDocumentType, ['invoice_transaction' => $transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); - $document_object = new DocumentObject( - $document_type, - [chunk_split('data:application/pdf;base64,' . base64_encode($order_pdf->output()))], - '', - ApprovalStatus::COMPLETED, - $lowercaseDocumentType . 's' - ); - - } - else { - - $order_pdf = LaravelMpdf::loadView('pages.pdfs.supplier_deliver_order', ['supplier_deliver_order_transaction' => $transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); - $document_object = new DocumentObject( - $document_type, - [chunk_split('data:application/pdf;base64,'.base64_encode($order_pdf->output()))], - '', - ApprovalStatus::COMPLETED, - $lowercaseDocumentType . 's' - ); - - } - - $document = $this->createsDocument->execute($po_order_transaction->booking, $document_object); + $document = $this->createsDocument->execute($purchaseOrder->booking, $document_object); $this->createsFile->execute($document, $document_object); } } diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index e1d7f400..5b7987b4 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -12,7 +12,6 @@ use App\Classes\Modules\Bookings\Services\CalculatesBookingPaidAmount; use App\Classes\Modules\Bookings\Services\CalculatesBookingCurrencyAverageRate; use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Classes\Modules\Bookings\Services\UpdatesBookingStatus; - use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\SegmentConstants; @@ -85,7 +84,6 @@ class CreateInvoiceTransactionProcessor $this->invoiceDocumentProcessor = $invoiceDocumentProcessor; } - /** * @param Booking $booking * @return void @@ -110,14 +108,14 @@ class CreateInvoiceTransactionProcessor return; } - $po_order_transaction = $booking->transactions() + $purchaseOrder = $booking->transactions() ->where('type', TransactionType::PURCHASE_ORDER) ->complete() ->first(); $constants = SegmentConstant::where('reference', SegmentConstants::SERVICE_TYPE)->where('detail->id', $booking->service->id)->first(); - if ($constants->detail->is_billable && !$po_order_transaction) { + if ($constants->detail->is_billable && !$purchaseOrder) { return; } @@ -156,18 +154,18 @@ class CreateInvoiceTransactionProcessor null, ApprovalStatus::APPROVED ); - $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); + $invoice_transaction = $this->createsTransaction->execute($purchaseOrder->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); // purchase order - $this->invoiceDocumentProcessor->execute($invoice_transaction, $po_order_transaction, $supplier, DocumentType::PURCHASE_ORDER); + $this->invoiceDocumentProcessor->execute($invoice_transaction, $purchaseOrder, $supplier, DocumentType::PURCHASE_ORDER); // deliver order - $this->invoiceDocumentProcessor->execute($invoice_transaction, $po_order_transaction, $supplier, DocumentType::DELIVER_ORDER); + $this->invoiceDocumentProcessor->execute($invoice_transaction, $purchaseOrder, $supplier, DocumentType::DELIVER_ORDER); // invoice - $this->invoiceDocumentProcessor->execute($invoice_transaction, $po_order_transaction, $supplier, DocumentType::INVOICE); + $this->invoiceDocumentProcessor->execute($invoice_transaction, $purchaseOrder, $supplier, DocumentType::INVOICE); $billNumber = $this->generatesTransactionBillNumber->execute('SPDO-'); @@ -193,10 +191,10 @@ class CreateInvoiceTransactionProcessor null, ApprovalStatus::APPROVED ); - $supplier_deliver_order_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); + $supplier_deliver_order_transaction = $this->createsTransaction->execute($purchaseOrder->booking, $transaction_object); // supply deliver order - $this->invoiceDocumentProcessor->execute($supplier_deliver_order_transaction, $po_order_transaction, $supplier, DocumentType::SUPPLIER_DELIVER_ORDER); + $this->invoiceDocumentProcessor->execute($supplier_deliver_order_transaction, $purchaseOrder, $supplier, DocumentType::SUPPLIER_DELIVER_ORDER); $this->updatesBookingStatus->execute($booking, ApprovalStatus::COMPLETED); } diff --git a/resources/views/pages/pdfs/deliver_order.blade.php b/resources/views/pages/pdfs/deliver_order.blade.php index 8ad9004a..d16a0060 100644 --- a/resources/views/pages/pdfs/deliver_order.blade.php +++ b/resources/views/pages/pdfs/deliver_order.blade.php @@ -3,7 +3,7 @@


-
{{ $invoice_transaction->bill_no }}
+
{{ $transaction->bill_no }}
@@ -30,10 +30,10 @@ -
EDO: {{ $invoice_transaction->bill_no }}
+
EDO: {{ $transaction->bill_no }}
-
REF: {{ $invoice_transaction->booking->marking }}
+
REF: {{ $transaction->booking->marking }}
Date: {{ $po_order_transaction->created_at }}
 
@@ -93,19 +93,19 @@ - @if($invoice_transaction->tax > 0) + @if($transaction->tax > 0) - + @endif diff --git a/resources/views/pages/pdfs/invoice.blade.php b/resources/views/pages/pdfs/invoice.blade.php index 5d2cb5d1..a2a33daa 100644 --- a/resources/views/pages/pdfs/invoice.blade.php +++ b/resources/views/pages/pdfs/invoice.blade.php @@ -3,7 +3,7 @@


-
{{ $invoice_transaction->bill_no }}
+
{{ $transaction->bill_no }}
{{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2) }} @else {{ number_format($transaction_detail->price, 2) }} @endif - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) + @if($transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + {{ number_format((float)number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @php - $subtotal += number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + $subtotal += number_format((float)number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); @endphp @else {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @@ -130,35 +130,35 @@ Service Charges - {{ number_format($invoice_transaction->service_charge, 2) }} + {{ number_format($transaction->service_charge, 2) }}
Adjustment - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$transaction->currency_rate) * $transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @else - {{ number_format((float)number_format($invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + {{ number_format((float)number_format($transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @endif
Tax{{ number_format($invoice_transaction->tax, 2) }}{{ number_format($transaction->tax, 2) }}
Total - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( ((1/$invoice_transaction->currency_rate) * $invoice_transaction->amount) + $invoice_transaction->service_charge + $invoice_transaction->tax, 2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format( ((1/$transaction->currency_rate) * $transaction->amount) + $transaction->service_charge + $transaction->tax, 2) }} @else - {{ number_format($invoice_transaction->amount + $invoice_transaction->service_charge + $invoice_transaction->tax, 2) }} + {{ number_format($transaction->amount + $transaction->service_charge + $transaction->tax, 2) }} @endif
@@ -29,7 +29,7 @@ -
EI#: {{ $invoice_transaction->bill_no }}
+
EI#: {{ $transaction->bill_no }}
Ref# {{ $po_order_transaction->booking->marking }}
@@ -92,19 +92,19 @@ - @if($invoice_transaction->tax > 0) + @if($transaction->tax > 0) - + @endif diff --git a/resources/views/pages/pdfs/purchase_order.blade.php b/resources/views/pages/pdfs/purchase_order.blade.php index d190f285..84205178 100644 --- a/resources/views/pages/pdfs/purchase_order.blade.php +++ b/resources/views/pages/pdfs/purchase_order.blade.php @@ -97,19 +97,19 @@ - @if($invoice_transaction->tax > 0) + @if($transaction->tax > 0) - + @endif diff --git a/resources/views/pages/pdfs/supplier_deliver_order.blade.php b/resources/views/pages/pdfs/supplier_deliver_order.blade.php index 17c0bcf2..4f299878 100644 --- a/resources/views/pages/pdfs/supplier_deliver_order.blade.php +++ b/resources/views/pages/pdfs/supplier_deliver_order.blade.php @@ -6,16 +6,16 @@
{{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2) }} @else {{ number_format($transaction_detail->price, 2) }} @endif - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) + @if($transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + {{ number_format((float)number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @php - $subtotal += number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + $subtotal += number_format((float)number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); @endphp @else {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @@ -129,35 +129,35 @@ Service Charges - {{ number_format($invoice_transaction->service_charge, 2) }} + {{ number_format($transaction->service_charge, 2) }}
Adjustment - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$transaction->currency_rate) * $transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @else - {{ number_format((float)number_format($invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + {{ number_format((float)number_format($transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @endif
Tax{{ number_format($invoice_transaction->tax, 2) }}{{ number_format($transaction->tax, 2) }}
Total - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( ((1/$invoice_transaction->currency_rate) * $invoice_transaction->amount) + $invoice_transaction->service_charge + $invoice_transaction->tax, 2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format( ((1/$transaction->currency_rate) * $transaction->amount) + $transaction->service_charge + $transaction->tax, 2) }} @else - {{ number_format($invoice_transaction->amount + $invoice_transaction->service_charge + $invoice_transaction->tax, 2) }} + {{ number_format($transaction->amount + $transaction->service_charge + $transaction->tax, 2) }} @endif
{{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2) }} @else {{ number_format($transaction_detail->price, 2) }} @endif - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) + @if($transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + {{ number_format((float)number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @php - $subtotal += number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + $subtotal += number_format((float)number_format( (1/$transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); @endphp @else {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @@ -134,35 +134,35 @@ Service Charges - {{ number_format($invoice_transaction->service_charge, 2) }} + {{ number_format($transaction->service_charge, 2) }}
Adjustment - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$transaction->currency_rate) * $transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @else - {{ number_format((float)number_format($invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + {{ number_format((float)number_format($transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @endif
Tax{{ number_format($invoice_transaction->tax, 2) }}{{ number_format($transaction->tax, 2) }}
Total - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( ((1/$invoice_transaction->currency_rate) * $invoice_transaction->amount) + $invoice_transaction->service_charge + $invoice_transaction->tax, 2) }} + @if($transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format( ((1/$transaction->currency_rate) * $transaction->amount) + $transaction->service_charge + $transaction->tax, 2) }} @else - {{ number_format($invoice_transaction->amount + $invoice_transaction->service_charge + $invoice_transaction->tax, 2) }} + {{ number_format($transaction->amount + $transaction->service_charge + $transaction->tax, 2) }} @endif
@@ -29,8 +29,8 @@ Delivery Order @@ -93,19 +93,19 @@ @@ -141,10 +141,10 @@
- @if(in_array($supplier_deliver_order_transaction->issuer, [2, 1921])) + @if(in_array($transactions->issuer, [2, 1921])) Atvantic Import & Export Snd. Bhd (1309816-P) @endif - @if(in_array($supplier_deliver_order_transaction->issuer, [1937, 1970])) + @if(in_array($transactions->issuer, [1937, 1970])) BK Gemilang Sdn Bhd (1403513-U) @endif - @if(in_array($supplier_deliver_order_transaction->issuer, [2165, 2185])) + @if(in_array($transactions->issuer, [2165, 2185])) YSN SOLUTION TRADING SDN BHD (1393892-D) @endif - @if(in_array($supplier_deliver_order_transaction->issuer, [2210])) + @if(in_array($transactions->issuer, [2210])) RACK SOLUTION INDUSTRIES SDN BHD (954723-W) @endif - PO#: {{ $supplier_deliver_order_transaction->bill_no }}
- Ref#: {{ $supplier_deliver_order_transaction->booking->marking }}
+ PO#: {{ $transactions->bill_no }}
+ Ref#: {{ $transactions->booking->marking }}
Date: {{ $po_order_transaction->created_at }}
{{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->price, 2) }} + @if($transactions->booking()->first()->fix_currency_id !== 1) + {{ number_format( (1/$transactions->currency_rate) * $transaction_detail->price, 2) }} @else {{ number_format($transaction_detail->price, 2) }} @endif - @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) + @if($transactions->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + {{ number_format((float)number_format( (1/$transactions->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @php - $subtotal += number_format((float)number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + $subtotal += number_format((float)number_format( (1/$transactions->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); @endphp @else {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} @@ -130,10 +130,10 @@ Adjustment - @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format((float)number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $supplier_deliver_order_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @if($transactions->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$transactions->currency_rate) * $transactions->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @else - {{ number_format((float)number_format($supplier_deliver_order_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + {{ number_format((float)number_format($transactions->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @endif
Total - @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( ((1/$supplier_deliver_order_transaction->currency_rate) * $supplier_deliver_order_transaction->amount), 2) }} + @if($transactions->booking()->first()->fix_currency_id !== 1) + {{ number_format( ((1/$transactions->currency_rate) * $transactions->amount), 2) }} @else - {{ number_format($supplier_deliver_order_transaction->amount, 2) }} + {{ number_format($transactions->amount, 2) }} @endif