Perubahan yang dilakukan: - ProcessCompanyDataJob: - Memodifikasi method processRow dengan menambahkan logika array_pop($row) untuk menghapus elemen terakhir dari array CSV. - Menambahkan validasi count($row) > 0 untuk memastikan array tidak kosong sebelum diproses. - Mempertahankan validasi jumlah kolom sesuai FIELD_MAP untuk menjaga konsistensi data. - Menambahkan log informasi saat field terakhir berhasil dihapus dari setiap baris. - Mencatat jumlah kolom baru setelah penghapusan untuk keperluan debugging dan monitoring. - Mengurangi overhead processing dengan mengabaikan kolom tambahan yang tidak diperlukan. - Memastikan integritas data tetap terjaga saat mapping ke model Branch. - Tidak mengubah struktur FIELD_MAP yang sudah ada untuk menjaga kompatibilitas. - Mempertahankan fungsi validasi dan error handling yang sudah berjalan. - ProcessDataCaptureDataJob: - Memodifikasi method processRow dengan logika array_pop($row) untuk menghapus kolom terakhir dari array CSV. - Menambahkan pengecekan count($row) > 0 untuk validasi array. - Mempertahankan validasi jumlah kolom sesuai CSV_HEADERS untuk memastikan kesesuaian data. - Menambahkan log saat kolom terakhir berhasil dihapus untuk setiap baris yang diproses. - Mencatat jumlah kolom baru setelah penghapusan sebagai bagian dari monitoring. - Memastikan hanya kolom yang didefinisikan dalam CSV_HEADERS yang diproses untuk efisiensi. - Mengurangi beban proses dengan mengabaikan field yang tidak relevan pada CSV input. - Mempertahankan integritas data dan mapping ke model DataCapture. - Tidak mengubah sistem batch processing yang ada, tetap menggunakan CHUNK_SIZE = 1000. - Mempertahankan performa dengan bulk insert dan upsert untuk data besar. - Memastikan efisiensi memory dengan chunk processing. - Menjaga struktur CSV_HEADERS dan proses validasi agar tetap kompatibel dengan sistem yang sudah berjalan. Tujuan perubahan: - Memungkinkan sistem untuk mengabaikan kolom tambahan di akhir file CSV baik untuk data company maupun data capture tanpa mengganggu proses import. - Menghindari error atau kegagalan parsing saat terdapat tambahan kolom dari sistem eksternal. - Meningkatkan fleksibilitas sistem dalam menghadapi input CSV yang tidak selalu konsisten secara jumlah kolom. - Menjaga performa dan efisiensi proses dengan tetap mempertahankan proses batch dan chunking. - Memastikan seluruh perubahan tetap backward compatible dengan proses yang sudah ada.
8.5 KiB
8.5 KiB