@extends('layouts.app')
@section('title', 'Field Analysis — ' . $pengajuan->debitur->nama)
@push('styles')
@endpush
@section('content')
@php
$fa = $pengajuan->fieldAnalysis;
$isSubmitted = $fa?->submitted_at !== null;
$isPl = $pengajuan->status->value === \App\Core\Enums\PengajuanStatus::Fa->value;
$isReview = $pengajuan->status->value === \App\Core\Enums\PengajuanStatus::WaitingReviewFa->value;
$isDone = $pengajuan->status->value === \App\Core\Enums\PengajuanStatus::WaitingKeputusan->value;
$csl = $pengajuan->cslScoring;
@endphp
@if($isSubmitted && !$isPl)
FA disubmit PL pada {{ $fa->submitted_at->format('d M Y H:i') }} .
@if($isReview) Menunggu review Penelaah. @endif
@endif
{{-- ═══════════════════════════════════════════════════════════
PANEL BATCH STATUS (Penelaah)
═══════════════════════════════════════════════════════════ --}}
@if(($isReview || $isDone) && $batchPengajuan->isNotEmpty())
Debitur
Status
CSL Dihitung
Skor
Layak
@foreach($batchPengajuan as $bp)
{{ $bp->debitur->nama }}
@if($bp->cslScoring)
{{ $bp->cslScoring->dihitung_pada?->format('d/m H:i') }}
@else
—
@endif
{{ $bp->cslScoring ? number_format($bp->cslScoring->skor_total, 1) : '—' }}
@if($bp->cslScoring)
@if($bp->cslScoring->status_layak)
Layak
@else
Tidak Layak
@endif
@else
—
@endif
@if($bp->id !== $pengajuan->id)
Buka
@else
Saat ini
@endif
@endforeach
@endif
{{-- ═══════════════════════════════════════════════════════════
PANEL DATA PEFINDO DARI DA (Penelaah review)
═══════════════════════════════════════════════════════════ --}}
@if(($isReview || $isDone) && $pengajuan->deskAnalysisPenelaah)
@php $da = $pengajuan->deskAnalysisPenelaah; @endphp
@php
$hasilMap = [
'layak' => ['label' => 'Layak', 'class' => 'bg-success'],
'tidak_layak' => ['label' => 'Tidak Layak', 'class' => 'bg-danger'],
'layak_dengan_catatan'=> ['label' => 'Layak dengan Catatan','class' => 'bg-warning text-dark'],
];
$hasilInfo = $hasilMap[$da->bm_hasil_penilaian ?? ''] ?? ['label' => '—', 'class' => 'bg-secondary'];
@endphp
Hasil Penilaian DA (BM)
{{ $hasilInfo['label'] }}
@endif
{{-- ═══════════════════════════════════════════════════════════
FORM PL — Section A–E + GPS + Polygon (PL mode only)
═══════════════════════════════════════════════════════════ --}}
@if($isPl)
@endif
{{-- ═══════════════════════════════════════════════════════════
READ-ONLY VIEW — Sections A–E (Penelaah / Done mode)
═══════════════════════════════════════════════════════════ --}}
@if($isReview || $isDone)
{{-- Section A read-only --}}
Item
Nilai dari DA
Sesuai?
Hasil Validasi Lapangan
@foreach($sectionAItems as $item)
{{ $item['item'] }}
{{ $item['nilai_da'] ?? '—' }}
@if($item['sesuai'] === true)
Sesuai
@elseif($item['sesuai'] === false)
Tidak Sesuai
@else
—
@endif
{{ $item['data_hasil_validasi'] ?? '—' }}
@endforeach
{{-- Section B read-only --}}
@if($fa?->b_kondisi_kebun)
Item Sesuai? Catatan
@foreach($fa->b_kondisi_kebun as $item)
{{ $item['item'] }}
@if($item['sesuai'] ?? false)
@else
@endif
{{ $item['data_hasil_validasi'] ?? '—' }}
@endforeach
@endif
{{-- Section C read-only --}}
@if($fa?->c_jaminan)
Item Sesuai? Catatan
@foreach($fa->c_jaminan as $item)
{{ $item['item'] }}
@if($item['sesuai'] ?? false)
@else
@endif
{{ $item['data_hasil_validasi'] ?? '—' }}
@endforeach
@endif
{{-- Section D read-only --}}
@if($fa?->d_sosial_lingkungan)
Item Sesuai? Catatan
@foreach($fa->d_sosial_lingkungan as $item)
{{ $item['item'] }}
@if($item['sesuai'] ?? false)
@else
@endif
{{ $item['data_hasil_validasi'] ?? '—' }}
@endforeach
@endif
{{-- Section E read-only --}}
@if($fa?->e_rekomendasi)
Item Rekomendasi? Catatan
@foreach($fa->e_rekomendasi as $item)
{{ $item['item'] }}
@if($item['sesuai'] ?? false)
@else
@endif
{{ $item['data_hasil_validasi'] ?? '—' }}
@endforeach
@endif
{{-- Section F: Foto Lapangan --}}
@if($fa?->foto?->isNotEmpty())
@php
$fotoByTipe = $fa->foto->groupBy('tipe');
$tipeLabel = [
'pemohon' => 'Foto Pemohon',
'lahan' => 'Foto Lahan',
'usaha' => 'Foto Usaha',
'rumah' => 'Foto Rumah',
];
@endphp
@foreach($tipeLabel as $tipe => $label)
@if($fotoByTipe->has($tipe))
{{ $label }}
@foreach($fotoByTipe[$tipe] as $foto)
@if($foto->exif_taken_at || $foto->exif_latitude)
@if($foto->exif_taken_at)
{{ $foto->exif_taken_at->format('d/m/Y H:i') }}
@endif
@if($foto->exif_latitude)
{{ number_format($foto->exif_latitude, 5) }}, {{ number_format($foto->exif_longitude, 5) }}
@endif
@endif
@endforeach
@endif
@endforeach
@endif
{{-- Peta Polygon Lahan (read-only) --}}
@if($fa?->nama_wilayah_gps)
{{ $fa->nama_wilayah_gps }}
@if($fa->luas_polygon_ha)
· Luas: {{ number_format($fa->luas_polygon_ha, 4) }} Ha
@endif
@endif
@endif
{{-- ═══════════════════════════════════════════════════════════
CSL BREAKDOWN (Penelaah / Done — setelah CSL dihitung)
═══════════════════════════════════════════════════════════ --}}
@if(($isReview || $isDone) && $csl)
{{-- Compliance Parameters --}}
@if(!$csl->semua_compliance_accepted)
Ada parameter Rejected! Debitur tidak layak diproses tanpa perlu menghitung skor lebih lanjut.
@else
Semua 8 compliance parameter Accepted . Lanjut ke scoring.
@endif
@php
$cpItems = [
['label' => 'Status Anggota', 'evidence' => 'Kelompok berdiri ≥2 tahun', 'value' => $csl->cp_status_anggota],
['label' => 'Usia', 'evidence' => 'Usia 20–65 tahun saat jatuh tempo', 'value' => $csl->cp_usia],
['label' => 'Jaminan', 'evidence' => 'Nilai jaminan ≥ 100% plafond', 'value' => $csl->cp_jaminan],
['label' => 'Karakter', 'evidence' => 'Tidak ada tunggakan bermasalah (Pefindo BG/BH)', 'value' => $csl->cp_karakter],
['label' => 'Profesi', 'evidence' => 'Bukan TNI/APH', 'value' => $csl->cp_profesi],
['label' => 'Tempat Tinggal', 'evidence' => 'Berdomisili >1 tahun', 'value' => $csl->cp_tempat_tinggal],
['label' => 'Status Tempat Tinggal', 'evidence' => 'Milik sendiri / orang tua / saudara', 'value' => $csl->cp_status_tempat_tinggal],
['label' => 'Status Usaha', 'evidence' => 'Usaha milik sendiri / keluarga / partner', 'value' => $csl->cp_status_usaha],
];
@endphp
Parameter
Kondisi Diperiksa
Status
@foreach($cpItems as $cp)
{{ $cp['label'] }}
{{ $cp['evidence'] }}
@if($cp['value'])
Accepted
@else
Rejected
@endif
@endforeach
{{-- Scoring Indicators --}}
@if($csl->semua_compliance_accepted)
{{-- I. Eksternal --}}
I. Eksternal — Pefindo
(bobot 0.35)
@php
$ekRaw = (int) $csl->skor_eksternal_raw;
$ekMap = [
100 => ['Low Risk', 'bg-success'],
50 => ['Moderate Risk', 'bg-warning text-dark'],
0 => ['High Risk', 'bg-danger'],
];
$ekInfo = $ekMap[$ekRaw] ?? ['—', 'bg-secondary'];
@endphp
Skor Mentah Pefindo
{{ $ekInfo[0] }}
({{ $ekRaw }})
Kontribusi ke Skor Total
{{ number_format((float)$csl->skor_eksternal * 100, 2) }} poin
(maks 35)
{{-- II. Financial --}}
II. Internal Financial — RPC
(bobot 0.45)
@php
$rasioRpc = (float) $csl->rasio_rpc;
@endphp
RPC Tahunan
Rp {{ number_format((int)$csl->rpc_tahunan) }}
Angsuran per Tahun
Rp {{ number_format((int)$csl->angsuran_per_tahun) }}
Rasio RPC / Angsuran
{{ number_format($rasioRpc, 2) }}×
@if($rasioRpc > 1.5)
Low Risk
@elseif($rasioRpc >= 1.0)
Moderate Risk
@else
High Risk
@endif
Kontribusi ke Skor Total
{{ number_format((float)$csl->skor_financial * 100, 2) }} poin
(maks 45)
{{-- III. Non-Financial --}}
III. Internal Non-Financial
(0.03 × 10 item)
@if($csl->params_non_financial)
Parameter
Nilai
Skor
@foreach($csl->params_non_financial as $nf)
@php
$nfSkor = (int)($nf['skor'] ?? 0);
$nfBadge = match($nfSkor) {
100 => 'bg-success',
50 => 'bg-warning text-dark',
default => 'bg-danger',
};
@endphp
{{ $nf['nama'] }}
{{ $nf['nilai'] ?? '—' }}
{{ $nfSkor }}
@endforeach
@endif
Kontribusi: {{ number_format((float)$csl->skor_non_financial * 100, 2) }} poin
(maks 30)
{{-- Total Score --}}
{{ number_format((float)$csl->skor_total, 1) }}
{!! $csl->kategoriRisikoBadge !!}
Skor Total (maks ≈ 110)
Dihitung: {{ $csl->dihitung_pada?->format('d M Y H:i') }}
@if($csl->status_layak)
LAYAK
@else
TIDAK LAYAK
@endif
@endif
@endif
{{-- ═══════════════════════════════════════════════════════════
REVIEW FORM — Catatan + Tombol Aksi (Penelaah only)
═══════════════════════════════════════════════════════════ --}}
@if($isReview)
@endif
{{-- Done: info sudah submit --}}
@if($isDone)
Field Analysis telah disubmit ke Verifikator untuk Keputusan Final.
@endif
@endsection
@push('scripts')
@endpush