@php $fmt = static function ($v) { $v = (float) $v; return number_format($v, abs($v - round($v)) > 0.0001 ? 2 : 0, ',', '.'); }; @endphp @if (session('message'))
{{ session('message') }}
@endif @if ($sjr && $this->locked()) {{-- ======================== TAMPILAN DOKUMEN BATAL ======================== --}}

SJ Retur {{ $sjr->document_no }}

Batal
Kembali

No. SJ

{{ $sjr->document_no }}

Tanggal

{{ $sjr->document_date?->format('d/m/Y') }}

Dari Gudang

{{ $sjr->fromWarehouse?->name ?? '-' }}

Ke Gudang

{{ $sjr->toWarehouse?->name ?? '-' }}

PIC

{{ $sjr->pic?->name ?? '-' }}

No. Kendaraan

{{ $sjr->vehicle_no ?? '-' }}

@if ($sjr->remark)

Keterangan

{{ $sjr->remark }}

@endif
@forelse ($sjr->items as $it) @empty @endforelse
Kode Material Satuan Qty Keterangan
{{ $it->inventoryItem?->code ?? '-' }} {{ $it->inventoryItem?->name ?? '-' }} {{ $it->unit?->name ?? '-' }} {{ $fmt($it->quantity) }} {{ $it->description ?: '-' }}
Tidak ada item.

Dokumen ini dibatalkan — efek stok sudah dikembalikan. Hapus hanya tersedia pada status ini.

@error('_form')

{{ $message }}

@enderror
@else {{-- ======================== FORM (BARU / EDIT SAAT AKTIF) ======================== --}}

{{ $sjr ? 'Edit SJ Retur ' . $sjr->document_no : 'Surat Jalan Retur Baru' }}

Mencatat material yang dikembalikan dari satu gudang/bagian ke gudang lain (parity menu legacy "Surat Jalan Retur"). Simpan dokumen = stok keluar dari gudang asal & masuk gudang tujuan.

Kembali
@error('_form')
{{ $message }}
@enderror @if ($sjr)
{{ $this->statusLabel() }} Total qty {{ $fmt(collect($items)->sum('quantity')) }} {{ count($items) }} baris material
@endif
@error('document_date')

{{ $message }}

@enderror
@error('from_warehouse_id')

{{ $message }}

@enderror
@error('to_warehouse_id')

{{ $message }}

@enderror

Detail Item Retur

@forelse ($items as $i => $row) @php $inv = $inventory->firstWhere('id', $row['inventory_item_id'] ?? null); @endphp @empty @endforelse
Material Satuan Stok Asal Qty Retur Keterangan Barang
Belum ada item. Klik "Tambah Baris".
@error('items')

{{ $message }}

@enderror @error('items.*.inventory_item_id')

Material wajib dipilih di setiap baris.

@enderror @error('items.*.quantity')

Qty wajib diisi dan harus lebih dari 0.

@enderror

Menyimpan = stok langsung bergerak: keluar dari gudang asal (TRANSFER_OUT) & masuk gudang tujuan (TRANSFER_IN).

Edit dokumen aktif = efek lama dibatalkan lalu diterapkan ulang (repost). Stok gudang asal tidak boleh negatif saat simpan.

Dokumen yang dibatalkan bisa diaktifkan kembali atau dihapus permanen.

@if ($sjr) Cetak SJ @endif
@endif