TENTARA NASIONAL INDONESIA

KOMANDO PASUKAN KHUSUS

Jalan Rumah Sakit Pusat Angkatan Darat, Cijantung, Jakarta Timur 13770

LAPORAN SURAT MASUK
@if(!empty($filters))
Filter: @if(isset($filters['status'])) @php $statusFilterLabels = [ 'draft' => 'Draft', 'perlu_dilengkapi' => 'Perlu Dilengkapi', 'mohon_diselesaikan' => 'Mohon Diselesaikan', 'sudah_dikirim' => 'Sudah Dikirim', 'menunggu_verifikasi_kasmin' => 'Menunggu Verifikasi KASMIN', 'menunggu_disposisi' => 'Menunggu Disposisi', 'sudah_didisposisi' => 'Sudah Didisposisi', 'menunggu_tanggapan' => 'Menunggu Tanggapan', 'diproses' => 'Diproses', 'selesai' => 'Selesai', ]; @endphp Status: {{ $statusFilterLabels[$filters['status']] ?? strtoupper($filters['status']) }} | @endif @if(isset($filters['search'])) Pencarian: "{{ $filters['search'] }}" | @endif @if(isset($filters['bulan'])) Bulan: {{ \Carbon\Carbon::create()->month($filters['bulan'])->translatedFormat('F') }} | @endif @if(isset($filters['tahun'])) Tahun: {{ $filters['tahun'] }} | @endif Dicetak: {{ now()->format('d/m/Y H:i') }} WIB
@endif @forelse($suratMasuks as $index => $surat) @php $user = auth()->user(); $userId = auth()->id(); $displayStatus = null; // TU-specific pseudo-statuses if ($user->isTU()) { $disposisiForTU = $surat->disposisi ->filter(fn($d) => $d->kepadaUsers->contains('id', $userId) && $d->status !== 'selesai') ->sortByDesc('created_at') ->first(); if ($disposisiForTU) { $pengirim = $disposisiForTU->dariUser; $isFromSuperior = $disposisiForTU->pengirim_id === $user->superior_id; $isFromSameSatuan = ($pengirim->satuan ?? null) === $user->satuan; $isFromPangwapang = $pengirim && ($pengirim->isPanglima() || $pengirim->isWakilPanglima()); if ($isFromSuperior || $isFromSameSatuan) { $displayStatus = 'Mohon Diselesaikan'; } elseif ($isFromPangwapang) { $displayStatus = $disposisiForTU->status_agenda === 'menunggu_agenda' ? 'Perlu Dilengkapi' : 'Mohon Diselesaikan'; } else { $displayStatus = 'Perlu Dilengkapi'; } } if (!$displayStatus && $surat->is_from_disposisi && $surat->tujuan_akhir_id == $userId) { if ($surat->status === 'pending') $displayStatus = 'Mohon Diselesaikan'; elseif ($surat->status === 'selesai') $displayStatus = 'Selesai'; } if (!$displayStatus && $surat->status === 'menunggu_agenda' && !isset($disposisiForTU)) { if ($surat->tujuan_akhir_id == $user->superior_id || $surat->tujuan_akhir_id == $userId) { $displayStatus = 'Perlu Dilengkapi'; } } } // All users: surat from disposisi targeting user if (!$displayStatus && $surat->is_from_disposisi && $surat->tujuan_akhir_id == $userId) { if ($surat->status === 'pending') $displayStatus = 'Mohon Diselesaikan'; elseif ($surat->status === 'selesai') $displayStatus = 'Selesai'; } // Non-TU disposisi check if (!$displayStatus && !$user->isTU()) { $hasActive = $surat->disposisi->filter(fn($d) => $d->kepadaUsers->contains('id', $userId) && $d->status !== 'selesai')->first(); if ($hasActive) $displayStatus = 'Mohon Diselesaikan'; else { $hasCompleted = $surat->disposisi->filter(fn($d) => $d->kepadaUsers->contains('id', $userId) && $d->status === 'selesai')->first(); if ($hasCompleted) $displayStatus = 'Selesai'; } } if (!$displayStatus && $surat->childSurat && $surat->childSurat->count() > 0) $displayStatus = 'Sudah Didisposisi'; if (!$displayStatus && $surat->is_from_disposisi && $surat->status === 'pending') $displayStatus = 'Menunggu Tanggapan'; if (!$displayStatus && $surat->status === 'menunggu_agenda' && $surat->created_by == $userId) $displayStatus = 'Sudah Dikirim'; if (!$displayStatus && $surat->status === 'diagendakan' && $surat->tujuan_akhir_id != $userId) $displayStatus = 'Menunggu Disposisi'; if (!$displayStatus) { $labels = ['draft' => 'Draft', 'pending' => 'Pending', 'menunggu_agenda' => 'Menunggu Agenda', 'menunggu_verifikasi_kasmin' => 'Mng. Verifikasi', 'diagendakan' => 'Diagendakan', 'diproses' => 'Diproses', 'selesai' => 'Selesai']; $displayStatus = $labels[$surat->status] ?? ucfirst($surat->status); } @endphp @empty @endforelse
No Nomor Surat No. Agenda Tgl Surat Tgl Dibuat Asal Surat Tujuan Perihal Kategori Status
{{ $index + 1 }} {{ $surat->nomor_surat }} {{ $surat->nomor_agenda ?? '-' }} {{ $surat->tanggal_surat->format('d/m/Y') }} {{ $surat->created_at->format('d/m/Y H:i') }} {{ $surat->asal_surat_short ?? $surat->asal_surat }} {{ $surat->tujuanAkhir->jabatan_with_satuan ?? '-' }} {{ $surat->perihal }} {{ $surat->kategori->nama_kategori ?? '-' }} {{ $displayStatus }}
Tidak ada data