feat(webstatement): enhance statement generation and add narrative formatting logic
- Menambahkan logika baru untuk menghasilkan data statement dalam format JSON dan CSV. - Memuat data transaksi statement menggunakan model `StmtEntry` dengan relasi `ft` dan `transaction`. - Mengimplementasikan proses mapping data untuk: - Penambahan urutan nomor (sequential numbering). - Format tanggal transaksi menggunakan properti `booking_date` dan `date_time`. - Klasifikasi jenis transaksi (debit atau kredit). - Perhitungan running balance. - Pembangkitan narrative deskripsi transaksi. - Menambahkan fungsi `generateNarrative` untuk menghasilkan deskripsi transaksi berdasarkan logika parameter dinamis. - Menggunakan model `TempStmtNarrFormat` dan `TempStmtNarrParam` untuk format dan parameter narrative. - Menambahkan fungsi `getFormatNarrative` untuk mem-parsing format narrative dan memasukkan placeholder value sesuai data transaksi. - Fungsi `getTransaction` ditambahkan sebagai fallback untuk mengambil field secara spesifik dari transaksi. - Menyediakan opsi data dalam format CSV menggunakan stream response dengan pemisah data berupa pipe (`|`). - Menambahkan route baru pada `/` untuk mengakses controller `WebstatementController` dan fungsionalitas ini di route `webstatement.index`.
This commit is contained in:
@@ -93,3 +93,4 @@ Route::get('migrasi', [MigrasiController::class, 'index'])->name('migrasi.index'
|
||||
Route::get('biaya-kartu', [SyncLogsController::class, 'index'])->name('biaya-kartu.index');
|
||||
|
||||
Route::get('/stmt-entries/{accountNumber}', [MigrasiController::class, 'getStmtEntryByAccount']);
|
||||
Route::get('/', [WebstatementController::class, 'index'])->name('webstatement.index');
|
||||
|
||||
Reference in New Issue
Block a user