- Memperbarui `CombinePdfJob`:
- Menambahkan parameter baru `outputDestination`, `branchCode`, dan `period` pada constructor untuk pengaturan tujuan output.
- Menambahkan opsi tujuan output ke `local` atau `sftp` pada proses combine PDF.
- Menambahkan metode baru `uploadToSftp` untuk mengunggah file PDF hasil gabungan ke SFTP.
- Mengatur jalur unggahan SFTP ke `combine/{period}/{branchCode}/{filename}`.
- Menambahkan log informasi terkait jalur dan status unggahan file PDF ke SFTP.
- Memperbarui `CombinePdfController`:
- Menambahkan konfigurasi `output_destination` untuk menentukan tujuan output (`local` atau `sftp`).
- Memperbarui pemanggilan `CombinePdfJob::dispatch` dengan parameter baru untuk konfigurasi output dan SFTP.
- Menyesuaikan log dan respons untuk mencerminkan tujuan output yang disetel.
- Tujuan pembaruan ini:
- Memungkinkan pengaturan flexibel tujuan penyimpanan file PDF ke lokal atau SFTP.
- Menyediakan log yang lebih informatif terkait proses combine PDF dan unggahan SFTP.
- Mempermudah integrasi dan pengelolaan file PDF dengan pengaturan jalur dan periodisasi yang jelas.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
- Menambahkan command baru `webstatement:combine-pdf` melalui `CombinePdf` untuk menjalankan proses penggabungan file PDF.
- Proses ini mencakup penggabungan file PDF dari folder r14 dan r23 berdasarkan periode tertentu.
- File PDF yang dihasilkan juga dilindungi dengan password berbasis nomor rekening.
- Membuat controller `CombinePdfController` dengan fungsi utama `combinePdfs` untuk mengontrol alur penggabungan file PDF:
- Mendapatkan daftar akun yang relevan.
- Mengecek file dari folder r14 dan r23 untuk setiap akun.
- Melakukan logging saat file tidak ditemukan atau jika terdapat error dalam proses.
- Mendaftarkan job `CombinePdfJob` untuk memproses file secara async.
- Menambahkan job baru `CombinePdfJob`:
- Menggunakan library `PDFMerger` untuk menggabungkan file.
- Terapkan proteksi password menggunakan library `PDFPasswordProtect`.
- Memastikan direktori output dibuat jika belum ada.
- Melakukan logging saat proses berhasil maupun saat terjadi error.
- Memperbarui `WebstatementServiceProvider`:
- Mendaftarkan command baru ke dalam provider.
- Menambahkan penjadwalan otomatis untuk menjalankan perintah `webstatement:combine-pdf` setiap hari pada pukul 09:30.
- Logging hasil eksekusi ke file log `logs/combine-pdf.log`.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>