@extends('layouts.master') @section('title') استلام فاتورة مشتريات {{ $purchase->orderId }} @endsection @section('page-header') @endsection @section('content') @include('financial_years.partials.alerts') @php $waiting = in_array($purchase->receipt_status, ['pending', 'partial'], true); $open = $waiting && ($canConfirm ?? false); $canPartial = auth()->user()->can('warehouse_receipts_partial') || auth()->user()->can('warehouse_receipts_manage'); $canPrint = auth()->user()->can('warehouse_receipts_print') || auth()->user()->can('warehouse_receipts_manage'); @endphp
@if ($waiting && !$open)
هذه الفاتورة مسندة لأمين المستودع ({{ $keeper->name ?? '-' }}) — هو بس اللي يقدر يأكد سند الاستلام.
@elseif (!$open)
{{ $purchase->receipt_status === 'received' ? 'تم استلام هذه الفاتورة بالكامل (والباقي اترجع للمورد قبل الاستلام إن وُجد).' : ($purchase->receipt_status === 'returned' ? 'الفاتورة اترجعت كلها للمورد قبل الاستلام — مفيش حاجة تتستلم.' : 'هذه الفاتورة لا تنتظر استلاماً.') }}
@endif
@csrf
@foreach ($details as $i => $d) @php $ordered = \App\Services\Accounting\WarehouseReceiptService::ordered($d); $remaining = \App\Services\Accounting\WarehouseReceiptService::remaining($d); $fmt = fn ($v) => rtrim(rtrim(number_format($v, 4, '.', ''), '0'), '.'); @endphp @php $retU = \App\Services\Accounting\WarehouseReceiptService::returnedUnreceived($d); @endphp @endforeach
# كود الصنف الصنف الكمية في الفاتورة المستلم سابقاً مرتجع قبل الاستلام المتبقي الكمية المستلمة الآن
{{ $i + 1 }} {{ $productCodes[$d->product_id] ?? '-' }} {{ $d->product_name }} {{ $fmt($ordered) }} {{ $fmt($d->received_qty) }} @if ($retU > 0) {{ $fmt($retU) }}
لم تُستلم — بدون إذن
@else - @endif
{{ $fmt($remaining) }} @if ($open && $remaining > 0) @else ✓ @endif
@if ($open)
@if ($canPartial) @endif
@if ($canPartial) لاستلام جزئي: اكتب الكمية الموجودة فعلاً لكل صنف، واترك الباقي. المتبقي يظل في انتظار سند استلام لاحق. @else استلام كلي فقط (ليس لديك صلاحية الاستلام الجزئي) — لو الكمية ناقصة بلّغ المسؤول. @endif @endif
@if ($receipts->count())
سندات الاستلام السابقة لهذه الفاتورة
@foreach ($receipts as $r) @php $effective = $r->getEffectiveStatus(); $fmt = fn ($v) => rtrim(rtrim(number_format($v, 4, '.', ''), '0'), '.'); @endphp @endforeach
رقم السندالنوعالتاريخبواسطةالكمية المستلمةمرتجع قبل الاستلامالقيمةرقم القيد
{{ $r->id }} @if ($effective['is_complete']) كامل @else جزئي @endif {{ $r->created_at->format('Y-m-d H:i') }} {{ $r->receiver->name ?? '-' }} {{ $fmt($effective['received_qty']) }} @if ($effective['returned_unreceived_qty'] > 0) {{ $fmt($effective['returned_unreceived_qty']) }}
لم تُستلم
@else - @endif
{{ number_format($r->total_value, 2) }} {{ $r->dely_record ?: '-' }} @if ($canPrint)طباعة@endif
@endif @endsection @section('js') @endsection