@extends('layouts.admin-simple') @section('title', $item->item_description) @section('breadcrumb') @endsection @section('page-title')

{{ $item->item_description }}

Item Code: {{ $item->item_code }}

arrow_back Back to List
@endsection @section('content')
Item Information
Basic Information
Item Code
{{ $item->item_code }}
Item Description
{{ $item->item_description }}
Category
@if($item->category) {{ $item->category->category_name }} @else No category assigned @endif
Unit of Measure
{{ $item->unit ? $item->unit->display_name : $item->unit_of_measure }}
Status
@if($item->status === 'active') Active @elseif($item->status === 'inactive') Inactive @else {{ ucfirst($item->status) }} @endif
Created Date
{{ $item->created_at->format('M d, Y H:i') }}
Last Updated
{{ $item->updated_at->format('M d, Y H:i') }}
Stock Information
Min Stock Level
{{ $item->min_stock_level ?: 'Not set' }}
Max Stock Level
{{ $item->max_stock_level ?: 'Not set' }}
Reorder Point
{{ $item->reorder_point ?: 'Not set' }}
Current Stock
@php $totalStock = $item->inventories->sum('quantity_available'); @endphp {{ $totalStock }} {{ $item->unit ? $item->unit->unit_symbol : $item->unit_of_measure }}
Stock Locations
{{ $item->inventories->count() }} location(s)
@if($item->notes)
Notes

{{ $item->notes }}

@endif
@if($item->stockMovements->count() > 0)
Recent Stock Movements
Last 10 movements
@foreach($item->stockMovements()->latest()->take(10)->get() as $movement) @php // Get reference number based on reference_type $referenceNumber = 'N/A'; $reference = null; // Map reference_type to model class $referenceModel = match($movement->reference_type) { 'incoming' => \App\Models\Warehouse\IncomingTransaction::class, 'supplier_delivery', 'material_request', 'foc_transfer' => \App\Models\Warehouse\IncomingOperation::class, 'outgoing', 'OutgoingTransaction' => \App\Models\Warehouse\OutgoingTransaction::class, 'return' => \App\Models\Warehouse\ReturnTransaction::class, 'DirectDelivery', 'direct_delivery', 'App\Models\DirectDelivery' => \App\Models\DirectDelivery::class, 'MaterialTransferRequest', 'material_transfer', 'App\Models\Warehouse\MaterialTransferRequest' => \App\Models\Warehouse\MaterialTransferRequest::class, 'material_transfer_issue' => \App\Models\Warehouse\MaterialTransferIssue::class, 'site_transfer' => \App\Models\Warehouse\MaterialSiteTransfer::class, 'opening_stock_import', 'condition_conversion' => \App\Models\Warehouse\IncomingOperation::class, default => null }; if ($referenceModel && $movement->reference_id) { $reference = $referenceModel::find($movement->reference_id); } if ($reference) { if (method_exists($reference, 'getReferenceNumberAttribute') || isset($reference->reference_number)) { $referenceNumber = $reference->reference_number; } elseif (isset($reference->operation_number)) { $referenceNumber = $reference->operation_number; } elseif (isset($reference->material_request_number)) { $referenceNumber = $reference->material_request_number; } elseif (isset($reference->return_number)) { $referenceNumber = $reference->return_number; } elseif (isset($reference->delivery_note_number)) { $referenceNumber = $reference->delivery_note_number ?: $reference->lpo_number; } elseif (isset($reference->lpo_number)) { $referenceNumber = $reference->lpo_number; } elseif (isset($reference->transfer_request_number)) { $referenceNumber = $reference->transfer_request_number; } elseif (isset($reference->delivery_number)) { $referenceNumber = $reference->delivery_number; } else { $referenceNumber = strtoupper(str_replace('_', '-', $movement->reference_type)) . '-' . str_pad($reference->id, 6, '0', STR_PAD_LEFT); } } elseif ($movement->reference_type === 'stock_adjustment') { $referenceNumber = 'ADJ-' . str_pad($movement->id, 6, '0', STR_PAD_LEFT); } elseif ($movement->reference_type) { $referenceNumber = strtoupper(str_replace('_', '-', $movement->reference_type)) . '-' . str_pad($movement->reference_id, 6, '0', STR_PAD_LEFT); } // Determine badge class based on movement type $badgeClass = match($movement->movement_type) { 'in' => 'badge-success', 'out' => 'badge-danger', 'return' => 'badge-info', 'adjustment' => 'badge-warning', 'transfer' => 'badge-primary', default => 'badge-secondary' }; $badgeText = match($movement->movement_type) { 'in' => 'Stock In', 'out' => 'Stock Out', 'return' => 'Return', 'adjustment' => 'Adjustment', 'transfer' => 'Transfer', default => ucfirst($movement->movement_type) }; // Determine if this movement increases or decreases stock $isIncrease = in_array($movement->movement_type, ['in', 'return', 'transfer_in']) || ($movement->movement_type === 'adjustment' && $movement->quantity_after > $movement->quantity_before); @endphp @endforeach
Date Type Quantity Reference Notes
{{ $movement->created_at->format('M d, Y H:i') }} {{ $badgeText }} @if($isIncrease) +{{ number_format($movement->quantity_moved, 2) }} @else -{{ number_format($movement->quantity_moved, 2) }} @endif {{ $item->unit ? $item->unit->unit_symbol : $item->unit_of_measure }} {{ $referenceNumber }} {{ $movement->notes ?? '-' }}
@endif @endsection