(service): Tambah migrasi tgl_laporan untuk permohonan is_mig & fallback dataPembanding

- Menambahkan logika penyesuaian tanggal laporan untuk permohonan hasil migrasi (is_mig)
- Gunakan mig_mst_jaminan_tgl_laporan jika is_mig = true, fallback ke lpj->created_at jika false
- Tambahkan inisialisasi dataPembanding = '' sebagai default untuk mencegah undefined variable
- Tambahkan variabel mig_permohonan untuk mempermudah akses data hasil migrasi
- Menambahkan logging decode mig_permohonan dan fallback tgl_laporan untuk debugging
- Menjaga konsistensi tanggal laporan antara data migrasi dan data baru
- Meningkatkan stabilitas render preview laporan untuk permohonan tanpa inspeksi
- File yang diubah: app/Services/PreviewLaporanService.php
- Kompatibel dengan Laravel 12, PHP 8.3, PostgreSQL
This commit is contained in:
Daeng Deni Mardaeni
2025-10-13 16:43:30 +07:00
parent 2d8bddff42
commit 291811b74a
3 changed files with 23 additions and 13 deletions

View File

@@ -69,6 +69,7 @@ use Modules\Lpj\Jobs\SendJadwalKunjunganEmailJob;
use App\Helpers\Lpj;
use Modules\Lpj\Models\Penilai;
use Barryvdh\DomPDF\Facade\Pdf;
use Illuminate\Support\Facades\Log;
class PreviewLaporanService
{
@@ -90,14 +91,18 @@ class PreviewLaporanService
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)->where('dokument_id', $dokumen_id)->first();
$lpj = Penilai::where('permohonan_id', $permohonan_id)->where('dokument_id', $dokumen_id)->first();
$mig_permohonan = json_decode($permohonan->mig_permohonan);
$nomorLaporan = getNomorLaporan($permohonan_id, $dokumen_id);
$tanggalLaporan = $lpj->created_at ?? null;
$tanggalLaporan = $permohonan->is_mig ? $mig_permohonan->mig_mst_jaminan_tgl_laporan : $lpj->created_at ?? null;
$forminspeksi = null;
$lpjData = null;
$formFoto = null;
// if ($inspeksi) {
$forminspeksi = json_decode($inspeksi?->data_form, true) ?? null;
$formFoto = json_decode($inspeksi?->foto_form, true) ?? null;
// $denahForm = json_decode($data->denah_form, true);
$dataPembanding = json_decode($inspeksi?->data_pembanding, true) ?? null;
@@ -147,13 +152,16 @@ class PreviewLaporanService
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)->where('dokument_id', $document_id)->first();
$lpj = Penilai::where('permohonan_id', $permohonan_id)->where('dokument_id', $document_id)->first();
$mig_permohonan = json_decode($permohonan->mig_permohonan);
$nomorLaporan = getNomorLaporan($permohonan_id, $document_id);
$tanggalLaporan = $lpj->created_at ?? null;
$tanggalLaporan = $permohonan->is_mig ? $mig_permohonan->mig_mst_jaminan_tgl_laporan : $lpj->created_at ?? null;
$forminspeksi = null;
$lpjData = null;
$formFoto = null;
$dataPembanding ='';
if ($inspeksi) {
$forminspeksi = json_decode($inspeksi->data_form, true);
$formFoto = json_decode($inspeksi->foto_form, true);
@@ -161,6 +169,7 @@ class PreviewLaporanService
$dataPembanding = json_decode($inspeksi->data_pembanding, true);
}
if ($lpj) {
$lpjData = json_decode($lpj->lpj, true);
$memo = json_decode($lpj->memo, true);
@@ -239,7 +248,6 @@ class PreviewLaporanService
public function checkPrintOutLaporan($permohonan_id, $dokumen_id)
{
// Ambil data berdasarkan ID
$statusLpj = Penilai::where('permohonan_id', $permohonan_id)
->where('dokument_id', $dokumen_id)