@php $record = $this->getRecord(); $fmt = fn($v) => 'Rp ' . number_format((float)$v, 0, ',', '.'); $fmtSigned = function($v) { $v = (float)$v; $sign = $v >= 0 ? '+' : ''; return $sign . 'Rp ' . number_format(abs($v), 0, ',', '.'); }; $diffClass = fn($v) => (float)$v >= 0 ? 'text-green-600 dark:text-green-400' : 'text-red-500 dark:text-red-400'; @endphp {{-- Header: Record Info + Export --}}

Forecasting

{{ $record->month }} {{ $record->year }}

{{-- Beginning Balance --}}
Saldo Awal {{ $fmt($record->beginning_balance) }}
{{-- 3-Scenario Summary Cards --}} @php $scenarios = [ [ 'label' => 'Real', 'color' => 'blue', 'income' => $record->income_total_nominal_real, 'expense' => $record->expense_total_nominal_real, 'profit' => $record->estimated_profit_real, 'ending' => $record->ending_balance_real, ], [ 'label' => 'Estimated (Target)', 'color' => 'purple', 'income' => $record->income_total_nominal_target, 'expense' => $record->expense_total_nominal_target, 'profit' => $record->estimated_profit_target, 'ending' => $record->ending_balance_target, ], [ 'label' => 'Real Income / Est. Expenses', 'color' => 'amber', 'income' => $record->income_total_nominal_real_income_estimated_expenses, 'expense' => $record->expense_total_nominal_real_income_estimated_expenses, 'profit' => $record->estimated_profit_real_income_estimated_expenses, 'ending' => $record->ending_balance_real_income_estimated_expenses, ], ]; $colorMap = [ 'blue' => ['bg' => 'bg-blue-50 dark:bg-blue-950/30', 'badge' => 'bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300', 'profit_pos' => 'text-blue-600 dark:text-blue-400'], 'purple' => ['bg' => 'bg-purple-50 dark:bg-purple-950/30','badge' => 'bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300','profit_pos' => 'text-purple-600 dark:text-purple-400'], 'amber' => ['bg' => 'bg-amber-50 dark:bg-amber-950/30', 'badge' => 'bg-amber-100 text-amber-700 dark:bg-amber-900 dark:text-amber-300', 'profit_pos' => 'text-amber-600 dark:text-amber-400'], ]; @endphp
@foreach($scenarios as $s) @php $c = $colorMap[$s['color']]; $profit = (float)$s['profit']; @endphp
{{ $s['label'] }}

Total Income

{{ $fmt($s['income']) }}

Total Expense

{{ $fmt($s['expense']) }}

Est. Profit

{{ $fmt($profit) }}

Ending Balance

{{ $fmt($s['ending']) }}

@endforeach
{{-- Real vs Target Comparison --}} @php $incDiff = (float)$record->income_total_nominal_real - (float)$record->income_total_nominal_target; $expDiff = (float)$record->expense_total_nominal_real - (float)$record->expense_total_nominal_target; $profitDiff = (float)$record->estimated_profit_real - (float)$record->estimated_profit_target; @endphp

Income vs Target

{{ $fmtSigned($incDiff) }}

Expense vs Target

{{ $fmtSigned($expDiff) }}

Profit vs Target

{{ $fmtSigned($profitDiff) }}

{{-- Income & Expense Breakdown --}}
{{-- Estimated Incomes --}}

Estimasi Pendapatan

@if($record->estimatedIncomes->isEmpty())

Belum ada item.

@else @foreach($record->estimatedIncomes as $item) @endforeach
Deskripsi Real Target
{{ $item->description }} {{ $fmt($item->nominal_real) }} {{ $fmt($item->nominal_target) }}
Total {{ $fmt($record->income_total_nominal_real) }} {{ $fmt($record->income_total_nominal_target) }}
@endif
{{-- Estimated Expenses --}}

Estimasi Pengeluaran

@if($record->estimatedExpenses->isEmpty())

Belum ada item.

@else @foreach($record->estimatedExpenses as $item) @endforeach
Deskripsi Real Target
{{ $item->description }} {{ $fmt($item->nominal_real) }} {{ $fmt($item->nominal_target) }}
Total {{ $fmt($record->expense_total_nominal_real) }} {{ $fmt($record->expense_total_nominal_target) }}
@endif