50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Exports;
|
|
|
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
|
use Storage;
|
|
|
|
class BookkeepingDocumentLibraryExport implements FromCollection, WithMapping, WithHeadings
|
|
{
|
|
protected $documents;
|
|
|
|
public function __construct($documents)
|
|
{
|
|
$this->documents = $documents;
|
|
}
|
|
|
|
public function collection()
|
|
{
|
|
return $this->documents;
|
|
}
|
|
|
|
public function map($documents): array
|
|
{
|
|
return [
|
|
$documents->file_name,
|
|
(strtolower(app()->getLocale()) == 'zh_hk' ? $documents->name_chinese : $documents->name_english),
|
|
$documents->category_name,
|
|
$documents->user_name,
|
|
Storage::exists($documents->file_path) ? (round(Storage::size($documents->file_path) / 1000) . 'KB') : '-',
|
|
$documents->created_at->format('Ymd-H:i'),
|
|
];
|
|
}
|
|
|
|
public function headings(): array
|
|
{
|
|
return [
|
|
'Document Name',
|
|
'Company',
|
|
'Document Category',
|
|
'Upload User',
|
|
'Document Size',
|
|
'Date Uploaded',
|
|
];
|
|
}
|
|
}
|