| Path : /var/www/html/mini-moneyexchange/app/Http/Controllers/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/mini-moneyexchange/app/Http/Controllers/BankAccountTransactionController.php |
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Models\BankAccount;
use App\Models\BankAccountTransaction;
use App\Models\BankAccountTransactionType;
use App\Models\Bank;
use App\Models\Currency;
use App\Http\Controllers\Controller;
use App\Exports\BankAccountTransactionExport;
use Maatwebsite\Excel\Facades\Excel;
// use Illuminate\Support\Facades\Mail;
// use App\Mail\BankMail;
class BankAccountTransactionController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$start_date = $request->get('start_date');
$end_date = $request->get('end_date');
$bank_account_id = $request->get('bank_account_id');
$currency_id = $request->get('currency_id');
$bank_account_transaction_type_id = $request->get('bank_account_transaction_type_id');
if($start_date=="" && $end_date=="") {
$start_date = date('Y-m-d');
$end_date = date('Y-m-d');
}
$perpage = $request->get('perpage')??25;
$bankAccountTransactions = BankAccount::all();
$bankAccounts = BankAccount::where('is_bank',true)->get();
if($bank_account_id){
$datas = BankAccountTransaction::whereHas('bankAccount', function($query){
$query->where('bank_accounts.is_bank', true);
})
->where('bank_account_id', $bank_account_id);
}
else {
$datas = BankAccountTransaction::whereHas('bankAccount', function($query){
$query->where('bank_accounts.is_bank', true);
});
}
if($start_date!=null){
$datas = $datas->whereDate("created_at", ">=", $start_date." 00:00:00");
}
// if($bank_account_transaction_type_id!=null){
$datas = $datas->where("bank_account_transaction_type_id", $bank_account_transaction_type_id);
// }
if($currency_id!=null){
$datas->whereHas('bankAccount', function($query) use ($currency_id){
$query->where('bank_accounts.currency_id', $currency_id);
});
}
$bankAccountTransactions = $datas->orderBy('id', 'desc')->paginate($perpage);
$bankAccountTransactionTypes = BankAccountTransactionType::where('is_active', true)->get();
$currencies = Currency::all();
return view('bankAccountTransaction.bankAccountTransactionList', ['bankAccountTransactions'=> $bankAccountTransactions,'perpage'=>$perpage, 'bankAccounts'=>$bankAccounts, 'start_date'=>$start_date, 'end_date'=>$end_date,'bank_account_id'=>$bank_account_id,'bankAccountTransactionTypes'=>$bankAccountTransactionTypes,'bank_account_transaction_type_id'=>$bank_account_transaction_type_id,'currencies'=>$currencies,'currency_id'=>$currency_id]);
}
public function download(Request $request) {
return Excel::download(new BankAccountTransactionExport($request->get('start_date'), $request->get('end_date'), $request->get("currency_id"), $request->get("bank_account_id"),$request->get("bank_account_transaction_type_id")), 'bank-account-transactions-report-'.$request->get('start_date')."-".$request->get('end_date').'-'.$request->get("currency_id").'-'.$request->get("bank_account_id").'-'.$request->get('bank_account_transaction_type_id').'.xlsx');
}
}