Files
mcp-wms-wiki/wiki_old_13-05-2026/sources/archives/LIM-87 LOT2.1 [TOURNÉES] Défragmentation client - quai non assigné ATTENTE_CLIENT CT-13.md
2026-05-20 09:41:27 +02:00

234 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### Génération des tâches
| | |
|---|---|
|Type de palette|Action|
|Palettes complètes / picking terminées|Tâche de défragmentation (reloc) vers zone de stockage d'expédition dans l'ASRS. Ne se déclenche que si toutes les palettes clientes sont “terminées” donc que les palettes de picking sont retournées dans lASRS et quaucun quai nest associé à lOS. (**CUSTOM**)|
|Palettes picking|Aucune tâche tant qu'un poste de travail n'est pas assigné|
_En standard, si je choisis “Expédition uniquement”, les palettes de picking ne sont pas reloc et donc lordonnancement par stop est faux”._
_Si je choisis “Picking et expédition”, il va reloc toutes les palettes concernées dont celles qui ont besoin d'être pickées. Problème : quand il faudra faire le picking, on va ressortir ces palettes et casser lordonnancement._
_Pour pouvoir faire du picking sur une palette, un quai doit être associé à lOS._
_Custom : attendre que toutes les palettes de picking soient pickées et rangées dans lASRS dans le job qui check les relocs pour ordonnancer par stop. Le job peut lancer la reloc lorsque toutes les palettes considérées comme des palette dexpédition._
reprendre paramétrage [https://easywmsfrance.atlassian.net/browse/LIM-85](https://easywmsfrance.atlassian.net/browse/LIM-85)
## 1. Contexte
La défragmentation client standard propose trois modes d'assignation (Picking Only, Shipping Only, Picking & Shipping).
Aucun ne répond au besoin Limagrain :
| | | |
|---|---|---|
|Mode standard|Comportement|Problème pour Limagrain|
|**Shipping Only**|Défragmentation uniquement les palettes complètes.|Les palettes de picking ne sont pas repositionnées → l'ordonnancement par n° de STOP dans le canal est faux.|
|**Picking & Shipping**|Défrag toutes les palettes (y compris celles à picker).|La défragmentation se lance sur toutes les palettes, même celles devant sortir plus tard pour picking, cassant l'ordonnancement dans le canal.|
|**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 associée, de façon à ce que les palettes sortent du canal dans le bon ordre lors du chargement camion.
## 2. Objectif du custom
Déclencher la défragmentation client d'un 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 sont dans l'ASRS ;
- Les palettes ayant nécessité un picking sont revenues dans l'ASRS après prélèvement (palettes de picking retournées) ;
- **Aucun quai n'est encore associé à la tournée** (sinon le flux shipping standard avec ordonnancement par stop prend le relais et envoie directement vers l'image de quai).
La condition « toutes les palettes terminées » s'évalue **au niveau de la tournée** (RUT)
## 3. Développement
### 3.1 Mécanisme
- **Utiliser le job de défragmentation client standard** avec une stratégie en mode Shipping et type d'ordre Tournée.
- Ajouter un **filtre custom au niveau de la sélection des candidats** qui 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.
### 3.2 Règle d'éligibilité
`Pour chaque RUT candidat à la défrag shipping (en standard, exclut les RUT avec quai assigné)): POUR CHAQUE OS du RUT : SI l'OS a des lignes picking → 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.
### 3.3 Paramétrage
- MAX_DEFRAG_ATTEMPT : qui de ce paramètre ?
_À chaque passage du job, le WMS essaie de trouver un emplacement valide dans la zone de destination. Si aucune location valide n'est trouvée (zone pleine, règles de putaway qui ne matchent pas, etc.), le compteur de tentatives pour ce support est incrémenté. Une fois MAX_DEFRAG_ATTEMPT atteint (5 par défaut) , ce support spécifique est retiré de la liste des candidats défrag. Il ne bougera plus, même si la location se libère plus tard. Il plafonne uniquement le nombre de retentatives par palette quand le WMS n'arrive pas à lui trouver une destination. dans notre tâche custom defrag, le compteur ne s'incrémente que si le WMS a cherché un empl de destination et n'en a pas trouvé. Si notre filtre custom exclut la tournée avant même de chercher une destination (parce qu'un OS n'a pas ses palettes prêtes), alors aucune tentative n'est décomptée pour les supports concernés. Le compteur reste à 0._
Potentiellement, ce paramètre nest utilisé que pour la defrag de rotation → à vérifier lors du développement.
## 4. Cas de test
### Légende
- **PC** = palette complète (pas de picking nécessaire)
- **PP** = palette de picking (palette mère qui part au PK)
- **PF** = palette fille (sortie du picking, retour ASRS)
- **OS** = ordre de sortie (SOR), **RUT** = tournée
- **Éligible défrag** = le job custom doit inclure le RUT dans le lot à défragmenter
- **Non éligible** = le RUT doit être exclu à ce cycle
#### CT-01 — RUT mono-OS avec uniquement des palettes complètes
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT libéré avec 1 SOR, 3 PC assignées, toutes dans l'ASRS, aucun quai assigné au RUT.|
|**Action**|Passage du job défrag shipping.|
|**Résultat attendu**|RUT éligible. 3 tâches de defrag générées vers la zone d'expédition ASRS. Tri par sequence respecté.|
#### CT-02 — RUT mono-OS avec uniquement du picking (toutes PF revenues)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT libéré avec 1 SOR, 2 PP parties au PK, 2 PF générées et revenues à l'ASRS, aucun quai assigné.|
|**Action**|Passage du job.|
|**Résultat attendu**|RUT éligible. 2 tâches de defrag générées pour les PF.|
#### CT-03 — RUT mono-OS mixte (PC + picking terminé)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT libéré avec 1 SOR : 2 PC dans l'ASRS + 1 PP pickée → PF revenue à l'ASRS, aucun quai assigné.|
|**Action**|Passage du job.|
|**Résultat attendu**|RUT éligible. 3 tâches de defrag générées (2 PC + 1 PF).|
#### CT-04 — RUT multi-OS, ordonnancement STOP respecté
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT avec 3 SOR (STOP 1, 2, 3), chaque SOR a 2 PC, toutes revenues à l'ASRS, aucun quai assigné.|
|**Action**|Passage du job.|
|**Résultat attendu**|6 tâches de defrag générées. Les palettes du STOP 3 entrent dans le canal en premier, STOP 1 en dernier (ordre inverse de sortie). Vérification via l'ordre de stockage du canal.|
#### CT-05 — RUT multi-OS, tous prêts simultanément
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT avec 3 SOR : SOR1 = 2 PC, SOR2 = picking terminé (1 PF revenue), SOR3 = mixte (1 PC + 1 PF revenue). Toutes les palettes dans l'ASRS, aucun quai assigné.|
|**Action**|Passage du job.|
|**Résultat attendu**|RUT éligible en un seul passage. 5 tâches de defrag générées, séquence STOP respectée.|
### 4.2 Cas limites
#### CT-06 — Un seul OS du RUT a une PP partie, PF pas encore revenue
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT avec 2 SOR. SOR1 = 2 PC dans l'ASRS (prêt). SOR2 = 1 PP a quitté l'ASRS vers le PK, PF pas encore retournée. Aucun quai assigné.|
|**Action**|Passage du job.|
|**Résultat attendu**|**RUT NON éligible** (un OS bloque tout le RUT). Aucune tâche de défrag générée. Le RUT reste candidat pour le prochain passage.|
#### CT-07 — PF d'un OS encore sur AGV (en mouvement vers ASRS)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT multi-OS, toutes les palettes OK sauf une PF en transit sur AGV ou en Mov.|
|**Action**|Passage du job.|
|**Résultat attendu**|**RUT NON éligible** tant que la PF n'est pas physiquement stockée dans un emplacement ASRS. Éligible dès que le rangement est confirmé. (palette dans une emplacement du subwarehouse du magasin auto)|
#### CT-08 — Quai déjà assigné à la tournée
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT libéré, toutes palettes prêtes dans l'ASRS, **quai assigné** à la tournée.|
|**Action**|Passage du job.|
|**Résultat attendu (standard)**|**RUT NON éligible pour le custom défrag.** Le flux shipping standard (avec defrag pour organiser par stop) prend le relais : les palettes partent directement vers l'image de quai dans le bon ordre.|
#### CT-9 — Picking partiel sur un OS (certaines lignes OK, d'autres en attente)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT avec 1 SOR ayant 3 lignes picking : 2 PF revenues à l'ASRS, 1 PP toujours au PK.|
|**Action**|Passage du job.|
|**Résultat attendu**|**RUT NON éligible** (on attend la totalité des palettes de l'OS, donc de la tournée). Aucune tâche partielle.|
### 4.3 Cas dégradés
#### CT-11 — AGV HS pendant retour PF → ASRS
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|PF bloquée sur le PK ou en buffer suite à panne AGV. Les autres OS du RUT sont prêts.|
|**Action**|Passage du job.|
|**Résultat attendu**|**RUT NON éligible** tant que la PF n'est pas dans l'ASRS. Après remise en route et rangement, RUT redevient éligible au cycle suivant.|
#### CT-12 — Support sous révision
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|PP déplacée vers buffer litige, stock réassigné sur une autre palette (nouvelle PP').|
|**Action**|Passage du job après que la nouvelle PP' ait été pickée et la PF' rangée à l'ASRS.|
|**Résultat attendu**|RUT éligible dès que toutes les palettes (y compris les réassignations) sont dans l'ASRS. La palette en litige est ignorée.|
#### CT-13 — Rupture de stock sur un OS de la tournée (ATTENTE RETOUR CLIENT)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT avec 2 SOR. SOR1 prêt, SOR2 avec 1 ligne en rupture.|
|**Action**|Passage du job de défrag client|
|**Résultat attendu**|**À trancher — voir point ouvert #1 ci-dessous.** Option A : RUT reste non éligible tant que rupture non résolue (blocage tournée) et on attend un nouveau SOR sans les lignes concernées ? Option B : RUT éligible pour les palettes disponibles, défrag lancée sur ce qui est présent.|
#### CT-14 — Modification de quantité en cours de picking (bouton « Problème »)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|Opérateur réduit la quantité pickée via le bouton Problème, workflow OnStockAdjust recalcule.|
|**Action**|Passage du job après recalcul.|
|**Résultat attendu**|- Si stock restant suffisant : PF revient à l'ASRS normalement, RUT éligible dès que tous les autres OS sont prêts. - Si réassignation nécessaire : RUT non éligible tant que la nouvelle PP' n'a pas été pickée et la PF' rangée.|
#### CT-15 — RUT libéré mais jamais de PP partie (cas figé)
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT libéré depuis longtemps, aucune tâche de picking générée (ex : pas de PK disponible).|
|**Action**|Passage du job.|
|**Résultat attendu**|**À trancher.** Par défaut RUT reste non éligible (picking pas encore déclenché ≠ palettes prêtes). Ne doit pas disqualifier par MAX_DEFRAG_ATTEMPT.|
#### CT-16 — Ajout d'un SOR à une tournée déjà éligible
| | |
|---|---|
|Élément|Valeur|
|**Préconditions**|RUT initialement prêt (toutes palettes ASRS). Avant le passage du job, un nouveau SOR est ajouté au RUT avec des lignes picking non encore traitées.|
|**Action**|Passage du job.|
|**Résultat attendu**|**RUT redevient NON éligible** (le nouveau SOR n'a pas ses palettes prêtes). Éligible quand le nouveau SOR sera terminé à son tour.|
## 5. Points ouverts à arbitrer
| | | |
|---|---|---|
|#|Sujet|Impact|
|1|Comportement en cas de rupture de stock sur un OS de la tournée (CT-13). <br>@Justine Beutin check avec le clien|Définit si la défrag se lance sur les palettes disponibles ou bloque toute la tournée.|
|2|Paramètre MAX_DEFRAG_ATTEMPT impacte la défrag client ou que la défrag par rotation ?|Si double impact, analyser quelle valeur lui mettre pour que le custom fonctionne.|
## 6. Rangement dune tournée dans un canal VS un stop par canal
Dans cette tâche on a décidé quon attendait que toute la tournée soit prête pour la défrag dans un canal par numéro de stop (ou plusieurs canaux) et non de défrag chaque OS de la tournée sur un canal dédié.