@extends('layouts.app') @section('titre', 'Projection des stocks (simulation)') @section('contenu')

Projection des stocks — simulation S+1 → S+3

Chaînage : stock fin de jour = stock début + production simulée − commandes prévisionnelles. Stock de départ = inventaire saisi au {{ $debut->translatedFormat('l d/m/Y') }}. Un stock négatif signale une rupture à couvrir dans l'ordonnancement simulé.

@if(empty($projection['produits']))

Aucune donnée à projeter : saisissez des prévisions de commandes et composez des ordonnancements en mode simulation sur la période.

@else
@foreach(array_keys($projection['jours']) as $date) @endforeach @foreach($projection['produits'] as $pfId => $produit) @foreach($projection['jours'] as $valeurs) @php $v = $valeurs[$pfId]; @endphp @endforeach @endforeach
Produit fini{{ \Carbon\Carbon::parse($date)->translatedFormat('D d/m') }}
{{ $produit->designation }}
début + prod − cmd = fin (UVC)
{{ number_format($v['stock_debut'], 0, ',', ' ') }} + {{ number_format($v['production'], 0, ',', ' ') }} − {{ number_format($v['commandes'], 0, ',', ' ') }}
@if($v['stock_fin'] < 0) rupture {{ number_format($v['stock_fin'], 0, ',', ' ') }} @else = {{ number_format($v['stock_fin'], 0, ',', ' ') }} @endif

Chaîner vers la semaine suivante

Enregistre les stocks projetés de fin de période comme inventaire de la date cible (généralement le lundi de la semaine suivante) — les besoins simulés de S+2 partiront alors de ces stocks. Action tracée dans l'audit.

@csrf
@endif @endsection