- Menambahkan kolom biaya ke seluruh alur Nilai Plafond (model, request, controller, views, export, dan migrasi) - Update model NilaiPlafond agar field biaya bisa di-mass assign ($fillable) - Tambah validasi baru 'biaya' (nullable|numeric|min:0) di NilaiPlafondRequest - Terapkan transaksi DB (beginTransaction, commit, rollback) pada store/update/destroy di controller - Tambahkan kolom biaya ke view create, edit, dan datatable index dengan format Rupiah dan tooltip nilai mentah - Tambah header & mapping kolom biaya di NilaiPlafondExport agar muncul di hasil export Excel - Tambah migrasi kolom biaya bertipe decimal(15,2) nullable dengan rollback support - Tambahkan logging detail (Log::info & Log::error) di setiap proses utama controller - Pastikan pencarian kolom biaya pada datatables menggunakan CAST ke TEXT untuk kompatibilitas PostgreSQL
54 lines
1.3 KiB
PHP
54 lines
1.3 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\JenisJaminan;
|
|
use Modules\Lpj\Models\NilaiPlafond;
|
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
|
|
|
class NilaiPlafondExport implements WithColumnFormatting, WithHeadings, FromCollection, withMapping
|
|
{
|
|
public function collection()
|
|
{
|
|
return NilaiPlafond::all();
|
|
}
|
|
|
|
public function map($row)
|
|
: array
|
|
{
|
|
return [
|
|
$row->id,
|
|
$row->code,
|
|
$row->name,
|
|
$row->biaya,
|
|
$row->created_at
|
|
];
|
|
}
|
|
|
|
public function headings()
|
|
: array
|
|
{
|
|
return [
|
|
'ID',
|
|
'Code',
|
|
'Name',
|
|
'Biaya',
|
|
'Created At'
|
|
];
|
|
}
|
|
|
|
public function columnFormats()
|
|
: array
|
|
{
|
|
return [
|
|
'A' => NumberFormat::FORMAT_NUMBER,
|
|
'D' => NumberFormat::FORMAT_NUMBER_00,
|
|
'E' => NumberFormat::FORMAT_DATE_DATETIME
|
|
];
|
|
}
|
|
}
|