@extends('layouts.app') @section('titre', 'Ordonnancement') @section('contenu')
Le bureau prépare la prochaine journée de production ; l'atelier travaille sur la journée du jour. Cette page s'ouvre par défaut sur la journée à préparer.
@endifAucune journée de production pour le {{ \Carbon\Carbon::parse($date)->translatedFormat('l d/m/Y') }}.
Générez d'abord la journée dans le calendrier (jour férié ou non travaillé ?).
Commandes (F) et stock (G) sont pré-remplis d'après les données du jour. Le nombre de pétrins proposé (H) est calculé automatiquement en fonction des commandes et du stock : H = arrondi supérieur de (F − G) ÷ L (0 si le stock couvre déjà les commandes). Les caisses par pétrin (L) proviennent du fichier « Qté » et ne sont pas modifiables ici. Vous pouvez ajuster H : le stock après production (M = G + H×L) et le stock après prise des commandes (N = M − F) se recalculent en direct. Un N négatif (en rouge) signale un risque de rupture.
| Produit fini | Commandes (F) | Stock (G) | Caisses/pétrin (L) | Nb pétrins proposé (H) | Stock après prod. (M) | Stock après prises (N) |
|---|---|---|---|---|---|---|
| {{ $s['produit_fini']->designation }} | {{ $s['commandes_caisses'] + 0 }} | {{ $s['stock_caisses'] + 0 }} | {{ $s['caisses_par_petrin'] !== null ? $s['caisses_par_petrin'] + 0 : '—' }} | — | — |
Le stock (G) provient de l'inventaire du jour, exprimé en caisses. « Caisses/pétrin » (L) est repris de
l'onglet Qté du planning production (config/caisses_par_petrin.php), avec repli sur le calcul du référentiel ;
il n'est pas modifiable ici. Ce tableau est une aide au calcul (non enregistré).
| Ligne | Version active | Départ pétrin | Pétrins | Alertes | ||
|---|---|---|---|---|---|---|
| {{ $l->code }} — {{ $l->libelle }} | @if($v) v{{ $v->version }} du {{ $v->created_at->format('d/m H:i') }} par {{ $v->user?->name ?? '—' }} @else aucune @endif | {{ $v ? $v->heureDemarrageEffective() : '—' }} | {{ $v?->items->sum('qte_petrins') ?? '—' }} | @php $nbSerie = $v ? $v->items->where('alerte_serie', true)->count() : 0; $nbMoule = $v ? $v->items->where('alerte_moule', true)->count() : 0; @endphp @if($nbSerie > 0) {{ $nbSerie }} série(s) > max moules @endif @if($nbMoule > 0) {{ $nbMoule }} conflit(s) de moule partagé @endif @if($v && $nbSerie === 0 && $nbMoule === 0) OK @endif | {{ $v ? 'Re-planifier' : 'Composer' }} | Versions |
Aucune commande {{ $mode === 'simulation' ? 'prévisionnelle' : '' }} saisie pour les dates couvertes — saisir les commandes.
@else| Produit fabriqué | Besoin (UF) | UF / pétrin | Pétrins à produire | Max / série | Détail produits finis |
|---|---|---|---|---|---|
| {{ $b['produit_fabrique']->libelle }} | {{ number_format($b['besoin_uf'], 0, ',', ' ') }} | {{ $b['produit_fabrique']->uf_par_petrin ?? '—' }} | {{ $b['qte_petrins'] }} @if($b['produit_fabrique']->nb_petrins_max_serie && $b['qte_petrins'] > $b['produit_fabrique']->nb_petrins_max_serie) à fractionner en séries @endif | {{ $b['produit_fabrique']->nb_petrins_max_serie ?? '—' }} |
@foreach($b['details'] as $d)
{{ $d['produit_fini']->nom_court ?? $d['produit_fini']->designation }} :
{{ number_format($d['commande_uvc'], 0, ',', ' ') }} UVC cmd − {{ number_format($d['stock_uvc'], 0, ',', ' ') }} stock @endforeach |