Path : /var/www/html/mini-moneyexchange/app/Exports/ |
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/Exports/BankAccountTransactionExport.php |
<?php namespace App\Exports; use App\Models\BankAccountTransaction; use Maatwebsite\Excel\Concerns\FromQuery; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use Illuminate\Support\Facades\Auth; class BankAccountTransactionExport implements FromQuery,WithHeadings, WithMapping { private $current_row = 0; private $start_date; private $end_date; private $bank_account_id; private $bank_account_transaction_type_id; private $currency_id; public function __construct($start_date, $end_date, $currency_id, $bank_account_id, $bank_account_transaction_type_id) { $this->start_date = $start_date; $this->end_date = $end_date; $this->currency_id = $currency_id; $this->bank_account_id = $bank_account_id; $this->bank_account_transaction_type_id = $bank_account_transaction_type_id; } /** * @return \Illuminate\Support\Collection */ // use Exportable; public function headings(): array { return [ 'No', __('message.bank'), __('message.bank account'), // __('message.type'), __('message.transaction type'), __('message.amount'), __('message.bank account transaction type'), __('message.credit before transaction'), __('message.credit after transaction'), __('message.note'), __('message.created by'), __('message.created date'), ]; } public function query() { $bank_account_id = $this->bank_account_id; $currency_id = $this->currency_id; $start_date = $this->start_date; $end_date= $this->end_date; $bank_account_transaction_type_id = $this->bank_account_transaction_type_id; if($bank_account_id){ $datas = BankAccountTransaction::where('bank_account_id', $bank_account_id); } else { $datas = BankAccountTransaction::query(); } 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); }); } return $datas->orderBy('id', 'desc'); } public function map($bankAccountTransaction): array { $this->current_row ++ ; $currency = $bankAccountTransaction->bankAccount->currency??''; // dd($bankAccountTransaction); return [ $this->current_row, $bankAccountTransaction->bankAccount->bank->name??'', $bankAccountTransaction->bankAccount->bank_username??''.'/'.$bankAccountTransaction->bankAccount->bank_number??'', $bankAccountTransaction->transaction_type=='in'?__('message.cash in'):__('message.cash out'), $currency->name.' '.number_format($bankAccountTransaction->amount,$currency->decimal_precision), $bankAccountTransaction->bankAccountTransactionType->name??'', $currency->name.' '.number_format($bankAccountTransaction->credit_before_transaction,$currency->decimal_precision), $currency->name.' '.number_format($bankAccountTransaction->credit_after_transaction,$currency->decimal_precision), $bankAccountTransaction->note, $bankAccountTransaction->user->name??'', $bankAccountTransaction->created_at, ]; } } // 'No', // __('message.bank'), // __('message.bank account'), // __('message.type'), // __('message.transaction type'), // __('message.amount'), // __('message.bank account transaction type'), // __('message.credit before transaction'), // __('message.credit after transaction'), // __('message.note'), // __('message.created by'), // __('message.created date'),