màj wiki avec retour MES lot-5 AD

This commit is contained in:
Arthur Ria
2026-05-20 09:41:27 +02:00
commit 23eb3f3c84
4106 changed files with 469381 additions and 0 deletions
@@ -0,0 +1,234 @@
---
title: "Défragmentation — Zone client et ordonnancement par tournée"
tags: [stockage, défragmentation, expédition, zone-client, planning, tournée, STOP, custom]
status: draft
standard_ref: concepts/defragmentation.md
jira_refs: [LIM-85, LIM-87]
confluence_refs: []
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "LIM-85 LOT2.1 Configuration stratégies defragmentation du stock client par tournée.md", "LIM-87 LOT2.1 [TOURNÉES] Défragmentation client - quai non assigné ATTENTE_CLIENT CT-13.md"]
last_updated: 2026-05-12
author: Arthur
---
# Défragmentation — Zone client et ordonnancement par tournée
> **Résumé** : processus de défragmentation pour préparer les palettes
> d'expédition vers la zone de défragmentation client dans l'ASRS.
> Inclut un **custom majeur** de défragmentation par tournée (RUT) avec
> ordonnancement par numéro de STOP, déclenché uniquement quand toutes
> les palettes sont prêtes et qu'aucun quai n'est assigné.
> **Standard EasyWMS** : → voir [Defragmentation](../../concepts/defragmentation.md)
> Ce qui suit documente les **spécificités Limagrain** par rapport au
> standard.
## Contexte projet
La défragmentation est un processus standard des entrepôts automatisés.
Chez Limagrain, elle sert à préparer les routes (expéditions) en
déplaçant les conteneurs vers la zone de défragmentation client
(TK02-04, rangées 60-69).
La défragmentation shipping standard propose trois modes d'assignation
(Picking Only, Shipping Only, Picking & Shipping) mais **aucun ne
répond au besoin Limagrain** :
| Mode standard | Comportement | Problème |
|---------------|-------------|----------|
| Shipping Only | Défrag uniquement les palettes complètes | Les palettes de picking ne sont pas repositionnées → ordonnancement STOP faux dans le canal |
| Picking & Shipping | Défrag toutes les palettes (y compris celles à picker) | Les palettes sortent pour être défragmentées alors qu'elles doivent d'abord passer au PK → casse l'ordonnancement |
| Picking Only | Non applicable au besoin | — |
**Contrainte métier** : le stock doit être rangé dans le canal
d'expédition ASRS dans l'**ordre inverse des STOP** de la tournée, de
sorte que les palettes sortent du canal dans le bon ordre lors du
chargement camion (STOP max chargé en premier → déchargé en dernier).
Deux cas se présentent selon l'assignation du quai :
| Situation | Custom | Page |
|-----------|--------|------|
| Quai **non assigné** au RUT | Défrag custom décrite ci-dessous | Cette page |
| Quai **déjà assigné** au RUT | Override du WF stacker crane | → voir [Séquençage shipping par STOP](../04-outbound/sequencage-shipping-stop.md) |
## Principe général
Les conteneurs assignés à une expédition sont relocalisés dans la zone
de défragmentation client **en avance**, généralement la nuit ou pendant
les périodes de moindre charge. Cela permet une sortie rapide le jour
de l'expédition.
## Caractéristiques
- **Priorité** : basse (s'exécute en arrière-plan)
- **Planification** : horaires configurables par Limagrain
- **Zone cible** : zone défragmentation client (TK02, 03, 04 —
rangées 60-69, profondeurs 2-10)
- **Déclencheur** : stratégie de défragmentation shipping (mode
Shipping, type d'ordre Tournée) avec filtre custom
## Configuration du planning
Limagrain peut modifier les horaires de façon autonome :
1. Menu « Configuration » → « Défragmentation » → « Planning de
défragmentation »
2. Bouton « Ajouter » → paramétrer les horaires/planning souhaités
3. Activer la défragmentation via le bouton « Activer »
## Prérequis
Pour que EasyWMS puisse défragmenter les conteneurs vers la zone client,
il doit exister au moins une **stratégie de défragmentation shipping**
configurée en mode Shipping et type d'ordre Tournée.
## Lien avec l'expédition
La défragmentation est l'étape 4 du flux d'expédition (voir
[Flux expédition](../04-outbound/flux-expedition.md)) :
1. OS reçu et libéré → stock assigné
2. Palettes complètes → défragmentation vers zone client
3. Palettes picking → poste de travail d'abord, puis zone client
4. Depuis zone client → sortie vers poumon le jour J
## Custom défrag client par tournée — quai non assigné (LIM-87)
### Objectif
Déclencher la défragmentation client d'une tournée **uniquement lorsque
toutes ses palettes de tous ses OS sont prêtes à partir vers l'image de
quai**, c'est-à-dire :
- Les palettes complètes (PC) sont dans l'ASRS
- Les palettes ayant nécessité un picking sont revenues dans l'ASRS
après prélèvement (palettes filles PF retournées)
- **Aucun quai n'est encore associé à la tournée** (sinon le flux
shipping standard avec ordonnancement par STOP prend le relais —
voir [Séquençage shipping par STOP](../04-outbound/sequencage-shipping-stop.md))
La condition « toutes les palettes terminées » s'évalue **au niveau de
la tournée** (RUT) : c'est du « tout-ou-rien ».
### Mécanisme
Le custom utilise le **job de défragmentation client standard** avec
une stratégie en mode Shipping et type d'ordre Tournée. Un **filtre
custom au niveau de la sélection des candidats** exclut de l'éligibilité
toute tournée dont au moins une palette (d'au moins un OS) n'est pas
encore prête dans l'ASRS.
### Règle d'éligibilité
```
POUR CHAQUE RUT candidat à la défrag shipping
(standard : exclut les RUT avec quai assigné) :
POUR CHAQUE OS du RUT :
SI l'OS a des lignes picking non terminées → EXCLURE le RUT
SI au moins une palette complète assignée n'est pas dans l'ASRS
→ EXCLURE le RUT
SI aucune exclusion → ÉLIGIBLE
SINON → reste candidat pour le prochain passage du job
```
> **Point clé** : l'éligibilité est « tout-ou-rien » au niveau tournée.
> Tant qu'un seul OS du RUT n'a pas toutes ses palettes prêtes, aucune
> défrag n'est lancée pour le RUT.
### Ordonnancement dans le canal
Les tâches de défrag sont générées avec un tri par **numéro de STOP**
inversé : les palettes du STOP max entrent dans le canal en premier,
celles du STOP 1 en dernier. Ainsi, à la sortie du canal, l'ordre
est respecté (STOP 1 sort en premier).
La décision prise est de ranger **une tournée par canal** (ou plusieurs
canaux si nécessaire) et non un STOP par canal.
### Paramétrage
- **MAX_DEFRAG_ATTEMPT** : nombre max de tentatives par support pour
trouver un emplacement de destination. Le compteur ne s'incrémente
que si le WMS a cherché un emplacement et n'en a pas trouvé. Si le
filtre custom exclut la tournée avant la recherche de destination,
le compteur reste à 0.
> ⚠️ Point ouvert : vérifier si MAX_DEFRAG_ATTEMPT impacte uniquement
> la défrag par rotation ou aussi la défrag client.
### Cas de test
#### Cas nominaux
| CT | Préconditions | Résultat attendu |
|----|--------------|------------------|
| CT-01 | RUT mono-OS, 3 PC dans l'ASRS, aucun quai | Éligible. 3 tâches défrag, tri par séquence STOP |
| CT-02 | RUT mono-OS, 2 PP pickées → 2 PF revenues ASRS, aucun quai | Éligible. 2 tâches défrag pour les PF |
| CT-03 | RUT mono-OS mixte : 2 PC + 1 PF revenue, aucun quai | Éligible. 3 tâches défrag |
| CT-04 | RUT multi-OS (STOP 1, 2, 3), 2 PC chacun, aucun quai | Éligible. 6 tâches, STOP 3 entre en premier dans le canal |
| CT-05 | RUT multi-OS mixte, tous prêts, aucun quai | Éligible en un seul passage |
#### Cas limites
| CT | Préconditions | Résultat attendu |
|----|--------------|------------------|
| CT-06 | RUT 2 OS : SOR1 prêt, SOR2 a 1 PF non revenue | **NON éligible** — un OS bloque tout le RUT |
| CT-07 | RUT multi-OS, 1 PF en transit AGV vers ASRS | **NON éligible** tant que PF pas physiquement stockée dans un emplacement ASRS |
| CT-08 | RUT prêt mais quai déjà assigné | **NON éligible** pour le custom défrag. Flux shipping standard prend le relais |
| CT-09 | RUT 1 SOR, 3 lignes picking : 2 PF revenues, 1 PP au PK | **NON éligible** — on attend la totalité |
#### Cas dégradés
| CT | Préconditions | Résultat attendu |
|----|--------------|------------------|
| CT-11 | AGV HS pendant retour PF → ASRS | **NON éligible** tant que PF pas dans l'ASRS. Redevient éligible après remise en route |
| CT-12 | PP en litige, stock réassigné sur PP' | Éligible quand toutes les palettes (y compris réassignations) sont dans l'ASRS |
| CT-13 | Rupture de stock sur un OS de la tournée | **À trancher** — voir point ouvert ci-dessous |
| CT-14 | Bouton « Problème » au picking, OnStockAdjust recalcule | Si stock suffisant : PF revient, RUT éligible. Si réassignation : attente nouvelle PF' |
| CT-15 | RUT libéré, aucune tâche picking jamais générée | **À trancher** — non éligible par défaut |
| CT-16 | Nouveau SOR ajouté à un RUT déjà éligible | **Redevient NON éligible** jusqu'à ce que le nouveau SOR soit terminé |
## Pause et reprise
Le processus peut être mis en pause et repris ultérieurement en cas de
reprise d'activité (par exemple si l'activité reprend la nuit).
## Points d'attention
⚠️ Les tâches de défragmentation ont une priorité **basse** — elles ne
perturbent pas l'activité normale mais peuvent être longues.
⚠️ MECALUX conseille une présence sur site lors de la défragmentation
en cas de défaut sur les transstockeurs (non obligatoire).
⚠️ L'avancée des tâches est consultable sur la vue des tâches.
⚠️ Le filtre custom n'incrémente pas MAX_DEFRAG_ATTEMPT quand il
exclut un RUT — le compteur ne démarre que lors d'une recherche
effective de destination.
## Questions ouvertes
- [ ] Comportement en cas de **rupture de stock** sur un OS de la
tournée (CT-13) : option A (RUT reste non éligible, attend un
nouveau SOR sans les lignes concernées) ou option B (défrag lancée
sur les palettes disponibles) ? (@Justine — à vérifier avec client)
→ voir [Questions ouvertes](../08-transverse/questions-ouvertes.md)
- [ ] **MAX_DEFRAG_ATTEMPT** : impacte-t-il uniquement la défrag par
rotation ou aussi la défrag client ? (@Nicolas)
→ voir [Questions ouvertes](../08-transverse/questions-ouvertes.md)
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|--------------|
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
| 2026-05-12 | Arthur | Ajout custom défrag client par tournée (LIM-85/LIM-87) : mécanisme, éligibilité, cas de test, points ouverts |
## Références
| Source | Type | Date |
|--------|------|------|
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
| [LIM-85](https://easywmsfrance.atlassian.net/browse/LIM-85) | Ticket Jira | 2026 |
| [LIM-87](https://easywmsfrance.atlassian.net/browse/LIM-87) | Ticket Jira | 2026 |