- Menyelaraskan resolusi path file foto di PreviewLaporanService dengan logika fallback seperti pada komponen foto:
- Menggunakan `originalPath = $path['path']` sebagai path utama
- Jika `statusLpj == 1` dan file asli tidak ditemukan, maka:
- Ekstrak dua bagian terakhir dari path (contoh: `251051/251051_2_2.png`)
- Bangun `fallbackPath` dengan pola `surveyor/001/{lastTwoParts}`
- Tentukan `pathToUse`:
- Apabila `fallbackPath` ada dan file fallback ditemukan, gunakan `fallbackPath`
- Jika tidak, tetap gunakan `originalPath`
- Resolusi final: `storage_path('app/public/' . $pathToUse)`
- Menambahkan logging untuk setiap operasi penting dan setiap titik pengembalian:
- `Log::warning` saat path kosong terdeteksi dalam daftar paths
- `Log::info` saat fallback kandidat dibangun dari `originalPath`
- `Log::warning` saat file tidak ditemukan pada original maupun fallback (dengan menyertakan ketiganya: original, fallback, resolved)
- `Log::info` saat file berhasil ditambahkan ke daftar unduhan
- `Log::warning` saat tidak ada file valid setelah resolusi path
- `Log::info` saat mengunduh single file
- `Log::info` saat zip file berhasil dibuat (dengan jumlah file)
- `Log::error` saat zip file gagal dibuat
- Memindahkan logika resolusi path di dalam loop pengolahan `$paths` untuk setiap item:
- Mengganti setting langsung `storage_path('app/public/' . $path['path'])` dengan resolusi path yang bisa fallback
- Menjaga struktur kontrol dengan `continue` jika file final tetap tidak ditemukan
- Menambahkan komentar level-fungsi (docblock) pada `previewLaporan`:
- Menjelaskan tanggung jawab fungsi dalam menghasilkan PDF atau unduhan foto
- Menjelaskan skenario fallback path dan tujuan mengurangi gambar hilang
- Mendokumentasikan parameter dan bentuk nilai kembali respons
Description
No description provided
Languages
Blade
63.5%
PHP
36.5%