fix(penilai/surveyor): perbaikkan call report, button camera, dan inspeksi berdasarkan dokument
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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] ?? '';
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user