Melakukan refactor besar pada job GenerateClosingBalanceReport untuk mengganti penggunaan raw SQL dan left join dengan implementasi Eloquent ORM penuh, guna meningkatkan maintainability, akurasi data, dan performa sistem. 🧱 Refactor Arsitektur Query: - Menghilangkan semua penggunaan `leftJoin` yang menyebabkan duplikasi data - Mengganti query menjadi pure Eloquent dengan relasi dan `with()` (eager loading) - Menghindari N+1 problem melalui optimasi relasi `ft` (TempFundsTransfer) dan `dc` (DataCapture) 🧩 Integrasi Model: - Menggunakan model: `StmtEntry`, `StmtEntryDetail`, `TempFundsTransfer`, `DataCapture` - Seleksi model berdasarkan `groupName`: - `QRIS` → `StmtEntry` - selainnya → `StmtEntryDetail` - Relasi dimanfaatkan langsung via properti model, dengan fallback logic ⚙️ Peningkatan Proses Data: - Menyederhanakan metode `processTransactionData()` untuk memanfaatkan relasi langsung - Tambahan null safety menggunakan null coalescing operator (`??`) - Tetap mempertahankan chunk processing untuk efisiensi memori 🔒 Konsistensi & Logging: - Tambahan DB transaction (`beginTransaction`, `commit`, `rollback`) untuk data integrity - Logging komprehensif di tiap tahap proses: pemilihan model, query, pemrosesan, fallback - Error handling dengan informasi error yang lebih informatif 🚀 Optimasi Performa: - Selective field loading untuk minimalisasi beban memori - Chunking data untuk skala besar - Eager loading efisien tanpa join kompleks ✅ Tujuan & Manfaat: - Meningkatkan maintainability & keterbacaan kode - Menghilangkan duplikasi data akibat `leftJoin` - Meningkatkan akurasi dan konsistensi data laporan - Mengikuti Laravel best practices dalam penulisan query & relasi
Description
No description provided
Languages
PHP
77.4%
Blade
22.6%