- Mengubah daftar periode yang diproses dengan mengaktifkan subset baru ('20250520', '20250521', '20250522') dan menonaktifkan subset lama dengan kondisi komentar.
- Mengaktifkan kembali berbagai metode pemrosesan data:
- `ProcessCategoryData` dan `ProcessCompanyData` diaktifkan untuk setiap periode.
- `processCustomerData` serta `processAccountData` mendapatkan aktifasi penuh.
- Pemrosesan detail: `processStmtEntryData`, `ProcessDataCaptureData`, `processFundsTransferData`, `ProcessTellerData`, dan `ProcessAtmTransaction` juga diaktifkan.
- Metode `processArrangementData` dan `processBillDetailData` juga dimasukkan kembali dalam workflow pemrosesan.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Nonaktifkan penggunaan SFTP disk untuk mendapatkan daftar folder periode.
- Gantikan `allDirectories` dengan daftar hardcoded periode langsung di kode.
- Tambahkan daftar periode berupa array statis untuk menggantikan logika filter otomatis.
- Ubah proses iterasi data:
- Nonaktifkan pemanggilan metode `ProcessCategoryData` dan `ProcessCompanyData`.
- Aktifkan pemanggilan metode `processAccountData` untuk setiap periode.
- Nonaktifkan proses data lainnya seperti `processCustomerData`, `ProcessTellerData`, dan `ProcessAtmTransaction`.
- Pastikan response JSON tetap konsisten dengan hasil dan status HTTP.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan job `ProcessAtmTransactionJob` untuk memproses data transaksi ATM dari file CSV.
- Implementasi pemrosesan file CSV termasuk pembacaan, pemetaan header, dan simpan data ke model.
- Menyediakan logging untuk pemantauan jumlah data yang diproses dan jumlah error.
- Menambahkan mekanisme penanganan error pada setiap proses baris dan file.
- Menambahkan model `AtmTransaction`:
- Mendeklarasikan atribut yang bisa diisi (`fillable`) seperti `transaction_id`, `txn_amount`, dan lainnya.
- Mendefinisikan tipe data casting untuk beberapa atribut seperti `txn_amount` dalam tipe decimal dan `booking_date` dalam tipe datetime.
- Menambahkan migration `2025_05_21_150736_create_atm_transactions_table` untuk tabel `atm_transactions`:
- Tabel memiliki kolom seperti `transaction_id`, `txn_amount`, `booking_date`, dan indeks untuk kolom tertentu.
- Meng-handle struktur kolom untuk mendukung atribut yang diperlukan di model.
- Memperbarui `MigrasiController`:
- Menambahkan fungsi `ProcessAtmTransaction` untuk menjadwalkan `ProcessAtmTransactionJob`.
- Memperbaiki pesan response pada beberapa fungsi agar lebih deskriptif dan konsisten.
- Memperbarui pemanggilan fungsi dari `__invoke` di bagian pemrosesan data (`ProcessAtmTransaction`) untuk period tertentu.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan job baru `ProcessTellerDataJob` untuk memproses data teller dari file CSV.
- Membuat controller method `ProcessTellerData` di `MigrasiController` untuk dispatch job `ProcessTellerDataJob`.
- Menambahkan model baru `Teller` yang merepresentasikan data teller dengan kolom sesuai header map pada CSV.
- Menambahkan migrasi `2025_05_21_144332_create_tellers_table.php` untuk membuat tabel database `tellers` dengan struktur data lengkap.
- Menambahkan logika pada job untuk membaca, memproses, dan menyimpan data CSV ke dalam database.
- Menyediakan mekanisme pemrosesan file CSV termasuk:
- Validasi jumlah kolom pada CSV jika tidak sesuai dengan header.
- Membuat dan menghapus file sementara selama pemrosesan.
- Mapping data CSV ke atribut model `Teller`.
- Penanganan error saat menyimpan data ke model `Teller`.
- Logging proses meliputi jumlah data yang diproses dan error selama jalannya job.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- 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>
- Menonaktifkan pemanggilan fungsi-fungsi yang tidak diperlukan untuk data processing di `MigrasiController`:
- `processTransactionData`, `processStmtNarrFormatData`, `processAccountData`, dan `ProcessCompanyData`.
- Mengubah argumen di beberapa pemanggilan fungsi untuk data processing agar lebih spesifik ke periode tertentu:
- Mengganti `$periods` menjadi `['20250512']` untuk `processArrangementData`, `processBillDetailData`, `processFundsTransferData`, dan `processStmtEntryData`.
- Memodifikasi logika skipping folder `_parameter` pada `ProcessFtTxnTypeConditionJob` dengan mengomentari proses pengecekan.
- Mengubah delimiter `fgetcsv` pada `ProcessBillDetailDataJob` dari `;` menjadi `~`.
- Menambahkan file migrasi baru untuk mengubah tipe kolom pada tabel `temp_fund_transfer`:
- Mengubah semua kolom pada tabel menjadi tipe `text` untuk mendukung data yang lebih besar.
- Menyediakan metode `down` untuk rollback tipe data kembali ke `string`.
Perubahan ini bertujuan untuk meningkatkan efisiensi proses data, mendukung fleksibilitas data lebih besar pada migrasi database, serta membuka jalan untuk refaktor atau penghapusan fungsi yang tidak digunakan.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan fungsi baru `ProcessDataCaptureData` di `MigrasiController` untuk menjadwalkan pemrosesan data "Data Capture".
- Menambahkan job baru `ProcessDataCaptureDataJob`:
- Mengambil data "Data Capture" dari file CSV melalui SFTP.
- Memproses dan menyimpan data ke database dengan validasi dan logging.
- Mendukung operasi pembaruan (update) atau pembuatan (insert) data menggunakan Eloquent `updateOrCreate`.
- Menambahkan model baru `DataCapture`:
- Memetakan data ke tabel `data_captures` di database.
- Mendukung properti `fillable` dan `casts` untuk format data yang valid, termasuk konversi nilai decimal dan tanggal.
- Menambahkan migrasi baru `create_data_captures_table` untuk membuat tabel `data_captures`:
- Mendefinisikan semua kolom sesuai kebutuhan data "Data Capture".
- Menetapkan tipe data yang relevan seperti decimal, date, dan datetime.
- Memperbarui metode `migrasiAll` di `MigrasiController` untuk memanggil fungsi pemrosesan baru `ProcessDataCaptureData`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
Menambahkan fungsi baru dan job baru untuk memproses data perusahaan (Company Data) dari file CSV.
Detail perubahan:
- Menambahkan import `ProcessCompanyDataJob` pada `MigrasiController`.
- Menambahkan fungsi `ProcessCompanyData` di `MigrasiController` untuk memanggil job pemrosesan data perusahaan.
- Mengintegrasikan pemrosesan data perusahaan ke dalam alur fungsi `processData()` di `MigrasiController`.
- Membuat job baru `ProcessCompanyDataJob` untuk membaca dan memproses file `ST.COMPANY.csv`.
- Job memproses file dari SFTP `sftpStatement` berdasarkan folder `periods`.
- Ditambahkan validasi file, mapping data CSV ke model `Branch`, dan menyimpan atau memperbarui data ke database.
- Penanganan error untuk pencatatan log pada kasus file tidak ditemukan, kesalahan kolom, atau error saat menyimpan data.
- Melakukan perubahan nama file default untuk job `ProcessFtTxnTypeConditionJob` dari `TXN_TYPE_CONDITION.csv` menjadi `ST.FT.TXN.TYPE.CONDITION.csv`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan method `ProcessFtTxnTypeConditioData` pada `MigrasiController` untuk memproses data FtTxnTypeCondition melalui dispatching job baru.
- Menambahkan job baru `ProcessFtTxnTypeConditionJob` untuk mengelola dan memproses data TxnTypeCondition dari file `TXN_TYPE_CONDITION.csv`:
- Membaca file CSV melalui SFTP dengan validasi header dan struktur kolom.
- Menggunakan model `FtTxnTypeCondition` untuk menyimpan atau memperbarui data ke database.
- Menambahkan logging untuk memberikan informasi dan menangani pengecualian/error selama proses.
- Menambahkan model `FtTxnTypeCondition` untuk representasi data `ft_txn_type_condition` di database:
- Tabel memiliki atribut seperti `id`, `date_time`, `transaction_type`, `short_descr`, `txn_code_cr`, dan `txn_code_dr`.
- Mengatur primary key pada atribut `id` dengan tipe string dan non-incremental.
- Menambahkan migrasi untuk tabel `ft_txn_type_condition`:
- Menyediakan kolom utama yang diperlukan dengan tipe data sesuai kebutuhan, termasuk `softDelete`.
- Kolom primary key `id` dengan tipe `string`.
- Memodifikasi proses migrasi utama untuk memanggil method `ProcessFtTxnTypeConditioData`.
- Menangani folder `_parameter` sebagai folder yang diabaikan dalam proses.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Nonaktifkan pengecekan folder `_parameter` di berbagai job untuk memungkinkan pemrosesan file pada folder ini.
- Ubah logika konstruksi nama file di job `ProcessTransactionDataJob` agar tidak lagi menyertakan nama folder periode.
- Sesuaikan pola nama file pada job `ProcessStmtNarrParamDataJob` dan `ProcessStmtNarrFormatDataJob` untuk menghapus ketergantungan pada nama folder periode.
- Tambahkan pemanggilan fungsi `processTransactionData`, `processStmtNarrParamData`, dan `processStmtNarrFormatData` secara eksplisit dengan argumen folder `_parameter` di `MigrasiController`.
- Batasi pemrosesan data customer dan akun hanya pada periode tertentu (`20250519`) di `MigrasiController`.
- Hapus pemanggilan beberapa fungsi proses data lain di `MigrasiController` untuk periode umum.
- Perubahan ini bertujuan untuk meningkatkan fleksibilitas dan mengakomodasi kebutuhan pemrosesan data secara spesifik.
- 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>
- Menambahkan job untuk memproses data akun.
- Menambahkan job untuk memproses data transaksi.
- Menambahkan job untuk memproses data transfer dana.
- Menambahkan job untuk memproses data format narasi.
- Menambahkan job untuk memproses data parameter narasi.
- Menambahkan job untuk memproses data entry statement.
- Memperbarui metode pengolahan data di MigrasiController.
- Menambahkan MigrasiController untuk memproses data dari file CSV.
- Mengimplementasikan metode untuk memproses data Arrangement, Customer, dan Bill Detail.
- Menggunakan model TempArrangement, TempCustomer, dan TempBillDetail untuk menyimpan data.
- Menangani pengecualian jika file tidak ditemukan atau tidak dapat dibuka.