diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php
index 31e3e47..b45d7b6 100644
--- a/app/Http/Controllers/PenilaianController.php
+++ b/app/Http/Controllers/PenilaianController.php
@@ -96,6 +96,7 @@ class PenilaianController extends Controller
}
} else {
+ $teams_ids[] = $validatedData['teams_id'];
$user_ids[] = $validatedData['surveyor_id'];
}
@@ -136,13 +137,14 @@ class PenilaianController extends Controller
$user_ids[] = $validatedData['penilai_surveyor_id'];
}
} else {
+ $teams_ids[] = $validatedData['teams_id'];
$user_ids[] = $validatedData['penilai_id'];
}
$roles[] = 'penilai';
}
- // dd($teams_ids, $user_ids);
+ // dd($validatedData['penilai_region_id'],$validatedData['teams_id']);
foreach ($teams_ids as $key => $teams_id) {
PenilaianTeam::create([
'penilaian_id' => $validatedData['penilaian_id'],
@@ -153,13 +155,11 @@ class PenilaianController extends Controller
}
if ($validatedData['surveyor_id'] === 'pilih_dari_region' || $validatedData['penilai_id'] === 'pilih_dari_region' || $validatedData['penilai_surveyor_id'] === 'pilih_dari_region') {
- $status = $permohonan->status;
- }else {
+ $status = 'reassign';
+ } else {
$status = 'assign';
}
-
-
$permohonan->update([
'status' => $status,
]);
@@ -344,7 +344,7 @@ class PenilaianController extends Controller
});
}
- $query->whereIn('status', ['registered', 'registrasi-final']);
+ $query->whereIn('status', ['registered', 'registrasi-final', 'reassign']);
// Filter berdasarkan role
if (Auth::user()->roles[0]->name !== 'administrator') {
diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php
index decefc4..6654ed5 100644
--- a/app/Http/Controllers/SurveyorController.php
+++ b/app/Http/Controllers/SurveyorController.php
@@ -491,56 +491,78 @@ class SurveyorController extends Controller
{
if ($request->hasFile($paramName)) {
$files = $request->file($paramName);
-
+
// Pastikan $files adalah array
if (!is_array($files)) {
$files = [$files];
}
-
+
$formatFotoData = [];
$nomor_registrasi = $request->nomor_registrasi;
-
+
+ // Generate a unique timestamp for this batch
+ $batchTimestamp = time();
+
foreach ($files as $index => $file) {
- $timestamp = time();
$originalName = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
+
// Validasi nama file
if (empty($originalName)) {
- $originalName = "file_{$timestamp}";
+ $originalName = "file_{$batchTimestamp}";
}
- $uniqueFileName = "{$timestamp}.{$extension}";
-
+
+ // Use batchTimestamp and index to ensure uniqueness
+ $uniqueFileName = "{$batchTimestamp}_{$index}.{$extension}";
+
// Simpan file
- $nomor_registrasi = $request->nomor_registrasi;
$path = $file->storeAs("surveyor/{$paramName}/{$nomor_registrasi}", $uniqueFileName, 'public');
-
- $fotoData = [
- 'name' => pathinfo($originalName, PATHINFO_FILENAME),
- 'path' => $path,
- 'category' => 'lainnya',
- 'sub' => null,
- 'description' => null,
- 'created_by' => Auth::user()->name,
- 'created_at' => now()->toDateTimeString(),
- ];
-
- $formatFotoData[] = $fotoData;
+
+ // Check if this file already exists in formatFotojson
+ $fileExists = false;
+ if (isset($formatFotojson[$paramName]) && is_array($formatFotojson[$paramName])) {
+ foreach ($formatFotojson[$paramName] as $existingFile) {
+ // Check if the original file name matches
+ if (isset($existingFile['name']) &&
+ $existingFile['name'] === pathinfo($originalName, PATHINFO_FILENAME)) {
+ $fileExists = true;
+ break;
+ }
+ }
+ }
+
+ // Only add if this file doesn't already exist
+ if (!$fileExists) {
+ $fotoData = [
+ 'name' => pathinfo($originalName, PATHINFO_FILENAME),
+ 'path' => $path,
+ 'category' => 'lainnya',
+ 'sub' => null,
+ 'description' => null,
+ 'created_by' => Auth::user()->name,
+ 'created_at' => now()->toDateTimeString(),
+ ];
+
+ $formatFotoData[] = $fotoData;
+ }
}
-
- // Struktur JSON yang konsisten
- if (!isset($formatFotojson[$paramName])) {
- $formatFotojson[$paramName] = $formatFotoData;
- } else {
- $formatFotojson[$paramName] = array_merge(
- $formatFotojson[$paramName] ?? [],
- $formatFotoData
- );
+
+ // Only update if we have new photos to add
+ if (!empty($formatFotoData)) {
+ // Struktur JSON yang konsisten
+ if (!isset($formatFotojson[$paramName])) {
+ $formatFotojson[$paramName] = $formatFotoData;
+ } else {
+ $formatFotojson[$paramName] = array_merge(
+ $formatFotojson[$paramName] ?? [],
+ $formatFotoData
+ );
+ }
+
+ return $formatFotoData;
}
-
-
- return $formatFotoData;
}
-
+
return [];
}
@@ -699,80 +721,6 @@ class SurveyorController extends Controller
return false;
}
- public function hapusLantai(Request $request)
- {
- $permohonanId = $request->permohonan_id;
- $dokumentId = $request->dokument_id;
-
- // Normalisasi path foto
- $cleanRequestPath = str_replace(['storage/', 'surveyor/'], '', $request->foto_path);
-
- $inspeksi = Inspeksi::firstOrNew(
- ['permohonan_id' => $permohonanId, 'dokument_id' => $dokumentId]
- );
- $fotoLantaiUnit = json_decode($inspeksi->foto_form, true);
-
- // Konversi lantai ke string untuk konsistensi
- $lantai = (string)$request->lantai;
-
- // Cek apakah lantai ada di array
- $pat = null;
- if (isset($fotoLantaiUnit['foto_lantai_unit'][$lantai])) {
- // Filter foto, hapus foto yang sesuai
- $fotoLantaiUnit['foto_lantai_unit'][$lantai] = array_filter(
- $fotoLantaiUnit['foto_lantai_unit'][$lantai],
- function ($foto) use ($cleanRequestPath) {
- // Normalisasi path foto yang tersimpan
- $storedPath = str_replace(['storage/', 'surveyor/'], '', $foto['path']);
-
- // Jika path cocok, hapus file dari storage
- if ($storedPath === $cleanRequestPath) {
- // Hapus file dari storage dengan berbagai kemungkinan path
- $possiblePaths = [
- 'storage/surveyor/lantai_unit/' . $cleanRequestPath,
- 'storage/surveyor/' . $cleanRequestPath,
- 'storage/' . $cleanRequestPath,
- $cleanRequestPath
- ];
-
- foreach ($possiblePaths as $path) {
- if (Storage::disk('public')->exists($path)) {
- Storage::disk('public')->delete($path);
- break;
- }
- }
-
- return false; // Hapus dari array
- }
- return true;
- }
- );
-
- // Reset index array
- $fotoLantaiUnit['foto_lantai_unit'][$lantai] = array_values($fotoLantaiUnit['foto_lantai_unit'][$lantai]);
-
- // Hapus lantai jika tidak ada foto
- if (empty($fotoLantaiUnit['foto_lantai_unit'][$lantai])) {
- unset($fotoLantaiUnit['foto_lantai_unit'][$lantai]);
- }
-
- // Update inspeksi
- $inspeksi->foto_form = json_encode($fotoLantaiUnit);
- $inspeksi->save();
-
- return response()->json([
- 'success' => true,
- 'foto_lantai_unit' => $pat
- ]);
- }
-
- return response()->json([
- 'success' => false,
- 'message' => 'gagal menghapus'
- ], 404);
- }
-
-
private function generateUniqueFileName($file, $prefix = '')
{
@@ -797,7 +745,7 @@ class SurveyorController extends Controller
'permohonan_id' => 'required',
'dokument_id' => 'required',
'nomor_registrasi' => 'required',
- 'foto_rute.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
+ 'upload_foto.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg,webp,bmp,tiff,heic,heif|max:'. $maxSize,
]);
}
diff --git a/app/Http/Requests/FormSurveyorRequest.php b/app/Http/Requests/FormSurveyorRequest.php
index 8d6ff65..80d28e6 100644
--- a/app/Http/Requests/FormSurveyorRequest.php
+++ b/app/Http/Requests/FormSurveyorRequest.php
@@ -577,11 +577,11 @@ class FormSurveyorRequest extends FormRequest
'alamat_sesuai' => 'required',
'alamat_tidak_sesuai' => 'nullable|string',
'pihak_bank' => 'nullable|string',
-
- 'hub_cadeb' => 'required',
+ 'nomor_nib' => 'nullable|string',
+ 'hub_cadeb' => 'nullable|string',
'hub_cadeb_sesuai' => 'nullable|string',
'hub_cadeb_tidak_sesuai' => 'nullable|string',
- 'hub_cadeb_penghuni' => 'required',
+ 'hub_cadeb_penghuni' => 'nullable',
'hub_cadeb_penghuni_sesuai' => 'nullable|string',
'hub_penghuni_tidak_sesuai' => 'nullable|string',
diff --git a/resources/views/penilai/components/foto-lampiran.blade.php b/resources/views/penilai/components/foto-lampiran.blade.php
index f21b449..61ca306 100644
--- a/resources/views/penilai/components/foto-lampiran.blade.php
+++ b/resources/views/penilai/components/foto-lampiran.blade.php
@@ -13,70 +13,101 @@
@foreach ($groupedPhotos as $category => $photos)
{{ $category ?? 'Tanpa Kategori' }}
-
- @php
- $groupedBySubcategory = $photos->groupBy('sub');
- @endphp
+
+
+
@endforeach
@endif
@endisset
+
+
+
@php
$fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
if (($key = array_search('foto_tempat', $fotoTypes)) !== false) {
diff --git a/resources/views/penilai/components/print-resume.blade.php b/resources/views/penilai/components/print-resume.blade.php
index d5e197c..9c09642 100644
--- a/resources/views/penilai/components/print-resume.blade.php
+++ b/resources/views/penilai/components/print-resume.blade.php
@@ -231,7 +231,7 @@
Luas Tanah |
Luas Bangunan |
Nilai Pasar Wajar |
-
Nilai Likuidasi {{ isset($item['likuidasi']) ? '('. $item['likuidasi'] . ' %)' : '-' }} |
+
| {{ $item['sertifikat'] ?? '' }}
@@ -242,8 +242,7 @@
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }} |
{{ isset($item['nilai']) ? formatRupiah($item['nilai']) : '-' }} |
-
- {{ isset($item['total_likuidasi']) ? formatRupiah($item['total_likuidasi']) : '-' }} |
+
@endforeach
@@ -265,7 +264,7 @@
Luas Tanah |
Luas Bangunan |
Nilai Pasar Wajar |
-
Nilai Likuidasi {{ isset($item['likuidasi']) ? '('. $item['likuidasi'] . ' %)' : '-' }} |
+
@@ -277,8 +276,7 @@
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }}
|
{{ isset($item['nilai']) ? formatRupiah($item['nilai']) : '-' }} |
-
- {{ isset($item['total_likuidasi']) ? formatRupiah($item['total_likuidasi']) : '-' }} |
+
@endforeach
@@ -301,7 +299,7 @@
Luas Tanah |
Luas Bangunan |
Nilai Pasar Wajar |
-
Nilai Likuidasi {{ isset($item['likuidasi']) ? '('. $item['likuidasi'] . ' %)' : '' }} |
+
|
@@ -312,8 +310,7 @@
{{ isset($item['luas_bangunan']) ? $item['luas_bangunan'] . ' m²' : '-' }} |
{{ isset($item['nilai']) ? formatRupiah($item['nilai']) : '-' }} |
-
- {{ isset($item['total_likuidasi']) ? formatRupiah($item['total_likuidasi']) : '-' }} |
+
@endforeach
diff --git a/resources/views/penilai/components/resume.blade.php b/resources/views/penilai/components/resume.blade.php
index eeebc11..63c39b7 100644
--- a/resources/views/penilai/components/resume.blade.php
+++ b/resources/views/penilai/components/resume.blade.php
@@ -194,14 +194,13 @@
Luas Tanah |
Luas Bangunan |
Nilai Pasar Wajar |
-
Nilai Likuidasi(%) |
-
Total Nilai Likuidasi |
+
- @if (!empty($resumeData['fisik']))
- @foreach ($resumeData['fisik'] as $item)
+ @if (!empty($resumeData['sesuai_imb']))
+ @foreach ($resumeData['sesuai_imb'] as $item)
|
- |
-
-
- |
-
-
+ value="{{ $item['nilai'] }}" >
|
+
@endforeach
@else
@@ -277,16 +267,9 @@
- |
-
-
- |
-
-
+ >
|
+
@endif
@@ -306,8 +289,7 @@
Luas Tanah |
Luas Bangunan |
Nilai Pasar Wajar |
-
Nilai Likuidasi (%) |
-
Total Nilai Likuidasi |
+
@@ -330,18 +312,9 @@
- |
-
-
- |
-
-
+ value="{{ $item['nilai'] }}" >
|
+
@endforeach
@else
@@ -360,17 +333,9 @@
- |
-
-
- |
-
-
+ >
|
+
@endif
@@ -398,8 +363,7 @@
Luas Tanah |
Luas Bangunan |
Nilai Pasar Wajar |
-
Nilai Likuidasi (%) |
-
Total Nilai Likuidasi |
+
@@ -421,18 +385,9 @@
- |
-
-
- |
-
-
+ value="{{ $item['nilai'] }}" >
|
+
@@ -441,7 +396,7 @@
@endforeach
@endif
-
+