diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php index 9c214d5..2efd256 100644 --- a/app/Http/Controllers/PenilaiController.php +++ b/app/Http/Controllers/PenilaiController.php @@ -275,15 +275,26 @@ class PenilaiController extends Controller ] ); + if ($request->hasFile('file_paparan')) { + // Menyimpan atau memperbarui data Penilai + $penilai = Penilai::updateOrCreate( + [ + 'permohonan_id' => $request->permohonanId, + 'dokument_id' => $request->documentId, + 'inspeksi_id' => $request->inspeksiId, + ] + ); + + // Menyimpan fil $file = $request->file('file_paparan'); $path = $file->store('public/file_paparan'); - $penilai = Penilai::where('permohonan_id', $id)->first(); $penilai->file_paparan = $path; $penilai->save(); } + return redirect() ->route('penilai.show', ['id' => $id])->with('success', 'diperbarui ke status paparan dan dikirim ke So untuk proses lebih lanjut.'); @@ -497,7 +508,7 @@ class PenilaiController extends Controller }); } - $query->whereRaw('LOWER(status) IN (?, ?, ?, ?, ?, ?,?)', ['assign','survey-completed', 'proses-laporan', 'paparan', 'proses-paparan','paparan', 'revisi-laporan']); + $query->whereRaw('LOWER(status) IN (?, ?, ?, ?, ?, ?,?, ?)', ['assign','survey-completed', 'proses-laporan', 'paparan', 'proses-paparan','paparan', 'revisi-laporan','revisi-paparan']); if (!Auth::user()->hasRole('administrator')) { $query->whereHas('penilaian.userPenilai', function ($q) { diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index 9860b7e..94ee515 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -494,27 +494,22 @@ class PenilaianController extends Controller break; case 'pelaporan': - if (Auth::user()->roles[0]->name === 'senior-officer') { - $permohonan->update([ - 'status' => 'proses-laporan', - 'approval_so' => Auth::user()->id, - 'approval_so_at' => now(), - 'keterangan' => $request->message, - ]); - } elseif (Auth::user()->roles[0]->name === 'EO Appraisal') { - $permohonan->update([ - 'status' => 'proses-laporan', - 'approval_eo' => Auth::user()->id, - 'approval_eo_at' => now(), - 'keterangan' => $request->message, - ]); - } elseif (Auth::user()->roles[0]->name === 'DD Appraisal') { - $permohonan->update([ - 'status' => 'done', - 'approval_dd' => Auth::user()->id, - 'approval_dd_at' => now(), - 'keterangan' => $request->message, - ]); + $role = Auth::user()->roles[0]->name; + $status = 'done'; + $approvalField = null; + if ($role === 'senior-officer') { + $approvalField = 'approval_so'; + $status = in_array($permohonan->nilai_plafond_id, [3]) ? 'done' : 'proses-laporan'; + } elseif ($role === 'EO Appraisal') { + $approvalField = 'approval_eo'; + $status = in_array($permohonan->nilai_plafond_id, [2, 1]) ? 'done' : 'proses-laporan'; + } elseif ($role === 'DD Appraisal') { + $approvalField = 'approval_dd'; + $status = 'done'; + } + + if ($approvalField) { + $this->updatePermohonan($permohonan, $status, $approvalField, $request->message); } break; @@ -613,6 +608,15 @@ class PenilaianController extends Controller ]); } + public function updatePermohonan($permohonan, $status, $approvalField, $message) + { + $permohonan->update([ + 'status' => $status, + $approvalField => Auth::user()->id, + "{$approvalField}_at" => now(), + 'keterangan' => $message, + ]); + } public function dataForAuthorization(Request $request, $otorisator) { @@ -883,15 +887,48 @@ class PenilaianController extends Controller public function revisiLaporan(Request $request, $id) { $permohonan = Permohonan::findOrFail($id); + $userRole = Auth::user()->roles[0]->name; + + if ($permohonan->status === 'proses-paparan' && in_array($userRole, ['EO Appraisal', 'DD Appraisal'])) { + Authorization::delete([ + 'permohonan_id' => $permohonan->id, + 'jenis' => 'paparan', + 'request' => 'paparan', + ]); + $status = 'revisi-paparan'; + } elseif ($permohonan->status === 'proses-laporan' && $userRole === 'EO Appraisal') { + $permohonan->update([ + 'approve_so' => null, + 'approve_so_at' => null, + ]); + $status = 'revisi-laporan'; + } elseif ($permohonan->status === 'proses-laporan' && $userRole === 'DD Appraisal') { + $permohonan->update([ + 'approve_so' => null, + 'approve_so_at' => null, + 'approve_eo' => null, + 'approve_eo_at' => null, + + ]); + $status = 'revisi-laporan'; + } else { + return response()->json([ + 'success' => false, + 'message' => 'Tidak ada tindakan yang dapat dilakukan untuk status saat ini.', + ], 400); + } + + // Perbarui status dan informasi lainnya $permohonan->update([ - 'status' => 'revisi-laporan', + 'status' => $status, 'keterangan' => $request->message, - 'submitted_at' => now() + 'submitted_at' => now(), ]); return response()->json([ 'success' => true, - 'message' => 'Berhasil Revisi Laporan penilai', + 'message' => 'Berhasil Revisi Laporan penilai.', ], 200); } + } diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index c8533a4..1c7f4e2 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -79,7 +79,7 @@ use Modules\Lpj\Models\LaluLintasLokasi; use Modules\Lpj\Models\SpekBagunanAnalisaDetail; use Modules\Lpj\Http\Requests\SurveyorRequest; use Modules\Lpj\Http\Requests\FormSurveyorRequest; -use Modules\Lpj\Emails\SendJadwalKunjunganEmail; +use Modules\Lpj\Jobs\SendJadwalKunjunganEmailJob; use App\Helpers\Lpj; use Modules\Lpj\Models\Authorization; use Modules\Lpj\Services\SurveyorValidateService; @@ -955,7 +955,7 @@ class SurveyorController extends Controller } - public function storeJadwal(Request $request) + public function storeJadwal(Request $request, $id) { try { $validate = $request->validate([ @@ -964,7 +964,15 @@ class SurveyorController extends Controller 'deskripsi_penilaian' => 'required' ]); - $penilaian = Penilaian::findOrFail($validate['id']); + $penilaian = Penilaian::findOrFail($id); + + if (Carbon::parse($validate['waktu_penilaian']) <= Carbon::parse($penilaian->tanggal_kunjungan)) { + return response()->json([ + 'success' => false, + 'message' => 'Waktu penilaian harus lebih besar dari tanggal assign.' + ], 422); + } + $emailData = [ 'email' => $penilaian->permohonan->user->email, @@ -973,28 +981,26 @@ class SurveyorController extends Controller ]; - Mail::to($emailData['email'])->send(new SendJadwalKunjunganEmail($emailData, $penilaian->permohonan->nomor_resitrasi, $penilaian->permohonan->debiture)); + SendJadwalKunjunganEmailJob::dispatch($emailData); + - if (Carbon::parse($validate['waktu_penilaian']) <= Carbon::parse($penilaian->tanggal_kunjungan)) { - return redirect() - ->route('surveyor.index') - ->with('error', 'Waktu penilaian harus lebih besar dari tanggal assign.'); - } $penilaian->update([ 'waktu_penilaian' => $validate['waktu_penilaian'], 'deskripsi_penilaian' => $validate['deskripsi_penilaian'], ]); - - return redirect() - ->route('surveyor.index') - ->with('success', 'Jadwal berhasil dibuat.'); + return response()->json([ + 'success' => true, + 'message' => 'Berhasil kirim jadwal kunjungan' + ], 200); } catch (\Exception $e) { - \Log::error('Error sending email: ' . $e->getMessage()); - return redirect() - ->route('surveyor.index') - ->with('error', 'Internal Server Error: ' . $e->getMessage()); + + return response()->json([ + 'success' => false, + 'message' => 'Terjadi kesalahan', + 'error' => $e->getMessage() + ], 500); } } @@ -2635,7 +2641,8 @@ class SurveyorController extends Controller 'foto_gistaru', 'foto_bhumi', 'foto_argis_region', - 'foto_tempat' + 'foto_tempat', + 'foto_sentuh_tanahku' ]; if ($inspeksi) { diff --git a/app/Jobs/SendJadwalKunjunganEmailJob.php b/app/Jobs/SendJadwalKunjunganEmailJob.php new file mode 100644 index 0000000..3677099 --- /dev/null +++ b/app/Jobs/SendJadwalKunjunganEmailJob.php @@ -0,0 +1,33 @@ +emailData = $emailData; + } + + /** + * Execute the job. + */ + public function handle(): void + { + Mail::to($this->emailData['email'])->send(new SendJadwalKunjunganEmail($this->emailData)); + } +} diff --git a/resources/views/activity/activitydetail.blade.php b/resources/views/activity/activitydetail.blade.php index e3b24ce..6afc8f0 100644 --- a/resources/views/activity/activitydetail.blade.php +++ b/resources/views/activity/activitydetail.blade.php @@ -56,6 +56,19 @@ @if ($permohonan->status === 'done') + + @foreach ($permohonan->documents as $dokumen) + @php + $inspeksiId = null; + + foreach ($dokumen->inspeksi as $item) { + $inspeksiId = $item->id; + } + + $jaminanId = $dokumen->id; + $currentInspeksi = $inspeksiData[$jaminanId] ?? null; + $tanahBangunanTypes = ['KAPAL', 'PESAWAT', 'ALAT BERAT']; + @endphp
@@ -66,17 +79,18 @@
+ @endforeach @endif
@@ -84,3 +98,4 @@
@endsection +@include('lpj::surveyor.js.utils') diff --git a/resources/views/penilai/components/foto-lampiran.blade.php b/resources/views/penilai/components/foto-lampiran.blade.php index 61ca306..607f004 100644 --- a/resources/views/penilai/components/foto-lampiran.blade.php +++ b/resources/views/penilai/components/foto-lampiran.blade.php @@ -109,7 +109,7 @@ @php - $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat']; + $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat', 'foto_sentuh_tanahku']; if (($key = array_search('foto_tempat', $fotoTypes)) !== false) { unset($fotoTypes[$key]); array_unshift($fotoTypes, 'foto_tempat'); diff --git a/resources/views/penilai/components/header.blade.php b/resources/views/penilai/components/header.blade.php index 62a8c0c..99f84ea 100644 --- a/resources/views/penilai/components/header.blade.php +++ b/resources/views/penilai/components/header.blade.php @@ -13,6 +13,7 @@ font-family: Arial, Helvetica, sans-serif; font-size: 12px; } + /** Define the header rules **/ @page { margin-top: 100px; @@ -88,7 +89,11 @@ border: 1px solid #000; } - + .no-break { + page-break-inside: avoid; + page-break-before: auto; + page-break-after: auto; + } @@ -97,16 +102,15 @@
- @include('lpj::component.logo-bag') + @include('lpj::component.logo-bag', ['width' => 150, 'height' => 40])

Tanggal: {{ date('Y-m-d') }}

-

Waktu: {{ date('H:i:s') }}

-

User: {{ Auth::user()->name }}

+

Waktu: {{ date('H:i:s') }}

+

User: {{ Auth::user()->name }}

- diff --git a/resources/views/penilai/components/informasi-pembanding.blade.php b/resources/views/penilai/components/informasi-pembanding.blade.php index 61a303e..2d8c34c 100644 --- a/resources/views/penilai/components/informasi-pembanding.blade.php +++ b/resources/views/penilai/components/informasi-pembanding.blade.php @@ -33,6 +33,12 @@ {{ $item['address'] ?? '' }} +
+ +
+ {{ $item['hak_properti'] ?? '' }} +
+
diff --git a/resources/views/penilai/components/memo.blade.php b/resources/views/penilai/components/memo.blade.php index 1b48d74..62161ae 100644 --- a/resources/views/penilai/components/memo.blade.php +++ b/resources/views/penilai/components/memo.blade.php @@ -295,13 +295,13 @@ @if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator'])) - SAVE + Simpan @endif - @if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal'])) + @if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal'])) - LAMPIRAN FOTO DAN DOKUMEN + Lampiran Foto dan Dokument @@ -309,7 +309,7 @@ - Print + Cetak Laporan @endif
diff --git a/resources/views/penilai/components/print-out-rap.blade.php b/resources/views/penilai/components/print-out-rap.blade.php index a69fbd9..dd14775 100644 --- a/resources/views/penilai/components/print-out-rap.blade.php +++ b/resources/views/penilai/components/print-out-rap.blade.php @@ -1,31 +1,31 @@ @include('lpj::penilai.components.header') @php -$data = ''; -foreach ($permohonan->documents as $dokumen) { - $data .= $dokumen->jenisJaminan->name . ', '; + $data = ''; + foreach ($permohonan->documents as $dokumen) { + $data .= $dokumen->jenisJaminan->name . ', '; - $penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first(); - $surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first(); - $teams = $permohonan->region->teams; + $penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first(); + $surveyor = $permohonan->penilaian->userPenilai->where('role', 'surveyor')->first(); + $teams = $permohonan->region->teams; - if ($teams) { - foreach ($teams as $team) { - $team_users = $team->teamsUsers; - // print_r($team_users); - if ($team_users) { - foreach ($team_users as $team_user) { - $user = $team_user->user; + if ($teams) { + foreach ($teams as $team) { + $team_users = $team->teamsUsers; + // print_r($team_users); + if ($team_users) { + foreach ($team_users as $team_user) { + $user = $team_user->user; - if ($user && $user->hasRole('senior-officer')) { - $senior_officer = $user; - break 3; + if ($user && $user->hasRole('senior-officer')) { + $senior_officer = $user; + break 3; + } } } } } } -} -$data = rtrim($data, ', '); + $data = rtrim($data, ', '); @endphp
@@ -86,21 +86,21 @@ $data = rtrim($data, ', ');

NAMA DEVELOPER

- - - - - -
Nama:{{ $permohonan->debiture->name ?? '' }}
+ + Nama + : + {{ $permohonan->debiture->name ?? '' }} + +

NAMA PROYEK

- - - - - -
Proyek:{{ $data ?? '' }}
+ + Proyek + : + {{ $data ?? '' }} + +

ALAMAT

@@ -134,63 +134,65 @@ $data = rtrim($data, ', '); @if (@isset($dokumen)) @foreach ($dokumen->detail as $detail) - - @if (isset($detail->dokumen_jaminan)) + @if (isset($detail->dokumen_jaminan)) + - - + - @endif - + + @endif - - @if (isset($detail->details)) - @if (json_decode($detail->details)) - @foreach (json_decode($detail->details) as $key => $value) - @if (!is_null($value) && $value !== '') - - - + + + - @endif - @endforeach - @endif + + @endif + @endforeach @endif - + @endif @endforeach @endif + @if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0) @foreach ($forminspeksi['perizinan'] as $perizinan) diff --git a/resources/views/penilai/components/print-out-sederhana.blade.php b/resources/views/penilai/components/print-out-sederhana.blade.php index d5710cc..a5e3877 100644 --- a/resources/views/penilai/components/print-out-sederhana.blade.php +++ b/resources/views/penilai/components/print-out-sederhana.blade.php @@ -166,61 +166,56 @@ @if (@isset($dokumen)) @foreach ($dokumen->detail as $detail) - - @if (isset($detail->dokumen_jaminan)) - - - - @endif - - - - @if (isset($detail->details)) - @if (json_decode($detail->details)) - @foreach (json_decode($detail->details) as $key => $value) - @if (!is_null($value) && $value !== '') - - - - @endif + @if (isset($detail->dokumen_jaminan)) + + + + + + @endif + + @if (isset($detail->details) && json_decode($detail->details)) + @foreach (json_decode($detail->details) as $key => $value) + @if (!is_null($value) && $value !== '') + + + + + @endif - @endif - + @endforeach + @endif @endforeach @endif + @if (isset($forminspeksi['asset']['nomor_nib'])) - @@ -247,6 +242,7 @@ +
{{ $detail->name ?? '' }} : - @if (isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_string($detail->dokumen_jaminan) - ? json_decode($detail->dokumen_jaminan, true) - : []; - $dokumen_jaminan = is_array($dokumen_jaminan) - ? $dokumen_jaminan - : [$detail->dokumen_jaminan]; + : + @php + $dokumen_jaminan = is_string($detail->dokumen_jaminan) + ? json_decode($detail->dokumen_jaminan, true) + : []; + $dokumen_jaminan = is_array($dokumen_jaminan) + ? $dokumen_jaminan + : [$detail->dokumen_jaminan]; - $dokumen_nomor = is_string($detail->dokumen_nomor) - ? json_decode($detail->dokumen_nomor, true) - : []; - $dokumen_nomor = is_array($dokumen_nomor) - ? $dokumen_nomor - : [$detail->dokumen_nomor]; - @endphp + $dokumen_nomor = is_string($detail->dokumen_nomor) + ? json_decode($detail->dokumen_nomor, true) + : []; + $dokumen_nomor = is_array($dokumen_nomor) ? $dokumen_nomor : [$detail->dokumen_nomor]; + @endphp - @foreach ($dokumen_jaminan as $index => $dokumen) -
- @if (!empty($dokumen_nomor[$index])) - {{ $dokumen_nomor[$index] }} - @endif -
- @endforeach - @endif + @foreach ($dokumen_jaminan as $index => $dokumen) +
+ @if (!empty($dokumen_nomor[$index])) + {{ $dokumen_nomor[$index] }} + @endif +
+ @endforeach
- {{ ucwords(str_replace('_', ' ', $key)) ?? '' }}:{{ $value }} + @if (isset($detail->details)) + @php + $detailItems = json_decode($detail->details, true); + @endphp + @if (is_array($detailItems)) + @foreach ($detailItems as $key => $value) + @if (!is_null($value) && $value !== '') +
+ {{ ucwords(str_replace('_', ' ', $key)) ?? '' }} + : + {{ $value }} @if ($key == 'luas_bangunan' || $key == 'luas_tanah') m2 @endif
- {{ $detail->name ?? '' }} - : - @if (isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) - ? json_decode($detail->dokumen_jaminan) - : [$detail->dokumen_jaminan]; - $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) - ? json_decode($detail->dokumen_nomor) - : ($detail->dokumen_nomor - ? [$detail->dokumen_nomor] - : []); - @endphp - - @foreach ($dokumen_jaminan as $index => $dokumen) -
- @if (!empty($dokumen_nomor[$index])) - {{ $dokumen_nomor[$index] }} - @endif -
- @endforeach - @endif -
- {{ ucwords(str_replace('_', ' ', $key)) ?? '' }}:{{ $value }} - @if ($key == 'luas_bangunan' || $key == 'luas_tanah') - m2 - @endif -
{{ $detail->name ?? '' }}: + @php + $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) + ? json_decode($detail->dokumen_jaminan) + : [$detail->dokumen_jaminan]; + $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) + ? json_decode($detail->dokumen_nomor) + : ($detail->dokumen_nomor + ? [$detail->dokumen_nomor] + : []); + @endphp + @foreach ($dokumen_jaminan as $index => $dokumen) +
+ @if (!empty($dokumen_nomor[$index])) + {{ $dokumen_nomor[$index] }} + @endif +
@endforeach +
+ {{ ucwords(str_replace('_', ' ', $key)) ?? '' }} + : + {{ $value }} + @if ($key == 'luas_bangunan' || $key == 'luas_tanah') + m2 + @endif +
Nomor NIB : {{ $forminspeksi['asset']['nomor_nib'] ?? '' }}
@@ -338,8 +334,8 @@ {{ !empty($bentukTanah) ? implode(', ', $bentukTanah) : '' }} @if (in_array('lainnya', array_map('strtolower', $bentukTanah)) && !empty($lainnya)) - ({{ $lainnya }}) - @endif + ({{ $lainnya }}) + @endif @@ -741,24 +737,23 @@
- - - - - -
- D. INFORMASI HARGA -
- - @include('lpj::penilai.components.print-pembanding') - +
+ + + + +
+ D. INFORMASI HARGA +
+ @include('lpj::penilai.components.print-pembanding') +
+
E. INFORMASI NILAI
-
@@ -845,7 +840,8 @@
- +
+
@@ -1066,7 +1062,7 @@
- +
@@ -1094,7 +1090,7 @@
@php - $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat']; + $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat', 'foto_sentuh_tanahku']; // Memindahkan foto_tempat ke depan jika ada if (($key = array_search('foto_tempat', $fotoTypes)) !== false) { unset($fotoTypes[$key]); diff --git a/resources/views/penilai/components/print-out-standard.blade.php b/resources/views/penilai/components/print-out-standard.blade.php index 538493f..30a2f34 100644 --- a/resources/views/penilai/components/print-out-standard.blade.php +++ b/resources/views/penilai/components/print-out-standard.blade.php @@ -87,297 +87,312 @@
+
+ + + + +
+ IDENTITAS CADEB/DEBITUR +
- - - - -
- IDENTITAS CADEB/DEBITUR -
+ + + + + + + + + + + + + + + + +
Nama Debitur:{{ $permohonan->debiture->name ?? '' }}
Debitur / Wakil Debitur:{{ $permohonan->debiture->name ?? '' }} +
Pihak Bank selain Appraisal:{{ $forminspeksi['asset']['pihak_bank'] ?? '' }} +
+
- - - - - - - - - - - - - - - - -
Nama Debitur:{{ $permohonan->debiture->name ?? '' }}
Debitur / Wakil Debitur:{{ $permohonan->debiture->name ?? '' }} -
Pihak Bank selain Appraisal:{{ $forminspeksi['asset']['pihak_bank'] ?? '' }} -
- - - - -
- DESKRIPSI DAN ALAMAT ASET -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Terletak di: {{ $alamat['address'] ?? '' }}
Desa/Kelurahan:{{ $alamat['village_code'] ?? '' }}
Kecamatan:{{ $alamat['district_code'] ?? '' }}
Kabupaten/Kota: {{ $alamat['city_code'] ?? '' }}
Provinsi:{{ $alamat['province_code'] ?? '' }}
- - - - -
- DOKUMEN -
- - @if (@isset($dokumen)) - @foreach ($dokumen->detail as $detail) - - @if (isset($detail->dokumen_jaminan)) - - - @endforeach @endif - @endif - @endforeach +
- {{ $detail->name ?? '' }} - : - @if (isset($detail->dokumen_jaminan)) - @php - $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) - ? json_decode($detail->dokumen_jaminan) - : [$detail->dokumen_jaminan]; - $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) - ? json_decode($detail->dokumen_nomor) - : ($detail->dokumen_nomor - ? [$detail->dokumen_nomor] - : []); - @endphp +
+ + + + +
+ DESKRIPSI DAN ALAMAT ASET +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Terletak di: {{ $alamat['address'] ?? '' }}
Desa/Kelurahan:{{ $alamat['village_code'] ?? '' }}
Kecamatan:{{ $alamat['district_code'] ?? '' }}
Kabupaten/Kota: {{ $alamat['city_code'] ?? '' }}
Provinsi:{{ $alamat['province_code'] ?? '' }}
+
- @foreach ($dokumen_jaminan as $index => $dokumen) -
- @if (!empty($dokumen_nomor[$index])) - {{ $dokumen_nomor[$index] }} - @endif -
+
+ + + + +
+ DOKUMEN +
+ + @if (@isset($dokumen)) + @foreach ($dokumen->detail as $detail) + + @if (isset($detail->dokumen_jaminan)) + + + + @endif + + + + @if (isset($detail->details)) + @if (json_decode($detail->details)) + @foreach (json_decode($detail->details) as $key => $value) + @if (!is_null($value) && $value !== '') + + + + @endif @endforeach @endif - - @endif - - - - @if (isset($detail->details)) - @if (json_decode($detail->details)) - @foreach (json_decode($detail->details) as $key => $value) - @if (!is_null($value) && $value !== '') - - - - @endif - @endforeach @endif - @endif - - @endforeach - @endif -
+ {{ $detail->name ?? '' }} + : + @if (isset($detail->dokumen_jaminan)) + @php + $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) + ? json_decode($detail->dokumen_jaminan) + : [$detail->dokumen_jaminan]; + $dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) + ? json_decode($detail->dokumen_nomor) + : ($detail->dokumen_nomor + ? [$detail->dokumen_nomor] + : []); + @endphp + + @foreach ($dokumen_jaminan as $index => $dokumen) +
+ @if (!empty($dokumen_nomor[$index])) + {{ $dokumen_nomor[$index] }} + @endif +
+ @endforeach + @endif +
+ {{ ucwords(str_replace('_', ' ', $key)) ?? '' }}:{{ $value }} + @if ($key == 'luas_bangunan' || $key == 'luas_tanah') + m2 + @endif +
- {{ ucwords(str_replace('_', ' ', $key)) ?? '' }}:{{ $value }} - @if ($key == 'luas_bangunan' || $key == 'luas_tanah') - m2 - @endif -
- - - - -
- HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI -
- - - @php - - $cekHub = - isset($forminspeksi['asset']['hub_cadeb']) && $forminspeksi['asset']['hub_cadeb'] === 'sesuai' - ? 'sesuai' - : 'tidak sesuai'; - - $hubCadeb = isset($forminspeksi['asset']['hub_cadeb'][$cekHub]) - ? $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] - : $forminspeksi['asset']['hub_cadeb']['sesuai']; - @endphp - - - - - - @php - - $cekHub = - isset($forminspeksi['asset']['hub_cadeb_penghuni']) && - $forminspeksi['asset']['hub_cadeb_penghuni'] === 'sesuai' - ? 'sesuai' - : 'tidak sesuai'; - - $hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub]) - ? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] - : $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']; - @endphp - - - - -
Hubungan Pemilik Jaminan dengan Debitur:{{ $hubCadeb ?? '' }}
Hubungan Penghuni Jaminan dengan Debitur:{{ $hubCadeb ?? '' }}
- - - @foreach ($permohonan->documents as $dokumen) - @if ($dokumen->jenisJaminan) - @php - $formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true); - @endphp - @if (isset($formKategori) && $formKategori) - @php - $kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori]; - $kategoriUnik = array_unique($kategoriArray); - @endphp - - @foreach ($kategoriUnik as $kategori) - @include('lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori), [ - 'dokumen' => $dokumen, - ]) +
+ - - - - -
- INFORMASI DATA PEMBANDING -
- @include('lpj::penilai.components.print-pembanding') - - - - -
- TOTAL NILAI PASAR WAJAR -
- - - - - @php - $labelNilai = [ - 'bangunan' => 'Luas Bangunan', - 'tanah' => 'Luas Tanah', - 'apartement-kantor' => 'Luas Apartemen/Kantor', - 'alat-berat' => 'Luas Alat Berat', - 'mesin' => 'Luas Mesin', - 'kendaraan' => 'Luas Kendaraan', - 'pesawat' => 'Luas Pesawat', - 'kapal' => 'Luas Kapal', - ]; +
+
1. Total Nilai Pasar Wajar -
+ + + +
+ HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI +
+ + + @php - // if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) { - // $labelNilai['bangunan'] = 'Luas Unit'; - // unset($labelNilai['tanah']); - // } + $cekHub = + isset($forminspeksi['asset']['hub_cadeb']) && $forminspeksi['asset']['hub_cadeb'] === 'sesuai' + ? 'sesuai' + : 'tidak sesuai'; - @endphp - @foreach ($labelNilai as $key => $label) - @if (isset($lpjData['luas_' . $key])) - - - - - + $hubCadeb = isset($forminspeksi['asset']['hub_cadeb'][$cekHub]) + ? $forminspeksi['asset']['hub_cadeb']['tidak sesuai'] + : $forminspeksi['asset']['hub_cadeb']['sesuai']; + @endphp + + + + + + @php + + $cekHub = + isset($forminspeksi['asset']['hub_cadeb_penghuni']) && + $forminspeksi['asset']['hub_cadeb_penghuni'] === 'sesuai' + ? 'sesuai' + : 'tidak sesuai'; + + $hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub]) + ? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] + : $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']; + @endphp + + + + +
- {{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m2 - - X Rp - {{ $lpjData['nilai_' . $key . '_1'] ?? '' }} - - = Rp - {{ $lpjData['nilai_' . $key . '_2'] ?? '' }} -
Hubungan Pemilik Jaminan dengan Debitur:{{ $hubCadeb ?? '' }}
Hubungan Penghuni Jaminan dengan Debitur:{{ $hubCadeb ?? '' }}
+ + +
+ @foreach ($permohonan->documents as $dokumen) + @if ($dokumen->jenisJaminan) + @php + $formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true); + @endphp + @if (isset($formKategori) && $formKategori) + @php + $kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori]; + $kategoriUnik = array_unique($kategoriArray); + @endphp + + @foreach ($kategoriUnik as $kategori) + @include('lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori), [ + 'dokumen' => $dokumen, + ]) + @endforeach + @endif @endif @endforeach +
+
+ + + + +
+ INFORMASI DATA PEMBANDING +
+ @include('lpj::penilai.components.print-pembanding') +
- @if (isset($lpjData['npw_tambahan'])) - @foreach ($lpjData['npw_tambahan'] as $npw) - - - {{ $npw['name'] }} {{ $npw['luas'] }} m2 - - - X Rp - {{ $npw['nilai_1'] }} - - - = Rp - {{ $npw['nilai_2'] }} - - +
+ + + + +
+ TOTAL NILAI PASAR WAJAR +
+ + + + + @php + $labelNilai = [ + 'bangunan' => 'Luas Bangunan', + 'tanah' => 'Luas Tanah', + 'apartement-kantor' => 'Luas Apartemen/Kantor', + 'alat-berat' => 'Luas Alat Berat', + 'mesin' => 'Luas Mesin', + 'kendaraan' => 'Luas Kendaraan', + 'pesawat' => 'Luas Pesawat', + 'kapal' => 'Luas Kapal', + ]; + + // if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) { + // $labelNilai['bangunan'] = 'Luas Unit'; + // unset($labelNilai['tanah']); + // } + + @endphp + @foreach ($labelNilai as $key => $label) + @if (isset($lpjData['luas_' . $key])) + + + + + + @endif @endforeach - @endif - - - - - - - - - - - - - - -
1. Total Nilai Pasar Wajar +
+ {{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m2 + + X Rp + {{ $lpjData['nilai_' . $key . '_1'] ?? '' }} + + = Rp + {{ $lpjData['nilai_' . $key . '_2'] ?? '' }} +
Total Nilai Pasar Wajar - = -
- Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }} -
-
- 2. Total Nilai Likuidasi -
- {{ $lpjData['likuidasi'] ?? '' }}% - - X Total Nilai Pasar Wajar - - = Rp - {{ $lpjData['likuidasi_nilai_2'] ?? '' }} -
+ @if (isset($lpjData['npw_tambahan'])) + @foreach ($lpjData['npw_tambahan'] as $npw) + + + {{ $npw['name'] }} {{ $npw['luas'] }} m2 + + + X Rp + {{ $npw['nilai_1'] }} + + + = Rp + {{ $npw['nilai_2'] }} + + + @endforeach + @endif + + Total Nilai Pasar Wajar + + + = +
+ Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }} +
+ + + + + + + 2. Total Nilai Likuidasi + + + + + {{ $lpjData['likuidasi'] ?? '' }}% + + + X Total Nilai Pasar Wajar + + + = Rp + {{ $lpjData['likuidasi_nilai_2'] ?? '' }} + + + +
@php $keterangan = $lpjData['keterangan_penilai'] ?? ''; if (is_array($keterangan)) { @@ -398,133 +413,103 @@ @endif - - - - -
Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern - maupun ekstern
+
+ + + + +
Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern + maupun ekstern
- - @php - use Modules\Usermanagement\Models\User; +
+ @php + use Modules\Usermanagement\Models\User; - $penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first(); - $imagePathPenilai = storage_path('app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign); + $penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first(); + $imagePathPenilai = storage_path( + 'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign, + ); - $soUser = User::where('id', $senior_officer->id)->first(); - $imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign); + $soUser = User::where('id', $senior_officer->id)->first(); + $imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign); - $imagePathEO = storage_path( - 'app/public/signatures/' . - User::role('EO Appraisal')->first()->id . - '/' . - User::role('EO Appraisal')->first()->sign, - ); + $imagePathEO = storage_path( + 'app/public/signatures/' . + User::role('EO Appraisal')->first()->id . + '/' . + User::role('EO Appraisal')->first()->sign, + ); - $imagePathDD = storage_path( - 'app/public/signatures/' . - User::role('DD Appraisal')->first()->id . - '/' . - User::role('DD Appraisal')->first()->sign, - ); - @endphp - - + + @if ($permohonan->approval_so != null) + @endif - - @if ($permohonan->approval_so != null) - - @endif - @if ($permohonan->approval_eo != null) - - @endif - @if ($permohonan->approval_dd != null) - - @endif - - - - @if ($permohonan->approval_so != null) - + @endif + @if ($permohonan->approval_dd != null) + + @endif + + + - @endif - - @if ($permohonan->approval_eo != null) - - @endif - @if ($permohonan->approval_dd != null) - - @endif - -
- @if (file_exists($imagePathPenilai)) - {{ $imagePathPenilai }} + $imagePathDD = storage_path( + 'app/public/signatures/' . + User::role('DD Appraisal')->first()->id . + '/' . + User::role('DD Appraisal')->first()->sign, + ); + @endphp +
+ @if (file_exists($imagePathPenilai)) + {{ $imagePathPenilai }} + @endif + + @if (file_exists($imagePathSo)) + {{ $imagePathSo }} + @endif + - @if (file_exists($imagePathSo)) - {{ $imagePathSo }} - @endif - - @if (file_exists($imagePathEO)) - {{ $imagePathEO }} - @endif - - @if (file_exists($imagePathDD)) - {{ $imagePathDD }} - @endif -
{{ $penilai->userPenilaiTeam->name ?? '' }}
- - {{ ucwords(strtolower('PENILAI')) }} - -
- {{ $senior_officer->name ?? '' }}
+ @if ($permohonan->approval_eo != null) +
+ @if (file_exists($imagePathEO)) + {{ $imagePathEO }} + @endif + + @if (file_exists($imagePathDD)) + {{ $imagePathDD }} + @endif +
{{ $penilai->userPenilaiTeam->name ?? '' }}
- {{ ucwords(strtolower('SENIOR OFFICER')) }} - - -
- {{ User::role('EO Appraisal')->first()->name ?? '' }}
- - {{ ucwords(strtolower('EXECUTIVE OFFICER')) }} + {{ ucwords(strtolower('PENILAI')) }}
- {{ User::role('DD Appraisal')->first()->name ?? '' }}
- - {{ ucwords(strtolower('DEPUTY DIRECTOR')) }} - -
+ @if ($permohonan->approval_so != null) + + {{ $senior_officer->name ?? '' }}
+ + {{ ucwords(strtolower('SENIOR OFFICER')) }} + - - - - -
- NILAI ASURANSI -
- - @if (!empty($lpjData['asuransi_luas_bangunan'])) - + + @endif - - + @if ($permohonan->approval_eo != null) + + @endif + @if ($permohonan->approval_dd != null) + + @endif - - - - - - - - - - - @else - - - - @endif -
Luas Bangunan - {{ $lpjData['asuransi_luas_bangunan'] ?? '' }} + {{ User::role('EO Appraisal')->first()->name ?? '' }}
+ + {{ ucwords(strtolower('EXECUTIVE OFFICER')) }} + +
+ {{ User::role('DD Appraisal')->first()->name ?? '' }}
+ + {{ ucwords(strtolower('DEPUTY DIRECTOR')) }} + +
HargaRp. - {{ $lpjData['asuransi_nilai_1'] ?? '' }}
Nilai Pasar Wajar (Rp)Rp. - {{ $lpjData['asuransi_nilai_2'] ?? '' }}
Tidak Ada
+ +

@@ -577,7 +562,7 @@
@php - $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat']; + $fotoTypes = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat','foto_sentuh_tanahku']; // Memindahkan foto_tempat ke depan jika ada if (($key = array_search('foto_tempat', $fotoTypes)) !== false) { unset($fotoTypes[$key]); @@ -585,7 +570,8 @@ } // Filter fotoTypes untuk memastikan hanya yang memiliki imagePath valid $validPhotoTypes = array_filter($fotoTypes, function ($type) use ($forminspeksi) { - return isset($forminspeksi[$type]) && file_exists(storage_path('app/public/' . $forminspeksi[$type])); + return isset($forminspeksi[$type]) && + file_exists(storage_path('app/public/' . $forminspeksi[$type])); }); @endphp @@ -596,7 +582,8 @@ $type = reset($validPhotoTypes); // Ambil elemen pertama $imagePath = $forminspeksi[$type] ?? null; @endphp - +

{{ Str::title(str_replace('_', ' ', $type)) }}

@@ -616,19 +603,20 @@ {{ Str::title(str_replace('_', ' ', $type)) }}

@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath))) - {{ $imagePath }} + {{ $imagePath }} @endif @endisset @if (($index + 1) % 2 == 0) - @endif - @endforeach - @if (count($fotoTypes) % 2 != 0) - - @endif + @endif + @endforeach + @if (count($fotoTypes) % 2 != 0) + + @endif @endif diff --git a/resources/views/penilai/components/print-pembanding.blade.php b/resources/views/penilai/components/print-pembanding.blade.php index fdeaf12..0613786 100644 --- a/resources/views/penilai/components/print-pembanding.blade.php +++ b/resources/views/penilai/components/print-pembanding.blade.php @@ -13,9 +13,10 @@ $fields = [ 'jenis_aset' => 'Jenis properti', + 'hak_properti' => 'Status Hak Tanah', 'address' => 'Alamat Lokasi', 'harga' => 'Harga Penawaran', - 'harga_diskon' => 'Informasi Harga Transaksi', + 'harga_diskon' => 'Indikasi Harga Transaksi', 'telepon' => 'Penjual (HP)', 'penawaran' => 'Ditawarkan Sejak', 'luas_tanah' => 'Luas Tanah', diff --git a/resources/views/penilai/lampiran.blade.php b/resources/views/penilai/lampiran.blade.php index c768dc7..cb51243 100644 --- a/resources/views/penilai/lampiran.blade.php +++ b/resources/views/penilai/lampiran.blade.php @@ -82,6 +82,7 @@
@endif + @if ($penilai && $penilai->kertas_kerja)
Kertas Kerja @@ -108,5 +109,6 @@ @endif
+ @endif @endsection diff --git a/resources/views/penilaian/otorisator/show.blade.php b/resources/views/penilaian/otorisator/show.blade.php index 70cea81..218e141 100644 --- a/resources/views/penilaian/otorisator/show.blade.php +++ b/resources/views/penilaian/otorisator/show.blade.php @@ -138,7 +138,8 @@ @if (Auth::user()->hasAnyRole(['administrator', 'EO Appraisal']) && $permohonan->approval_so && - $permohonan->approval_eo == null) + $permohonan->approval_eo == null && + in_array($permohonan->nilai_plafond_id, [1, 2])) - - - - - @endsection @push('scripts')