(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
This commit is contained in:
Daeng Deni Mardaeni
2025-10-03 10:23:21 +07:00
parent 04ee3a0c48
commit e773b82218
7 changed files with 221 additions and 62 deletions

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Tambahkan kolom biaya pada tabel nilai_plafond
*
* Catatan:
* - Menggunakan tipe decimal(15,2) agar kompatibel dengan PostgreSQL (numeric)
*/
public function up(): void
{
Schema::table('nilai_plafond', function (Blueprint $table) {
// Tambahkan kolom biaya sebagai decimal dengan 2 pecahan
$table->decimal('biaya', 15, 2)->nullable();
});
}
/**
* Rollback perubahan: hapus kolom biaya dari tabel nilai_plafond
*/
public function down(): void
{
if (Schema::hasColumn('nilai_plafond', 'biaya')) {
Schema::table('nilai_plafond', function (Blueprint $table) {
$table->dropColumn('biaya');
});
}
}
};