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:
@@ -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 |
|
||||
Reference in New Issue
Block a user