Commit Graph

8 Commits

Author SHA1 Message Date
Daeng Deni Mardaeni
0129c57b0d feat(phpmailer): Update semua job LPJ ke PHPMailer dengan attachment support
🚀 Transformasi lengkap semua job email LPJ dari Laravel Mail ke PHPMailer dengan konfigurasi SMTP yang telah teruji!

Perubahan utama:

1. **SendJadwalKunjunganEmailJob**:
   -  Update dari SendJadwalKunjunganEmail ke SendJadwalKunjunganEmailPHPMailer
   -  Tambahkan attachment support dengan parameter attachments
   -  Implementasi error handling dengan logging
   -  Konversi dari Mail::to() ke sendWithPHPMailer()

2. **SendPenawaranTenderJob**:
   -  Update dari SendPenawaranTenderEmail ke SendPenawaranTenderEmailPHPMailer
   -  Tambahkan attachment support dari penawaran['attachments']
   -  Implementasi proper constructor dengan 7 parameter
   -  Error handling dengan Exception throwing

3. **SendPenawaranKJPPTenderJob**:
   -  Update dari SendPenawaranKJPPEmail ke SendPenawaranKJPPEmailPHPMailer
   -  Implementasi sendWithPHPMailer() untuk KJPP recipients
   -  Tambahkan logging untuk tracking email delivery
   -  Error handling dengan proper exception

4. **SendPenawaranTenderEmail**:
   -  Konversi dari Mailable ke PHPMailerMailable
   -  Implementasi sendWithPHPMailer() dengan konfigurasi SMTP
   -  Tambahkan attachment support untuk array dan string format
   -  SSL bypass configuration untuk menghindari certificate errors
   -  Dual view support (testing vs production)

5. **SendPenawaranKJPPEmail**:
   -  Konversi dari Mailable ke PHPMailerMailable
   -  Implementasi sendWithPHPMailer() dengan PHPMailerService
   -  Support untuk dp1 parameter tambahan
   -  Dual mode: testing (array data) vs production (object data)
   -  Attachment support lengkap

6. **SendPenawaranTenderEmailPHPMailer**:
   -  Email class baru khusus untuk PHPMailer integration
   -  Constructor dengan 7 parameter untuk data tender
   -  Implementasi sendWithPHPMailer() dengan attachment support
   -  Dual view support untuk testing dan production

7. **SendJadwalKunjunganEmailPHPMailer**:
   -  Email class baru untuk jadwal kunjungan dengan PHPMailer
   -  Constructor dengan emailData parameter
   -  Attachment support untuk file attachments
   -  Integration dengan PHPMailerService

Testing yang sudah dilakukan:
-  SendJadwalKunjunganEmailJob: Email berhasil dikirim ke ddeni05@gmail.com
-  SendPenawaranTenderJob: 8 argument + attachment berhasil
-  SendPenawaranKJPPTenderJob: Email dengan data KJPP berhasil
-  Attachment support: File attachments berhasil dikirim
-  Error handling: Exception dan logging berfungsi dengan baik

Semua job LPJ sekarang menggunakan PHPMailer dengan attachment support yang lengkap! 🎯
2026-02-02 14:22:12 +07:00
Daeng Deni Mardaeni
bef7bcfa8f 🗑️ job(CleanupInspeksiDataJob): Menambahkan fungsi untuk cleanup data inspeksi dengan queueable retry dan transaction aman
Menambahkan exponential backoff (60, 120, 300 detik), timeout 5 menit, dan logging rinci untuk audit cleanup data inspeksi tanpa dokument_id

- Implementasi job queue dengan retry otomatis menggunakan exponential backoff strategy
- Tambahkan timeout 5 menit untuk mencegah hanging jobs
- Gunakan database transaction untuk memastikan atomicity operasi soft delete
- Logging komprehensif untuk audit trail proses cleanup
- Validasi data lengkap (dengan dokument_id) sebelum proses cleanup
- Soft delete data lama tanpa dokument_id hanya jika data baru tersedia
- Pencegahan penghapusan data yang baru saja ditemukan dengan kondisi where('id', '!=', $newInspeksi->id)
- Error handling dengan rollback transaction dan re-throw exception untuk retry mechanism
- Dokumentasi kode yang jelas dengan PHPDoc untuk setiap method
- Menggunakan Laravel best practices dengan ShouldQueue, Dispatchable, InteractsWithQueue, Queueable, SerializesModels traits
2025-12-09 15:22:37 +07:00
Daeng Deni Mardaeni
20833213b1 feat(slik): implementasi sistem import SLIK dengan optimasi memory & timeout handling
- Menambahkan `SlikController.php` dengan method CRUD dan import data SLIK, termasuk logging detail & error handling
- Menambahkan `SlikImport.php` dengan Laravel Excel (ToCollection, WithChunkReading, WithBatchInserts, dll.)
- Optimasi memory dengan chunk processing (50 baris/chunk) dan batch insert (50 record/batch)
- Penanganan timeout menggunakan `set_time_limit` & memory limit configurable via config
- Implementasi queue processing untuk file besar (>5MB) dengan progress tracking
- Validasi file upload & data baris, skip header dari baris ke-5, serta rollback jika error
- Garbage collection otomatis setiap 25 baris, unset variabel tidak terpakai, dan logging usage memory
- Error handling komprehensif dengan try-catch, rollback transaksi, hapus file temp, dan logging stack trace
- Semua parameter (batch size, chunk size, memory limit, timeout, GC, queue threshold) configurable via config
- Diuji pada file besar (>50MB), memory stabil, timeout handling berfungsi, rollback aman, dan progress tracking valid
- Catatan: pastikan queue worker berjalan, monitor log progress, sesuaikan config server, dan backup DB sebelum import
2025-09-16 11:54:39 +07:00
majid
f253d0c14c fix(so/penilai/surveyor) : perbaikkan print out, lampiran, send email jadwal, otorisator, dan typo 2025-02-28 02:29:24 +07:00
Daeng Deni Mardaeni
a7cd063be9 feat(tender): tambahkan informasi pengguna pada email penawaran
- Mengambil informasi pengguna yang sedang login.
- Menyimpan informasi pengguna dalam job pengiriman email.
- Mengupdate tampilan email untuk menampilkan informasi pengguna.
2025-02-03 13:28:07 +07:00
Daeng Deni Mardaeni
561bf7237e feat(tender): tambahkan informasi pengguna pada email penawaran
- Menambahkan parameter pengguna pada konstruktor SendPenawaranKJPPTenderJob.
- Mengupdate pengambilan data pengguna di TenderController.
- Memperbarui tampilan email untuk menampilkan tanda tangan dan nama pengguna yang benar.
2025-02-03 13:16:55 +07:00
ec8ae3b960 Membuat kirim surat tender part 2 2024-11-20 10:56:00 +07:00
17ca3b2e50 Menambahkan fitur kirim email tender part 1 2024-11-20 08:24:59 +07:00