- Pindahkan pengelolaan default biaya kartu dari konstanta dalam job ke metode `JenisKartu::getDefaultFees`.
- Tambahkan metode `getDefaultFees` pada model `JenisKartu` untuk mengambil data biaya kartu dari database.
- Sesuaikan job `GenerateBiayaKartuCsvJob` agar menggunakan data biaya kartu dari metode `getDefaultFees`.
- Hapus konstanta `DEFAULT_FEES` dan ganti penggunaannya dengan data dari database.
- Tingkatkan fleksibilitas pengambilan data biaya kartu untuk mendukung perubahan data secara dinamis.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menghapus dependensi yang tidak digunakan untuk memperingkas kode.
- Memisahkan logika pembaruan branch dan currency menjadi job terpisah `UpdateAtmCardBranchCurrencyJob`.
- Menambahkan penjadwalan job untuk pembaruan branch dan currency setelah sinkronisasi kartu selesai.
- Mengubah query database untuk sinkronisasi kartu menjadi lebih sederhana.
- Menambahkan binding `UpdateAtmCardBranchCurrencyJob` di service provider.
Refactor ini meningkatkan readability dan modularitas kode dengan memisahkan tanggung jawab tiap proses.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Mengubah referensi tabel database dari 'IST77.VW_CMS_VCARD' menjadi 'IST77.CMS_VCARD'.
- Menambahkan join dengan tabel 'IST77.CMS_VCARDTYP' berdasarkan kolom 'CRTYPE'.
- Memperbaiki urutan logika pengecekan 'getExistingCard' untuk menghindari konflik data.
- Mengubah nilai default pada GenerateBiayaKartuCsvJob dari 'AC' menjadi 'ACAT'.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Mengubah `CSV_FILENAME` dari konstanta menjadi properti untuk memungkinkan konfigurasi lebih fleksibel.
- Menambahkan `csvFilename` yang diinisialisasi melalui nilai environment `BIAYA_KARTU_CSV_FILENAME` dengan default `biaya_kartu_atm.csv`.
- Memperbarui referensi dari `self::CSV_FILENAME` menjadi `$this->csvFilename` pada proses penulisan file CSV.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambah fungsi `uploadToSftpKartu` untuk mengunggah file CSV ke server SFTP.
- Memperbarui fungsi `generateAtmCardCsv` agar mengembalikan informasi terkait file yang dihasilkan dan status upload.
- Log ditingkatkan untuk mencatat status upload dan error secara lebih rinci.
- Menambahkan mekanisme pengecekan dan logging jika upload ke SFTP gagal, file tetap tersedia secara lokal.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan job `GenerateBiayaKartuCsvJob` dengan kemampuan untuk membuat file CSV berisi data biaya kartu ATM.
- File CSV dihasilkan berdasarkan data kartu ATM yang memenuhi kriteria tertentu dari database.
- Penentuan biaya kartu berdasarkan jenis kartu atau nilai default jika tidak ada biaya spesifik.
- Melakukan pembersihan isi file CSV untuk menghapus tanda kutip ganda.
- Logging disertakan untuk mencatat keberhasilan atau kegagalan proses.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan `BiayaKartuController` untuk mengelola data kartu ATM.
- Menyediakan endpoint baru `biaya-kartu.index` untuk mengunduh data kartu ATM dalam format CSV.
- Implementasi fungsi untuk:
- Mengambil data kartu ATM yang memenuhi syarat dari database.
- Menentukan biaya kartu berdasarkan tipe kartu.
- Membuat file CSV dengan format khusus dan membersihkan konten dari tanda kutip ganda.
- Memodifikasi logika pembaruan data di `BiayaKartu.php` untuk memperbaiki penempatan pemanggilan fungsi `updateOrCreate`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Tambahkan validasi responseCode saat memperbarui branch dan currency kartu.
- Pastikan nilai branch dan currency tidak null sebelum pembaruan.
- Tambahkan field crdate saat membuat atau memperbarui data kartu.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan metode untuk mendapatkan data dasar kartu (getCardBaseData).
- Menambahkan metode untuk memeriksa apakah pembaruan branch dan currency diperlukan (needBranchAndCurrencyUpdate).
- Menambahkan metode untuk memperbarui branch dan currency (updateBranchAndCurrency).
- Memisahkan logika menjadi fungsi-fungsi modular untuk meningkatkan keterbacaan dan pemeliharaan kode.
- Mengganti logika pembaruan kartu ATM untuk mendukung pembaruan selektif berdasarkan kebutuhan.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan kolom `crdate` pada tabel `atmcards` di database.
- Memperbaiki struktur dan penyesuaian format kode pada file `BiayaKartu.php`.
- Menyelaraskan alignment konstanta, parameter, dan body fungsi untuk meningkatkan keterbacaan.
- Menambahkan pengelolaan data `crdate` dalam proses sinkronisasi kartu ATM.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Pisahkan logika sinkronisasi ke dalam metode-metode terpisah untuk meningkatkan keterbacaan kode.
- Tambahkan konstanta untuk API dan database guna mengurangi duplikasi kode.
- Ganti metode sinkronisasi kartu menjadi batch processing untuk efisiensi.
- Implementasikan logging pada berbagai titik untuk mempermudah debugging.
- Tambahkan penanganan error untuk proses batch sinkronisasi dan update data kartu.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan metode getAccountInfo untuk mengambil informasi saldo akun dari layanan eksternal.
- Memperbarui metode syncAtmCards untuk menyertakan informasi cabang dan mata uang dari akun yang disinkronkan.
- Menambahkan model Atmcard untuk mengelola data kartu ATM.
- Membuat migrasi untuk tabel atmcards dengan atribut yang diperlukan.
- Menambahkan job BiayaKartu untuk menyinkronkan data kartu dari database Oracle.
- Memperbarui pemisah CSV dari ';' menjadi '~'.
- Menambahkan pengecekan untuk memastikan '_id' tidak sama dengan 'id' sebelum memperbarui atau membuat entri baru.
- Memperbarui pemisah CSV dari ';' menjadi '~'.
- Menambahkan pengecekan untuk memastikan '_id' tidak sama dengan 'id' sebelum melakukan update atau create.
- Mengubah pemisah CSV dari ';' menjadi '~'.
- Menambahkan pengecekan untuk memastikan '_id' tidak sama dengan 'id' sebelum melakukan update atau create.
- Tambahkan pengecekan untuk memastikan 'account_number' tidak sama dengan string 'account_number' sebelum menyimpan data akun.
- Perbarui atribut yang dapat diisi pada model Account dengan mengganti 'customer_no' menjadi 'customer_code' dan 'co_code' menjadi 'branch_code'.
- Ganti model dari TempCustomer ke Customer untuk pemrosesan data.
- Perbarui jalur file CSV yang digunakan untuk pemrosesan.
- Tambahkan penanganan kesalahan untuk mencatat kesalahan saat memproses customer.
- Ganti penggunaan model TempAccount dengan Account.
- Perbarui jalur file CSV yang digunakan untuk pemrosesan.
- Tambahkan logika untuk mengatur nilai default untuk 'start_year_bal' dan 'closure_date'.
- Gunakan firstOrNew untuk menyimpan data akun.
- Tambahkan pengambilan data penerima dari model Customer.
- Modifikasi konstruktor EmailBlastMail untuk menerima objek penerima.
- Perbarui tampilan email blast untuk menampilkan subjek dan nama penerima.
- Tambahkan styling baru untuk tampilan email agar lebih menarik.
- Membuat kelas SendEmailBlast yang mengimplementasikan ShouldQueue.
- Menyediakan konstruktor untuk menerima riwayat email blast dan daftar penerima.
- Mengirim email menggunakan EmailBlastMail untuk setiap penerima.
- Memperbarui status riwayat email blast setelah pengiriman selesai.
- Menambahkan kelas ProcessCopyDataJob untuk menangani pemrosesan data.
- Implementasi metode copyCustomerData untuk menyalin data pelanggan dari TempCustomer.
- Implementasi metode copyAccountData untuk menyalin data akun dari TempAccount.
- Implementasi metode copyStmtEntryData untuk memproses data entri pernyataan dari TempStmtEntry.
- Menangani kesalahan dengan logging untuk setiap proses yang gagal.
- 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.
- Membuat kelas ProcessBillDetailDataJob untuk memproses file CSV detail tagihan.
- Menangani pembacaan file dan pemrosesan data dengan penanganan kesalahan.
- Menggunakan model TempBillDetail untuk menyimpan data yang diproses.
- 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.
- Menambahkan kelas ProcessStmtNarrFormatDataJob untuk memproses file CSV.
- Menambahkan model TempStmtNarrFormat untuk menyimpan data format narasi.
- Membuat migrasi untuk tabel temp_stmt_narr_format dengan atribut yang diperlukan.
- Menambahkan kelas ProcessStmtNarrParamDataJob untuk memproses file CSV.
- Membuat model TempStmtNarrParam untuk menyimpan data parameter narasi.
- Menambahkan migrasi untuk membuat tabel temp_stmt_narr_param di database.
- Menambahkan kelas ProcessFundsTransferDataJob untuk memproses file CSV transfer dana.
- Membuat migrasi untuk tabel temp_funds_transfer dengan berbagai field yang diperlukan.
- Menangani kesalahan saat membaca file dan mencatat kesalahan ke log.
- Menambahkan job `ProcessTransactionDataJob` untuk memproses file CSV transaksi.
- Membuat model `TempTransaction` untuk menyimpan data transaksi sementara.
- Menambahkan migrasi untuk tabel `temp_transactions` dengan atribut yang diperlukan.
- Menambahkan kelas ProcessAccountDataJob untuk memproses data akun dari file CSV.
- Mengimplementasikan logika untuk membaca file dan memperbarui atau membuat entri di tabel TempAccount.
- Menangani kesalahan dan mencatat log jika terjadi masalah saat memproses data.
- Menambahkan migrasi untuk membuat tabel temp_accounts dengan kolom yang diperlukan.
- Menambahkan kelas ProcessCustomerDataJob untuk memproses file CSV cusromer.
- Menggunakan metode updateOrCreate untuk menyimpan atau memperbarui data customer.
- Menangani pengecualian jika file tidak ditemukan atau tidak dapat dibuka.
- Mengatur batas waktu eksekusi job menjadi 24 jam.