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