Merge remote-tracking branch 'composer/feature/senior-officer' into staging
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
33
app/Jobs/SendJadwalKunjunganEmailJob.php
Normal file
33
app/Jobs/SendJadwalKunjunganEmailJob.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Jobs;
|
||||
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Modules\Lpj\Emails\SendJadwalKunjunganEmail;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
class SendJadwalKunjunganEmailJob implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
protected $emailData;
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*/
|
||||
public function __construct(array $emailData)
|
||||
{
|
||||
$this->emailData = $emailData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the job.
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
Mail::to($this->emailData['email'])->send(new SendJadwalKunjunganEmail($this->emailData));
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
<div class="card border border-agi-100 grow" id="activity_2024">
|
||||
|
||||
<div class="card-header bg-agi-50">
|
||||
@@ -66,17 +79,18 @@
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<a class="btn btn-info" {{-- href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1" --}}>
|
||||
<a class="btn btn-info" href="{{ route('penilai.lampiran') }}?permohonanId={{ $permohonan->id }}&documentId={{ $dokumen->id }}&inspeksiId={{ $inspeksiId }}&jaminanId={{ $dokumen->jenis_jaminan_id }}&statusLpj=1">
|
||||
LAMPIRAN FOTO DAN DOKUMEN
|
||||
</a>
|
||||
<a {{-- href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}" --}} class="btn btn-light">
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => $dokumen->id, 'jenis_jaminan_id' => $dokumen->jenis_jaminan_id ]) }}" class="btn btn-light">
|
||||
<i class="ki-filled ki-printer"></i> Hasil Inspeksi
|
||||
</a>
|
||||
<a class="btn btn-success" {{-- onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )" --}}>
|
||||
<a class="btn btn-success" onclick="checkLaporan('{{ $permohonan->id }}', '{{ $dokumen->id }}', '{{ $inspeksiId }}', {{ $dokumen->jenis_jaminan_id }}, 0 )">
|
||||
<i class="ki-filled ki-printer"></i> Print Laporan
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="card border border-agi-100 grow" id="activity_2024">
|
||||
@@ -84,3 +98,4 @@
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@include('lpj::surveyor.js.utils')
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
@@ -97,16 +102,15 @@
|
||||
<table style="width: 100%; border: none;">
|
||||
<tr>
|
||||
<td style="width: 20%; text-align: left;" class="header-left">
|
||||
@include('lpj::component.logo-bag')
|
||||
@include('lpj::component.logo-bag', ['width' => 150, 'height' => 40])
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
<div style="">
|
||||
<p style="margin: 0; padding:0; font-size:10px;">Tanggal: {{ date('Y-m-d') }}</p>
|
||||
<p style="margin: 0; padding:0; font-size:10px;">Waktu: {{ date('H:i:s') }}</p>
|
||||
<p style="margin: 0; padding:0; font-size:10px;">User: {{ Auth::user()->name }}</p>
|
||||
<p style="margin: 0; padding:0; font-size:10px;">Waktu: {{ date('H:i:s') }}</p>
|
||||
<p style="margin: 0; padding:0; font-size:10px;">User: {{ Auth::user()->name }}</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</header>
|
||||
|
||||
|
||||
@@ -33,6 +33,12 @@
|
||||
<span>{{ $item['address'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Status Hak Tanah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<span>{{ $item['hak_properti'] ?? '' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
|
||||
@@ -295,13 +295,13 @@
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'surveyor', 'administrator']))
|
||||
<a class="btn btn-primary" onclick="saveMemo()">
|
||||
<i class="ki-filled ki-save-2"></i>
|
||||
SAVE
|
||||
Simpan
|
||||
</a>
|
||||
@endif
|
||||
@if (Auth::user()->hasAnyRole(['senior-officer', 'EO Appraisal', 'DD Appraisal']))
|
||||
@if (Auth::user()->hasAnyRole(['administrator', 'senior-officer', 'EO Appraisal', 'DD Appraisal']))
|
||||
<a class="btn btn-info"
|
||||
href="{{ route('penilai.lampiran') }}?permohonanId={{ request('permohonanId') }}&documentId={{ request('documentId') }}&inspeksiId={{ request('inspeksiId') }}&jaminanId={{ request('jaminanId') }}&statusLpj=1">
|
||||
LAMPIRAN FOTO DAN DOKUMEN
|
||||
Lampiran Foto dan Dokument
|
||||
</a>
|
||||
<a href="{{ route('surveyor.print_out_inspeksi', ['permohonan_id' => $permohonan->id, 'dokument_id' => request('documentId'), 'jenis_jaminan_id' => request('jaminanId')]) }}"
|
||||
class="btn btn-light">
|
||||
@@ -309,7 +309,7 @@
|
||||
</a>
|
||||
<a class="btn btn-success"
|
||||
onclick="checkLaporan('{{ $permohonan->id }}', '{{ request('documentId') }}', '{{ request('inspeksiId') }}', {{ request('jaminanId') }}, )">
|
||||
<i class="ki-filled ki-printer"></i> Print
|
||||
<i class="ki-filled ki-printer"></i> Cetak Laporan
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -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
|
||||
<main class="content">
|
||||
<table>
|
||||
@@ -86,21 +86,21 @@ $data = rtrim($data, ', ');
|
||||
<div style="border-top: 1px solid black; width: 100%;"></div>
|
||||
<h2 style="text-transform: uppercase;">NAMA DEVELOPER</h2>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Nama</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Nama</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2 style="text-transform: uppercase;">NAMA PROYEK</h2>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Proyek</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">Proyek</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%;">{{ $data ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2 style="text-transform: uppercase;">ALAMAT</h2>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
@@ -134,63 +134,65 @@ $data = rtrim($data, ', ');
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
@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];
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
@foreach ($dokumen_jaminan as $index => $dokumen)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<td style="width: 20%; padding: 2px;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">{{ $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 !== '')
|
||||
<tr>
|
||||
<td style="width: 20%; padding: 2px;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
|
||||
</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
@if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0)
|
||||
@foreach ($forminspeksi['perizinan'] as $perizinan)
|
||||
<tr>
|
||||
|
||||
@@ -166,61 +166,56 @@
|
||||
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $detail->name ?? '' }}</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details) && json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
@if (isset($forminspeksi['asset']['nomor_nib']))
|
||||
<tr>
|
||||
<td style=" padding: 2px; vertical-align: top;">Nomor NIB</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
{{ $forminspeksi['asset']['nomor_nib'] ?? '' }}</td>
|
||||
@@ -247,6 +242,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
@@ -338,8 +334,8 @@
|
||||
{{ !empty($bentukTanah) ? implode(', ', $bentukTanah) : '' }}
|
||||
|
||||
@if (in_array('lainnya', array_map('strtolower', $bentukTanah)) && !empty($lainnya))
|
||||
({{ $lainnya }})
|
||||
@endif
|
||||
({{ $lainnya }})
|
||||
@endif
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@@ -741,24 +737,23 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style=" border: 1px solid #000;">
|
||||
D. INFORMASI HARGA
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style=" border: 1px solid #000;">
|
||||
D. INFORMASI HARGA
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
</div>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000; "> <strong>E. INFORMASI NILAI</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="padding: 8px; width: 100%;">
|
||||
@@ -845,7 +840,8 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="border: 1px solid #000;">
|
||||
@@ -1066,7 +1062,7 @@
|
||||
</table>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="page-break"></div>
|
||||
<table style="width: 100%; border-collapse: collapse; border: 1px solid #000;">
|
||||
<tr>
|
||||
@@ -1094,7 +1090,7 @@
|
||||
</div>
|
||||
<div class="photo-container">
|
||||
@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]);
|
||||
|
||||
@@ -87,297 +87,312 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
IDENTITAS CADEB/DEBITUR
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
IDENTITAS CADEB/DEBITUR
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 5%; padding: 2px; vertical-align: top;">Nama Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; ">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur / Wakil Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $permohonan->debiture->name ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank selain Appraisal</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 5%; padding: 2px; vertical-align: top;">Nama Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; ">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur / Wakil Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $permohonan->debiture->name ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank selain Appraisal</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
DESKRIPSI DAN ALAMAT ASET
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Desa/Kelurahan</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['village_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kecamatan</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['district_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kabupaten/Kota</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Provinsi</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
DOKUMEN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
@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
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
DESKRIPSI DAN ALAMAT ASET
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td width="25%">Terletak di</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Desa/Kelurahan</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['village_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kecamatan</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['district_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Kabupaten/Kota</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Provinsi</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@foreach ($dokumen_jaminan as $index => $dokumen)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
DOKUMEN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
<tr>
|
||||
@if (isset($detail->dokumen_jaminan))
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">
|
||||
{{ $detail->name ?? '' }}
|
||||
</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
@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)
|
||||
<div>
|
||||
@if (!empty($dokumen_nomor[$index]))
|
||||
<span>{{ $dokumen_nomor[$index] }}</span>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@if (isset($detail->details))
|
||||
@if (json_decode($detail->details))
|
||||
@foreach (json_decode($detail->details) as $key => $value)
|
||||
@if (!is_null($value) && $value !== '')
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">
|
||||
{{ ucwords(str_replace('_', ' ', $key)) ?? '' }}</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $value }}
|
||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||
<sup>m2</sup>
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
</table>
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
@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
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@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
|
||||
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
@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,
|
||||
])
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
INFORMASI DATA PEMBANDING
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
TOTAL NILAI PASAR WAJAR
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="3" style=" padding: 8px; text-align: left;">1. Total Nilai Pasar Wajar
|
||||
</td>
|
||||
</tr>
|
||||
@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',
|
||||
];
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
@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]))
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:45%; ">
|
||||
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; width:5%;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:60%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb'][$cekHub])
|
||||
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
|
||||
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
|
||||
@endphp
|
||||
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@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
|
||||
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="no-break">
|
||||
@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
|
||||
</div>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
INFORMASI DATA PEMBANDING
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
</div>
|
||||
|
||||
@if (isset($lpjData['npw_tambahan']))
|
||||
@foreach ($lpjData['npw_tambahan'] as $npw)
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $npw['nilai_1'] }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $npw['nilai_2'] }}
|
||||
</td>
|
||||
</tr>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
TOTAL NILAI PASAR WAJAR
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="3" style=" padding: 8px; text-align: left;">1. Total Nilai Pasar Wajar
|
||||
</td>
|
||||
</tr>
|
||||
@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]))
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:45%; ">
|
||||
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; width:5%;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:60%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
<tr>
|
||||
<td style="padding: 3px; font-weight: bold; width:10%;">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%"></td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width: 70%;">
|
||||
<span style="padding-left: 20px; padding-right: 20px;">=</span>
|
||||
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
|
||||
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Total Nilai Likuidasi -->
|
||||
<tr>
|
||||
<td colspan="3" style="padding: 8px; text-align: left">
|
||||
2. Total Nilai Likuidasi
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:10%">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}%
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width:10%">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@if (isset($lpjData['npw_tambahan']))
|
||||
@foreach ($lpjData['npw_tambahan'] as $npw)
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $npw['nilai_1'] }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $npw['nilai_2'] }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
<tr>
|
||||
<td style="padding: 3px; font-weight: bold; width:10%;">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%"></td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width: 70%;">
|
||||
<span style="padding-left: 20px; padding-right: 20px;">=</span>
|
||||
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
|
||||
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Total Nilai Likuidasi -->
|
||||
<tr>
|
||||
<td colspan="3" style="padding: 8px; text-align: left">
|
||||
2. Total Nilai Likuidasi
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:10%">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}%
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width:10%">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@php
|
||||
$keterangan = $lpjData['keterangan_penilai'] ?? '';
|
||||
if (is_array($keterangan)) {
|
||||
@@ -398,133 +413,103 @@
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
|
||||
maupun ekstern</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
|
||||
maupun ekstern</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
@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
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
$imagePathDD = storage_path(
|
||||
'app/public/signatures/' .
|
||||
User::role('DD Appraisal')->first()->id .
|
||||
'/' .
|
||||
User::role('DD Appraisal')->first()->sign,
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
</span>
|
||||
</td>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
</span>
|
||||
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
NILAI ASURANSI
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
@if (!empty($lpjData['asuransi_luas_bangunan']))
|
||||
<tr>
|
||||
</td>
|
||||
@endif
|
||||
|
||||
<td width="25%">Luas Bangunan</td>
|
||||
<td style="">
|
||||
{{ $lpjData['asuransi_luas_bangunan'] ?? '' }}</td>
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style="">Harga</td>
|
||||
<td style="">Rp.
|
||||
{{ $lpjData['asuransi_nilai_1'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="">Nilai Pasar Wajar (Rp)</td>
|
||||
|
||||
<td style="">Rp.
|
||||
{{ $lpjData['asuransi_nilai_2'] ?? '' }}</td>
|
||||
</tr>
|
||||
@else
|
||||
<tr>
|
||||
<td>Tidak Ada</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</table>
|
||||
</div>
|
||||
<hr />
|
||||
<table style="width: 100%; ">
|
||||
<div style="margin-top: 20px;">
|
||||
@@ -577,7 +562,7 @@
|
||||
</table>
|
||||
<div class="photo-container">
|
||||
@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
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" colspan="2" class="photo-item border">
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" colspan="2"
|
||||
class="photo-item border">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
@@ -616,19 +603,20 @@
|
||||
{{ Str::title(str_replace('_', ' ', $type)) }}
|
||||
</p>
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}" alt="{{ $imagePath }}"
|
||||
class="photo-image" style="width: 100%; max-width: 300px;">
|
||||
<img src="{{ storage_path('app/public/' . $imagePath) }}"
|
||||
alt="{{ $imagePath }}" class="photo-image"
|
||||
style="width: 100%; max-width: 300px;">
|
||||
@endif
|
||||
</td>
|
||||
@endisset
|
||||
@if (($index + 1) % 2 == 0)
|
||||
</tr>
|
||||
<tr>
|
||||
@endif
|
||||
@endforeach
|
||||
@if (count($fotoTypes) % 2 != 0)
|
||||
<td style="width: 50%;"></td>
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
@if (count($fotoTypes) % 2 != 0)
|
||||
<td style="width: 50%;"></td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($penilai && $penilai->kertas_kerja)
|
||||
<div class="card">
|
||||
<div class="card-header bg-agi-50 uppercase">
|
||||
Kertas Kerja
|
||||
@@ -108,5 +109,6 @@
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@@ -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]))
|
||||
<button onclick="otorisatorData({{ $permohonan->id }})" type="button" class="btn btn-primary">
|
||||
<i class="ki-filled ki-double-check"></i>
|
||||
Otorisator {{ $header ?? '' }}
|
||||
@@ -235,250 +236,113 @@
|
||||
});
|
||||
};
|
||||
|
||||
const showSwalConfirmation = (
|
||||
title, text, html, confirmText, denyText, cancelText, preConfirm, icon = 'question'
|
||||
) => {
|
||||
return Swal.fire({
|
||||
title: title,
|
||||
text: text,
|
||||
html: html,
|
||||
icon: icon,
|
||||
focusConfirm: false,
|
||||
preConfirm: preConfirm,
|
||||
showCancelButton: true,
|
||||
showDenyButton: !!denyText,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
denyButtonColor: '#f39c12',
|
||||
confirmButtonText: confirmText,
|
||||
denyButtonText: denyText,
|
||||
cancelButtonText: cancelText,
|
||||
});
|
||||
};
|
||||
|
||||
const showSwalConfirmation = (title, text, html, confirmText, denyText, cancelText, preConfirm) => {
|
||||
return Swal.fire({
|
||||
title: title,
|
||||
text: text,
|
||||
html: html,
|
||||
focusConfirm: false,
|
||||
preConfirm: preConfirm,
|
||||
showCancelButton: true,
|
||||
showDenyButton: !!denyText,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
denyButtonColor: '#f39c12',
|
||||
confirmButtonText: confirmText,
|
||||
denyButtonText: denyText,
|
||||
cancelButtonText: cancelText,
|
||||
const handleAjaxRequest = (url, data, successMessage, errorMessage) => {
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
});
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'POST',
|
||||
data: data,
|
||||
success: () => {
|
||||
Swal.fire('Berhasil!', successMessage, 'success').then(() => {
|
||||
const dataHeader = @json($header);
|
||||
const redirectUrl = `/otorisator/${dataHeader.toLowerCase()}`;
|
||||
window.location.href = redirectUrl;
|
||||
});
|
||||
};
|
||||
|
||||
const handleAjaxRequest = (url, data, successMessage, errorMessage) => {
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
});
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'POST',
|
||||
data: data,
|
||||
success: (response) => {
|
||||
Swal.fire('Berhasil!', successMessage, 'success').then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
console.log(response);
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error:', error);
|
||||
Swal.fire('Gagal!', errorMessage, 'error');
|
||||
}
|
||||
});
|
||||
};
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error:', error);
|
||||
Swal.fire('Gagal!', errorMessage, 'error');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function otorisatorData(dataId, role = '') {
|
||||
const dataHeader = @json($header);
|
||||
if (dataHeader == 'Paparan') {
|
||||
const isPaparanSO = dataHeader === 'Paparan' && role === 'SO';
|
||||
|
||||
const swalHtml = isPaparanSO ? `
|
||||
<div class="text-left space-y-4">
|
||||
<p class="text-gray-700 text-center">Untuk melakukan otorisasi ${dataHeader}!</p>
|
||||
<div>
|
||||
<label for="swal-keterangan" class="block text-sm font-medium text-gray-700 mb-1">Keterangan</label>
|
||||
<input id="swal-keterangan" class="input" placeholder="Masukkan Keterangan">
|
||||
</div>
|
||||
<div>
|
||||
<label for="swal-tanggal-paparan" class="block text-sm font-medium text-gray-700 mb-1">Tanggal Paparan</label>
|
||||
<input id="swal-tanggal-paparan" class="input" type="date" placeholder="Tanggal paparan">
|
||||
</div>
|
||||
</div>` : '';
|
||||
|
||||
showSwalConfirmation(
|
||||
'Apakah Anda yakin?',
|
||||
`Untuk melakukan otorisasi ${dataHeader}!`,
|
||||
swalHtml,
|
||||
'Ya, Lanjutkan!',
|
||||
'Tolak',
|
||||
'Batal',
|
||||
() => {
|
||||
if (isPaparanSO) {
|
||||
const message = document.getElementById('swal-keterangan')?.value;
|
||||
const tanggalPaparan = document.getElementById('swal-tanggal-paparan').value;
|
||||
|
||||
|
||||
// Main logic based on role
|
||||
if (role === 'SO') {
|
||||
showSwalConfirmation(
|
||||
'Apakah Anda yakin?',
|
||||
`Untuk melakukan otorisator ${dataHeader}!`,
|
||||
`
|
||||
<div class="text-left space-y-4">
|
||||
<p class="text-gray-700 text-center">Untuk melakukan otorisator ${dataHeader}!</p>
|
||||
<div>
|
||||
<label for="swal-keterangan" class="block text-sm font-medium text-gray-700 mb-1">Keterangan</label>
|
||||
<input id="swal-keterangan" class="input" placeholder="Masukkan Keterangan">
|
||||
</div>
|
||||
<div>
|
||||
<label for="swal-tanggal-paparan" class="block text-sm font-medium text-gray-700 mb-1">Tanggal Paparan</label>
|
||||
<input id="swal-tanggal-paparan" class="input" type="date" placeholder="Tanggal paparan">
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
'Ya, Lanjutkan!', 'Rejected', 'Batal',
|
||||
() => {
|
||||
const keterangan = document.getElementById('swal-keterangan').value;
|
||||
const tanggalPaparan = document.getElementById('swal-tanggal-paparan').value;
|
||||
if (!keterangan || !tanggalPaparan) {
|
||||
Swal.showValidationMessage('Keterangan atau Tanggal Paparan Harus diisi!');
|
||||
return false;
|
||||
}
|
||||
return {
|
||||
keterangan,
|
||||
tanggalPaparan
|
||||
};
|
||||
}
|
||||
).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
handleAjaxRequest(
|
||||
`/otorisator/otorisator/${dataId}/${dataHeader}`, {
|
||||
message: result.value.keterangan,
|
||||
tanggalPaparan: result.value.tanggalPaparan
|
||||
},
|
||||
'Data berhasil diotorisasi.',
|
||||
'Terjadi kesalahan saat melakukan otorisator.'
|
||||
);
|
||||
} else if (result.isDenied) {
|
||||
handleRejection(dataId);
|
||||
}
|
||||
});
|
||||
} else if (role === 'EO') {
|
||||
showSwalConfirmation(
|
||||
'Apakah Yakin?',
|
||||
'Anda akan menyetujui data ini?',
|
||||
`
|
||||
<p class="text-gray-700 text-center">Anda akan menyetujui data ini?</p>
|
||||
<textarea id="swal-keterangan" class="block w-full px-4 py-2 border border-gray-300 rounded-lg shadow-sm focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Masukkan keterangan..."></textarea>
|
||||
`,
|
||||
'Ya, Lanjutkan!', 'Rejected', 'Batal',
|
||||
() => {
|
||||
const keterangan = document.getElementById('swal-keterangan').value;
|
||||
if (!keterangan) {
|
||||
Swal.showValidationMessage('Keterangan harus diisi!');
|
||||
return false;
|
||||
}
|
||||
return {
|
||||
keterangan
|
||||
};
|
||||
}
|
||||
).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
handleAjaxRequest(
|
||||
`/otorisator/otorisator/${dataId}/${dataHeader}`, {
|
||||
message: result.value.keterangan
|
||||
},
|
||||
'Data berhasil diotorisasi.',
|
||||
'Terjadi kesalahan saat melakukan otorisator.'
|
||||
);
|
||||
} else if (result.isDenied) {
|
||||
handleRejection(dataId);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
showSwalConfirmation(
|
||||
'Apakah Yakin?',
|
||||
'Pastikan bahwa paparan sudah dilakukan!',
|
||||
`
|
||||
<p class="text-gray-700 text-center">Pastikan bahwa paparan sudah dilakukan!</p>
|
||||
<textarea id="swal-keterangan" class="block w-full px-4 py-2 border border-gray-300 rounded-lg shadow-sm focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Masukkan keterangan..."></textarea>
|
||||
`,
|
||||
'Ya, Lanjutkan!', 'Rejected', 'Batal',
|
||||
() => {
|
||||
const keterangan = document.getElementById('swal-keterangan').value;
|
||||
if (!keterangan) {
|
||||
Swal.showValidationMessage('Keterangan harus diisi!');
|
||||
return false;
|
||||
}
|
||||
return {
|
||||
keterangan
|
||||
};
|
||||
}
|
||||
).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
handleAjaxRequest(
|
||||
`/otorisator/otorisator/${dataId}/${dataHeader}`, {
|
||||
message: result.value.keterangan
|
||||
},
|
||||
'Data berhasil diotorisasi.',
|
||||
'Terjadi kesalahan saat melakukan otorisator.'
|
||||
);
|
||||
} else if (result.isDenied) {
|
||||
handleRejection(dataId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
|
||||
showSwalConfirmation(
|
||||
'Apakah Yakin?',
|
||||
'Pastikan sudah dilakukan!',
|
||||
`
|
||||
<p class="text-gray-700 text-center">Untuk melakukan otorisator ${dataHeader}!</p>
|
||||
<textarea id="swal-keterangan" class="block w-full px-4 py-2 border border-gray-300 rounded-lg shadow-sm focus:ring-blue-500 focus:border-blue-500 sm:text-sm" placeholder="Masukkan keterangan..."></textarea>
|
||||
`,
|
||||
'Ya, Lanjutkan!', 'Rejected', 'Batal',
|
||||
() => {
|
||||
const keterangan = document.getElementById('swal-keterangan').value;
|
||||
if (!keterangan) {
|
||||
Swal.showValidationMessage('Keterangan harus diisi!');
|
||||
if (!message || !tanggalPaparan) {
|
||||
Swal.showValidationMessage('Keterangan dan Tanggal Paparan harus diisi!');
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
keterangan
|
||||
message,
|
||||
tanggalPaparan
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
message: 'Ya, lanjutkan.'
|
||||
};
|
||||
}
|
||||
).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
handleAjaxRequest(
|
||||
`/otorisator/otorisator/${dataId}/${dataHeader}`, {
|
||||
message: result.value.keterangan
|
||||
},
|
||||
'Data berhasil diotorisasi.',
|
||||
'Terjadi kesalahan saat melakukan otorisator.'
|
||||
);
|
||||
} else if (result.isDenied) {
|
||||
handleRejection(dataId);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function revisiLaporan(dataId) {
|
||||
const dataHeader = @json($header);
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda yakin?',
|
||||
text: `Untuk melakukan Revisi ${dataHeader}!`,
|
||||
icon: 'warning',
|
||||
input: 'textarea',
|
||||
inputLabel: 'Keterangan',
|
||||
inputPlaceholder: 'Masukkan keterangan...',
|
||||
inputAttributes: {
|
||||
'aria-label': 'Masukkan keterangan'
|
||||
},
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Ya, Lanjutkan!',
|
||||
cancelButtonText: 'Batal',
|
||||
}).then((result) => {
|
||||
'question'
|
||||
).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
const userMessage = result.value || '';
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
});
|
||||
$.ajax({
|
||||
url: `/otorisator/revisi/${dataId}`,
|
||||
type: 'POST',
|
||||
data: {
|
||||
message: userMessage
|
||||
},
|
||||
success: (response) => {
|
||||
Swal.fire('Berhasil!', 'Data berhasil Revisi Laporan', 'success').then(
|
||||
() => {
|
||||
window.location.href =
|
||||
'{{ route('otorisator.pelaporan.index') }}';
|
||||
});
|
||||
console.log(response);
|
||||
},
|
||||
error: (error) => {
|
||||
console.error('Error:', error);
|
||||
Swal.fire('Gagal!', 'Terjadi kesalahan saat melakukan Revisi.',
|
||||
'error');
|
||||
}
|
||||
});
|
||||
const requestData = isPaparanSO ? {
|
||||
message: result.value.keterangan,
|
||||
tanggalPaparan: result.value.tanggalPaparan
|
||||
} : {
|
||||
message: result.value.keterangan
|
||||
};
|
||||
|
||||
handleAjaxRequest(
|
||||
`/otorisator/otorisator/${dataId}/${dataHeader}`,
|
||||
requestData,
|
||||
'Data berhasil diotorisasi.',
|
||||
'Terjadi kesalahan saat melakukan otorisasi.'
|
||||
);
|
||||
} else if (result.isDenied) {
|
||||
handleRejection(dataId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<div class="card-body">
|
||||
<div class="grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Luas Bangunan</label>
|
||||
<label class="form-label max-w-56">Luas Bangunan(IMB)</label>
|
||||
<div class="mt-2">
|
||||
|
||||
@if (isset($permohonan->documents))
|
||||
|
||||
@@ -115,6 +115,26 @@
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Sentuh Tanahku</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute" value="rute">
|
||||
<div class="w-full">
|
||||
<input id="inputGistaru" type="file" name="foto_sentuh_tanahku"
|
||||
class="file-input file-input-bordered w-full"
|
||||
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
|
||||
onchange="previewImage(this, 'sentuh_tanahku-preview')">
|
||||
|
||||
<img id="sentuh_tanahku-preview"
|
||||
src="{{ asset('storage/' . (isset($forminspeksi['foto_sentuh_tanahku']) ? $forminspeksi['foto_sentuh_tanahku'] : '')) }}"
|
||||
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
|
||||
style="{{ isset($forminspeksi['foto_sentuh_tanahku']) ? '' : 'display: none;' }} max-width: 30rem;" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -196,27 +216,7 @@
|
||||
</div>
|
||||
<!-- Upload Photo Button -->
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
<span class="form-label">Sentuh Tanahku</span>
|
||||
</label>
|
||||
<div class="input-group w-full flex gap-2">
|
||||
<input class="name_rute" type="hidden" name="name_rute" value="rute">
|
||||
<div class="w-full">
|
||||
<input id="inputGistaru" type="file" name="foto_sentuh_tanahku"
|
||||
class="file-input file-input-bordered w-full"
|
||||
accept=".jpg,.jpeg,.png,.gif,.bmp,.tiff,.tif,.webp,.svg"
|
||||
onchange="previewImage(this, 'sentuh_tanahku-preview')">
|
||||
|
||||
<img id="sentuh_tanahku-preview"
|
||||
src="{{ asset('storage/' . (isset($forminspeksi['foto_sentuh_tanahku']) ? $forminspeksi['foto_sentuh_tanahku'] : '')) }}"
|
||||
alt="Foto Bhumi" class="mt-2 max-w-full h-auto"
|
||||
style="{{ isset($forminspeksi['foto_sentuh_tanahku']) ? '' : 'display: none;' }} max-width: 30rem;" />
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5" style="margin-top: 20px">
|
||||
<label for="" class="form-label max-w-56 text-sm font-medium text-gray-700">Upload Peta</label>
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
|
||||
<!-- Merupakan daerah -->
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Merupakan daerah</label>
|
||||
<label class="form-label max-w-56">Merupakan Daerah</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($basicData['merupakanDaerah']))
|
||||
@@ -373,7 +373,7 @@
|
||||
<!-- Fasilitas Umum Sekitar -->
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Fasilitas Umum dekat Object</label>
|
||||
<label class="form-label max-w-56">Fasilitas Umum Dekat Objek</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<div class="flex flex-col items-start gap-4">
|
||||
@if (isset($basicData['fasilitasObjek']))
|
||||
|
||||
@@ -97,65 +97,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal" data-modal="true" id="modal_jadwal">
|
||||
<div class="modal-content modal-center-y max-w-[600px]">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">Kunjungan</h3>
|
||||
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
||||
<i class="ki-outline ki-cross"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="{{ route('surveyor.storeJadwal') }}" method="POST" enctype="multipart/form-data"
|
||||
id="revisiForm">
|
||||
@method('put')
|
||||
@csrf
|
||||
<input id="ids" type="hidden" name="id">
|
||||
|
||||
<div class="pl-1 grid gap-2.5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Tanggal Kunjungan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('waktu_penilaian') border-danger bg-danger-light @enderror"
|
||||
type="datetime-local" name="waktu_penilaian" value="">
|
||||
@error('waktu_penilaian')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">Catatan</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<textarea id="deskripsi_penilaian"
|
||||
class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror" rows="3"
|
||||
name="deskripsi_penilaian"></textarea>
|
||||
@error('deskripsi_penilaian')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer justify-end mt-2">
|
||||
<div class="flex gap-4">
|
||||
<button type="button" class="btn btn-light" data-modal-dismiss="true">Cancel</button>
|
||||
<button id="btnSubmit" type="submit" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
function jadwal(id) {
|
||||
document.getElementById('ids').value = id;
|
||||
}
|
||||
|
||||
function surveyorFreeze(permohonanId, noReg, debitur) {
|
||||
|
||||
Swal.fire({
|
||||
@@ -329,11 +275,13 @@
|
||||
};
|
||||
|
||||
// Melakukan AJAX request
|
||||
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "PUT",
|
||||
cache: false,
|
||||
data: input_data,
|
||||
|
||||
dataType: "json",
|
||||
success: function(response) {
|
||||
if (response.status === 'success') {
|
||||
@@ -352,6 +300,92 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function prosesJadwalSurvey(permohonanId) {
|
||||
Swal.fire({
|
||||
title: 'Apakah Anda Yakin?',
|
||||
html: `
|
||||
<div class="text-left space-y-4">
|
||||
<p class="text-gray-700 text-center">Untuk membuat jadwal kunjungan, silahkan isi form berikut!</p>
|
||||
<div>
|
||||
<label for="waktu_penilaian" class="block text-sm font-medium text-gray-700 mb-1 " style="text-align: start;">Jadwal Kunjungan <span class="text-danger">*</span></label>
|
||||
<input type="datetime-local" id="waktu_penilaian" class="input" style="margin-top: 10px;" required>
|
||||
</div>
|
||||
<div>
|
||||
<label for="deskripsi_penilaian" class="block text-sm font-medium text-gray-700 mb-1 mt-2" style="text-align: start;">Keterangan <span class="text-danger">*</span> </label>
|
||||
<textarea id="deskripsi-penilaian" class="textarea" placeholder="Masukkan keterangan" style="margin-top: 10px;" required></textarea>
|
||||
</div>
|
||||
</div>
|
||||
`,
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Submit',
|
||||
cancelButtonText: 'Batal',
|
||||
preConfirm: () => {
|
||||
// Ambil nilai input
|
||||
const tanggalInspeksi = document.getElementById('waktu_penilaian').value;
|
||||
const keteranganInspeksi = document.getElementById('deskripsi-penilaian').value;
|
||||
|
||||
// Validasi input: cek apakah input kosong
|
||||
if (!tanggalInspeksi.trim()) {
|
||||
Swal.showValidationMessage('Harap mengisi Jadwal Kunjungan.');
|
||||
return false;
|
||||
}
|
||||
if (!keteranganInspeksi.trim()) {
|
||||
Swal.showValidationMessage('Harap mengisi Keterangan.');
|
||||
return false;
|
||||
}
|
||||
|
||||
// Jika semua valid, kembalikan data
|
||||
return {
|
||||
tanggal: tanggalInspeksi,
|
||||
keterangan: keteranganInspeksi
|
||||
};
|
||||
}
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
const {
|
||||
tanggal,
|
||||
keterangan
|
||||
} = result.value;
|
||||
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "/surveyor/store-jadwal/" + permohonanId;
|
||||
|
||||
let input_data = {
|
||||
_token: token,
|
||||
id: permohonanId,
|
||||
waktu_penilaian: tanggal,
|
||||
deskripsi_penilaian: keterangan
|
||||
};
|
||||
|
||||
// Change from PUT to POST method
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST", // Changed from PUT to POST
|
||||
cache: false,
|
||||
data: input_data,
|
||||
success: function(response) {
|
||||
if (response.success) {
|
||||
// Arahkan langsung ke halaman inspeksi
|
||||
Swal.fire('Berhasil!', 'Data berhasil disimpan.', 'success').then(
|
||||
() => {
|
||||
window.location.reload();
|
||||
});
|
||||
} else {
|
||||
Swal.fire('Error!', response.message, 'error');
|
||||
}
|
||||
},
|
||||
error: function(response) {
|
||||
const errorMessage = response.responseJSON?.message ||
|
||||
'Terjadi kesalahan saat memproses data.';
|
||||
Swal.fire('Error!', errorMessage, 'error');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="module">
|
||||
@@ -442,8 +476,7 @@
|
||||
(data.penilaian.waktu_penilaian && data.penilaian.authorized_status == null)) {
|
||||
actionHtml += `
|
||||
<a class="btn btn-sm btn-icon btn-clear btn-primary"
|
||||
data-modal-toggle="#modal_jadwal"
|
||||
onclick="jadwal(${data.penilaian.id})"
|
||||
onclick="prosesJadwalSurvey(${data.penilaian.id})"
|
||||
title="Buat Jadwal Kunjungan">
|
||||
<i class="ki-filled ki-calendar-edit"></i>
|
||||
</a>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Modules\Lpj\Http\Controllers\ActivityController;
|
||||
use Modules\Lpj\Http\Controllers\ArahMataAnginController;
|
||||
use Modules\Lpj\Http\Controllers\CustomFieldController;
|
||||
use Modules\Lpj\Http\Controllers\DebitureController;
|
||||
use Modules\Lpj\Http\Controllers\CustomFieldController;
|
||||
use Modules\Lpj\Http\Controllers\DebitureController;
|
||||
use Modules\Lpj\Http\Controllers\DokumenJaminanController;
|
||||
use Modules\Lpj\Http\Controllers\HubunganPemilikJaminanController;
|
||||
use Modules\Lpj\Http\Controllers\HubunganPenghuniJaminanController;
|
||||
@@ -552,7 +552,7 @@ Route::middleware(['auth'])->group(function () {
|
||||
Route::get('{id}/show', [SurveyorController::class, 'show'])->name('show');
|
||||
Route::post('store', [SurveyorController::class, 'store'])->name('store');
|
||||
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
||||
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
||||
Route::post('store-jadwal/{id}', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
||||
|
||||
Route::post('storeFreeze/{id}', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
||||
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
||||
|
||||
Reference in New Issue
Block a user