@extends('layouts.app') @section('title', 'Detail Usulan SHS') @section('content') @php // Deteksi role user login $isUkpd = auth()->user()->role === 'staff_ukpd'; // Route Dynamic Mapping $routeIndex = $isUkpd ? route('ukpd.staf.usulan.index') : route('skpd.staf.usulan-shs.index'); $routeEdit = $isUkpd ? route('ukpd.staf.usulan.edit', $usulan->id) : route('skpd.staf.usulan-shs.edit', $usulan->id); // Kuncian status edit dinamis $lockedStatuses = $isUkpd ? [ 'menunggu_konfirmasi_skpd', 'menunggu_verifikasi', 'proses_verifikasi', 'menunggu_validasi', 'validasi_success', 'disetujui', ] : ['menunggu_verifikasi', 'proses_verifikasi', 'menunggu_validasi', 'validasi_success', 'disetujui']; $canEdit = !in_array(strtolower($usulan->status ?? ''), $lockedStatuses); // Track Verifikasi Dua Pintu $bpadSudahVerif = (bool) $usulan->is_verifikasi_bpad; $bpkdSudahVerif = (bool) $usulan->is_verifikasi_bpkd; // Ambil catatan dari semua kemungkinan nama kolom di database $pesanPenolakan = $usulan->catatan_penolakan ?? ($usulan->catatan_bpad ?? ($usulan->catatan_bpkd ?? ($usulan->alasan_penolakan ?? ($usulan->catatan_verifikasi ?? null)))); // Cek status tertolak $statusStr = strtolower($usulan->status ?? ''); $isStatusTertolak = str_contains($statusStr, 'tertolak') || str_contains($statusStr, 'ditolak') || str_contains($statusStr, 'revisi'); // Audit Trail Penolak $penolakName = $usulan->rejectedByUser->name ?? null; $roleLabels = [ 'staff_bpkd' => 'Staff BPKD', 'staff_bpad' => 'Staff BPAD', 'staff_skpd' => 'Staff SKPD', 'ka_skpd' => 'Kepala SKPD', ]; $penolakRole = $roleLabels[$usulan->rejected_by_role ?? ''] ?? 'Verifikator'; @endphp
Uraian Barang: {{ $usulan->uraian_barang }}
Catatan Penolakan:
@if ($penolakName)Ditolak Oleh: {{ $penolakName }} ({{ $penolakRole }})
@endif"{{ $pesanPenolakan ?: 'Pemeriksa tidak meninggalkan catatan tertulis.' }}"
Verifikasi Staff BPAD
@if ($bpadSudahVerif)Oleh: {{ $usulan->verifikatorBpad->name ?? 'Staff BPAD' }}
@endifVerifikasi Staff BPKD
@if ($bpkdSudahVerif)Oleh: {{ $usulan->verifikatorBpkd->name ?? 'Staff BPKD' }}
@endifHarga Tahun Berjalan
Rp {{ number_format($usulan->harga_2025 ?? 0, 0, ',', '.') }}
TKDN
{{ $usulan->tkdn ?? '0' }}%
Usulan Harga Baru
Rp {{ number_format($usulan->usulan_harga_2026 ?? 0, 0, ',', '.') }}
Keterangan / Alasan Pengusulan:
{{ $usulan->keterangan ?? 'Tidak ada catatan keterangan.' }}