mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
fix-payment-status-updated-but-failed-update-invoice
This commit is contained in:
+32
-8
@@ -1,11 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Classes\Exceptions\InternalServerErrorException;
|
|
||||||
use App\Classes\Jobs\FetchContainersStatusUpdateFromVTPortalJob;
|
|
||||||
use App\Classes\Jobs\FetchDeliveryListFromVTPortalJob;
|
use App\Classes\Jobs\FetchDeliveryListFromVTPortalJob;
|
||||||
use App\Classes\Jobs\FetchLoadedContainersFromVTPortalJob;
|
use App\Classes\Jobs\FetchLoadedContainersFromVTPortalJob;
|
||||||
use App\Classes\Jobs\FetchOrdersFromYDPortalJob;
|
use App\Classes\Jobs\FetchOrdersFromYDPortalJob;
|
||||||
use App\Classes\Jobs\FetchPackingListFromVTPortalJob;
|
|
||||||
use App\Classes\Jobs\FetchWarehouseReceiveListFromVTPortalJob;
|
use App\Classes\Jobs\FetchWarehouseReceiveListFromVTPortalJob;
|
||||||
use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject;
|
use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject;
|
||||||
use App\Classes\Modules\Documents\Services\CreatesDocument;
|
use App\Classes\Modules\Documents\Services\CreatesDocument;
|
||||||
@@ -16,12 +13,9 @@ use App\Classes\Modules\PackingLists\Processors\FetchContainersFromYdPortalProce
|
|||||||
use App\Classes\Modules\PackingLists\Processors\FetchContainersUpdatesFromYdPortalProcessor;
|
use App\Classes\Modules\PackingLists\Processors\FetchContainersUpdatesFromYdPortalProcessor;
|
||||||
use App\Classes\Modules\PackingLists\Processors\FetchDeliveryUpdatesFromYdPortalProcessor;
|
use App\Classes\Modules\PackingLists\Processors\FetchDeliveryUpdatesFromYdPortalProcessor;
|
||||||
use App\Classes\Modules\PackingLists\Processors\FetchLoadedContainersFromVTPortalProcessor;
|
use App\Classes\Modules\PackingLists\Processors\FetchLoadedContainersFromVTPortalProcessor;
|
||||||
use App\Classes\Modules\PackingLists\Processors\FetchOrderListsFromYdPortalProcessor;
|
|
||||||
use App\Classes\Modules\PackingLists\Processors\FetchPackingListFromVTPortalProcessor;
|
|
||||||
use App\Classes\Modules\PackingLists\Processors\FetchPackingListsFromYdPortalProcessor;
|
use App\Classes\Modules\PackingLists\Processors\FetchPackingListsFromYdPortalProcessor;
|
||||||
use App\Classes\Modules\PackingLists\Services\ListsPackingLists;
|
|
||||||
use App\Classes\Modules\Transactions\Processors\ApproveShippingInvoiceTransactionProcessor;
|
use App\Classes\Modules\Transactions\Processors\ApproveShippingInvoiceTransactionProcessor;
|
||||||
use App\Classes\Modules\Transactions\Processors\CreateInvoiceTransactionProcessor;
|
use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus;
|
||||||
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
||||||
use App\Classes\ValueObjects\Constants\BusinessType;
|
use App\Classes\ValueObjects\Constants\BusinessType;
|
||||||
use App\Classes\ValueObjects\Constants\DocumentType;
|
use App\Classes\ValueObjects\Constants\DocumentType;
|
||||||
@@ -30,7 +24,6 @@ use App\Classes\ValueObjects\Constants\PackageType;
|
|||||||
use App\Classes\ValueObjects\Constants\PackingListType;
|
use App\Classes\ValueObjects\Constants\PackingListType;
|
||||||
use App\Classes\ValueObjects\Constants\PaymentMethodType;
|
use App\Classes\ValueObjects\Constants\PaymentMethodType;
|
||||||
use App\Classes\ValueObjects\Constants\TransactionType;
|
use App\Classes\ValueObjects\Constants\TransactionType;
|
||||||
use App\Http\Resources\CompanyResource;
|
|
||||||
use App\Models\CompanyConnection;
|
use App\Models\CompanyConnection;
|
||||||
use App\Models\CompanyModule;
|
use App\Models\CompanyModule;
|
||||||
use App\Models\Document;
|
use App\Models\Document;
|
||||||
@@ -1225,3 +1218,34 @@ Route::get('/wallets/active', function(){
|
|||||||
}
|
}
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::get('fix-payment-status-updated-but-failed-update-invoice', function (UpdatesTransactionStatus $updatesTransactionStatus, UpdateDoFromVTPortalProcessor $updateDoFromVTPortalProcessor, UpdateDoFromYDPortalProcessor $updateDoFromYDPortalProcessor) {
|
||||||
|
$invoices = Transaction::where('type', TransactionType::SHIPPING_INVOICE)->whereIn('status', [2])
|
||||||
|
->whereHas('transactions', function ($query) {
|
||||||
|
$query->where('type', TransactionType::PAYMENT)
|
||||||
|
->whereIn('status', [2, 3]);
|
||||||
|
})->get();
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($invoices as $invoice) {
|
||||||
|
echo "Fixing" . $invoice->owner->owner->reference . '<br>';
|
||||||
|
|
||||||
|
$totalPaidAmount = $invoice->transactions->where('type', TransactionType::PAYMENT)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])->sum('amount');
|
||||||
|
|
||||||
|
if (($invoice->amount - $totalPaidAmount) < 0.01) {
|
||||||
|
$updatesTransactionStatus->execute($invoice, ApprovalStatus::COMPLETED);
|
||||||
|
|
||||||
|
$packingList = $invoice->owner;
|
||||||
|
|
||||||
|
$packingList->status = ApprovalStatus::APPROVED;
|
||||||
|
$packingList->save();
|
||||||
|
|
||||||
|
if (app()->environment('production')) {
|
||||||
|
$updateDoFromVTPortalProcessor->execute($packingList);
|
||||||
|
$updateDoFromYDPortalProcessor->execute($packingList);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo 'done fix ' . $invoice->owner->owner->reference . '<br>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user