Files
exchange-2.0/app/Classes/Modules/Exports/Services/ExportsTransactions.php
T
2021-07-02 18:13:38 +08:00

73 lines
2.1 KiB
PHP

<?php
namespace App\Classes\Modules\Exports\Services;
use App\Classes\ValueObjects\Constants\BusinessType;
use App\Classes\ValueObjects\Constants\CompanyType;
use App\Models\Company;
use App\Models\Transaction;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithMapping;
class ExportsTransactions implements FromQuery, WithHeadingRow, WithMapping
{
use Exportable;
/**
* @return \Illuminate\Support\Collection|mixed
*/
public function query()
{
return Transaction::query();
}
/**
* @param $transaction
* @return array
*/
public function map($transaction): array
{
$transactionTypes = [
0 => 'PAYMENT_ATTEMPT',
1 => 'PAYMENT',
2 => 'INVOICE',
3 => 'BILL',
4 => 'PERFORMA',
5 => 'TOP_UP',
6 => 'REFUND',
7 => 'PURCHASE_ORDER',
8 => 'SUPPLIER_DELIVER',
];
$transactionStatus = [
0 => 'PENDING_SUBMISSION',
1 => 'PENDING_VERIFICATION',
2 => 'APPROVED',
3 => 'COMPLETED',
4 => 'REJECTED',
5 => 'SUSPENDED',
6 => 'EXPIRED'
];
return [
$transaction->bill_no,
$transaction->booking->marking,
$transaction->booking->company->reference,
$transactionTypes[$transaction->type],
$transaction->currency_id === 1 ? 'MYR' : 'RMB',
$transaction->amount,
$transaction->original_currency_id === 1 ? 'MYR' : 'RMB',
$transaction->original_amount,
$transaction->currency_rate,
$transaction->tax,
$transaction->service_charge,
$transactionStatus[$transaction->status],
\PhpOffice\PhpSpreadsheet\Shared\Date::dateTimeToExcel($transaction->created_at),
\PhpOffice\PhpSpreadsheet\Shared\Date::dateTimeToExcel($transaction->updated_at),
];
}
}