PerfexCRM Integration

This commit is contained in:
Dillon
2023-01-03 15:41:30 +08:00
parent 2014a71014
commit 63f0670923
32 changed files with 1988 additions and 5 deletions
@@ -13,6 +13,7 @@ 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\Modules\PerfexCRM\Processors\CreatePerfexCRMInvoiceProcessor;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\SegmentConstants;
use App\Classes\ValueObjects\Constants\TransactionType;
@@ -55,6 +56,9 @@ class CreateInvoiceTransactionProcessor
/** @var CreateInvoiceDocumentProcessor */
private $invoiceDocumentProcessor;
/** @var CreatePerfexCRMInvoiceProcessor */
private $createPerfexCRMInvoiceProcessor;
/**
* CreateInvoiceTransactionProcessor constructor.
* @param ListsTransactions $listsTransactions
@@ -68,8 +72,9 @@ class CreateInvoiceTransactionProcessor
* @param FetchesCompany $fetchesCompany
* @param UpdatesBookingStatus $updatesBookingStatus
* @param CreateInvoiceDocumentProcessor $invoiceDocumentProcessor
* @param CreatePerfexCRMInvoiceProcessor $createPerfexCRMInvoiceProcessor
*/
public function __construct(ListsTransactions $listsTransactions, CreatesTransaction $createsTransaction, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CalculatesBookingPaidAmount $calculatesBookingPaidAmount, CalculatesBookingPayableAmount $calculatesBookingPayableAmount, CalculatesBookingTransferredAmount $calculatesBookingTransferredAmount, FetchesServiceConfigurations $fetchesServiceConfigurations, CalculatesBookingCurrencyAverageRate $calculatesBookingCurrencyAverageRate, FetchesCompany $fetchesCompany, UpdatesBookingStatus $updatesBookingStatus, CreateInvoiceDocumentProcessor $invoiceDocumentProcessor)
public function __construct(ListsTransactions $listsTransactions, CreatesTransaction $createsTransaction, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CalculatesBookingPaidAmount $calculatesBookingPaidAmount, CalculatesBookingPayableAmount $calculatesBookingPayableAmount, CalculatesBookingTransferredAmount $calculatesBookingTransferredAmount, FetchesServiceConfigurations $fetchesServiceConfigurations, CalculatesBookingCurrencyAverageRate $calculatesBookingCurrencyAverageRate, FetchesCompany $fetchesCompany, UpdatesBookingStatus $updatesBookingStatus, CreateInvoiceDocumentProcessor $invoiceDocumentProcessor, CreatePerfexCRMInvoiceProcessor $createPerfexCRMInvoiceProcessor)
{
$this->listsTransactions = $listsTransactions;
$this->createsTransaction = $createsTransaction;
@@ -82,6 +87,7 @@ class CreateInvoiceTransactionProcessor
$this->fetchesCompany = $fetchesCompany;
$this->updatesBookingStatus = $updatesBookingStatus;
$this->invoiceDocumentProcessor = $invoiceDocumentProcessor;
$this->createPerfexCRMInvoiceProcessor = $createPerfexCRMInvoiceProcessor;
}
@@ -198,6 +204,9 @@ class CreateInvoiceTransactionProcessor
// supply deliver order
$this->invoiceDocumentProcessor->execute($supplier_deliver_order_transaction, $purchaseOrder, $supplier, DocumentType::SUPPLIER_DELIVER_ORDER);
// update perfex crm
$this->createPerfexCRMInvoiceProcessor->execute($invoice_transaction, $purchaseOrder, $supplier);
$this->updatesBookingStatus->execute($booking, ApprovalStatus::COMPLETED);
}
}