Menambahkan parameter --period pada command ProcessDailyMigration untuk fleksibilitas pemrosesan data harian.
Perubahan yang dilakukan:
- Menambahkan parameter --period dengan default '-1 day' pada command ProcessDailyMigration
- Memungkinkan input period dalam berbagai format:
- Format Ymd (contoh: 20250120)
- Format relative date (contoh: '-2 days', '-1 week')
- Default fallback ke '-1 day' jika parameter kosong atau format tidak valid
- Update method index di MigrasiController untuk menerima dan memproses parameter period
- Menambahkan method determinePeriod untuk konversi dan validasi parameter period
- Menggunakan Carbon untuk parsing dan konversi tanggal
- Menambahkan logging detail untuk tracking parameter input dan hasil konversi period
- Menambahkan validasi dan error handling jika format periode tidak sesuai
- Mempertahankan backward compatibility agar command lama tetap berjalan seperti sebelumnya
- Update deskripsi command dan signature agar dokumentasi CLI lebih jelas
Tujuan perubahan:
- Memberikan fleksibilitas bagi tim operasional untuk menjalankan migrasi data dengan periode yang spesifik
- Memudahkan eksekusi ulang data harian atau data backdate tanpa modifikasi kode
- Memastikan proses migrasi lebih aman, transparan, dan dapat dipantau melalui logging
Menambahkan fitur pengelolaan data stmt_entry_detail untuk integrasi transaksi dengan detail yang lebih lengkap.
Perubahan yang dilakukan:
- Membuat migrasi create_stmt_entry_detail_table dengan struktur field sesuai kebutuhan bisnis
- Menambahkan index pada kolom penting untuk meningkatkan performa query
- Membuat model StmtEntryDetail dengan relasi ke:
- Account
- TempFundsTransfer
- TempTransaction
- Teller
- DataCapture
- TempArrangement
- Mengimplementasikan $fillable dan $casts sesuai struktur tabel
- Menambahkan relasi untuk memudahkan integrasi antar modul
- Membuat job ProcessStmtEntryDetailDataJob untuk memproses file CSV dengan batch processing
- Mengimplementasikan chunking untuk menangani file besar secara efisien
- Membersihkan trans_reference dari karakter tidak valid sebelum penyimpanan
- Menggunakan updateOrCreate untuk mencegah duplikasi primary key
- Menggunakan database transaction untuk menjaga konsistensi data
- Menambahkan logging komprehensif untuk monitoring dan debugging
- Mengimplementasikan error handling yang robust untuk menghindari job failure tanpa informasi
- Memastikan penggunaan resource memory tetap optimal saat memproses data besar
- Menambahkan case baru di MigrasiController untuk memproses stmt_entry_detail
- Konsisten dengan pattern migrasi data yang sudah ada di sistem
Tujuan perubahan:
- Menyediakan sistem import dan pengolahan data stmt_entry_detail dengan proses yang aman dan efisien
- Memudahkan integrasi transaksi dengan detail tambahan di modul Webstatement
- Menjamin integritas data dengan penggunaan transaction, logging, dan error handling yang komprehensif
Perubahan yang dilakukan:
- Membuat job baru ProcessProvinceDataJob dengan referensi dari ProcessSectorDataJob.
- Menggunakan model ProvinceCore untuk menyimpan data provinsi.
- Mendukung format file ST.PROVINCE.csv dengan delimiter khusus tilde (~).
- Menambahkan validasi untuk kolom: id, date_time, province, dan province_name.
- Mengabaikan baris header pada file saat proses import.
- Menggunakan database transaction untuk menjaga konsistensi data.
- Menambahkan counter untuk memantau jumlah record yang dilewati (skipped).
- Mengimplementasikan error handling dan logging yang detail.
- Menggunakan updateOrCreate untuk mencegah duplikasi data.
- Menambahkan method failed() untuk menangani kasus job failure.
- Melakukan mapping field province ke code dan province_name ke name.
- Melakukan validasi data wajib sebelum menyimpan ke database.
Tujuan perubahan:
- Memfasilitasi proses import data provinsi dari file eksternal secara otomatis dan aman.
- Menjamin data yang masuk telah tervalidasi dan bebas duplikasi.
- Menyediakan log dan feedback yang cukup saat terjadi kegagalan.
- Memperbarui pemrosesan parameter pada `ProcessDailyMigration`:
- Mengubah logika pengiriman parameter `process_parameter` ke `MigrasiController`:
- Sebelumnya mengirimkan parameter dalam bentuk array.
- Sekarang parameter dikirimkan langsung tanpa pembungkusan array.
- Memastikan parameter diterima dan diproses sesuai dengan perubahan pada controller.
- Memodifikasi fungsi `index` pada `MigrasiController`:
- Menambahkan parameter opsional `$processParameter` pada fungsi.
- Mengganti penggunaan `request('process_parameter')` dengan langsung memeriksa `$processParameter`.
- Menghilangkan dependensi langsung terhadap input request untuk meningkatkan fleksibilitas pemrosesan.
- Tujuan pembaruan ini:
- Menyederhanakan struktur parameter yang digunakan dalam pemrosesan migrasi harian.
- Mengurangi gangguan yang mungkin terjadi akibat ketergantungan terhadap input langsung dari request.
- Memastikan konsistensi dan kompatibilitas pengiriman parameter dari command ke controller.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan opsi baru `--process_parameter` pada command `webstatement:process-daily-migration`.
- Memungkinkan pengguna untuk menentukan parameter proses migrasi seperti tanggal (`date`) dan tipe (`type`).
- Menambahkan logging tambahan untuk mencatat nilai parameter yang diproviding pengguna.
- Memperbarui logika command dan controller:
- Mengirimkan parameter `date` dan `type` ke controller untuk mendukung proses migrasi dengan parameter yang lebih spesifik.
- Menambahkan proses migrasi baru untuk data sektor:
- Membuat job `ProcessSectorDataJob` yang bertugas membaca file CSV terkait sektor dari SFTP.
- Melakukan validasi keberadaan file, memproses tiap baris data, dan menyimpannya ke database jika valid.
- Logging untuk setiap aktivitas proses sektor, termasuk error dan kesuksesan per baris.
- Membuat model `Sector` untuk mendukung operasi database data sektor:
- Menambah atribut dapat diolah (`fillable`) seperti `sector_code`, `co_code`, `description`, dll.
- Menambahkan cast `date_time` ke tipe datetime.
- Menambahkan migrasi baru untuk tabel `sectors`:
- Tabel memiliki kolom seperti `id`, `date_time`, `description`, `curr_no`, `co_code`, dan `sector_code`.
- Meningkatkan pendukung penyimpanan data sektor untuk migrasi masa depan.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Refactor import `Jobs` menggunakan sintaks kurung kurawal untuk mengurangi redundansi dan meningkatkan keterbacaan kode.
- Pindahkan metode `__call` di atas `processData` untuk memperbaiki struktur kode sehingga lebih terorganisir.
- Atur ulang logika dalam `__call` tanpa mengubah fungsionalitas utama tetapi memperbaiki posisi metode dalam kelas.
- Hilangkan duplikasi metode `__call` dengan memindahkannya ke lokasi baru.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menghapus metode proses data individual untuk setiap tipe data dengan menggantinya menjadi metode `processData`.
- Mengintegrasikan semua tipe proses data ke dalam konstanta `PROCESS_TYPES` untuk mempermudah pengelolaan dan memperluas tipe proses.
- Menambahkan konstanta `PARAMETER_PROCESSES` dan `DATA_PROCESSES` untuk memisahkan proses data parameter dan data utama.
- Mengimplementasikan metode `__call` untuk mendukung pemanggilan metode dinamis berdasarkan tipe proses data.
- Memperbaiki metode `index` untuk mendukung pemrosesan otomatis data parameter dan data utama dalam urutan yang ditentukan.
- Menambahkan logging untuk setiap proses data agar memudahkan debugging dan monitoring.
- Memastikan pengembalian respons JSON seragam untuk keberhasilan dan kegagalan setiap proses data.
- 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>
- Mengubah parameter pada pemanggilan `$this->ProcessCompanyData()` dari array menjadi string untuk konsistensi data.
- Mengubah properti `protected` pada `ProcessCompanyDataJob` dari `$periods` menjadi `$period` untuk menggunakan string daripada array.
- Menyesuaikan constructor `__construct` untuk menerima parameter string `$period` alih-alih array `$periods`.
- Memperbaiki mekanisme validasi pada `handle()`, mengganti pengecekan array kosong `$this->periods` menjadi validasi string `$this->period` dengan nilai kosong.
- Menghapus iterasi `foreach` untuk mengakomodasi perubahan dari array ke string sederhana.
- Memastikan mapping data CSV tetap konsisten dan menambahkan identasi untuk peningkatan keterbacaan.
- Memperbaiki nama variabel dan properti agar lebih eksplisit (`$periods` menjadi `$period`, `$fileName` menjadi `$fileName`, dsb.).
- Menambahkan logging yang lebih jelas mengenai proses data dan kondisi error pada job `ProcessCompanyDataJob`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Mengubah parameter pada metode `ProcessCategoryData` di `MigrasiController` dari array menjadi string untuk keseragaman dengan metode lainnya.
- Memperbarui konstruksi parameter pada instansi `ProcessCategoryDataJob` untuk menerima tipe data string sebagai pengganti array.
- Menghilangkan iterasi array `periods` pada `ProcessCategoryDataJob` dan menerapkan logika langsung pada single `period`.
- Menyesuaikan validasi periode untuk mengabaikan folder `_parameter` dalam proses.
- Memperlihatkan log lebih spesifik jika file tidak ditemukan, atau format kolom tidak sesuai ekspektasi.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Memperbarui pesan respons ketika folder periode tidak ditemukan di penyimpanan SFTP agar menyertakan informasi periode secara dinamis.
- Memperbaiki pesan respons ketika pekerjaan pemrosesan data berhasil untuk menyertakan informasi periode yang diproses.
- Meningkatkan kejelasan informasi dalam respon JSON untuk kebutuhan debugging dan pelacakan yang lebih baik.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan metode `index_manual` pada `MigrasiController` untuk pemrosesan manual.
- Mengganti implementasi metode `index` di `MigrasiController` agar secara otomatis menentukan dan memproses data dengan periode hari sebelumnya.
- Menambahkan validasi untuk memeriksa keberadaan folder periode pada storage SFTP sebelum melakukan pemrosesan.
- Menyesuaikan logika pemanggilan fungsi-fungsi pemrosesan data sesuai urutan:
- `ProcessCategoryData`
- `ProcessCompanyData`
- `processCustomerData`
- `processAccountData`
- `processStmtEntryData`
- `ProcessDataCaptureData`
- `processFundsTransferData`
- `ProcessTellerData`
- `ProcessAtmTransaction`
- `processArrangementData`
- `processBillDetailData`
- Memodifikasi daftar periode pada metode `listPeriod` di `WebstatementController` untuk secara dinamis mengambil periode hari sebelumnya menggunakan `date('Ymd', strtotime('-1 day'))`.
- Menghapus elemen hardcoded pada daftar periode untuk efisiensi kustomisasi.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- 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.