@extends('layouts.master') @section('title', 'Detail Penjualan KSO') @section('styles') @endsection @section('content')

Detail Penjualan KSO

Penjualan → KSO → {{ $kso->nomor_penjualan_kso }}
{{-- Sales: draft --}} @if($kso->isDraft() && auth('internal')->user()->can('penjualan_kso.sales')) Edit @endif {{-- Kepala Sales: disetujui → validasi atau kembalikan --}} @if($kso->isDisetujui() && auth('internal')->user()->can('penjualan_kso.validasi')) @endif {{-- Pajak: valid → selesaikan / kembalikan ke diajukan --}} @if($kso->isValid() && auth('internal')->user()->can('penjualan_kso.pajak')) @if($kso->faktur_ppn_path) @endif @endif {{-- Cetak PDF saat selesai --}} @if($kso->isSelesai()) @can('penjualan_kso.validasi') @endcan {{-- Batal --}} @can('penjualan_kso.batal') @endcan @endif Kembali
@if($kso->alasan_batal)
Dibatalkan: {{ $kso->alasan_batal }} — oleh {{ $kso->dibatalkanOleh?->nama ?? '?' }} {{ $kso->dibatalkan_at?->locale('id')->diffForHumans() }}
@endif @if($kso->alasan_kembali)
Catatan pengembalian: {{ $kso->alasan_kembali }}
@endif
{{-- Info Penjualan --}}
Informasi Penjualan KSO
Nomor KSO
{{ $kso->nomor_penjualan_kso }}
Status
@php $st = match($kso->status) { 'draft_pemakaian' => ['secondary','Draft Pemakaian'], 'divalidasi' => ['primary','Divalidasi'], 'valid' => ['warning','Upload eFaktur PPN'], 'selesai' => ['success','Selesai'], default => ['secondary','-'], }; @endphp {{ $st[1] }}
Tgl. Transaksi
{{ $kso->tanggal_transaksi->format('d/m/Y') }}
Faskes KSO
{{ $kso->nama_faskes }}
Nama Pasien
{{ $kso->nama_pasien }}
Tgl. Pemakaian
{{ $kso->tgl_pemakaian->format('d/m/Y') }}
@if($kso->no_transaksi)
No. Transaksi
{{ $kso->no_transaksi }}
@endif @if($kso->nomor_po)
No. PO
{{ $kso->nomor_po }}
@endif @if($kso->tanggal_penjualan)
Tgl. Penjualan
{{ $kso->tanggal_penjualan->format('d/m/Y') }}
@endif @if($kso->tanggal_jatuh_tempo)
Jatuh Tempo
{{ $kso->tanggal_jatuh_tempo->format('d/m/Y') }}
@endif @if($kso->catatan)
Catatan
{{ $kso->catatan }}
@endif
{{-- Status & Faktur PPN --}}
{{-- Timeline --}}
Timeline Status
@php $doneStatuses = ['diajukan','valid','selesai']; $allStatuses = ['draft_pemakaian','diajukan','valid','selesai']; $curIdx = array_search($kso->status, $allStatuses); @endphp
Draft Pemakaian
@if($kso->dibuatOleh)
oleh {{ $kso->dibuatOleh->nama }}
@endif
Divalidasi
@if($kso->diajukan_at)
oleh {{ $kso->diajukanOleh?->nama }} — {{ $kso->diajukan_at->format('d/m/Y H:i') }}
@endif
Validasi (Kepala Sales)
@if($kso->divalidasi_at)
oleh {{ $kso->divalidasiOleh?->nama }} — {{ $kso->divalidasi_at->format('d/m/Y H:i') }}
@endif
Selesai (Upload PPN)
@if($kso->diselesaikan_at)
oleh {{ $kso->diselesaikanOleh?->nama }} — {{ $kso->diselesaikan_at->format('d/m/Y H:i') }}
@endif
{{-- Faktur PPN --}} @if($kso->isValid() || $kso->isSelesai())
eFaktur PPN
@if($kso->faktur_ppn_path)
Faktur PPN Terupload
Buka PDF
@can('penjualan_kso.pajak') @if($kso->isValid()) @endif @endcan @else @can('penjualan_kso.pajak') @if($kso->isValid())
Drag & drop atau klik untuk upload eFaktur PPN (PDF)
@endif @endcan @if(!$kso->faktur_ppn_path)
Belum ada faktur
@endif @endif
@endif
{{-- Tabel Barang --}}
Daftar Barang
@foreach($kso->items as $i => $item) @endforeach
No. Barang Ukuran Satuan Qty Harga Jual Subtotal Lot (Stok KSO)
{{ $i + 1 }}
{{ $item->nama_barang }}
{{ $item->kode_barang }}
{{ $item->ukuran ?: '—' }} {{ $item->satuan }} {{ $item->qty }} Rp {{ number_format($item->harga_jual, 0, ',', '.') }} Rp {{ number_format($item->subtotal, 0, ',', '.') }} @if($item->itemStoks->isNotEmpty()) @foreach($item->itemStoks as $lot)
{{ $lot->no_lot ?: 'Tanpa lot' }} — ED: {{ $lot->tanggal_kedaluwarsa?->format('d/m/Y') ?? '—' }} — Qty: {{ $lot->qty_ambil }}
@endforeach @else — @endif
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, ',', '.') }}
{{-- Modal Alasan --}} {{-- Modal PDF Preview --}} @endsection @section('scripts') @endsection