diff --git a/app/Classes/Modules/Exports/Services/ExportsTransactions.php b/app/Classes/Modules/Exports/Services/ExportsTransactions.php new file mode 100644 index 00000000..4fd48239 --- /dev/null +++ b/app/Classes/Modules/Exports/Services/ExportsTransactions.php @@ -0,0 +1,73 @@ + '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), + ]; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php index 90ade160..cdd1c49a 100644 --- a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php +++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Exports; use App\Classes\Modules\Exports\Services\ExportsCustomers; +use App\Classes\Modules\Exports\Services\ExportsTransactions; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -17,4 +18,10 @@ class ExportCustomersToExcelController $request->headers->set('Authorization', 'Bearer '.$token); return $exportsCustomers->download('customers.csv', Excel::CSV, ['Content-Type' => 'text/csv']); } + + public function transactions(ExportsTransactions $exportsTransactions, Request $request){ + $token = Auth::fromUser(User::find(1)); + $request->headers->set('Authorization', 'Bearer '.$token); + return $exportsTransactions->download('transactions.csv', Excel::CSV, ['Content-Type' => 'text/csv']); + } } \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 2c6f77ce..24507191 100644 --- a/routes/web.php +++ b/routes/web.php @@ -72,3 +72,4 @@ Route::get('/mail', function () { Route::get('/export/customers/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export'); +Route::get('/export/transactions/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@transactions');