Path : /var/www/html/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/moneyexchange/app/Exports/TransactionExport1.php |
<?php namespace App\Exports; use App\Models\Transaction; use App\Models\MoneyExchangeList; use Maatwebsite\Excel\Concerns\FromQuery; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Concerns\WithEvents; use Maatwebsite\Excel\Events\AfterSheet; class TransactionExport1 implements FromQuery,WithHeadings, WithMapping,WithEvents { private $current_row = 0; private $start_date; private $end_date; private $bank_account_id; private $user_id; private $moneyExhangeLists; private $orders; public function __construct($start_date, $end_date, $bank_account_id, $user_id=null) { $this->start_date = $start_date; $this->end_date = $end_date; $this->bank_account_id = $bank_account_id; $this->user_id = $user_id; } /** * @return \Illuminate\Support\Collection */ // use Exportable; public function headings(): array { return [ 'No', // __('message.customer'), // __('message.bank account'), __('message.exchange from').'/'.__('message.exchange to'), __('message.amount'), __('message.exchange rate'), __('message.received money'), __('message.created by'), __('message.created date'), ]; } public function registerEvents(): array { return [ AfterSheet::class=> function(AfterSheet $event) { $event->sheet->getDelegate()->getStyle('A1:G1') ->getFill() ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID) ->getStartColor() ->setARGB('679ECE'); }, ]; } public function query() { $bank_account_id = $this->bank_account_id; $user_id = $this->user_id; $start_date = $this->start_date; $end_date= $this->end_date; if(Auth::user()->role_id==2){ $datas = Transaction::query(); } else { $datas = Transaction::where('user_id',Auth::id()); } if($bank_account_id){ $datas->where('bank_account_id', $bank_account_id); } if($user_id){ $datas->where('user_id', $user_id); } if($start_date!=null){ // dd($start_date,$end_date); $datas->whereDate("created_at", ">=", $start_date." 00:00:00"); } if($end_date!=null){ $datas->whereDate("created_at", "<=", $end_date." 23:59:59"); } return $datas->orderBy('id', 'desc'); } public function map($transaction): array { $this->current_row ++ ; $moneyExchangeList= $transaction->moneyExchangeList; $currencyFrom= $moneyExchangeList->exchangeFromCurrency; $currencyTo= $moneyExchangeList->exchangeToCurrency; return [ $this->current_row, ($moneyExchangeList->exchangeFromCurrency->currency_code??'').'/'.($moneyExchangeList->exchangeToCurrency->currency_code??''), number_format($transaction->amount,$currencyFrom->decimal_precision).' '.$currencyFrom->currency_code, number_format($transaction->exchange_rate,2), number_format($transaction->amount_after_exchange,$currencyTo->decimal_precision).' '.$currencyTo->currency_code, $transaction->user->name??'#', $transaction->created_at->format('d/m/Y H:i'), ]; } }