diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index a3588f2..4251a3e 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -1006,11 +1006,10 @@ class PenilaiController extends Controller ], ]; - - - Inspeksi::create([ + Inspeksi::updateOrCreate([ 'permohonan_id' => $validatedData['permohonan_id'], - 'dokument_id' => $validatedData['dokument_id'], + 'dokument_id' => $validatedData['dokument_id'] + ],[ 'data_form' => json_encode($newData), 'name' => $validatedData['type'] ]); @@ -1252,9 +1251,10 @@ class PenilaiController extends Controller - Inspeksi::create([ + Inspeksi::updateOrCreate([ 'permohonan_id' => $validated['permohonan_id'], - 'dokument_id' => $validated['dokument_id'], + 'dokument_id' => $validated['dokument_id'] + ],[ 'data_form' => json_encode($newData), 'name' => $validated['type'] ]); diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index 605f99d..9e76a1a 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -2880,9 +2880,10 @@ class SurveyorController extends Controller $inspeksi->data_form = json_encode($existingData); $inspeksi->save(); } else { - Inspeksi::create([ + Inspeksi::updateOrCreate([ 'permohonan_id' => $request->input('permohonan_id'), - 'dokument_id' => $request->input('document_id'), + 'dokument_id' => $request->input('document_id') + ],[ 'data_form' => json_encode($existingData), ]); } diff --git a/app/Services/SaveFormInspesksiService.php b/app/Services/SaveFormInspesksiService.php index 1abc932..90c76f0 100644 --- a/app/Services/SaveFormInspesksiService.php +++ b/app/Services/SaveFormInspesksiService.php @@ -4,6 +4,7 @@ namespace Modules\Lpj\Services; use Modules\Lpj\Models\Inspeksi; use Illuminate\Http\Request; +use \Illuminate\Support\Facades\Log; class SaveFormInspesksiService { @@ -20,6 +21,7 @@ class SaveFormInspesksiService $inspeksi->name = $request->input('type'); $processedData = $this->getActionSpecificRules($validatedData, $type, $request, $inspeksi); + Log::info($processedData); // Merge data lama dengan data baru $existingData = json_decode($inspeksi->data_form, true) ?: []; @@ -33,6 +35,7 @@ class SaveFormInspesksiService 'upload_gs' ]; + foreach ($fotoTypes as $fotoType) { if (isset($existingData[$fotoType])) { $processedData[$fotoType] = $existingData[$fotoType]; @@ -57,7 +60,7 @@ class SaveFormInspesksiService } catch (\Exception $e) { return [ 'success' => false, - 'message' => 'Gagal menyimpan data', + 'message' => 'Gagal menyimpan data : '.$e->getMessage(), 'error' => $e->getMessage() ]; } @@ -85,36 +88,31 @@ class SaveFormInspesksiService $hasAssetDescriptionRules = false; $hasFactaData = false; - - - $pisah = array_filter( - explode(',', $action), - function ($act) use ($allowedActions) { - return isset($allowedActions[trim($act)]); - } - ); - - // dd($pisah); + $actions = array_map('trim', explode(',', $action)); + $pisah = array_filter($actions, function($act) use ($allowedActions) { + return isset($allowedActions[$act]); + }); foreach ($pisah as $act) { $act = trim($act); // Bersihkan spasi - if (isset($allowedActions[$act])) { - $method = $allowedActions[$act]; + if($act){ + if (isset($allowedActions[$act])) { + $method = $allowedActions[$act]; - $actionRules = $this->$method($data, $request, $inspeksi); - $rules = array_merge($rules, $actionRules); + $actionRules = $this->$method($data, $request, $inspeksi); + $rules = array_merge($rules, $actionRules); + // Cek apakah act memerlukan asset description rules + if($act){ + if (in_array($act, ['apartemen-kantor', 'tanah', 'bangunan', 'rap'])) { + $hasAssetDescriptionRules = true; + } - // Cek apakah act memerlukan asset description rules - if (in_array($act, ['apartemen-kantor', 'tanah', 'bangunan', 'rap'])) { - $hasAssetDescriptionRules = true; - } - - // Cek apakah act memerlukan fakta data - if (in_array($act, ['rap'])) { - $hasFactaData = true; + if (in_array($act, ['rap'])) { + $hasFactaData = true; + } + } } } - } if ($hasAssetDescriptionRules) { @@ -450,8 +448,6 @@ class SaveFormInspesksiService $data['perizinan'] = $perizinanData; - - $partisiResult = []; if (isset($data['partisi'])) { foreach ($data['partisi'] as $name => $values) { diff --git a/resources/views/penilai/components/rap-penilai.blade.php b/resources/views/penilai/components/rap-penilai.blade.php index e77ee29..eefaf61 100644 --- a/resources/views/penilai/components/rap-penilai.blade.php +++ b/resources/views/penilai/components/rap-penilai.blade.php @@ -5,7 +5,7 @@ @endsection @section('content') -