@extends('layouts.app') @section('title', 'Food Cost') @section('content') @php $money = fn ($v) => \App\Support\Fmt::money($v); $num = fn ($v) => \App\Support\Fmt::plain($v, 2); $signedMoney = fn ($v) => \App\Support\Fmt::signedMoney($v); $bandMeaning = [ 'Healthy' => 'Variance within 2%', 'Watch' => 'Variance between 2% and 5%', 'Flagged' => 'Variance above 5%', ]; $sortLink = function (string $key) use ($period, $band, $sort, $dir) { return route('kitchen.food-cost', [ 'period' => $period, 'band' => $band, 'sort' => $key, 'dir' => ($sort === $key && $dir === 'desc') ? 'asc' : 'desc', ]); }; $sortHead = function (string $key, string $label, bool $right = true) use ($sort, $dir, $sortLink) { return '
Theoretical against actual usage, banded by variance
| {{ $row['item'] }} | {{ $num($row['theoretical']) }} | {{ $num($row['actual']) }} | {{ $row['variance'] > 0 ? '+' : '' }}{{ $num($row['variance']) }} | {{ $num($row['variancePct'], 1) }}% | {{ $money($row['should_cost']) }} | {{ $money($row['did_cost']) }} | {{ $signedMoney($row['diff']) }} | @include('kitchen.partials.band', ['band' => $row['band']]) |
| No items in this band. | ||||||||
| Totals ({{ $band === 'all' ? 'all bands' : $band }}) | {{ $num($rows->sum('theoretical')) }} | {{ $num($rows->sum('actual')) }} | {{ $num($rows->sum('variance')) }} | {{ $money($rows->sum('should_cost')) }} | {{ $money($rows->sum('did_cost')) }} | {{ $signedMoney($rows->sum('diff')) }} | ||