diff --git a/routes/web.php b/routes/web.php index 7017b1b8..a7c87263 100644 --- a/routes/web.php +++ b/routes/web.php @@ -440,26 +440,54 @@ Route::get('/pending_orders', function(){ Route::get('/approve_refunds', function(Request $request){ $type = $request->query('type'); - $payments = Transaction::where('type', TransactionType::PAYMENT)->where('owner_type', Booking::class)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::REFUNDED]) - ->whereHas('transactions', function ($query) use ($type) { - $query->where('type', TransactionType::REFUND)->where('status', ApprovalStatus::APPROVED); - if (str_contains($type, 'partial')) { - $query->whereColumn('original_amount', '!=','transactions.original_amount'); - } else { - $query->whereColumn('original_amount', 'transactions.original_amount'); - } - }); - if (str_contains($type, 'post')) { - $payments->whereHas('transactions', function($query) { - $query->where('type', TransactionType::SUPPLIER_REFUND); + $approve_refunds = Transaction::where('type', TransactionType::REFUND)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]); + + if (str_contains($type, 'partial')) { + $approve_refunds->whereHas('owner', function ($q) { + $q->whereColumn('original_amount', '!=', 'transactions.original_amount'); }); } else { - $payments->whereDoesntHave('transactions', function($query) { - $query->where('type', TransactionType::SUPPLIER_REFUND); + $approve_refunds->whereHas('owner', function ($q) { + $q->whereColumn('original_amount', 'transactions.original_amount'); }); } + if (str_contains($type, 'post')) { + $approve_refunds->whereHas('owner', function ($q) { + $q->whereHas('transactions', function($query) { + $query->where('type', TransactionType::SUPPLIER_REFUND); + }); + }); + } else { + $approve_refunds->whereHas('owner', function ($q) { + $q->whereDoesntHave('transactions', function($query) { + $query->where('type', TransactionType::SUPPLIER_REFUND); + }); + }); + } + + + // $payments = Transaction::where('type', TransactionType::PAYMENT)->where('owner_type', Booking::class)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED, ApprovalStatus::REFUNDED]) + // ->whereHas('transactions', function ($query) use ($type) { + // $query->where('type', TransactionType::REFUND)->where('status', ApprovalStatus::APPROVED); + // if (str_contains($type, 'partial')) { + // $query->whereColumn('original_amount', '!=','transactions.original_amount'); + // } else { + // $query->whereColumn('original_amount', 'transactions.original_amount'); + // } + // }); + + // if (str_contains($type, 'post')) { + // $payments->whereHas('transactions', function($query) { + // $query->where('type', TransactionType::SUPPLIER_REFUND); + // }); + // } else { + // $payments->whereDoesntHave('transactions', function($query) { + // $query->where('type', TransactionType::SUPPLIER_REFUND); + // }); + // } + echo '
| No. | '; @@ -478,12 +506,11 @@ Route::get('/approve_refunds', function(Request $request){ echo 'Bank Holder Name | '; echo 'Note Remark | '; echo '|||||||||||||
| '.($index + 1).'. | '; - echo ''.$payment->created_at->format('d-M-y').' | '; + echo ''.$refund->created_at->format('d-M-y').' | '; echo ''.$booking->marking.' | '; echo ''.\App\Classes\ValueObjects\Constants\PaymentMethodType::PAYMENT_METHODS_ID[$payment->payment_method].' | '; echo ''.$payment->currency->short_code.' | '; - echo ''.number_format($refunds, 5, '.', '').' | '; + echo ''.number_format($refund->amount, 5, '.', '').' | '; echo ''.$booking->company->reference.' | '; echo ''; echo ' | '.$payment->original_currency->short_code.' | '; - echo ''.number_format($original_refunds, 5, '.', '').' | '; + echo ''.number_format($refund->original_amount, 5, '.', '').' | '; echo ''; echo ' | '.$remark.' | '; echo ''.$booking->service->name.' | ';