From 02a37caf5a2ad9bc235f406eae9a194ab722da97 Mon Sep 17 00:00:00 2001 From: Steve Ng Date: Wed, 3 Jan 2024 09:08:54 +0800 Subject: [PATCH] change posting date to invoice date for shipping portal when export invoice to autocount --- .../General/Services/GuzzleShippingPortal.php | 22 +++++++++++++++++++ .../Services/ExportsInvoiceTransactions.php | 11 +++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 app/Classes/General/Services/GuzzleShippingPortal.php diff --git a/app/Classes/General/Services/GuzzleShippingPortal.php b/app/Classes/General/Services/GuzzleShippingPortal.php new file mode 100644 index 00000000..d753b260 --- /dev/null +++ b/app/Classes/General/Services/GuzzleShippingPortal.php @@ -0,0 +1,22 @@ + false]); + $response = $client->request('GET', $url . '?api-key=510acd13d8d24375cf038ad626c282565451461a9c2399357e0b65365300787e&'. $requests); + $body = $response->getBody(); + $data = json_decode($body, true); + $payload = $data['payload']; + return $payload['data']; + } catch (\Exception $exception) { + Log::error($exception->getMessage()); + return []; + } + } +} diff --git a/app/Classes/Modules/Exports/Services/ExportsInvoiceTransactions.php b/app/Classes/Modules/Exports/Services/ExportsInvoiceTransactions.php index a7041b1c..ee07f435 100644 --- a/app/Classes/Modules/Exports/Services/ExportsInvoiceTransactions.php +++ b/app/Classes/Modules/Exports/Services/ExportsInvoiceTransactions.php @@ -19,6 +19,7 @@ use App\Classes\ValueObjects\Constants\TransactionType; use Illuminate\Support\Facades\Log; use App\Classes\General\Eloquent\ApplyFiltersToQuery; use App\Models\StatementTransaction; +use App\Classes\General\Services\GuzzleShippingPortal; class ExportsInvoiceTransactions implements FromQuery, WithHeadings, WithHeadingRow, WithMapping, ShouldAutoSize { @@ -124,12 +125,11 @@ class ExportsInvoiceTransactions implements FromQuery, WithHeadings, WithHeading $textToAppend = Carbon::now()->format('[Y-m-d H:i:s]') . ' Shipping Portal Respnose ' . json_encode($row) . PHP_EOL; file_put_contents($errorFilePath, $textToAppend, FILE_APPEND); - - Log::info('Error in Exports Invoice Transactions ' . $this->counter); + $transactionShippingPortal = $this->getFromShippingPortal($statementTransactionOwner->owner_id); return [ 'Transaction Not Found', - $transaction->posting_date->format('m/d/Y H:m'), + (isset($transactionShippingPortal['created_at']) ? Carbon::parse($transactionShippingPortal['created_at'])->format('m/d/Y H:m') : null), $transaction->transaction_description.' - '.$transaction->transaction_description_2, $statementTransactionOwner->system, '', @@ -167,4 +167,9 @@ class ExportsInvoiceTransactions implements FromQuery, WithHeadings, WithHeading ]; } } + + private function getFromShippingPortal($id){ + $data = (new guzzleShippingPortal)->execute('transactions/mappable/query','filters={"id":'.$id.'}'); + return (count($data) > 0 ? $data[0] : null); + } }