import bank record

This commit is contained in:
Omair Saleh
2023-03-18 05:17:56 +08:00
parent 4ade33a2ce
commit 422a7c9d65
@@ -2,7 +2,6 @@
namespace App\Http\Controllers\Imports;
use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject;
use App\Classes\Modules\Imports\Services\ImportsBankRecord;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\PaymentMethodType;
@@ -10,7 +9,6 @@ use App\Classes\ValueObjects\Constants\TransactionType;
use App\Models\Booking;
use App\Models\Group;
use App\Models\Transaction;
use App\Models\Wallet;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use PhpOffice\PhpSpreadsheet\Shared\Date;
@@ -53,21 +51,28 @@ class ImportBankRecordController
$date = Date::excelToDateTimeObject($row['date']);
$credit = (float) $row['credit'];
$debit = (float) $row['debit'];
$creditTransactions = $this->getTransactions($date, $credit, TransactionType::PAYMENT, Booking::class, PaymentMethodType::WALLET, [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]);
$debitTransactions = $this->getTransactions($date, $debit, null, null, null, [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED], Group::class);
$creditTransactions = [];
$debitTransactions = [];
$systemReference = 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;
}
}
if($debit){
$debitTransactions = $this->getTransactions($date, $debit, null, null, null, [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED], Group::class);
foreach ($debitTransactions as $transaction) {
$systemReference[] = $transaction->reference;
}
}
$multiple = count($creditTransactions) + count($debitTransactions) > 1 ? $yes : $no;
foreach ($creditTransactions as $transaction) {
$systemReference[] = $transaction->owner instanceof Booking ? $transaction->owner->marking : $transaction->bill_no;
}
foreach ($debitTransactions as $transaction) {
$systemReference[] = $transaction->reference;
}
$systemReference = $systemReference ? implode(',', $systemReference) : null;
$matches = $systemReference == $row['remarkreferences'] ? $yes : $no;