Commit Graph

31 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
e511025307 feat(webstatement): tambahkan fitur proses data teller
- 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>
2025-05-21 22:01:31 +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
fb6fd534d5 feat(webstatement): tambah fitur pemrosesan data "Data Capture"
- 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>
2025-05-20 22:15:44 +07:00
Daeng Deni Mardaeni
24700c5bd8 feat(webstatement): tambahkan proses pengolahan data FtTxnTypeCondition
- 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>
2025-05-20 21:38:27 +07:00
Daeng Deni Mardaeni
713c2b1e12 feat(webstatement): tambahkan fitur untuk mengelola saldo pembukaan akun
Menambahkan kolom `open_actual_bal` dan `open_cleared_bal` ke model Account untuk mendukung pencatatan saldo pembukaan.

Detail perubahan:
- Menambahkan properti `open_actual_bal` ke dalam array `$fillable` pada model Account.
- Menambahkan properti `open_cleared_bal` ke dalam array `$fillable` pada model Account.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-20 21:20:06 +07:00
Daeng Deni Mardaeni
427d1291f8 feat(webstatement): tambah fitur pengiriman statement ke email
- Menambahkan kolom `email` dan `email_sent_at` pada tabel `print_statement_logs`.
- Menambah endpoint baru untuk mengirim statement via email (`/send-email`).
- Mengupdate form request untuk validasi email pada `PrintStatementRequest`.
- Menambah logika pengiriman email dengan menggunakan `Mailable` (`StatementEmail`).
- Memvalidasi ketersediaan file statement sebelum dikirimkan via email.
- Menambahkan tombol baru pada tampilan frontend untuk opsi `Send to Email`.
- Mengupdate file zip untuk pengiriman email ketika ada statement dalam rentang waktu.
- Refaktor dan perbaikan minor pada kode terkait check statement availability.
- Menyesuaikan title menu pada `module.json` dari "Periode Statement" ke "Create Periode" dan "Print Statement" ke "Statement".

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-13 16:44:22 +07:00
Daeng Deni Mardaeni
8e5c2ce79e feat(webstatement): update print statement functionalities
- Menambahkan kolom `remarks` pada tabel print_statement_logs untuk menyimpan catatan tambahan.
- Mengubah validasi periode pada `PrintStatementRequest` untuk mencegah request duplikasi periode.
- Memperbaiki tampilan di `statements.index` dan `statements.show` agar lebih responsif dan informatif.
- Mengubah logika download statement untuk mendukung file range periode dalam format zip.
- Menambahkan logika cek file statement berdasarkan ketersediaan file di storage SFTP.
- Menghapus file legacy `create.blade.php` yang tidak lagi digunakan.
- Menyesuaikan ikon menu dari `calendar` ke `printer` agar lebih relevan.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-13 14:01:41 +07:00
Daeng Deni Mardaeni
eaa847e7e7 feat(webstatement): tambah fitur request dan pengelolaan print statement
- Tambah menu baru untuk "Print Statement" di konfigurasi module.
- Tambah route baru untuk pengelolaan statement seperti list, download, otorisasi, dan datatables.
- Implementasi `PrintStatementController` untuk operasi terkait request dan manajemen statement.
- Implementasi model `PrintStatementLog` untuk mencatat log request statement, termasuk validasi dan relasi yang dibutuhkan.
- Tambah form request `PrintStatementRequest` untuk validasi input.
- Tambah migration untuk tabel `print_statement_logs` yang menyimpan rekaman log statement.
- Tambah halaman blade untuk index dan form request statement.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-11 18:15:21 +07:00
Daeng Deni Mardaeni
7df50b5141 feat(webstatement): implement periode statement management feature
- Menambahkan menu "Periode Statement" pada module.json dengan akses untuk role administrator.
- Menambahkan model `PeriodeStatement` dengan fitur tracking user dan scoped query.
- Menyediakan controller `PeriodeStatementController` dengan fungsi CRUD, otorisasi, proses, ekspor data ke Excel, dan datatables.
- Menambahkan request validation melalui `PeriodeStatementRequest`.
- Menyediakan view untuk list, create, edit, dan otorisasi periode statement.
- Menambahkan routing termasuk resource routes dan breadcrumbs untuk mendukung fitur ini.
- Menambahkan migrasi database `periode_statements` dengan kolom untuk menyimpan data periode, status, otorisasi, serta metadata.
- Fitur ini memungkinkan pengelolaan dan pemrosesan periode statement secara terstruktur dan aman.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-11 15:58:49 +07:00
Daeng Deni Mardaeni
e1e52f78fb ```
feat(sync-logs): tambah fitur sinkronisasi log biaya kartu

- Menambahkan route, controller, model, dan migration untuk fitur baru `sync-logs`.
- Mengganti referensi `BiayaKartuController` menjadi `SyncLogsController`.
- Menyediakan halaman untuk menampilkan data log sinkronisasi dengan filter, pencarian, dan pagination.
- Menambahkan kemampuan melihat detail proses sinkronisasi langsung dari modal.
- Memperbarui `module.json` dengan item menu baru untuk fitur log sinkronisasi.
- Menghapus `BiayaKartuController` yang sudah tidak digunakan lagi.
```

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-10 15:12:56 +07:00
Daeng Deni Mardaeni
68cfb9fb2c feat(webstatement): tambahkan fitur pengelolaan kartu ATM
- Tambahkan menu "Kartu ATM" pada konfigurasi menu module.
- Implementasi controller `KartuAtmController` dengan fungsi `index` dan `dataForDatatables`.
- Tambahkan route untuk pengelolaan "Kartu ATM" termasuk datatables.
- Tambahkan model relasi `biaya` pada model `Atmcard`.
- Tambahkan view halaman daftar kartu ATM dengan fitur datatables.
- Tambahkan breadcrumbs untuk halaman "Kartu ATM".

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-10 13:18:46 +07:00
Daeng Deni Mardaeni
ec99361833 refactor(webstatement): ubah pengelolaan default biaya kartu
- 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>
2025-05-10 10:51:28 +07:00
Daeng Deni Mardaeni
496d7f58c7 feat(webstatement): tambah fitur manajemen Jenis Kartu
- Menambahkan model, migrasi, seed, controller, request, dan tampilan untuk fitur Jenis Kartu.
- Menambahkan routing dan breadcrumbs untuk Jenis Kartu.
- Mengimplementasikan fungsi CRUD, ekspor data ke Excel, dan penghapusan multiple records pada Jenis Kartu.
- Memperbarui `module.json` untuk menampilkan menu Jenis Kartu di bagian Master.
- Menambah seeder untuk data awal Jenis Kartu.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-10 10:47:10 +07:00
daengdeni
bd810389cd feat(atmcard): tambahkan model dan migrasi untuk tabel atmcards
- 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.
2025-05-08 11:20:06 +07:00
Daeng Deni Mardaeni
1924b7b6ab feat(customer): perbarui atribut yang dapat diisi pada model Customer
- Menambahkan atribut 'province', 'city', 'district', 'village', dan 'postal_code' ke dalam daftar $fillable.
- Memastikan model Customer dapat mengelola data tambahan yang relevan.
2025-04-09 13:39:23 +07:00
Daeng Deni Mardaeni
500cf2b26a feat(account): perbarui logika pemrosesan data akun
- 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'.
2025-04-09 13:39:16 +07:00
Daeng Deni Mardaeni
21fd3f1b99 feat(account): perbarui logika pemrosesan data akun
- 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.
2025-04-08 16:34:42 +07:00
Daeng Deni Mardaeni
2cb27c12d6 feat(email-blast): tambahkan model dan migrasi 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
1b8c32a84d feat(customers): tambahkan model dan migrasi untuk tabel customers
- Menambahkan model Customer dengan relasi ke akun dan cabang.
- Membuat migrasi untuk tabel customers dengan kolom yang diperlukan.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
3986b35c25 feat(stmt_entry): tambahkan model dan migrasi untuk tabel stmt_entry
- 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
d8740ea8f5 feat(accounts): tambahkan model dan migrasi untuk tabel akun
- Menambahkan model Account dengan atribut yang dapat diisi.
- Menambahkan migrasi untuk membuat tabel accounts dengan kolom yang diperlukan.
2025-02-18 16:36:20 +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
Daeng Deni Mardaeni
154fb642b1 feat(jobs): tambahkan job untuk memproses data format narasi
- 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
e5650c6c78 feat(jobs): tambahkan job untuk memproses data parameter narasi
- 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
904566b9f9 feat(jobs): tambahkan job untuk memproses data transfer dana
- 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
f7362dbc5a feat(transactions): tambahkan job dan model untuk memproses data transaksi
- 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
7e6bfded58 feat(jobs): tambahkan job untuk memproses data akun
- 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.
2025-02-18 16:36:20 +07:00
Daeng Deni Mardaeni
5f92f123b2 feat(models): add TempBillDetail model
- Menambahkan model TempBillDetail untuk tabel temp_bill_details.
- Menggunakan trait HasFactory untuk dukungan factory.
- Menentukan atribut yang dapat diisi secara massal.
2025-01-15 09:30:16 +07:00
Daeng Deni Mardaeni
1df2f338c0 feat(models): add TempArrangement model
- 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.
2025-01-15 09:29:39 +07:00
Daeng Deni Mardaeni
bf2babb8b1 feat(models): add TempCustomer model
- 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
2025-01-15 09:28:56 +07:00