Perubahan yang dilakukan:
- Hapus file `MigrasiController.php` yang tidak lagi digunakan
- Ganti referensi controller dari `MigrasiController` menjadi `StagingController` di `ProcessDailyMigration.php`
- Update semua Job class untuk menggunakan disk `staging` menggantikan `sftpStatement`
- Ganti konstanta `DISK_NAME` di class berikut:
* `ProcessAccountDataJob`
* `ProcessArrangementDataJob`
* `ProcessAtmTransactionJob`
* `ProcessBillDetailDataJob`
* `ProcessCategoryDataJob`
* `ProcessCompanyDataJob`
* `ProcessCustomerDataJob`
* `ProcessDataCaptureDataJob`
* `ProcessFtTxnTypeConditionJob`
* `ProcessFundsTransferDataJob`
* `ProcessProvinceDataJob`
- Komentari sementara `array_pop()` di `ProcessDataCaptureDataJob` untuk debugging
- Rapikan whitespace dan formatting di `GenerateClosingBalanceReportCommand`
- Sesuaikan konfigurasi storage agar menggunakan local filesystem (`disk: staging`)
- Konsolidasikan penamaan dan penggunaan disk untuk environment `staging`
- Hilangkan ketergantungan terhadap koneksi SFTP dalam proses development/staging
Manfaat:
- Mempercepat proses development dan debugging dengan akses file lokal
- Menyederhanakan konfigurasi untuk staging environment
- Meningkatkan konsistensi dan maintainability kode
- Mengurangi potensi error akibat koneksi eksternal (SFTP)
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.