Commit Graph

7 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
38987ce8e3 refactor(webstatement): remove _parameter folder skipping logic from processing jobs
- Menghapus logika pengecekan dan pengabaian folder `_parameter` di seluruh job pemrosesan data berikut:
  - `ProcessAccountDataJob`
  - `ProcessAtmTransactionJob`
  - `ProcessBillDetailDataJob`
  - `ProcessCategoryDataJob`
  - `ProcessCompanyDataJob`
  - `ProcessCustomerDataJob`
  - `ProcessDataCaptureDataJob`
  - `ProcessFundsTransferDataJob`
  - `ProcessStmtEntryDataJob`
  - `ProcessTellerDataJob`
- Menghapus konstanta `PARAMETER_FOLDER` yang terkait dengan folder `_parameter` pada beberapa job.
- Membersihkan code redundancy yang tidak relevan untuk meningkatkan keterbacaan dan efisiensi.
- Logika ini dianggap tidak diperlukan lagi dalam proses pemrosesan data.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-24 19:43:54 +07:00
Daeng Deni Mardaeni
cd447eb019 refactor(jobs): simplify jobs and controllers by replacing period array with single period parameter
- Mengganti parameter `$periods` (array) menjadi `$period` (string) pada semua Job terkait: `ProcessCustomerDataJob`, `ProcessFundsTransferDataJob, etc`.
- Menyederhanakan operasi loop dalam proses data dengan hanya memproses satu periode per eksekusi Job.
- Memodifikasi fungsi controller di `MigrasiController` agar sesuai dengan perubahan parameter dari array ke string.
- Menambahkan pengamanan jika `$period` kosong atau bernilai '_parameter' untuk mencegah proses yang tidak diperlukan.
- Mengurangi duplikasi kode dengan mengeliminasi metode yang mengelola array periode dan menggantinya dengan pendekatan tunggal.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-24 19:40:40 +07:00
daengdeni
e3b6e46d83 ```
refactor(jobs): update file extension and sanitize transaction reference

- Mengubah konstanta `FILE_EXTENSION` pada `ProcessAtmTransactionJob` dari `.ST.ATM.csv` menjadi `.ST.ATM.TRANSACTION.csv`.
- Menambahkan logika pembersihan pada `trans_reference` dalam `ProcessStmtEntryDataJob`:
  - Menghapus string `\BNK` jika ada dalam field `trans_reference`.
- Mempertahankan fungsionalitas utama untuk memastikan kompatibilitas data dan pengolahan job tetap berjalan sesuai dengan kebutuhan.
```
2025-05-24 08:27:03 +07:00
Daeng Deni Mardaeni
285c2409ea feat(webstatement): tambah fitur pemrosesan data kategori
- Menambahkan `ProcessCategoryDataJob` untuk memproses data kategori dari file CSV yang diambil melalui SFTP.
- Membuat model `Category` dengan atribut-atribut:
  - `id_category`
  - `date_time`
  - `description`
  - `short_name`
  - `system_ind`
  - `record_status`
  - `co_code`
  - `curr_no`
  - `l_db_cr_ind`
  - `category_code`
- Menambahkan endpoint baru `ProcessCategoryData` di `MigrasiController` untuk memanggil job pemrosesan data kategori.
- Menambahkan migrasi untuk membuat tabel `categories` dengan kolom-kolom yang relevan.
- Memperbaiki bug pada `ProcessStmtEntryDataJob` dengan menambahkan validasi khusus untuk menghindari pemrosesan baris header yang tidak valid.
- Menghapus pemanggilan job yang tidak diperlukan di `MigrasiController`.
- Mengupdate logika pemrosesan file untuk memastikan integritas data dalam job kategori.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-21 21:36:45 +07:00
daengdeni
def0b037a8 feat(statement-processing): update StmtEntry model and optimize data processing logic
- Menambahkan relasi baru pada model `StmtEntry`:
  - `ft()` untuk relasi ke model `TempFundsTransfer` berdasarkan kolom `trans_reference`.
  - `transaction()` untuk relasi ke model `TempTransaction` berdasarkan kolom `transaction_code`.

- Memperbarui `ProcessStmtEntryDataJob`:
  - Mengganti penggunaan model `TempStmtEntry` menjadi `StmtEntry`.
  - Mengubah delimiter parsing file CSV dari `/` menjadi `~`.
  - Menggunakan `stmt_entry_id` sebagai kunci utama dalam metode `updateOrCreate`.
  - Menghapus validasi kolom `_id` pada data yang diproses.

Perubahan ini bertujuan untuk menyelaraskan model dan cara proses data agar lebih akurat dan sesuai dengan kebutuhan sistem.
2025-05-21 21:18:04 +07:00
Daeng Deni Mardaeni
c442b27dad feat(webstatement): optimalkan proses migrasi data SFTP
- 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>
2025-05-20 16:44:59 +07:00
Daeng Deni Mardaeni
f5d675fde8 feat(jobs): tambahkan job untuk memproses data entry statement
- Menambahkan kelas ProcessStmtEntryDataJob untuk memproses file CSV yang berisi data entry statement.
- Membuat model TempStmtEntry untuk menyimpan data entry statement ke dalam database.
- Menambahkan migrasi untuk membuat tabel temp_stmt_entry dengan kolom yang sesuai.
2025-02-18 16:36:20 +07:00