3 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
36abab1280 fix(webstatement): perbaiki nama field dari no_receipt menjadi recipt_no
Perubahan yang dilakukan:
- Mengubah nama field dari no_receipt menjadi recipt_no pada model ProcessedStatement.
- Memperbaiki nama kolom pada migrasi dari no_receipt menjadi recipt_no.
- Menyesuaikan nama index dari no_receipt ke recipt_no untuk konsistensi.
- Memperbarui method down() pada migrasi agar menghapus kolom dan index dengan nama yang benar.

File yang dimodifikasi:
- app/Models/ProcessedStatement.php: Mengubah no_receipt menjadi recipt_no pada fillable fields.
- database/migrations/2025_07_14_022029_add_no_receipt_to_processed_statements_table.php:
  - Mengubah nama kolom dan index dari no_receipt ke recipt_no.
  - Memperbaiki rollback agar konsisten dengan perubahan.

Tujuan perubahan:
- Menjaga konsistensi penamaan field dengan struktur data yang sudah ada.
- Menyesuaikan penamaan dengan field recipt_no dari relasi ft untuk mencegah potensi error mapping.
2025-07-14 10:06:00 +07:00
Daeng Deni Mardaeni
7818d1677b feat(webstatement): tambah field no_receipt pada processed_statements
Perubahan yang dilakukan:
- Menambahkan field no_receipt pada tabel processed_statements melalui migrasi baru.
- Menambahkan no_receipt ke dalam fillable array di model ProcessedStatement.
- Mengintegrasikan field recipt_no dari relasi ft ke dalam data yang disimpan di processed_statements.
- Menambahkan kolom NO.RECEIPT pada header CSV export statement.
- Menyertakan data recipt_no ke dalam output CSV export statement.
- Mengomentari kode yang sebelumnya menambahkan receipt number ke narrative description untuk menghindari duplikasi.
- Menggunakan nilai default '-' jika recipt_no tidak tersedia.

File yang dimodifikasi:
- app/Jobs/ExportStatementJob.php: Menambahkan mapping recipt_no ke no_receipt, update header CSV, dan menyertakan data dalam export.
- app/Models/ProcessedStatement.php: Menambahkan no_receipt ke fillable fields.
- Modules/Webstatement/database/migrations/2025_07_14_022029_add_no_receipt_to_processed_statements_table.php: Menambahkan kolom no_receipt di database.

Tujuan perubahan:
- Memisahkan nomor receipt transaksi dari narrative description untuk kemudahan pelaporan dan audit.
- Memberikan fleksibilitas lebih dalam pengolahan data statement, khususnya untuk kebutuhan export dan compliance.
2025-07-14 09:24:38 +07:00
Daeng Deni Mardaeni
b98408a8d2 feat(webstatement): optimalkan proses ekspor statement dengan chunking dan tabel terproses
- Menambahkan penggunaan chunking dalam pemrosesan data `StmtEntry` untuk mengurangi konsumsi memori
- Menghapus data yang telah diproses pada tabel `processed_statements` sebelum memproses ulang data baru
- Menambahkan metode `processStatementData` untuk memproses data transaksi dengan pengelolaan hemisan-memori
- Mengganti mekanisme ekspor CSV agar sesuai dengan data yang sudah diproses; menggunakan chunk pada pembacaan dan penulisan data agar lebih efisien
- Memperkenalkan tabel baru `processed_statements` untuk menyimpan hasil pemrosesan sebagai cache sementara
- Menambahkan log untuk setiap tahap pemrosesan untuk mempermudah debugging dan pelacakan proses
- Menambahkan file model `ProcessedStatement` untuk interaksi dengan tabel `processed_statements`
- Menambahkan file migrasi untuk membuat tabel `processed_statements` di database

Enhancement ini meningkatkan performa aplikasi, terutama saat menangani data besar, dengan mengurangi penggunaan memori dan meningkatkan efisiensi proses ekspor.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
2025-05-22 17:36:55 +07:00