lint(limagrain): corrections completes Phase 1+2

- Bloquants: mermaid 03-picking/_index reconstitue (archive 11-05), 13 liens vers pages squelette retires, 2 liens recibles (anoxie, application-dictionary)
- Conventions: 910 em dashes -> tirets simples, 145 checklists -> puces question, 13 questions resolues barrees
- Liens: 9 ancres reparees (slugs GitHub)
- Delta: 12 standard_ref remappes, blocs Standard EasyWMS + sections References ajoutes, front matter complete
- Glossaire: 15 termes standard deplaces en section rappel avec renvoi
- Rapport: limagrain/_lint_report.md (Phase 1 + Phase 2 + re-scan final)
- Inclut les pages des sessions precedentes non commitees + CLAUDE.md et consume.log en l'etat
This commit is contained in:
2026-07-20 12:56:42 +02:00
parent 23eb3f3c84
commit 7496aafe64
59 changed files with 6457 additions and 2023 deletions
+255
View File
@@ -0,0 +1,255 @@
---
title: "Flux de rejet PIE - Renvoi au poste d'origine"
tags: [stockage, rejet, PIE, poste, big-bag, production, custom, agv]
status: draft
standard_ref: concepts/reception.md
jira_refs: [LIM-114]
confluence_refs: []
related:
- limagrain/01-inbound/controle-qualite-reception.md
- limagrain/07-admin/ad-customs.md
- limagrain/07-admin/parametres-projet.md
sources: ["Jira LIM-114 (lecture directe 2026-07-20)"]
last_updated: 2026-07-20
author: Arthur
---
# Flux de rejet PIE - Renvoi au poste d'origine
> **Résumé** : logique [CUSTOM] qui, lorsqu'une palette est rejetée au PIE
> avant stockage ASRS, calcule et renvoie au WMS la destination de la palette
> (renvoi au **poste de travail d'origine**), y pose un verrou porteur de la
> cause, et gère la correction puis la ré-injection.
> **Standard EasyWMS** : → voir [Reception](../../concepts/reception.md) et le
> [Contrôle qualité à réception (PIE)](../01-inbound/controle-qualite-reception.md)
> (contrôles PIE, LIM-66). Ce qui suit documente la **spécificité Limagrain**
> du rejet.
> **Statut (LIM-114)** : Ouvert, non assignée, **rédaction en cours** côté
> ticket. Contenu susceptible d'évoluer.
## Contexte projet
Le passage au **PIE** (voir
[Contrôle qualité à réception](../01-inbound/controle-qualite-reception.md),
LIM-66) contrôle chaque support avant stockage dans l'ASRS. Si un contrôle
échoue, la palette est **rejetée** et ne rentre pas dans l'ASRS.
Causes de rejet fonctionnelles attendues : **dimension**, **poids**,
**étiquette (RFID non lue)**, **palette bois**.
### Revirement client
Cette tâche **remplace** l'approche « poumon au sol + notification SmartUI »
(esquissée dans LIM-66, Confluence « Réception » §3.2). Le client confirme
vouloir le **renvoi de la palette rejetée vers le poste de travail où elle a
été précédemment traitée**, malgré la charge AGV supplémentaire.
Risque assumé (justification initiale de l'abandon) : renvoyer au poste
d'origine mobilise l'AGV et le poste, avec un risque de blocage table/poste et
une perte de temps. **Accepté par le client.** La mise à jour Confluence sera
faite en fin de projet ; pas de modification de LIM-66 (uniquement un lien).
## Principe - le WMS répond la destination
Les routes de rejet **EasyS** amènent la palette rejetée jusqu'à un poste de
sortie (PS). Une fois au PS, la **recherche d'ordre** déclenche l'interrogation
du WMS par Galileo : **c'est le WMS qui répond la destination**. Il n'y a donc
pas de conflit avec les routes EasyS existantes et **pas de reprise de routes**
à demander à Mecalux.
Cette tâche porte uniquement sur la **logique WMS** (calcul de destination),
le report du poste d'origine (`CstAtt06`) sur le support réel, et un nouveau
paramètre `PK_REJET_PROD`.
## Topologie EST / OUEST
- Les palettes de **production** entrent obligatoirement par l'**entrée EST**
(image de quai → PIE, sans poste de travail). Exception standard : si le
`PE01` (EST) est fermé, tout le flux (y compris production) bascule côté
**OUEST** via les routes EasyS existantes.
- Les palettes de **réception** (fournisseur / intersite / retour) et les
palettes **sources de picking** passent par un poste de travail (PK) côté
OUEST, qui devient leur **poste d'origine**.
Le WMS est **agnostique du côté** : EasyS achemine le rejet vers le PS local
(EST ou OUEST), et le WMS répond la destination à partir des attributs du
support.
## Détermination de la destination de rejet
Au moment de la recherche d'ordre sur le support rejeté arrivé au PS, le WMS
calcule la destination :
```
1. Lire CstAtt06 (Code du PK assigné = poste d'origine) du support.
2. SI CstAtt06 renseigné (poste d'origine connu) : // réception, picking
candidat = poste CstAtt06
SI big-bag (CstAtt02 = true) ET candidat ∉ PK_BIGBAG : candidat = INVALIDE
SI candidat non disponible (fermé / mode incompatible / saturé) : candidat = INVALIDE
SI candidat VALIDE : destination = candidat
SINON : destination = fallback (étape 4)
3. SINON (CstAtt06 vide) : // production (CstAtt04 = ASN) ou origine inconnue
destination = PK_REJET_PROD
SI PK_REJET_PROD non disponible : destination = fallback (étape 4)
4. FALLBACK : premier poste ouvert et disponible (first-available),
compatible big-bag si CstAtt02 = true.
SI big-bag ET aucun poste PK_BIGBAG disponible :
LOG erreur + la palette attend sur le PS (pas de destination)
5. Poser un verrou "REJET PIE" sur le support, portant la cause du rejet.
6. Répondre la destination à Galileo.
```
Notes :
- Le routage vers la destination est **automatique** (convoyeurs PE/PS/PIE
sans opérateur), notamment pour les palettes de production qui partent
directement vers `PK_REJET_PROD`.
- La sélection d'un poste « disponible » réutilise la logique de disponibilité
de l'assignation des postes (mode actif, saturation), voir
[Mini jobs d'assignation au PK](../03-picking/job-assignation-pk.md)
(LIM-70 / LIM-74).
- « Origine inconnue » (`CstAtt06` vide sur un support non production) est
traitée comme production → `PK_REJET_PROD` (filet de sécurité).
## Affichage de la cause au poste
Le support arrive au poste avec le verrou « REJET PIE ». À l'arrivée / au scan
du support, le WMS **affiche la cause du rejet** (dimension, poids, étiquette,
palette bois) portée par le verrou. **Pas de notification SmartUI** (aligné
avec l'abandon des notifications de LIM-66) : l'information est portée par le
verrou et visible au scan.
> ⚠️ **Dépendance Mecalux à confirmer** : pour afficher la cause, EasyS/Galileo
> doit transmettre au WMS le **type d'erreur PIE** au moment du rejet. À
> défaut, le WMS n'affichera que « REJET PIE » sans le détail de la cause.
## Correction et ré-injection
L'opérateur traite la palette au poste selon la cause :
| Cause | Action opérateur |
|-------|------------------|
| Étiquette | Réétiquetage (impression au poste) |
| Dimension / poids | Correction physique (reconditionnement, retrait/ajout) |
| Palette bois réparable | Repalettisation |
| Palette bois **non réparable** | Déclaration « non réparable » → mouvement vers **REJ01** |
**REJ01** = sortie de rejet dur côté OUEST. Elle évite d'abîmer la navette
avec des palettes portant des flags non conformes ; la palette ne repart pas
vers l'ASRS.
Après correction, l'opérateur utilise l'option **standard « Stocker support »**
(aucun dév custom) : le support repart vers l'ASRS via le PIE (`PIE_ENTRY_PK`)
et **repasse le contrôle PIE nominal**.
- Contrôle PIE **OK** → rangement ASRS, le verrou « REJET PIE » est **levé**.
- Contrôle PIE **échoue à nouveau** → nouveau rejet, retour au poste d'origine.
**Pas de garde-fou anti-boucle** : tant qu'il y a un rejet, on renvoie au
poste d'origine (comportement stable et identique à chaque cycle).
## Prérequis - report du poste d'origine (CstAtt06)
Le `CstAtt06` « Code du PK assigné » (Support, String, créé en LIM-70)
matérialise le poste d'origine. Il est posé sur le support **fictif** de
l'image de quai par LIM-70/LIM-74, mais le support **réel** qui passe au PIE
ne l'hérite pas automatiquement. Il faut donc le **reporter** :
- **Réception (LIM-67)** : à la création du support réel au poste, renseigner
`CstAtt06` = code du PK courant.
- **Picking (LIM-91)** : sur la palette source traitée au poste de picking,
renseigner `CstAtt06` = code du PK picking (pour qu'un rejet au ré-stockage
revienne au bon poste).
- **Production** : pas de poste d'origine. `CstAtt06` reste **vide** ; le
support est identifié production via `CstAtt04` = ASN. Destination =
`PK_REJET_PROD`.
## Paramètres et attributs
Nouveau paramètre (à déclarer dans LIM-14) :
| Paramètre | Description | Défaut |
|-----------|-------------|--------|
| `PK_REJET_PROD` | Poste de rejet des palettes sans poste d'origine (production). À câbler physiquement côté EST (ex. `PS01`). | (à définir) |
Paramètres existants réutilisés : `PK_BIGBAG` (postes compatibles big-bag),
`PIE_ENTRY_PK` (PIE de ré-insertion après poste), `MODES_PKxx` (modes actifs).
Voir [Paramètres projet](../07-admin/parametres-projet.md).
Attributs utilisés (Support - voir [AD Customs](../07-admin/ad-customs.md#cstatt-support-container--palette)) :
| Attribut | Rôle dans le rejet |
|----------|--------------------|
| `CstAtt06` | Poste d'origine. Lu pour déterminer la destination. |
| `CstAtt02` | Big-bag. Contraint la destination aux postes de `PK_BIGBAG`. |
| `CstAtt04` | ASN (production). Identifie les palettes sans poste d'origine. |
## Cas de test
27 cas de test définis dans le ticket, regroupés par famille :
- **Destination réception / picking** (CT 1-4) : renvoi au poste `CstAtt06` ;
chaque cause (dimension, poids, étiquette, palette bois) route au poste
d'origine avec sa cause dans le verrou.
- **Destination production** (CT 5-7) : `CstAtt04` = ASN + `CstAtt06` vide →
`PK_REJET_PROD` (routage auto sans opérateur) ; fallback si indisponible ;
origine inconnue traitée comme production.
- **Big-bag** (CT 8-11) : poste d'origine compatible `PK_BIGBAG` ; origine
incompatible → fallback big-bag ; aucun poste compatible → log + attente PS ;
non big-bag sans contrainte.
- **Poste d'origine indisponible** (CT 12-14) : poste fermé/saturé → fallback
first-available ; aucun poste dispo → attente PS (à confirmer).
- **Affichage cause** (CT 15-17) : cause visible au scan ; pas de SmartUI ;
« REJET PIE » générique si cause non transmise par EasyS.
- **Correction / ré-injection** (CT 18-21) : « Stocker support » standard →
re-contrôle PIE ; re-rejet → retour poste sans garde-fou ; boucle stable ;
aucun écran custom.
- **Palette bois non réparable** (CT 22-23) : déclaration → REJ01 ; réparable
→ ré-injection normale.
- **Prérequis CstAtt06** (CT 24-27) : report réception (LIM-67), pose picking
(LIM-91), production sans `CstAtt06`, support réel sans report → traité
comme origine inconnue (`PK_REJET_PROD`).
## Points d'attention
⚠️ **Pas de garde-fou anti-boucle** : une palette qui échoue plusieurs fois
au PIE revient à chaque fois au poste d'origine. Aucune sortie litige
automatique.
⚠️ Le renvoi au poste d'origine mobilise l'AGV et le poste (risque de blocage
table/poste). Choix assumé par le client.
⚠️ Tâches liées à modifier : **LIM-67** (report `CstAtt06` sur support réel),
**LIM-91** (pose `CstAtt06` sur palette source picking), **LIM-14**
(déclaration `PK_REJET_PROD`), **LIM-66** (ajout d'un lien, sans modification).
## Questions ouvertes
- Transmission de la cause de rejet (type d'erreur PIE) d'EasyS/Galileo vers
le WMS - conditionne l'affichage de la cause (@Mecalux)
- Poste physique `PK_REJET_PROD` côté EST (ex. `PS01`) et sa joignabilité si
`PE01` fermé (bascule OUEST) - à valider layout
- Comportement si aucun poste disponible (attente sur PS vs autre) - à confirmer
- Disponibilité de l'imprimante d'étiquette au poste d'origine (cause
étiquette) - à valider
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|--------------|
| 2026-07-20 | Arthur | Création depuis LIM-114 (lecture directe, Ouvert, rédaction en cours) : flux de rejet PIE avec renvoi au poste d'origine, algorithme de destination, topologie EST/OUEST, affichage de la cause, correction/ré-injection + REJ01, report CstAtt06, paramètre PK_REJET_PROD, 27 cas de test résumés |
## Références
| Source | Type | Date |
|--------|------|------|
| [LIM-114](https://easywmsfrance.atlassian.net/browse/LIM-114) | Ticket Jira (flux de rejet PIE, rédaction en cours) | 2026 |
| [LIM-66](https://easywmsfrance.atlassian.net/browse/LIM-66) | Ticket Jira (contrôles PIE, approche poumon abandonnée) | 2026 |
| [LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70) / [LIM-74](https://easywmsfrance.atlassian.net/browse/LIM-74) | Tickets Jira (CstAtt06, disponibilité poste, PK_BIGBAG) | 2026 |