{{-- KOP --}}
{{ $profile->nama_perusahaan }}
{{ $profile->alamat }}
@if($profile->no_telp_1)
Telp: {{ $profile->no_telp_1 }}{{ $profile->no_telp_2 ? ' / ' . $profile->no_telp_2 : '' }}
@endif
Bukti Pemakaian Barang
{{ $kso->nomor_penjualan_kso }}
@if(in_array($kso->status, ['divalidasi','valid','selesai']))
Divalidasi
@endif
{{-- INFO --}} @if($kso->catatan) @endif
Nama Faskes : {{ $kso->nama_faskes }} Jenis Pasien : {{ $kso->jenis_pasien ?: '—' }}
Nama Pasien : {{ $kso->nama_pasien }} Nama Dokter : {{ $kso->nama_dokter ?: '—' }}
No. Rekam Medis : {{ $kso->no_rm ?: '—' }} Tgl. Pemakaian : {{ $kso->tgl_pemakaian->format('d/m/Y') }}
Catatan : {{ $kso->catatan }}
{{-- DAFTAR BARANG --}}
Daftar Barang
@foreach($kso->items as $i => $item) @php $jenisNie = $item->barang?->jenis_nie ?? $item->barang?->merekBarang?->jenis_nie; $noNie = $item->barang?->no_nie ?? $item->barang?->merekBarang?->no_nie; $stoks = $item->itemStoks; $nomorKirims = array_map('trim', explode(',', $item->nomor_kirim ?? '')); @endphp @forelse($stoks as $li => $lot) @empty @endforelse @endforeach
No. Nama Barang Qty Satuan No. Transaksi Harga Jual Subtotal No. Surat Jalan / Info Stok
{{ $i + 1 }} {{ $item->nama_barang }} @if($item->barang?->manufaktur)
{{ $item->barang->manufaktur }}
@endif @if($jenisNie || $noNie)
{{ $jenisNie }}{{ ($jenisNie && $noNie) ? ' · ' : '' }}{{ $noNie }}
@endif
{{ $lot->qty_ambil }} {{ $item->satuan }} {{ $item->no_transaksi ?: '—' }} Rp {{ number_format($item->harga_jual, 0, ',', '.') }} Rp {{ number_format($lot->qty_ambil * $item->harga_jual, 0, ',', '.') }} @php $noSJ = $lot->nomor_sj ?: $lot->suratJalanLot?->nomor_sj ?: ($lot->suratJalanLot?->ppb?->nomor ?: ($nomorKirims[$li] ?? $nomorKirims[0] ?? null)); @endphp @if($noSJ)
{{ $noSJ }}
@endif {{ $lot->no_lot ?: 'Tanpa Lot' }} @if($lot->stok?->no_serial) / {{ $lot->stok->no_serial }}@endif @if($lot->tanggal_kedaluwarsa) · ED {{ $lot->tanggal_kedaluwarsa->format('m/Y') }}@endif
{{ $i + 1 }} {{ $item->nama_barang }} @if($item->barang?->manufaktur)
{{ $item->barang->manufaktur }}
@endif @if($jenisNie || $noNie)
{{ $jenisNie }}{{ ($jenisNie && $noNie) ? ' · ' : '' }}{{ $noNie }}
@endif
{{ $item->qty }} {{ $item->satuan }} {{ $item->no_transaksi ?: '—' }} Rp {{ number_format($item->harga_jual, 0, ',', '.') }} Rp {{ number_format($item->qty * $item->harga_jual, 0, ',', '.') }} @if($nomorKirims[0] ?? null)
{{ $nomorKirims[0] }}
@endif —
{{-- TOTAL --}}
Subtotal Rp {{ number_format($kso->subtotal, 0, ',', '.') }}
DPP (11/12 × Subtotal) Rp {{ number_format($kso->dpp, 0, ',', '.') }}
PPN 12% Rp {{ number_format($kso->ppn, 0, ',', '.') }}
Total Harga Rp {{ number_format($kso->total_harga, 0, ',', '.') }}
{{-- Foto --}} @if($fotoBase64 ?? null)
Foto Pemakaian
@endif {{-- TTD --}}
Divalidasi oleh
{{ $kso->diajukanOleh?->nama ?? '_______________' }}
@if($kso->diajukan_at)
{{ $kso->diajukan_at->format('d/m/Y H:i') }}
@endif
{{-- ===== PAGE 2 — RIWAYAT AKTIVITAS ===== --}}
@php \Carbon\Carbon::setLocale('id'); $fmtTglJam = fn($d) => $d ? \Carbon\Carbon::parse($d)->translatedFormat('d F Y, H:i') : '—'; @endphp {{-- KOP ulang --}}
@if($logoBase64 ?? null)
@endif
{{ $profile->nama_perusahaan }}
{{ $profile->alamat }}
@if($profile->no_telp_1)
Telp: {{ $profile->no_telp_1 }}
@endif
Riwayat Aktivitas
{{ $kso->nomor_penjualan_kso }}
@php $sMapPemakaian = ['draft_pemakaian'=>'Draft','direvisi_ke_draft'=>'Direvisi ke Draft','divalidasi'=>'Divalidasi','valid'=>'Valid','selesai'=>'Selesai','dibatalkan'=>'Dibatalkan']; $sMapFaktur = ['draft'=>'Draft','divalidasi'=>'Divalidasi','cetak_dokumen'=>'Cetak Dokumen','selesai'=>'Selesai','dibatalkan'=>'Dibatalkan']; @endphp {{-- Aktivitas Pemakaian --}}
Pemakaian Barang
@if($logs->isEmpty())

Tidak ada riwayat aktivitas.

@else @foreach($logs as $i => $log) @endforeach
Waktu Pengguna Aktivitas Keterangan
{{ $log->created_at->format('d/m/Y H:i') }} {{ $log->causer?->nama ?? 'Sistem' }} {{ $log->description }} @php $props = $log->properties ?? collect(); $parts = []; $sBefore = $props->get('status_sebelum'); $sAfter = $props->get('status_sesudah',''); if ($sBefore) $parts[] = ($sMapPemakaian[$sBefore] ?? $sBefore) . ' -> ' . ($sMapPemakaian[$sAfter] ?? $sAfter); elseif ($sAfter) $parts[] = 'Status: ' . ($sMapPemakaian[$sAfter] ?? $sAfter); if ($props->get('alasan')) $parts[] = $props->get('alasan'); if ($props->get('faktur_terdampak')) $parts[] = 'Faktur: ' . implode(', ', (array)$props->get('faktur_terdampak')); @endphp {{ implode(' | ', $parts) ?: '—' }}
@endif {{-- Aktivitas Faktur Penjualan KSO --}} @if(($fakturLogs ?? collect())->isNotEmpty())
Faktur Penjualan KSO @foreach($kso->faktur as $fkt) — {{ $fkt->nomor }}{{ !$loop->last ? ', ' : '' }} @endforeach
@foreach($fakturLogs as $i => $log) @endforeach
Waktu Pengguna Aktivitas Keterangan
{{ $log->created_at->format('d/m/Y H:i') }} {{ $log->causer?->nama ?? 'Sistem' }} {{ $log->description }} @php $props = $log->properties ?? collect(); $parts = []; $sBefore = $props->get('status_sebelum'); $sAfter = $props->get('status_sesudah',''); if ($sBefore) $parts[] = ($sMapFaktur[$sBefore] ?? $sBefore) . ' -> ' . ($sMapFaktur[$sAfter] ?? $sAfter); elseif ($sAfter) $parts[] = 'Status: ' . ($sMapFaktur[$sAfter] ?? $sAfter); if ($props->get('alasan')) $parts[] = $props->get('alasan'); if ($props->get('nomor_efaktur')) $parts[] = 'eFaktur: ' . $props->get('nomor_efaktur'); @endphp {{ implode(' | ', $parts) ?: '—' }}
@endif
{{-- .page2 --}}