Perubahan yang dilakukan: - Menambahkan fungsi generatePdf() untuk proses generate PDF dalam job ExportStatementPeriodJob. - Mengintegrasikan logika PDF generation dari PrintStatementController ke dalam job. - Menggunakan data ProcessedStatement yang telah diproses sebagai sumber untuk pembuatan PDF. - Menambahkan import statement untuk Browsershot, Account, Customer, dan Branch. - Mengimplementasikan fungsi prepareHeaderTableBackground() untuk mengonversi gambar header menjadi base64. - Menggunakan database transaction untuk menjaga konsistensi saat generate dan menyimpan PDF. - Menyimpan PDF ke storage dengan struktur direktori yang terorganisir berdasarkan parameter tertentu. - Memperbarui PrintStatementLog dengan status akhir dan path file PDF yang dihasilkan. - Menambahkan error handling dan logging secara menyeluruh untuk memantau proses. - Menghapus file sementara (temporary) setelah PDF berhasil disimpan ke storage. - Menambahkan dukungan timeout dan konfigurasi Browsershot yang optimal. - Melakukan validasi terhadap data account, customer, dan branch sebelum proses generate PDF dilakukan. Tujuan perubahan: - Memindahkan logika generate PDF ke dalam background job agar lebih efisien dan terstruktur. - Menjamin integritas data dan hasil PDF yang valid melalui proses terstandarisasi. - Mengurangi beban proses di controller serta mendukung proses batch secara asynchronous.
22 KiB
22 KiB