- Tambah kolom "Kolektibilitas" (min-w 150px) & "Keterangan" (min-w 200px) di tabel index laporan admin kredit - Dukungan sorting & filtering pada kedua kolom baru dengan integrasi DataTable - Implementasi truncation keterangan >50 karakter dengan suffix "..." dan fallback "-" jika kosong - Responsive design di tabel index agar tetap readable di berbagai layar - Mapping data export Excel ditambahkan field kolektibilitas & keterangan (posisi kolom N & O) - Update heading Excel: tambah header "Kolektibilitas" & "Keterangan", geser "Created At" ke kolom P - Tambah format Excel: FORMAT_TEXT untuk kolektibilitas & keterangan, FORMAT_DATE_DATETIME untuk created_at - Dampak: informasi laporan admin kredit lebih lengkap, mendukung analisis kolektibilitas & dokumentasi tambahan
77 lines
2.2 KiB
PHP
77 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace Modules\Lpj\Exports;
|
|
|
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
|
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
|
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
|
use Modules\Lpj\Models\LaporanAdminKredit;
|
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
|
|
|
class LaporanAdminKreditExport implements WithColumnFormatting, WithHeadings, FromCollection, WithMapping
|
|
{
|
|
public function collection()
|
|
{
|
|
return LaporanAdminKredit::with('debiture')->get();
|
|
}
|
|
|
|
public function map($row): array
|
|
{
|
|
return [
|
|
$row->id,
|
|
$row->debiture->cif,
|
|
$row->debiture->name,
|
|
$row->debiture->branch->name,
|
|
$row->kode_register_t24,
|
|
$row->jenis_agunan,
|
|
$row->bukti_kepemilikan,
|
|
$row->alamat_agunan,
|
|
$row->nama_pemilik,
|
|
$row->tanggal_kunjungan,
|
|
$row->nilai_pasar_wajar,
|
|
$row->nilai_likuidasi,
|
|
$row->nama_penilai,
|
|
$row->kolektibilitas,
|
|
$row->keterangan,
|
|
$row->created_at
|
|
];
|
|
}
|
|
|
|
public function headings(): array
|
|
{
|
|
return [
|
|
'ID',
|
|
'CIF',
|
|
'Nama Debitur',
|
|
'Cabang',
|
|
'Kode Register T24',
|
|
'Jenis Agunan',
|
|
'Bukti Kepemilikan',
|
|
'Alamat Agunan',
|
|
'Nama Pemilik',
|
|
'Tanggal Kunjungan',
|
|
'Nilai Pasar Wajar',
|
|
'Nilai Likuidasi',
|
|
'Nama Penilai',
|
|
'Kolektibilitas',
|
|
'Keterangan',
|
|
'Created At'
|
|
];
|
|
}
|
|
|
|
public function columnFormats(): array
|
|
{
|
|
return [
|
|
'A' => NumberFormat::FORMAT_NUMBER,
|
|
'B' => NumberFormat::FORMAT_NUMBER,
|
|
'J' => NumberFormat::FORMAT_DATE_DDMMYYYY,
|
|
'K' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
|
|
'L' => NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
|
|
'N' => NumberFormat::FORMAT_TEXT, // Kolektibilitas
|
|
'O' => NumberFormat::FORMAT_TEXT, // Keterangan
|
|
'P' => NumberFormat::FORMAT_DATE_DATETIME, // Created At (moved from M to P)
|
|
];
|
|
}
|
|
}
|