@php $tahunBerjalan = date('Y'); $tahunUsulan = date('Y') + 1; $statusMap = [ 'menunggu_verifikasi' => [ 'label' => 'Menunggu Verifikasi', 'class' => 'bg-amber-100 text-amber-800 border-amber-200', ], 'proses_verifikasi' => [ 'label' => 'Menunggu Verifikasi', 'class' => 'bg-amber-100 text-amber-800 border-amber-200', ], 'menunggu_validasi' => [ 'label' => 'Lolos Verifikasi (Menunggu Validasi)', 'class' => 'bg-blue-100 text-blue-800 border-blue-200', ], 'diverifikasi_staf' => [ 'label' => 'Lolos Verifikasi (Menunggu Validasi)', 'class' => 'bg-blue-100 text-blue-800 border-blue-200', ], 'verifikasi_tertolak' => [ 'label' => 'Verifikasi Tertolak', 'class' => 'bg-rose-100 text-rose-800 border-rose-200', ], 'validasi_tertolak' => ['label' => 'Validasi Tertolak', 'class' => 'bg-rose-100 text-rose-800 border-rose-200'], 'validasi_success' => [ 'label' => 'Validasi Success', 'class' => 'bg-emerald-100 text-emerald-800 border-emerald-200', ], 'disetujui' => ['label' => 'Validasi Success', 'class' => 'bg-emerald-100 text-emerald-800 border-emerald-200'], ]; $st = $statusMap[$usulan->status] ?? [ 'label' => str_replace('_', ' ', $usulan->status), 'class' => 'bg-slate-100 text-slate-700 border-slate-200', ]; $isPendingVerifikasi = in_array(strtolower($usulan->status ?? ''), ['menunggu_verifikasi', 'proses_verifikasi']); $bpadSudahVerif = (bool) $usulan->is_verifikasi_bpad; $bpkdSudahVerif = (bool) $usulan->is_verifikasi_bpkd; $alasanPenolakan = $usulan->catatan_penolakan ?? ($usulan->catatan_bpad ?? ($usulan->catatan_bpkd ?? null)); $penolakName = $usulan->rejectedByUser->name ?? null; $penolakRole = $usulan->rejected_by_role === 'staff_bpkd' ? 'Staff BPKD' : ($usulan->rejected_by_role === 'staff_bpad' ? 'Staff BPAD' : 'Verifikator'); @endphp @extends('layouts.app') @section('title', 'Detail Verifikasi Usulan') @section('content')
{{-- Header & Back Button --}}

Detail Verifikasi Usulan SHS

Pemeriksaan komponen dokumen dan penetapan verifikasi usulan SKPD.

Kembali
{{-- Error Alert --}} @if ($errors->any())
@endif {{-- Main Detail Card --}}
{{-- Pengusul Info & Indikator Verifikasi Paralel --}}
Pengusul / SKPD

{{ $usulan->user->name ?? 'Staf SKPD' }}

NIP: {{ $usulan->user->nip ?? '-' }}

Tanggal Pengajuan

{{ $usulan->created_at->format('d F Y, H:i') }} WIB

Status Keseluruhan {{ $st['label'] }}
{{-- Status Verifikasi Dua Pintu (BPAD & BPKD) --}}
Status Verifikasi Dua Pintu
{{-- Status BPAD --}}

Verifikasi Staff BPAD

@if ($bpadSudahVerif)

Oleh: {{ $usulan->verifikatorBpad->name ?? 'Staff BPAD' }}

@endif
@if ($bpadSudahVerif) Disetujui @else Menunggu @endif
{{-- Status BPKD --}}

Verifikasi Staff BPKD

@if ($bpkdSudahVerif)

Oleh: {{ $usulan->verifikatorBpkd->name ?? 'Staff BPKD' }}

@endif
@if ($bpkdSudahVerif) Disetujui @else Menunggu @endif
{{-- 1. Klasifikasi --}}

1. Klasifikasi & Pengelompokan

Kategori (Level 1)

{{ $usulan->kategori_id ?? '-' }}

Detail Pengajuan (Level 4)

{{ $usulan->detail_pengajuan_id ?? '-' }}

{{-- 2. Informasi Barang & Rekening --}}

2. Rincian Komponen Barang & Rekening

Kode Barang (Level 5)

{{ $usulan->kode_barang ?? '-' }}

Nama Kelompok Barang/Jasa

{{ $usulan->nama_kelompok ?? '-' }}

Kode Rekening Anggaran

{{ $usulan->kode_rekening ?? '-' }}

Uraian Barang / Jasa

{{ $usulan->uraian_barang }}

Spesifikasi Detail

{{ $usulan->spesifikasi ?? '-' }}

Satuan

{{ $usulan->satuan ?? '-' }}

{{-- 3. Rincian Harga & TKDN --}}

3. Rincian Harga & TKDN

Harga {{ $tahunBerjalan }}

Rp {{ number_format($usulan->harga_2025 ?? 0, 0, ',', '.') }}

TKDN

{{ $usulan->tkdn ?? '0' }}%

Usulan Harga {{ $tahunUsulan }}

Rp {{ number_format($usulan->usulan_harga_2026 ?? ($usulan->harga_usulan ?? 0), 0, ',', '.') }}

{{-- 4. Dokumen Lampiran --}}

4. Dokumen Lampiran Referensi

@for ($i = 1; $i <= 3; $i++) @php $field = 'lampiran_' . $i; @endphp

Lampiran {{ $i }}

@if ($usulan->$field) Buka File @else Tidak Ada File @endif
@endfor
{{-- 5. Keterangan & Catatan Penolakan --}}

5. Pengaturan & Catatan Pengusulan

@if ($usulan->is_khusus_skpd)
Status Khusus: Usulan ini khusus diperuntukkan bagi internal SKPD/UKPD/Sudin.
@endif

Keterangan / Alasan Pengusul:

{{ $usulan->keterangan ?? 'Tidak ada catatan keterangan.' }}

{{-- Tampilan Catatan Penolakan Berdasarkan Audit Trail --}} @if ($alasanPenolakan)
Catatan Penolakan:

Ditolak Oleh: {{ $penolakName ?? 'Verifikator' }} ({{ $penolakRole }})

"{{ $alasanPenolakan }}"

@endif
{{-- Action Buttons --}}
Status Saat Ini {{ $st['label'] }}
{{-- Jika masih pending verifikasi dan BPAD BELUM verifikasi --}} @if ($isPendingVerifikasi && !$bpadSudahVerif)
@csrf
{{-- Jika BPAD SUDAH verifikasi, tetapi BPKD BELUM verifikasi --}} @elseif ($isPendingVerifikasi && $bpadSudahVerif)
Persetujuan BPAD tersimpan! Menunggu verifikasi dari Staff BPKD.
@else
Usulan telah diproses ({{ $st['label'] }}).
@endif
{{-- Modal Tolak --}}

Alasan Penolakan Verifikasi

@csrf
@endsection