@extends('layouts.app') @section('title', __('advancedplanning::lang.sop_cycles').' — '.$cycle->cycle_month?->format('Y-m')) @section('content') @include('advancedplanning::layouts.nav') @php $util = app(\Modules\AdvancedPlanning\Utils\AdvancedPlanningUtil::class); $demand = $cycle->demand_plan ?? []; $supply = $cycle->supply_plan ?? []; $financial = $cycle->financial_plan ?? []; $gaps = $cycle->gaps ?? []; @endphp

@lang('advancedplanning::lang.sop_cycles'): @format_date($cycle->cycle_month) {{ $util->statusLabel($cycle->status) }}

@if(session('status'))
{{ session('status.msg') }}
@endif @can('ap.sop.manage')
@csrf
@if($cycle->status === 'draft')
@csrf
@endif @if($cycle->status === 'consensus')
@csrf
@csrf
@endif @if($cycle->status === 'approved')
@csrf
@endif
@endcan
@lang('advancedplanning::lang.total_demand') {{ $demand['total_demand_units'] ?? 0 }}
@lang('advancedplanning::lang.total_capacity') {{ $supply['total_available_hours'] ?? 0 }}
@lang('advancedplanning::lang.open_work_orders') {{ $supply['open_work_orders'] ?? 0 }}
@lang('advancedplanning::lang.margin_estimate') {{ $financial['margin_estimate'] ?? 0 }}

@lang('advancedplanning::lang.demand_plan')

@lang('advancedplanning::lang.period'): {{ $demand['period']['start'] ?? '—' }} — {{ $demand['period']['end'] ?? '—' }}

@if(!empty($demand['sales_history']))
@lang('advancedplanning::lang.sales_history')
@foreach(array_slice($demand['sales_history'], 0, 10) as $row) @endforeach
@lang('advancedplanning::lang.product')@lang('advancedplanning::lang.quantity')
{{ $row['product_id'] }} / {{ $row['variation_id'] ?? '—' }} {{ $row['quantity'] }}
@endif @if(!empty($demand['mrp_demand']))
@lang('advancedplanning::lang.mrp_demand')
@foreach($demand['mrp_demand'] as $row) @endforeach
@lang('advancedplanning::lang.ref_no')@lang('advancedplanning::lang.work_order')@lang('advancedplanning::lang.quantity')
{{ $row['run_code'] }} {{ $row['work_order_number'] ?? '—' }} {{ $row['planned_quantity'] }}
@endif

@lang('advancedplanning::lang.supply_plan')

@lang('advancedplanning::lang.scheduled_hours'): {{ $supply['scheduled_hours'] ?? 0 }}

@lang('advancedplanning::lang.open_work_order_qty'): {{ $supply['open_work_order_qty'] ?? 0 }}

@if(!empty($supply['capacity_resources'])) @foreach($supply['capacity_resources'] as $row) @endforeach
@lang('advancedplanning::lang.resource')@lang('advancedplanning::lang.type')@lang('advancedplanning::lang.available_hours')
{{ $row['name'] }} {{ $util->resourceTypeLabel($row['type']) }} {{ $row['available_hours'] }}
@endif

@lang('advancedplanning::lang.financial_plan')

@lang('advancedplanning::lang.projected_revenue'): {{ $financial['projected_revenue'] ?? 0 }}

@lang('advancedplanning::lang.projected_supply_cost'): {{ $financial['projected_supply_cost'] ?? 0 }}

@lang('advancedplanning::lang.capacity_cost_ceiling'): {{ $financial['capacity_cost_ceiling'] ?? 0 }}

@lang('advancedplanning::lang.gaps')

@lang('advancedplanning::lang.demand_vs_supply_units'): {{ $gaps['demand_vs_supply_units'] ?? 0 }}

@lang('advancedplanning::lang.capacity_vs_scheduled_hours'): {{ $gaps['capacity_vs_scheduled_hours'] ?? 0 }}

@if(!empty($gaps['recommendations']))
@lang('advancedplanning::lang.recommendations')
    @foreach($gaps['recommendations'] as $rec)
  • {{ $rec }}
  • @endforeach
@endif
@endsection