10fcdb5ea288998a9ae3a569eb14e4fd01f1a4d2
- Menambahkan **`ExportStatementPeriodJob`** untuk mendukung ekspor data pernyataan periode ke file CSV: - Inisialisasi job dengan parameter `account_number`, `period`, `saldo`, `client`, dan `disk`. - Menghitung tanggal mulai (`startDate`) dan tanggal akhir (`endDate`) berdasarkan periode yang diberikan. - Log informasi eksekusi termasuk waktu mulai, rentang tanggal, dan hasil akhir. - Menangani error saat proses berjalan dengan logging terperinci. - Memproses data pernyataan sebelum ekspor, termasuk: - Melakukan validasi jumlah data yang telah diproses sebelumnya. - Jika data belum sepenuhnya diproses, menghapus data lama pada tabel `processed_statements`. - Memproses data baru dengan mengolah entri dari tabel `StmtEntry`. - Membuat narrative dari data transaksi menggunakan model terkait `TempFundsTransfer`, `TempStmtNarrParam`, dan `TempStmtNarrFormat`. - Menambahkan logika untuk format tanggal transaksi dan narrasi: - Format tanggal transaksi melalui fungsi `formatTransactionDate` dan `formatActualDate`. - Narasi dihasilkan dari berbagai sumber, termasuk data transaksi dan parameter lainnya. - Ekspor data ke file CSV: - Mengatur struktur folder berdasarkan `client` dan `account_number`. - Menghapus file lama sebelum membuat file baru untuk menghindari duplikasi. - Membagi data menjadi chunks untuk mengurangi penggunaan memori. - Menambahkan header CSV dengan format kolom: `NO|TRANSACTION.DATE|REFERENCE.NUMBER|TRANSACTION.AMOUNT|TRANSACTION.TYPE|DESCRIPTION|END.BALANCE|ACTUAL.DATE`. - Optimasi proses: - Proses data dalam batch menggunakan pagination (`chunk`) untuk efisiensi memori. - Simpan hasil processed statement ke database sementara (`processed_statements`). - Tambahkan log setiap entri data untuk memonitor keberhasilan proses. - Tujuan penambahan ini: - Mendukung proses pengolahan dan pelaporan data rekening secara terstruktur. - Meningkatkan efisiensi penyimpanan dan akses data besar. - Menghasilkan file CSV yang dapat digunakan sebagai dokumen untuk laporan eksternal. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
Description
No description provided
Languages
PHP
77.4%
Blade
22.6%