- 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.
- Menambahkan atribut 'province', 'city', 'district', 'village', dan 'postal_code' ke dalam daftar $fillable.
- Memastikan model Customer dapat mengelola data tambahan yang relevan.
- 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 EmailBlastMail untuk mengelola pengiriman email blast.
- Mengimplementasikan metode build untuk mengatur subjek dan konten email.
- Menambahkan tampilan blast.blade.php untuk format email blast.
- Menambahkan EmailBlastController untuk mengelola email blast.
- Menyediakan metode untuk menampilkan, membuat, dan menyimpan email blast.
- Mengimplementasikan validasi untuk input email blast.
- Menyimpan riwayat email blast dan mengantre pengiriman menggunakan job.
- Menyediakan metode untuk menampilkan detail dan datatables untuk riwayat email blast.
- Menambahkan model EmailBlastHistory untuk menyimpan informasi riwayat email blast.
- Membuat migrasi untuk tabel email_blast_histories dengan kolom subject, content, recipients_count, dan status.
- 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.
- Menambahkan metode untuk menampilkan, menyimpan, mengedit, dan menghapus data pelanggan.
- Mengimplementasikan validasi menggunakan CustomerRequest.
- Menyediakan fungsi untuk ekspor data pelanggan ke format Excel.
- Menyediakan pencarian dan pengurutan data pelanggan.
- Menambahkan kelas CustomerExport untuk mengekspor data pelanggan.
- Mengimplementasikan antarmuka FromCollection, WithHeadings, WithMapping, dan WithColumnFormatting.
- Menyediakan pemetaan kolom untuk data pelanggan termasuk ID, kode pelanggan, nama, alamat, kode cabang, tanggal lahir, email, dan tanggal dibuat.
- Mengatur format kolom untuk ID sebagai angka dan tanggal lahir serta email sebagai format tanggal.
- Menambahkan model StmtEntry untuk mengelola data entri pernyataan.
- Membuat migrasi untuk tabel stmt_entry dengan kolom yang diperlukan.
- Menyediakan relasi dengan model Account melalui kolom account_number.
- 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.
- 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.
- 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.
- Menambahkan model TempBillDetail untuk tabel temp_bill_details.
- Menggunakan trait HasFactory untuk dukungan factory.
- Menentukan atribut yang dapat diisi secara massal.
- Menambahkan model TempArrangement untuk mengelola data dalam tabel temp_arrangements.
- Model ini mencakup atribut yang dapat diisi secara massal.
- Memudahkan interaksi dengan database untuk pengaturan sementara.
- Menambahkan model TempCustomer untuk penyimpanan data pelanggan sementara
- Mengkonfigurasi nama tabel dan timestamps
- Menambahkan daftar lengkap field yang dapat diisi (fillable fields)
- Mempersiapkan struktur model untuk integrasi dengan fitur webstatement