53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Exports;
|
|
|
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
|
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
|
|
|
|
class PendingDocumentExport implements FromCollection, WithHeadings, WithMapping, ShouldAutoSize
|
|
{
|
|
protected $cabangs;
|
|
|
|
public function __construct($cabangs)
|
|
{
|
|
$this->cabangs = $cabangs;
|
|
}
|
|
|
|
public function collection()
|
|
{
|
|
return $this->cabangs;
|
|
}
|
|
|
|
public function headings(): array
|
|
{
|
|
return [
|
|
'Region',
|
|
'Nama Cabang',
|
|
'Up Country',
|
|
'Vehicle',
|
|
'Entertainment',
|
|
'Meeting',
|
|
'Others',
|
|
'Total Pending',
|
|
'Budget Aktif'
|
|
];
|
|
}
|
|
|
|
public function map($cabang): array
|
|
{
|
|
return [
|
|
$cabang->region->name ?? '-',
|
|
$cabang->name,
|
|
$cabang->pending_details['up_country'] ?? 0,
|
|
$cabang->pending_details['vehicle'] ?? 0,
|
|
$cabang->pending_details['entertainment'] ?? 0,
|
|
$cabang->pending_details['meeting'] ?? 0,
|
|
$cabang->pending_details['others'] ?? 0,
|
|
$cabang->total_pending,
|
|
$cabang->available_budget
|
|
];
|
|
}
|
|
} |