@extends('layouts.master') @section('title', 'Detail Penerimaan — ' . $penerimaan->nomor_penerimaan) @section('styles') @endsection @php $grouped = $penerimaan->items->groupBy(function ($item) { return ($item->purchase_order_item_id ?? 'manual') . '_' . $item->barang_id; })->values(); @endphp @section('content')

{{ $penerimaan->nomor_penerimaan }}

Gudang → Penerimaan Barang → Detail
@if($penerimaan->isDraft() ? auth('internal')->user()->can('penerimaan.edit') : auth('internal')->user()->can('penerimaan.validasi')) {{ $penerimaan->isDraft() ? 'Edit' : 'Koreksi Data' }} @endif @if($penerimaan->isDraft()) @can('penerimaan.validasi') @endcan @can('penerimaan.delete') @endcan @endif @if($penerimaan->isSelesai()) @endif Kembali
{{-- Info Header --}}
Informasi Penerimaan
No. Penerimaan
{{ $penerimaan->nomor_penerimaan }}
Tanggal Terima
{{ $penerimaan->tanggal_terima->format('d-m-Y') }}
No. PO
@if($penerimaan->purchaseOrder) {{ $penerimaan->purchaseOrder->nomor_po }} @else — @endif
Status
@if($penerimaan->isDraft()) Draft @else Tervalidasi @endif
@if($penerimaan->catatan)
Catatan
{{ $penerimaan->catatan }}
@endif @if($penerimaan->isSelesai())
Divalidasi Oleh
{{ $penerimaan->diselesaikanOleh->nama ?? '—' }}
Divalidasi Pada
{{ $penerimaan->diselesaikan_at?->format('d-m-Y H:i') ?? '—' }}
@endif
Dibuat Oleh
{{ $penerimaan->dibuatOleh->nama ?? '—' }}
{{-- Foto Global --}}
Foto Penerimaan
@if($penerimaan->fotos->isNotEmpty())
@foreach($penerimaan->fotos as $foto) @endforeach
@else

Tidak ada foto.

@endif
{{-- Tabel Item --}}
Daftar Barang
{{ $grouped->count() }} jenis · {{ number_format($penerimaan->items->sum('qty_diterima')) }} pcs total
@forelse($grouped as $no => $lots) @php $first = $lots->first(); $totalQty = $lots->sum('qty_diterima'); $hasRusak = $lots->contains(fn($l) => $l->kondisi === 'rusak'); @endphp @empty @endforelse @if($grouped->isNotEmpty()) @endif
No Kode / Nama Barang Merek Ukuran Qty Pesan Qty Terima Kondisi Detail LOT
{{ $no + 1 }}
{{ $first->nama_barang }}
@if($first->kode_barang)
{{ $first->kode_barang }}
@endif
{{ $first->merek_barang ?: '—' }} {{ $first->ukuran ?: '—' }} {{ $first->qty_pesan ?: '—' }} {{ number_format($totalQty) }} @if($hasRusak) Ada Rusak @else Baik @endif
Tidak ada item.
Total Qty Diterima {{ number_format($penerimaan->items->sum('qty_diterima')) }}
{{-- Riwayat Aktivitas --}}
Riwayat Aktivitas
@if($riwayat->isEmpty())

Belum ada riwayat.

@else
    @foreach($riwayat as $log)
  • @php $icon = match(true) { str_starts_with($log->description, 'Dibuat') => 'bx-plus-circle text-primary', str_starts_with($log->description, 'Divalidasi') => 'bx-check-circle text-success', str_starts_with($log->description, 'Dihapus') => 'bx-trash text-danger', str_starts_with($log->description, 'Dikoreksi') => 'bx-edit text-warning', default => 'bx-edit-alt text-secondary', }; @endphp
    {{ $log->description }}
    {{ $log->causer?->nama ?? 'Sistem' }} · {{ $log->created_at->format('d-m-Y H:i') }}
    @if($log->properties->has('perubahan') && count($log->properties['perubahan']))
      @foreach($log->properties['perubahan'] as $p)
    • {{ $p }}
    • @endforeach
    @endif
  • @endforeach
@endif
{{-- Modal Preview PDF --}} {{-- Modal Detail LOT --}} @endsection @section('scripts') @endsection