Files
lpj/app/Exports/NilaiPlafondExport.php
Daeng Deni Mardaeni e773b82218 (lpj/nilai-plafond): Tambah field biaya, validasi, transaksi DB, ekspor, dan tampilan
- 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
2025-10-03 10:23:21 +07:00

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
];
}
}