@extends('layouts.app') @section('title', 'Detail Purchase Request') @section('content')

Purchase Request {{ $purchaseRequest->kode }}

Cetak PR @if(auth()->user()->canExecuteWarehouseFlow() && $purchaseRequest->bisaDihapus())
@csrf @method('DELETE')
@endif {{ $purchaseRequest->statusLabel() }}
@if($purchaseRequest->butuhReminder())
Reminder: Purchase Request ini masih berjalan — ada barang yang belum lengkap terkirim/diterima di kapal. PR baru akan berstatus Selesai jika semua barang sudah lengkap sampai di kapal.
@endif @if($purchaseRequest->isDitolak())
PR ini ditolak oleh SELURUH approval (DPA, Kapten, Kepala Cabang) @if($purchaseRequest->ditolak_at) pada {{ $purchaseRequest->ditolak_at->format('d M Y H:i') }}@endif. PR ini terkunci dan tidak bisa diproses lebih lanjut - hanya bisa dihapus, atau dibuka kembali dengan mengembalikan salah satu keputusan approval di bawah ("Kembalikan Status").
@endif {{-- Lacak Progres (tampilan seperti tracking Shopee) - bisa dilihat semua role termasuk Dek --}}
@php $trackSteps = ['pr' => 'PR Dibuat', 'approval' => 'Disetujui', 'diproses' => 'Diproses/PO', 'dikirim' => 'Dikirim ke Kapal', 'diterima' => 'Diterima di Kapal']; $trackIndex = 0; // PR Dibuat selalu tercapai if ($purchaseRequest->isFullyApproved()) $trackIndex = 1; if ($purchaseRequest->status === 'diproses') $trackIndex = 2; if ($purchaseRequest->semuaBarangSudahTerkirim()) $trackIndex = 3; if ($purchaseRequest->isDraft() || $purchaseRequest->isSemuaLengkap()) $trackIndex = 4; @endphp
@foreach($trackSteps as $key => $label)
{{ $loop->index + 1 }}
{{ $label }}
@if(!$loop->last)
@endif @endforeach
{{-- Status Approval: DPA, Kapten, Kepala Cabang - PO baru bisa dibuat setelah ketiganya disetujui --}}
Approval Purchase Request ({{ $purchaseRequest->ringkasanApproval() }})
@foreach($purchaseRequest->approvals as $approval) @endforeach
RoleStatusCatatanDiputuskan
{{ $approval->roleLabel() }} {{ ucfirst($approval->status) }} {{ $approval->catatan ?: '-' }} {{ $approval->diputuskan_at?->format('d M Y H:i') ?: '-' }} @if(auth()->user()->roleApproval() === $approval->role && $approval->status === 'menunggu')
@csrf
@elseif(auth()->user()->roleApproval() === $approval->role && $approval->status !== 'menunggu')
@csrf
@endif
@if(auth()->user()->isApprover()) @endif
Kapal
{{ $purchaseRequest->kapal }}
Departemen
{{ $purchaseRequest->departemenLabel() }}
Dibuat Oleh
{{ $purchaseRequest->user->name }}
Tanggal
{{ $purchaseRequest->created_at->format('d M Y H:i') }}
@if($purchaseRequest->keterangan)
{{ $purchaseRequest->keterangan }}
@endif
Surat Permintaan Barang
@if(auth()->user()->canExecuteWarehouseFlow() && $purchaseRequest->status == 'menunggu_diproses') @endif @if(auth()->user()->canExecuteWarehouseFlow() && $purchaseRequest->status == 'menunggu_diproses') @csrf @endif @foreach($purchaseRequest->items as $item) @php $stok = $stockMap[$item->nama_barang . '|' . ($item->part_number ?? '')] ?? null; @endphp @if(auth()->user()->canExecuteWarehouseFlow() && $purchaseRequest->status == 'menunggu_diproses') @endif @endforeach
Nama BarangPart NumberKode Barang (Dikapal)QtySatuanKeteranganStok GudangSumber
qty < $item->qty)>{{ $item->nama_barang }} {{ $item->part_number ?: '-' }} {{ $item->kode_barang_dikapal ?: '-' }} {{ $item->qty }} {{ $item->satuan }} {{ $item->keterangan ?: '-' }} @if($stok) {{ $stok->qty }} {{ $stok->satuan }} @else Tidak ada @endif @if($item->sumber == 'stok_gudang')Stok Gudang @elseif($item->sumber == 'purchase_order')Purchase Order @else -@endif
@if(auth()->user()->canExecuteWarehouseFlow() && $purchaseRequest->status == 'menunggu_diproses') @endif
@if($purchaseRequest->purchaseOrders->count())
Purchase Order Terkait
@foreach($purchaseRequest->purchaseOrders as $po) @endforeach
Kode POVendorStatus
{{ $po->kode }} {{ $po->vendorNames() }} @if($po->isMultiVendor())Multi-Vendor@endif {{ $po->statusLabel() }} @if($po->butuhReminder()) Belum Lengkap @endif @if(auth()->user()->canExecuteWarehouseFlow()) Detail @endif
@endif @if($purchaseRequest->goodsDeliveries->count())
Riwayat Pengiriman ke Kapal (Surat Jalan)
@if(!$purchaseRequest->semuaBarangSudahTerkirim())
Konfirmasi "Barang Sampai di Kapal" belum bisa dilakukan - masih ada barang pada PR ini yang belum terkirim ke kapal. Konfirmasi baru aktif setelah semua barang terkirim semua.
@endif
@foreach($purchaseRequest->goodsDeliveries as $gd) @endforeach
KodeTanggal KirimItemStatus
{{ $gd->kode }} {{ \Carbon\Carbon::parse($gd->tanggal_kirim)->format('d M Y') }} {{ $gd->items->pluck('nama_barang')->join(', ') }} {{ $gd->statusLabel() }} @if(auth()->user()->canExecuteWarehouseFlow()) Cetak Surat Jalan @endif @if($gd->status == 'dikirim_ke_kapal' && auth()->user()->canConfirmDiterimaKapal()) @if($purchaseRequest->semuaBarangSudahTerkirim()) @csrf @else @endif @if(auth()->user()->canRevertStatus())
@csrf
@endif @endif @if($gd->status == 'selesai') @if(auth()->user()->canRevertKonfirmasiTerima())
@csrf
@endif @if(auth()->user()->canReportReturn()) @endif @endif
{{-- Modal Lapor Barang Lebih - ditaruh di luar tabel supaya tidak ikut ter-hidden oleh baris d-none --}} @if(auth()->user()->canReportReturn()) @foreach($purchaseRequest->goodsDeliveries as $gd) @endforeach @endif @endif @endsection