@extends('layouts/base_view') @section('title') {!! $variables['header_routes'] !!} @endsection @section('content')

{{ $variables['judul'] }}

@if($data->status != 'Approved') Ubah Hapus @endif @if($data->status == 'Approved') @endif Kembali
Nomor SPB : {{ $data->spb_number }}
Store : {{ $data->store->name ?? '-' }}
Tipe Permintaan : {{ $data->request_type }}
Status : @if($data->status == 'Draft') {{ $data->status }} @elseif($data->status == 'Submitted') {{ $data->status }} @elseif($data->status == 'Approved') {{ $data->status }} @else {{ $data->status }} @endif
Tanggal Permintaan : {{ $data->request_date->format('d/m/Y') }}
Tanggal Pengiriman : {{ $data->delivery_date ? $data->delivery_date->format('d/m/Y') : '-' }}
@if($data->csv_generated_at) @endif
Stock Opname : @if($data->stockOpname) {{ $data->stockOpname->so_number }} @else - @endif
Jadwal Pengiriman : @if($data->ShipmentDelivery) {{ $data->ShipmentDelivery->day_name }} - {{ $data->ShipmentDelivery->armadaType->name ?? '' }} @else - @endif
Dibuat Oleh : {{ $data->creator->fullname ?? 'System' }} ({{ $data->created_at->format('d/m/Y H:i') }})
Diubah Oleh : {{ $data->modificator->fullname ?? '-' }} ({{ $data->updated_at ? $data->updated_at->format('d/m/Y H:i') : '-' }})
CSV Dibuat : {{ $data->csvGeneratedBy->name ?? 'System' }} ({{ $data->csv_generated_at->format('d/m/Y H:i') }})
Total Item : {{ count($data->details) }} item
@if($data->notes)
Catatan : {{ $data->notes }}
@endif
Item SPB
@forelse($data->details as $index => $detail) @empty @endforelse @if(count($data->details) > 0) @endif
No Kode Item UOM Forecast Qty SO Qty TSM Saran Penyesuaian Qty Final Alert Forecast Status DOI Catatan
{{ $index + 1 }} {{ $detail->rawMaterial->code ?? '' }} {{ $detail->rawMaterial->name ?? '' }} {{ $detail->rawMaterial->uom ?? '' }} {{ number_format($detail->forecast_qty, 2) }} {{ number_format($detail->so_qty, 2) }} {{ number_format($detail->tsm_qty, 2) }} {{ number_format($detail->suggested_qty, 2) }} {{ number_format($detail->adjusted_qty, 2) }} {{ number_format($detail->final_qty, 2) }} @php $forecastQty = $detail->forecast_qty; $finalQty = $detail->final_qty; $variance = $forecastQty > 0 ? (($finalQty - $forecastQty) / $forecastQty) * 100 : 0; if ($finalQty > $forecastQty) { if ($variance > 20) { $alertClass = 'danger'; $alertText = 'Over +' . number_format($variance, 1) . '%'; } else { $alertClass = 'warning'; $alertText = 'Over +' . number_format($variance, 1) . '%'; } } elseif ($finalQty < $forecastQty) { if (abs($variance)> 20) { $alertClass = 'info'; $alertText = 'Under -' . number_format(abs($variance), 1) . '%'; } else { $alertClass = 'secondary'; $alertText = 'Under -' . number_format(abs($variance), 1) . '%'; } } else { $alertClass = 'success'; $alertText = 'Match'; } @endphp @if($forecastQty > 0) {{ $alertText }} @else Tidak Ada Forecast @endif @if($detail->alert_status) {{ $detail->alert_status }} @else - @endif {{ $detail->notes ?? '-' }}
Tidak ada item ditemukan
Total Qty Final: {{ number_format($data->details->sum('final_qty'), 2) }}
@method('delete') @csrf
@endsection