✨(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:
@@ -697,6 +697,7 @@ class PenilaiController extends Controller
|
|||||||
'lokasi_lengkap' => $data->lokasi_lengkap ?? '',
|
'lokasi_lengkap' => $data->lokasi_lengkap ?? '',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if(isset($dataPembanding)){
|
||||||
// Extract data pembanding
|
// Extract data pembanding
|
||||||
if (isset($dataPembanding['data_pembanding'])) {
|
if (isset($dataPembanding['data_pembanding'])) {
|
||||||
foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) {
|
foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) {
|
||||||
@@ -709,6 +710,7 @@ class PenilaiController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Now create the export
|
// Now create the export
|
||||||
// return response()->json([ 'data' => $fotoForm]);
|
// return response()->json([ 'data' => $fotoForm]);
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class Inspeksi extends Base
|
|||||||
/**
|
/**
|
||||||
* The attributes that are mass assignable.
|
* The attributes that are mass assignable.
|
||||||
*/
|
*/
|
||||||
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by','dokument_id','data_pembanding'];
|
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by','dokument_id','data_pembanding','mig_detail_data_jaminan'];
|
||||||
|
|
||||||
public function permohonan()
|
public function permohonan()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ use Modules\Lpj\Jobs\SendJadwalKunjunganEmailJob;
|
|||||||
use App\Helpers\Lpj;
|
use App\Helpers\Lpj;
|
||||||
use Modules\Lpj\Models\Penilai;
|
use Modules\Lpj\Models\Penilai;
|
||||||
use Barryvdh\DomPDF\Facade\Pdf;
|
use Barryvdh\DomPDF\Facade\Pdf;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class PreviewLaporanService
|
class PreviewLaporanService
|
||||||
{
|
{
|
||||||
@@ -90,14 +91,18 @@ class PreviewLaporanService
|
|||||||
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)->where('dokument_id', $dokumen_id)->first();
|
$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();
|
$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);
|
$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;
|
$forminspeksi = null;
|
||||||
$lpjData = null;
|
$lpjData = null;
|
||||||
$formFoto = null;
|
$formFoto = null;
|
||||||
|
|
||||||
// if ($inspeksi) {
|
// if ($inspeksi) {
|
||||||
$forminspeksi = json_decode($inspeksi?->data_form, true) ?? null;
|
$forminspeksi = json_decode($inspeksi?->data_form, true) ?? null;
|
||||||
|
|
||||||
$formFoto = json_decode($inspeksi?->foto_form, true) ?? null;
|
$formFoto = json_decode($inspeksi?->foto_form, true) ?? null;
|
||||||
// $denahForm = json_decode($data->denah_form, true);
|
// $denahForm = json_decode($data->denah_form, true);
|
||||||
$dataPembanding = json_decode($inspeksi?->data_pembanding, true) ?? null;
|
$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();
|
$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)->where('dokument_id', $document_id)->first();
|
||||||
|
|
||||||
|
$mig_permohonan = json_decode($permohonan->mig_permohonan);
|
||||||
|
|
||||||
$nomorLaporan = getNomorLaporan($permohonan_id, $document_id);
|
$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;
|
$forminspeksi = null;
|
||||||
$lpjData = null;
|
$lpjData = null;
|
||||||
$formFoto = null;
|
$formFoto = null;
|
||||||
|
|
||||||
|
$dataPembanding ='';
|
||||||
if ($inspeksi) {
|
if ($inspeksi) {
|
||||||
$forminspeksi = json_decode($inspeksi->data_form, true);
|
$forminspeksi = json_decode($inspeksi->data_form, true);
|
||||||
$formFoto = json_decode($inspeksi->foto_form, true);
|
$formFoto = json_decode($inspeksi->foto_form, true);
|
||||||
@@ -161,6 +169,7 @@ class PreviewLaporanService
|
|||||||
$dataPembanding = json_decode($inspeksi->data_pembanding, true);
|
$dataPembanding = json_decode($inspeksi->data_pembanding, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($lpj) {
|
if ($lpj) {
|
||||||
$lpjData = json_decode($lpj->lpj, true);
|
$lpjData = json_decode($lpj->lpj, true);
|
||||||
$memo = json_decode($lpj->memo, true);
|
$memo = json_decode($lpj->memo, true);
|
||||||
@@ -239,7 +248,6 @@ class PreviewLaporanService
|
|||||||
public function checkPrintOutLaporan($permohonan_id, $dokumen_id)
|
public function checkPrintOutLaporan($permohonan_id, $dokumen_id)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
// Ambil data berdasarkan ID
|
// Ambil data berdasarkan ID
|
||||||
$statusLpj = Penilai::where('permohonan_id', $permohonan_id)
|
$statusLpj = Penilai::where('permohonan_id', $permohonan_id)
|
||||||
->where('dokument_id', $dokumen_id)
|
->where('dokument_id', $dokumen_id)
|
||||||
|
|||||||
Reference in New Issue
Block a user