@extends('layouts.app') @section('title', ($pengajuanKelompok->kelompok->nama ?? 'Batch') . ' — Keputusan Final') @section('content')
{{-- Progress + Finalisasi --}} @php $total = $batchPengajuan->count(); $dicekCount = $batchPengajuan->filter(fn($p) => $p->keputusanFinal !== null)->count(); $belumCount = $total - $dicekCount; $pct = $total > 0 ? round($dicekCount / $total * 100) : 0; @endphp
Keputusan Final {{ $dicekCount }} / {{ $total }} debitur sudah dicek
@if($semuaSudahDicek)
@csrf
@else @endif
{{-- Desktop table --}}
@forelse($batchPengajuan as $i => $p) @php $dap = $p->deskAnalysisPenelaah; $csl = $p->cslScoring; $kf = $p->keputusanFinal; $isWaiting = $p->status->value === \App\Core\Enums\PengajuanStatus::WaitingKeputusan->value; $canEdit = $isWaiting && $kf === null; $daBadge = match($dap?->bm_hasil_penilaian) { 'layak' => ['Layak', 'bg-success'], 'layak_dengan_catatan' => ['Layak dg Catatan', 'bg-warning text-dark'], 'tidak_layak' => ['Tidak Layak', 'bg-danger'], default => ['—', 'bg-secondary'], }; $cslBadge = null; if ($csl) { $skor = $csl->skor_total; $cslBadge = $skor >= 75 ? [$skor, 'bg-success'] : ($skor >= 50 ? [$skor, 'bg-warning text-dark'] : [$skor, 'bg-danger']); } $kfBadge = match($kf?->keputusan) { 'disetujui' => ['Disetujui', 'bg-success'], 'ditolak' => ['Ditolak', 'bg-danger'], default => null, }; @endphp @empty @endforelse
# Nama Debitur NIK DA Penelaah CSL Score Keputusan Final
{{ $i + 1 }} {{ $p->debitur->nama ?? '—' }} {{ $p->debitur->nik ?? '—' }} @if($dap) {{ $daBadge[0] }} @else @endif @if($cslBadge) {{ number_format($cslBadge[0], 1) }} {{ $csl->kategori_risiko }} @else @endif @if($kfBadge) {{ $kfBadge[0] }} @elseif($isWaiting) Belum dicek @else @endif {{ $canEdit ? 'Isi Keputusan' : 'Lihat' }}
{{-- Mobile card list --}}
@forelse($batchPengajuan as $p) @php $dap = $p->deskAnalysisPenelaah; $csl = $p->cslScoring; $kf = $p->keputusanFinal; $isWaiting = $p->status->value === \App\Core\Enums\PengajuanStatus::WaitingKeputusan->value; $canEdit = $isWaiting && $kf === null; $daBadge = match($dap?->bm_hasil_penilaian) { 'layak' => ['Layak', 'bg-success'], 'layak_dengan_catatan' => ['Layak dg Catatan', 'bg-warning text-dark'], 'tidak_layak' => ['Tidak Layak', 'bg-danger'], default => ['—', 'bg-secondary'], }; $cslBadge = null; if ($csl) { $skor = $csl->skor_total; $cslBadge = $skor >= 75 ? [$skor, 'bg-success'] : ($skor >= 50 ? [$skor, 'bg-warning text-dark'] : [$skor, 'bg-danger']); } $kfBadge = match($kf?->keputusan) { 'disetujui' => ['Disetujui', 'bg-success'], 'ditolak' => ['Ditolak', 'bg-danger'], default => null, }; @endphp
{{ $p->debitur->nama ?? '—' }}
NIK {{ $p->debitur->nik ?? '—' }}
@if($kfBadge) {{ $kfBadge[0] }} @elseif($isWaiting) Belum dicek @endif
DA Penelaah: @if($dap) {{ $daBadge[0] }} @else @endif @if($cslBadge) CSL: {{ number_format($cslBadge[0], 1) }} {{ $csl->kategori_risiko }} @endif
{{ $canEdit ? 'Isi Keputusan' : 'Lihat' }}
@empty
@endforelse
@endsection