diff --git a/app/Http/Controllers/Imports/ImportBankRecordController.php b/app/Http/Controllers/Imports/ImportBankRecordController.php
index 53ae34b2..c7baa997 100644
--- a/app/Http/Controllers/Imports/ImportBankRecordController.php
+++ b/app/Http/Controllers/Imports/ImportBankRecordController.php
@@ -8,6 +8,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\Group;
use App\Models\Transaction;
use App\Models\Wallet;
use Illuminate\Http\Request;
@@ -30,6 +31,7 @@ class ImportBankRecordController
Bank |
Description |
Credit |
+ debit |
Pay For |
System Reference |
Human Reference |
@@ -49,39 +51,70 @@ class ImportBankRecordController
foreach ($sheet as $row) {
$date = Date::excelToDateTimeObject($row['date']);
$credit = (float) $row['credit'];
+ $debit = (float) $row['debit'];
$systemReference = null;
$multiple = 'No';
- $transactions = Transaction::whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])
- ->where(function ($query){
- return $query->where(function ($query){
- return $query->where('type', TransactionType::PAYMENT)->where('owner_type', Booking::class)->where('payment_method', '!=', PaymentMethodType::WALLET);
- })->orWhere(function ($query){
- $query->where('type', TransactionType::TOP_UP);
- });
- })
- ->WhereDate('created_at', $date->format('Y-m-d'))
- ->where('amount', '>', ($credit - 0.01))->where('amount', '<', ($credit + 0.01))
- ->get();
- if(count($transactions)) {
- foreach ($transactions as $transaction){
- if($transaction->owner instanceof Booking){
- $systemReference[] = $transaction->owner->marking;
+
+ if($credit){
+ $payments = Transaction::whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])
+ ->where(function ($query){
+ return $query->where(function ($query){
+ return $query->where('type', TransactionType::PAYMENT)->where('owner_type', Booking::class)->where('payment_method', '!=', PaymentMethodType::WALLET);
+ })->orWhere(function ($query){
+ $query->where('type', TransactionType::TOP_UP);
+ });
+ })
+ ->WhereDate('created_at', $date->format('Y-m-d'))
+ ->where('amount', '>', ($credit - 0.01))->where('amount', '<', ($credit + 0.01))
+ ->get();
+
+ if(count($payments)) {
+ foreach ($payments as $transaction){
+ if($transaction->owner instanceof Booking){
+ $systemReference[] = $transaction->owner->marking;
+ }
+
+ if($transaction->owner instanceof Wallet){
+ $systemReference[] = $transaction->bill_no;
+ }
}
- if($transaction->owner instanceof Wallet){
- $systemReference[] = $transaction->bill_no;
+ if(count($systemReference) > 1) {
+ $multiple = 'Yes';
}
- }
+ $systemReference = implode(',', $systemReference);
+
+ }
+ }
+ if($debit){
+ $bills = Group::WhereDate('created_at', $date->format('Y-m-d'))
+ ->where('amount', '>', ($debit - 0.01))->where('amount', '<', ($debit + 0.01))
+ ->get();
+
+ if(count($bills)) {
+ foreach ($bills as $transaction){
+ if($transaction->owner instanceof Booking){
+ $systemReference[] = $transaction->owner->marking;
+ }
+
+ if($transaction->owner instanceof Wallet){
+ $systemReference[] = $transaction->bill_no;
+ }
+ }
+
+ if(count($systemReference) > 1) {
+ $multiple = 'Yes';
+ }
+ $systemReference = implode(',', $systemReference);
- if(count($systemReference) > 1) {
- $multiple = 'Yes';
}
- $systemReference = implode(',', $systemReference);
}
+
+
$matches = $systemReference == $row['remarkreferences'] ? 'Yes' : 'No';
echo '
@@ -89,6 +122,7 @@ class ImportBankRecordController
| '.$branch.' |
'.$row['description'].' |
'.$credit.' |
+ '.$debit.' |
'.$row['pay_for'].' |
'.$systemReference.' |
'.$row['remarkreferences'].' |