{{ $at_risk_summary['batches'] }}
@lang('lang_v1.at_risk_batches')
{{ number_format($at_risk_summary['units']) }}
@lang('lang_v1.at_risk_units')
@format_currency($at_risk_summary['value'])
@lang('lang_v1.projected_writeoff')
{{ count($reorder) }}
@lang('lang_v1.reorder_now')
{{ count($rebalance) }}
@lang('lang_v1.rebalance_suggestions')
@lang('lang_v1.top_forecast_movers')
| @lang('business.product') | @lang('lang_v1.projected_30d') | @lang('lang_v1.daily_demand') | @lang('lang_v1.on_hand') | @lang('lang_v1.cover_days') |
|---|---|---|---|---|
| {{ $f['name'] }} ({{ $f['method'] }}) | {{ $f['projected_30d'] }} | {{ $f['daily'] }} | {{ number_format($f['on_hand']) }} | {{ $f['cover_days']===null?'∞':$f['cover_days'].'d' }} |
| @lang('lang_v1.no_forecast_yet') | ||||
{{-- Expiry write-off risk --}}
{{-- Predictive rebalance --}}
{{-- Reorder now --}}
@lang('lang_v1.expiry_writeoff_risk')
| @lang('business.product') | @lang('lang_v1.expiry') | @lang('lang_v1.at_risk') | @lang('lang_v1.action') |
|---|---|---|---|
| {{ $r['product_name'] }} {{ $r['lot_number'] ?: '-' }} |
{{ \Carbon\Carbon::parse($r['exp_date'])->format('m/Y') }} {{ $r['days_to_expiry'] }}d |
{{ $r['at_risk_qty'] }} | {{ str_replace('_',' ',$r['action']) }} |
| @lang('lang_v1.no_expiry_risk') | |||
@lang('lang_v1.predictive_rebalance')
| @lang('business.product') | @lang('lang_v1.from') | @lang('lang_v1.to') | @lang('lang_v1.suggested_move') |
|---|---|---|---|
| {{ $r['product_name'] }} | {{ $r['from_wh'] }} {{ $r['from_cover']===null?'∞':$r['from_cover'].'d' }} |
{{ $r['to_wh'] }} {{ $r['to_cover'] }}d |
{{ $r['suggested_qty'] }} |
| @lang('lang_v1.no_rebalance_suggestions') | |||
@lang('lang_v1.reorder_now')
| @lang('business.product') | @lang('lang_v1.on_hand') | @lang('lang_v1.daily_demand') | @lang('lang_v1.suggested') @lang('lang_v1.min') |
|---|---|---|---|
| {{ $r['product_name'] }} | {{ number_format($r['qty_available'],2) }} | {{ $r['daily_demand'] }} | {{ (int)$r['suggested_min'] }} |
| @lang('lang_v1.all_stock_healthy') | |||