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 @@
-
| {{ $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 | ||||||||
| {{ $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 | ||||||||
| - @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 | @@ -29,8 +29,8 @@ Delivery Order
- 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 | @@ -141,10 +141,10 @@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 |