@extends('layouts.app') @section('title', 'Ingredient — '.$ingredient->name) @section('actions') Edit
@csrf @method('DELETE')
@endsection @section('content') @php use App\Models\Ingredient; $availGrams = (float) $ingredient->available_quantity_grams; @endphp
Category
{{ $ingredient->category->name ?? '—' }}
Available Stock
{{ Ingredient::formatGrams($availGrams) }} @if($ingredient->isOutOfStock())Out@elseif($ingredient->isLowStock())Low@endif
Total Purchased
{{ Ingredient::formatGrams($purchasedGrams) }}
Total Used
{{ Ingredient::formatGrams($usedGrams) }}
Add Supplier Entry (Add Stock)
@csrf
@foreach($supplierNames as $sn)
Unit price:
Quick Use / Deduct Stock
@csrf
Full Usage Page
Supplier-wise Available Stock
@forelse($supplierBreakdown as $row) @empty @endforelse @if($supplierBreakdown->count()) @endif
SupplierTotal QuantityTotal Value
{{ $row->supplier_name }} {{ Ingredient::formatGrams($row->total_grams) }} {{ number_format($row->total_value, 2) }}
No supplier entries yet.
Total{{ Ingredient::formatGrams($supplierTotalGrams) }}{{ number_format($supplierTotalValue, 2) }}
Stock Movement History
@php $movements = collect(); foreach($ingredient->stockEntries as $e){ $movements->push(['date'=>$e->date,'type'=>'IN','grams'=>$e->quantity_in_grams,'detail'=>Ingredient::trimNum($e->quantity).' '.$e->unit.' from '.$e->supplier_name.' ('.number_format($e->total_price,2).')','del'=>route('entries.destroy',$e)]); } foreach($ingredient->usages as $us){ $movements->push(['date'=>$us->usage_date,'type'=>'OUT','grams'=>$us->quantity_in_grams,'detail'=>'Used '.Ingredient::trimNum($us->quantity).' '.$us->unit.($us->notes? ' — '.$us->notes:''),'del'=>route('ingredient-usages.destroy',$us)]); } $movements = $movements->sortByDesc('date'); @endphp
@forelse($movements as $m) @empty @endforelse
DateTypeQtyDetail
{{ $m['date']->format('d M Y') }} {{ $m['type'] }} {{ Ingredient::formatGrams($m['grams']) }} {{ $m['detail'] }}
@csrf @method('DELETE')
No stock movements yet.
@endsection