diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index 2efd256..653f105 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -280,7 +280,7 @@ class PenilaiController extends Controller // Menyimpan atau memperbarui data Penilai $penilai = Penilai::updateOrCreate( [ - 'permohonan_id' => $request->permohonanId, + 'permohonan_id' => $request->permohonan_id, 'dokument_id' => $request->documentId, 'inspeksi_id' => $request->inspeksiId, ] @@ -436,11 +436,8 @@ class PenilaiController extends Controller if ($call && isset($call->call_report)) { $callReport = json_decode($call->call_report, true); } - $forminspeksi = null; - if ($forminspeksi) { - $forminspeksi = json_decode($inspeksi->data_form, true); - } + $forminspeksi = json_decode($inspeksi->data_form, true); // Default: gunakan data dari debitur $debitur = Debiture::find($permohonan->debiture_id); @@ -461,6 +458,7 @@ class PenilaiController extends Controller $villages = Village::where('district_code', $districtCode)->get(); if ($forminspeksi) { + if (isset($forminspeksi['alamat']['sesuai']['province_code'])) { $cities = City::where('province_code', $forminspeksi['alamat']['sesuai']['province_code'])->get(); } @@ -474,7 +472,6 @@ class PenilaiController extends Controller } } - return view('lpj::penilai.components.call-report', compact('permohonan', 'basicData', 'nomorLaporan', 'forminspeksi', 'cities', 'districts', 'villages', 'cekAlamat', 'callReport')); } @@ -752,7 +749,8 @@ class PenilaiController extends Controller !empty($item->memo) || !empty($item->resume) || !empty($item->lpj) || - !empty($item->rap) + !empty($item->rap) || + !empty($item->call_report) ) && !empty($item->kertas_kerja); }); @@ -1053,10 +1051,14 @@ class PenilaiController extends Controller 'permohonan_id' => 'required|exists:permohonan,id', 'dokument_id' => 'required', 'inspeksi_id' => 'required', - 'data' => 'required' + 'data' => 'required', + 'fakta_positif' => 'nullable|array', + 'fakta_negatif' => 'nullable|array', + 'type' => 'required', + 'action' => 'required', + 'keterangan' => 'nullable|array' ]); - $data = $request->input('data'); Penilai::updateOrCreate( [ @@ -1068,11 +1070,51 @@ class PenilaiController extends Controller 'call_report' => json_encode($validated['data']), ] ); + + $inspeksi = Inspeksi::where('permohonan_id', $validated['permohonan_id']) + ->where('dokument_id', $validated['dokument_id']) + ->first(); + if ($inspeksi) { + // Get existing data_form + $existingData = json_decode($inspeksi->data_form, true) ?: []; + + // Structure the fakta data correctly + $existingFaktaData = $existingData['fakta'] ?? []; + + // Gabungkan data baru dengan data yang sudah ada + $updatedFaktaData = array_merge($existingFaktaData, [ + 'fakta_positif' => $validated['fakta_positif'] ?? $existingFaktaData['fakta_positif'] ?? null, + 'fakta_negatif' => $validated['fakta_negatif'] ?? $existingFaktaData['fakta_negatif'] ?? null, + 'keterangan' => $validated['keterangan'] ?? $existingFaktaData['keterangan'] ?? null, + ]); + $existingData['fakta'] = $updatedFaktaData; + + $inspeksi->update([ + 'data_form' => json_encode($existingData), + ]); + } else { + // If inspeksi + $newData = [ + 'fakta' => [ + 'fakta_positif' => $validated['fakta_positif'] ?? null, + 'fakta_negatif' => $validated['fakta_negatif'] ?? null, + 'keterangan' => $validated['keterangan'] ?? null, + ], + ]; + + + + Inspeksi::create([ + 'permohonan_id' => $validated['permohonan_id'], + 'dokument_id' => $validated['dokument_id'], + 'data_form' => json_encode($newData), + 'name' => $validated['type'] + ]); + } // DB::commit(); return response()->json([ 'success' => true, 'message' => 'Berhasil menyimpan data', - 'data' => $data ], 200); } catch (\Throwable $e) { // DB::rollBack(); diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 94ee515..97a95aa 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -825,7 +825,8 @@ class PenilaianController extends Controller 'standard' => 'penilai.components.lpj-sederhana-standard', 'resume' => 'penilai.components.resume', 'memo' => 'penilai.components.memo', - 'rap' => 'penilai.components.rap-penilai' + 'rap' => 'penilai.components.rap-penilai', + 'call-report' => 'penilai.components.call-report', ]; return $viewMap[$tipe] ?? ''; } diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 1c7f4e2..3abea28 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -1675,6 +1675,10 @@ class SurveyorController extends Controller 'basicData', 'cekAlamat' )); + + // return response()->json([ + // 'daya'=> $permohonan + // ]); } /** @@ -2650,16 +2654,17 @@ class SurveyorController extends Controller foreach ($fotoTypes as $fotoType) { // Jika ada file baru diupload if ($request->hasFile($fotoType)) { - $factData[$fotoType] = $this->updateOrDeleteFile($dataForm, $request, $fotoType); + $factData[$fotoType] = $this->updateOrDeleteFile($dataForm, $request, $fotoType) ?: null; } else { $factData[$fotoType] = $dataForm[$fotoType] ?? null; } } } else { foreach ($fotoTypes as $fotoType) { - $factData[$fotoType] = $this->updateOrDeleteFile($data, $request, $fotoType); + $factData[$fotoType] = $this->updateOrDeleteFile($data, $request, $fotoType) ?: null; } } + return $factData; } diff --git a/resources/views/penilai/components/call-report.blade.php b/resources/views/penilai/components/call-report.blade.php index 6a1ac3b..579fcb0 100644 --- a/resources/views/penilai/components/call-report.blade.php +++ b/resources/views/penilai/components/call-report.blade.php @@ -39,20 +39,57 @@ @endphp
@csrf + + @foreach ($permohonan->documents as $dokumen) + @if ($dokumen->jenisJaminan) + @php + $formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true); + $jenisAset = $dokumen->jenisJaminan->name; + @endphp + @if (isset($formKategori) && $formKategori) + @php + $kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori]; + $kategoriUnik = array_unique($kategoriArray); + @endphp + + + @endif + @endif + @endforeach + - - + @include('lpj::assetsku.includenya') {{-- @include('lpj::surveyor.components.header') @include('lpj::surveyor.components.callReport') --}} - + @php + $paparan = $permohonan->status === 'proses-paparan' ? 'Paparan' : 'Pelaporan'; + @endphp

CALL Report

+ @php + use Illuminate\Support\Facades\Route; + @endphp +
+ + @if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']) && + Route::currentRouteName('otorisator.show')) + + Back + + @elseif (Auth::user()->hasAnyRole(['administrator', 'surveyor']) && Route::currentRouteName('penilai.show')) + + Back + + @endif + +
@@ -332,10 +369,10 @@
- @if (!empty($callReport['fakta']['fakta_positif'])) - @foreach ($callReport['fakta']['fakta_positif'] as $index => $positif) + @if (!empty($forminspeksi['fakta']['fakta_positif'])) + @foreach ($forminspeksi['fakta']['fakta_positif'] as $index => $positif)
- +
@@ -361,10 +397,10 @@
- @if (!empty($callReport['fakta']['fakta_negatif'])) - @foreach ($callReport['fakta']['fakta_negatif'] as $index => $negatif) + @if (!empty($forminspeksi['fakta']['fakta_negatif'])) + @foreach ($forminspeksi['fakta']['fakta_negatif'] as $index => $negatif)
- + @@ -387,6 +422,42 @@
+ + +
+ + +
+
+ @if (!empty($forminspeksi['fakta']['keterangan']) && is_array($forminspeksi['fakta']['keterangan'])) + @foreach ($forminspeksi['fakta']['keterangan'] as $index => $item) +
+ + +
+ @endforeach + @else +
+ + + +
+ @endif +
+ +
+
+
@@ -402,9 +473,13 @@ href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1"> LAMPIRAN FOTO DAN DOKUMEN + + Hasil Inspeksi + - Print + Print Laporan @endif
@@ -413,7 +488,7 @@ @endsection @push('scripts')