@extends('layouts.app') @section('content')

تقرير حركة الأصناف

عرض جميع حركات الأصناف في المخازن

@if(session('success'))

{{ session('success') }}

@endif
@if($movements->count() > 0)

إجمالي الوارد

{{ number_format($movements->where('effect', 'receipt')->sum('quantity'), 2) }}

إجمالي المنصرف

{{ number_format($movements->where('effect', 'issue')->sum('quantity'), 2) }}

الرصيد الحالي

@php $inTotal = $movements->where('effect', 'receipt')->sum('quantity') ?? 0; $outTotal = $movements->where('effect', 'issue')->sum('quantity') ?? 0; $transferTotal = 0; // حساب تأثير التحويلات بناءً على المخزن المختار $warehouseFilter = request('warehouse_id'); if($warehouseFilter) { foreach($movements->where('effect', 'transfer') as $transfer) { if($transfer->to_warehouse_id == $warehouseFilter) { $transferTotal += $transfer->quantity; } elseif($transfer->from_warehouse_id == $warehouseFilter) { $transferTotal -= $transfer->quantity; } } } $finalBalance = $inTotal - $outTotal + $transferTotal; @endphp {{ number_format($finalBalance, 2) }}

@endif
@forelse($movements as $movement) @php $runningBalance = 0; $isInbound = $movement->effect === 'receipt'; $isOutbound = $movement->effect === 'issue'; $isTransfer = $movement->effect === 'transfer'; $warehouseFilter = request('warehouse_id'); // حساب الرصيد التراكمي foreach($movements as $mov) { if($mov->id === $movement->id) break; if($mov->effect === 'receipt') { $runningBalance += $mov->quantity; } elseif($mov->effect === 'issue') { $runningBalance -= $mov->quantity; } elseif($mov->effect === 'transfer' && $warehouseFilter) { // للتحويلات، نحتاج لمعرفة اتجاه التحويل بناءً على المخزن المختار if($mov->to_warehouse_id == $warehouseFilter) { $runningBalance += $mov->quantity; } elseif($mov->from_warehouse_id == $warehouseFilter) { $runningBalance -= $mov->quantity; } } } // إضافة تأثير الحركة الحالية if($isInbound) { $runningBalance += $movement->quantity; } elseif($isOutbound) { $runningBalance -= $movement->quantity; } elseif($isTransfer && $warehouseFilter) { // حساب التأثير للتحويل الحالي if($movement->to_warehouse_id == $warehouseFilter) { $runningBalance += $movement->quantity; } elseif($movement->from_warehouse_id == $warehouseFilter) { $runningBalance -= $movement->quantity; } } @endphp @empty @endforelse
# التاريخ نوع الحركة الصنف وارد منصرف تحويل الرصيد الوحدة المستند الملاحظات
{{ $loop->iteration }} {{ $movement->document_date ? \Carbon\Carbon::parse($movement->document_date)->format('Y-m-d') : '-' }} @if($isInbound) وارد @elseif($isOutbound) منصرف @else تحويل @endif
{{ $movement->item_name ?? '-' }}
{{ $movement->item_code ?? '' }}
@if($isInbound) {{ number_format($movement->quantity, 2) }} @else - @endif @if($isOutbound) {{ number_format($movement->quantity, 2) }} @else - @endif @if($isTransfer) {{ $movement->from_warehouse ? $movement->from_warehouse . ' → ' : '' }}{{ $movement->to_warehouse }}
{{ number_format($movement->quantity, 2) }}
@else - @endif
{{ number_format($runningBalance, 2) }} {{ $movement->unit_name ?? '-' }} {{ $movement->document_number ?? '-' }}
@if($isInbound) استقبال @elseif($isOutbound) صرف @else تحويل @endif
@if($movement->notes) {{ Str::limit($movement->notes, 25) }} @else - @endif

لا توجد حركات حالياً

حاول تغيير معايير البحث

@endsection