{{ $variables['judul'] }}
| 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') : '-' }} |
| 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 |
| Catatan | : {{ $data->notes }} |
Item SPB
| 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) }} | |||||||||||