@php $fmt = static function ($v) { $v = (float) $v; return number_format($v, abs($v - round($v)) > 0.0001 ? 2 : 0, ',', '.'); }; $totalQty = collect($items)->sum(fn ($r) => (float) ($r['quantity'] ?? 0)); $totalAmount = collect($items)->sum(fn ($r) => (float) ($r['quantity'] ?? 0) * (float) ($r['unit_price'] ?? 0)); @endphp @if (session('message'))
{{ session('message') }}
@endif @if ($sr && $this->locked()) {{-- ======================== TAMPILAN DOKUMEN BATAL ======================== --}}

Penerimaan Solar {{ $sr->document_no }}

Batal
Kembali

No. Penerimaan

{{ $sr->document_no }}

Tanggal

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

Supplier

{{ $sr->supplier?->name ?? '-' }}

Gudang

{{ $sr->warehouse?->name ?? '-' }}

No. Ref Pemasok

{{ $sr->ref_number ?? '-' }}

@if ($sr->remark)

Keterangan

{{ $sr->remark }}

@endif
@forelse ($sr->items as $it) @empty @endforelse
Kode Material Satuan Qty Harga Jumlah
{{ $it->inventoryItem?->code ?? '-' }} {{ $it->inventoryItem?->name ?? '-' }} {{ $it->unit?->name ?? '-' }} {{ $fmt($it->quantity) }} {{ (float) $it->unit_price > 0 ? number_format((float) $it->unit_price, 0, ',', '.') : '-' }} {{ (float) $it->amount > 0 ? number_format((float) $it->amount, 0, ',', '.') : '-' }}
Tidak ada item.

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

@error('_form')

{{ $message }}

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

{{ $sr ? 'Edit Penerimaan Solar ' . $sr->document_no : 'Penerimaan Solar Baru' }}

Mencatat penerimaan BBM & Oli dari pemasok ke gudang (parity menu legacy "Penerimaan Pembelian Solar"). Simpan dokumen = stok solar masuk gudang.

Kembali
@error('_form')
{{ $message }}
@enderror @if ($sr)
{{ $this->statusLabel() }} Total qty {{ $fmt($totalQty) }} @if ($totalAmount > 0)Total Rp {{ number_format($totalAmount, 0, ',', '.') }}@endif {{ count($items) }} baris material
@endif
@error('document_date')

{{ $message }}

@enderror
@error('supplier_id')

{{ $message }}

@enderror
@error('warehouse_id')

{{ $message }}

@enderror

@if ($transfers->isEmpty()) Tidak ada Material Transfer aktif berisi material BBM/Solar yang belum ditarik. @else {{ $transfers->count() }} Material Transfer siap ditarik — gudang penerimaan mengikuti gudang tujuan MT. @endif

@if ($material_transfer_id)

Stok sudah dipindah oleh Material Transfer — dokumen penerimaan ini sebagai bukti terima dan tidak menambah stok lagi.

@endif

Detail Penerimaan (BBM & Oli)

@forelse ($items as $i => $row) @php $inv = $inventory->firstWhere('id', $row['inventory_item_id'] ?? null); @endphp @empty @endforelse @if (count($items)) @endif
Material Satuan Stok Gudang Qty Harga
Belum ada item. Klik "Tambah Baris".
Total {{ $fmt($totalQty) }} @if ($totalAmount > 0)Rp {{ number_format($totalAmount, 0, ',', '.') }}@endif
@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

Hanya item grup BBM & Oli yang tersedia (sesuai legacy grup solar).

Menyimpan = stok langsung bertambah di gudang tujuan (SOLAR_RECEIPT).

Edit dokumen aktif = efek lama dibatalkan lalu diterapkan ulang (repost). Dokumen yang dibatalkan bisa diaktifkan kembali atau dihapus permanen.

@if ($sr) Cetak Slip @endif
@endif