Memperbaiki pengecekan variabel `$this->period` dari `empty()` menjadi `=== ''` pada berbagai job dalam modul Webstatement untuk memastikan logika validasi berfungsi dengan baik dan lebih eksplisit.
- Job yang diperbaiki:
- `ProcessAccountDataJob`
- `ProcessArrangementDataJob`
- `ProcessAtmTransactionJob`
- `ProcessBillDetailDataJob`
- `ProcessCategoryDataJob`
- `ProcessCompanyDataJob`
- `ProcessCustomerDataJob`
- `ProcessDataCaptureDataJob`
- `ProcessFundsTransferDataJob`
- `ProcessStmtEntryDataJob`
- `ProcessTellerDataJob`
- Memastikan validasi terhadap variabel `$this->period` hanya memfokuskan pada apakah nilainya adalah string kosong (`''`).
- Menambahkan kejelasan pada logging apabila periode tidak tersedia pada setiap job.
- Perubahan ini bertujuan untuk menghindari potensi false negative pada pengecekan kondisi `empty()` yang dapat menyebabkan logika tidak berjalan sebagaimana mestinya.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Refactor `ProcessArrangementDataJob`:
- Mengubah parameter dari array periods menjadi string period untuk simplifikasi proses.
- Mengadaptasi logika proses file CSV dari multiple periods menjadi single period.
- Menghapus logika iterasi folder `_parameter` dan menyederhanakan nama file dengan menggunakan single period.
- Menambahkan validasi dan penanganan error jika file tidak ditemukan atau tidak dapat dibuka.
- Menyederhanakan proses membaca dan memproses row dari file CSV dengan pendekatan baru.
- Memperbaiki logging untuk mencatat catatan processing dan error yang lebih tepat.
- Update Model `StmtEntry`:
- Menambahkan relasi baru:
- `tt`: Relasi dengan model `Teller` berdasarkan `trans_reference`.
- `dc`: Relasi dengan model `DataCapture` berdasarkan `trans_reference`.
- `aa`: Relasi dengan model `TempArrangement` berdasarkan `trans_reference`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan parameter `$periods` untuk mendukung proses dinamis berdasarkan folder periode dalam SFTP.
- Memperkenalkan penggunaan `Storage::disk('sftpStatement')` untuk membaca file dari SFTP.
- Menyortir folder periode secara menurun berdasarkan tanggal.
- Memproses tiap entitas data (Customer, Account, Arrangement, Bill Details, dll.) berdasarkan file dalam folder periode.
- Menambah log untuk mencatat jumlah proses yang berhasil, baris error, dan peringatan tentang ketidaksesuaian jumlah kolom.
- Menyisipkan mekanisme untuk mengabaikan folder `_parameter`.
- Mengubah pendekatan dari membaca file lokal menjadi menggunakan file sementara (temp).
- Memperbaiki bug pada metode yang sebelumnya menggunakan jalur file statis.
- Memastikan penanganan file CSV yang lebih fleksibel, termasuk kasus di mana jumlah kolom dalam baris melebihi ekspektasi.
- Menambah error handling untuk mencatat baris-baris bermasalah dan menghindari interupsi proses.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Membuat kelas ProcessArrangementDataJob untuk memproses file CSV data arrangement.
- Menangani pembacaan file dan pembaruan data menggunakan model TempArrangement.
- Menangani kesalahan dengan logging untuk memudahkan debugging.