diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index 70c2476a..b36e16ab 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -10,6 +10,8 @@ use App\Classes\Modules\Bookings\Services\CalculatesBookingCurrencyAverageRate; use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Classes\Modules\Documents\Services\CreatesDocument; use App\Classes\Modules\Documents\Services\CreatesFiles; +use App\Classes\Modules\Bookings\Services\UpdatesBookingStatus; + use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject; use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\ValueObjects\Constants\ApprovalStatus; @@ -46,6 +48,9 @@ class CreateInvoiceTransactionProcessor /** @var CreatesFiles */ private $createsFile; + /** @var UpdatesBookingStatus */ + private $updatesBookingStatus; + /** @var PDF */ private $pdf; @@ -56,7 +61,7 @@ class CreateInvoiceTransactionProcessor * @param GeneratesTransactionBillNumber $generatesTransactionBillNumber * @param CalculatesBookingPaidAmount $calculatesBookingPaidAmount */ - public function __construct(ListsTransactions $listsTransactions, CreatesTransaction $createsTransaction, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CalculatesBookingPaidAmount $calculatesBookingPaidAmount, CalculatesBookingCurrencyAverageRate $calculatesBookingCurrencyAverageRate, FetchesCompany $fetchesCompany, CreatesDocument $createsDocument, CreatesFiles $createsFile, PDF $pdf) + public function __construct(ListsTransactions $listsTransactions, CreatesTransaction $createsTransaction, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CalculatesBookingPaidAmount $calculatesBookingPaidAmount, CalculatesBookingCurrencyAverageRate $calculatesBookingCurrencyAverageRate, FetchesCompany $fetchesCompany, CreatesDocument $createsDocument, CreatesFiles $createsFile, UpdatesBookingStatus $updatesBookingStatus, PDF $pdf) { $this->listsTransactions = $listsTransactions; $this->generatesTransactionBillNumber = $generatesTransactionBillNumber; @@ -66,6 +71,7 @@ class CreateInvoiceTransactionProcessor $this->fetchesCompany = $fetchesCompany; $this->createsDocument = $createsDocument; $this->createsFile = $createsFile; + $this->updatesBookingStatus = $updatesBookingStatus; $this->pdf = $pdf; } @@ -125,10 +131,17 @@ class CreateInvoiceTransactionProcessor ApprovalStatus::COMPLETED, 'purchase_order' ); - $document = $this->createsDocument->execute($po_order_transaction, $document_object); + $document = $this->createsDocument->execute($po_order_transaction->booking, $document_object); $this->createsFile->execute($document, $document_object); + + + + $transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); + $this->updatesBookingStatus->execute($booking, ApprovalStatus::COMPLETED); + // dd('yess'); + } } } diff --git a/app/Classes/ValueObjects/Constants/DocumentType.php b/app/Classes/ValueObjects/Constants/DocumentType.php index 710c18b0..76443a50 100644 --- a/app/Classes/ValueObjects/Constants/DocumentType.php +++ b/app/Classes/ValueObjects/Constants/DocumentType.php @@ -18,5 +18,7 @@ final class DocumentType { public const WALLET_REFUND_PAYMENT_PROOF = 'WALLET_REFUND_PAYMENT_PROOF'; public const PURCHASE_ORDER = 'PURCHASE_ORDER'; - + public const DELIVER_ORDER = 'DELIVER_ORDER'; + public const SUPPLIER_ORDER = 'SUPPLIER_ORDER'; + public const PAYMENT_ORDER = 'PAYMENT_ORDER'; }