diff --git a/app/Services/PreviewLaporanService.php b/app/Services/PreviewLaporanService.php index 6d5eab4..6a2f525 100644 --- a/app/Services/PreviewLaporanService.php +++ b/app/Services/PreviewLaporanService.php @@ -2,74 +2,76 @@ namespace Modules\Lpj\Services; -use Modules\Lpj\Models\Debiture; -use Modules\Lpj\Models\LaporanExternal; -use Modules\Lpj\Models\Permohonan; -use Modules\Lpj\Models\Branch; -use Modules\Lpj\Models\Surveyor; -use Modules\Lpj\Models\BentukTanah; -use Modules\Lpj\Models\KonturTanah; -use Modules\Location\Models\Province; -use Modules\Location\Models\City; -use Modules\Location\Models\District; -use Modules\Location\Models\Village; -use Modules\Lpj\Models\PosisiKavling; -use Modules\Lpj\Models\KondisiFisikTanah; -use Modules\Lpj\Models\FotoObjekJaminan; -use Modules\Lpj\Models\Perizinan; -use Modules\Lpj\Models\KetinggianTanah; -use Modules\Lpj\Models\SifatBangunan; -use Modules\Lpj\Models\JenisJaminan; -use Modules\Lpj\Models\JenisBangunan; -use Modules\Lpj\Models\KondisiBangunan; -use Modules\Lpj\Models\SpekBangunan; -use Modules\Lpj\Models\SpekKategoritBangunan; -use Modules\Lpj\Models\SaranaPelengkap; -use Modules\Lpj\Models\ArahMataAngin; -use Modules\Lpj\Models\Analisa; -use Modules\Lpj\Models\Penilaian; -use Modules\Lpj\Models\PerkerasanJalan; -use Modules\Lpj\Models\AnalisaFakta; -use Modules\Lpj\Models\AnalisaLingkungan; -use Modules\Lpj\Models\AnalisaTanahBagunan; -use Modules\Lpj\Models\SpekBangunanAnalisa; + +use Carbon\Carbon; +use App\Helpers\Lpj; use Modules\Lpj\Models\Denah; -use Modules\Lpj\Models\FotoJaminan; -use Modules\Lpj\Models\Lingkungan; -use Modules\Lpj\Models\LantaiUnit; use Modules\Lpj\Models\Teams; +use Modules\Lpj\Models\Branch; use Modules\Lpj\Models\Lantai; +use Barryvdh\DomPDF\Facade\Pdf; +use Modules\Lpj\Models\Analisa; +use Modules\Lpj\Models\Penilai; +use Modules\Lpj\Models\Debiture; use Modules\Lpj\Models\Inspeksi; +use Modules\Lpj\Models\Surveyor; use Modules\Lpj\Models\ViewUnit; +use Modules\Location\Models\City; use Modules\Lpj\Models\JenisUnit; +use Modules\Lpj\Models\Penilaian; +use Modules\Lpj\Models\Perizinan; use Modules\Lpj\Models\BentukUnit; -use Modules\Lpj\Models\PosisiUnit; -use Modules\Lpj\Models\TerletakArea; -use Modules\Lpj\Models\FasilitasObjek; -use Modules\Lpj\Models\MerupakanDaerah; -use Modules\Lpj\Models\ObjekJaminan; -use Modules\Lpj\Models\ModelAlatBerat; -use Modules\Lpj\Models\JenisPesawat; -use Modules\Lpj\Models\DokumenJaminan; -use Modules\Lpj\Models\DetailDokumenJaminan; use Modules\Lpj\Models\JenisKapal; -use Modules\Lpj\Models\JenisKendaraan; +use Modules\Lpj\Models\LantaiUnit; +use Modules\Lpj\Models\Lingkungan; +use Modules\Lpj\Models\Permohonan; +use Modules\Lpj\Models\PosisiUnit; +use Illuminate\Support\Facades\Log; +use Modules\Lpj\Models\AnalisaUnit; +use Modules\Lpj\Models\BentukTanah; +use Modules\Lpj\Models\FotoJaminan; +use Modules\Lpj\Models\KonturTanah; use Modules\Lpj\Models\RuteJaminan; +use Modules\Location\Models\Village; +use Modules\Lpj\Models\AnalisaFakta; +use Modules\Lpj\Models\JenisJaminan; +use Modules\Lpj\Models\JenisPesawat; +use Modules\Lpj\Models\ObjekJaminan; +use Modules\Lpj\Models\SpekBangunan; +use Modules\Lpj\Models\TerletakArea; +use Modules\Location\Models\District; +use Modules\Location\Models\Province; +use Modules\Lpj\Models\ArahMataAngin; +use Modules\Lpj\Models\JenisBangunan; +use Modules\Lpj\Models\PosisiKavling; +use Modules\Lpj\Models\SifatBangunan; +use Modules\Lpj\Models\DokumenJaminan; +use Modules\Lpj\Models\FasilitasObjek; +use Modules\Lpj\Models\JenisKendaraan; +use Modules\Lpj\Models\ModelAlatBerat; +use Modules\Lpj\Models\KetinggianTanah; +use Modules\Lpj\Models\KondisiBangunan; +use Modules\Lpj\Models\LaporanExternal; +use Modules\Lpj\Models\MerupakanDaerah; +use Modules\Lpj\Models\PerkerasanJalan; +use Modules\Lpj\Models\SaranaPelengkap; +use Modules\Lpj\Models\TujuanPenilaian; +use Modules\Lpj\Models\FotoObjekJaminan; +use Modules\Lpj\Models\LaluLintasLokasi; +use Modules\Lpj\Models\TingkatKeramaian; +use Modules\Lpj\Models\AnalisaLingkungan; +use Modules\Lpj\Models\KondisiFisikTanah; +use Modules\Lpj\Models\AnalisaTanahBagunan; +use Modules\Lpj\Models\GolonganMasySekitar; +use Modules\Lpj\Models\SpekBangunanAnalisa; +use Modules\Lpj\Models\DetailDokumenJaminan; +use Modules\Lpj\Models\SpekKategoritBangunan; +use Modules\Lpj\Http\Requests\SurveyorRequest; use Modules\Lpj\Models\HubunganPemilikJaminan; use Modules\Lpj\Models\HubunganPenghuniJaminan; -use Modules\Lpj\Models\AnalisaUnit; -use Modules\Lpj\Models\GolonganMasySekitar; -use Modules\Lpj\Models\TingkatKeramaian; -use Modules\Lpj\Models\TujuanPenilaian; -use Modules\Lpj\Models\LaluLintasLokasi; use Modules\Lpj\Models\SpekBagunanAnalisaDetail; -use Modules\Lpj\Http\Requests\SurveyorRequest; -use Modules\Lpj\Http\Requests\FormSurveyorRequest; use Modules\Lpj\Jobs\SendJadwalKunjunganEmailJob; -use App\Helpers\Lpj; -use Modules\Lpj\Models\Penilai; -use Barryvdh\DomPDF\Facade\Pdf; -use Illuminate\Support\Facades\Log; +use Modules\Lpj\Http\Requests\FormSurveyorRequest; class PreviewLaporanService { @@ -94,8 +96,9 @@ class PreviewLaporanService $mig_permohonan = json_decode($permohonan->mig_permohonan); $nomorLaporan = getNomorLaporan($permohonan_id, $dokumen_id); - $tanggalLaporan = $permohonan->is_mig ? $mig_permohonan->mig_mst_jaminan_tgl_laporan : $lpj->created_at ?? null; - + $tanggalLaporan = $permohonan->is_mig + ? ($mig_permohonan->mig_mst_jaminan_tgl_laporan ?? $mig_permohonan->mig_mst_jaminan_tgl_create ?? null) + : ($lpj->created_at ?? null); $forminspeksi = null; $lpjData = null; $formFoto = null; @@ -134,12 +137,11 @@ class PreviewLaporanService public function printOutLaporan($permohonan_id, $document_id, $jaminan_id) { - $tipeLaporanResponse = $this->checkPrintOutLaporan($permohonan_id, $document_id); $tipeLaporan = $tipeLaporanResponse->getData(); if (!$tipeLaporan->status) { - return redirect()->back()->with('error', 'Laporan tidak valid'); + //return redirect()->back()->with('error', 'Laporan tidak valid'); } $permohonan = $this->getPermohonanJaminanId( $permohonan_id, @@ -150,7 +152,7 @@ class PreviewLaporanService $basicData = $this->getCommonData(); $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(); + $lpj = Penilai::where('permohonan_id', $permohonan_id)->first(); //->where('dokument_id', $document_id)->first(); $mig_permohonan = json_decode($permohonan->mig_permohonan); $nomorLaporan = getNomorLaporan($permohonan_id, $document_id); @@ -199,7 +201,21 @@ class PreviewLaporanService ]; $viewLaporan = $this->getViewLaporan($tipeLaporan->status); + $statusLpj = 1; + + if($tipeLaporan->status === 'memo' && $permohonan->mig_permohonan){ + $path = $formFoto['upload_foto'][0]['path'] ?? null; + if (!$path) { + return response()->json(['error' => 'File path not found'], 404); + } + $fullPath = storage_path('app/public/' . $path); + if (!file_exists($fullPath)) { + return response()->json(['error' => 'File not found on disk'], 404); + } + //surveyor/2025/SEPTEMBER/02092025/252485/252485_148913105540_1.pdf + return response()->download($fullPath); + } try { $pdf = $this->generatePDF($viewLaporan, compact( 'permohonan', @@ -259,9 +275,11 @@ class PreviewLaporanService // Ambil data berdasarkan ID $statusLpj = Penilai::where('permohonan_id', $permohonan_id) - ->where('dokument_id', $dokumen_id) + //->where('dokument_id', $dokumen_id) ->first(); + $permohonan = Permohonan::where('id', $permohonan_id)->first(); + // Jika data tidak ditemukan, kembalikan status null if (!$statusLpj) { return response()->json(['status' => null]); @@ -270,7 +288,7 @@ class PreviewLaporanService // Tentukan tipe berdasarkan kondisi $type = $statusLpj->type_penilai ?? null; - if ($type === 'memo') { + if ($type === 'memo' && $permohonan->is_mig!=1) { return $this->checkDataMemo($type, $statusLpj); } diff --git a/resources/views/penilai/components/print-out-standar.blade.php b/resources/views/penilai/components/print-out-standar.blade.php index 0a1e8e4..65ca741 100644 --- a/resources/views/penilai/components/print-out-standar.blade.php +++ b/resources/views/penilai/components/print-out-standar.blade.php @@ -148,9 +148,9 @@ @foreach ($dokumen->detail as $detail) @if (!empty($detail->name) && isset($detail->details) && !empty($detail->dokumen_jaminan)) -