From bf336084b5ef6251a33a38ce95ffd7cb376cfe78 Mon Sep 17 00:00:00 2001 From: Omair Saleh Date: Sat, 18 Mar 2023 06:20:21 +0800 Subject: [PATCH] import bank record --- .../Imports/ImportBankRecordController.php | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Imports/ImportBankRecordController.php b/app/Http/Controllers/Imports/ImportBankRecordController.php index 94f34bf9..cdf3804d 100644 --- a/app/Http/Controllers/Imports/ImportBankRecordController.php +++ b/app/Http/Controllers/Imports/ImportBankRecordController.php @@ -7,6 +7,7 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\PaymentMethodType; use App\Classes\ValueObjects\Constants\TransactionType; use App\Models\Booking; +use App\Models\Company; use App\Models\Group; use App\Models\Transaction; use App\Models\Wallet; @@ -32,6 +33,7 @@ class ImportBankRecordController 'Human Reference', 'Multiple', 'Match?', + 'System Amount' ]; $branches = [ @@ -50,29 +52,46 @@ class ImportBankRecordController $branch = $branches[$key]; foreach ($sheet as $row) { $date = Date::excelToDateTimeObject($row['date']); + $description = $row['description']; $credit = (float) $row['credit']; $debit = (float) $row['debit']; $creditTransactions = []; $debitTransactions = []; $systemReference = null; + $systemAmount = null; if($credit){ $creditTransactions = $this->getTransactions($date, $credit, TransactionType::PAYMENT, Booking::class, PaymentMethodType::WALLET, [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]); foreach ($creditTransactions as $transaction) { $systemReference[] = $transaction->owner instanceof Booking ? $transaction->owner->marking : $transaction->bill_no; + $systemAmount[] = $transaction->amount; } $creditTransactions = $this->getTransactions($date, $credit, TransactionType::TOP_UP, Wallet::class, null, [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]); foreach ($creditTransactions as $transaction) { $systemReference[] = $transaction->owner instanceof Booking ? $transaction->owner->marking : $transaction->bill_no; + $systemAmount[] = $transaction->amount; } } if($debit){ $debitTransactions = $this->getTransactions($date, $debit, null, null, null, [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED], Group::class); + + if(!$debitTransactions) { + foreach (['YSN', 'HCK', 'AVANTIC', 'HIGH HILL'] as $reference){ + if(str_contains($description, $reference)) { + $issuer = Company::where('name', 'like', '%'.$reference.'%')->get()->pluck('id'); + $debitTransactions = Group::whereIn('issuer', $issuer)->whereDate('created_at', $date->format('Y-m-d')); + break; + } + } + + } + foreach ($debitTransactions as $transaction) { $systemReference[] = $transaction->reference; + $systemAmount[] = $transaction->amount; } } @@ -84,13 +103,14 @@ class ImportBankRecordController $systemReference = $systemReference ? implode(',', $systemReference) : null; + $systemAmount = $systemAmount ? implode(',', $systemAmount) : null; $matches = $systemReference == $row['remarkreferences'] ? $yes : $no; $table .= ' '.$date->format('d-m-Y').' '.$branch.' - '.$row['description'].' + '.$description.' '.$credit.' '.$debit.' '.$row['pay_for'].' @@ -98,6 +118,7 @@ class ImportBankRecordController '.$row['remarkreferences'].' '.$multiple.' '.$matches.' + '.$systemAmount.' '; } }