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:
@@ -1,16 +1,16 @@
|
||||
---
|
||||
title: "Défragmentation — Zone client et ordonnancement par tournée"
|
||||
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
|
||||
last_updated: 2026-07-17
|
||||
author: Arthur
|
||||
---
|
||||
|
||||
# Défragmentation — Zone client et ordonnancement par tournée
|
||||
# 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.
|
||||
@@ -37,7 +37,7 @@ répond au besoin Limagrain** :
|
||||
|---------------|-------------|----------|
|
||||
| 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 | — |
|
||||
| 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
|
||||
@@ -62,7 +62,7 @@ de l'expédition.
|
||||
|
||||
- **Priorité** : basse (s'exécute en arrière-plan)
|
||||
- **Planification** : horaires configurables par Limagrain
|
||||
- **Zone cible** : zone défragmentation client (TK02, 03, 04 —
|
||||
- **Zone cible** : zone défragmentation client (TK02, 03, 04 -
|
||||
rangées 60-69, profondeurs 2-10)
|
||||
- **Déclencheur** : stratégie de défragmentation par rotation (standard)
|
||||
+ custom défrag client par tournée (ci-dessous)
|
||||
@@ -88,7 +88,29 @@ La défragmentation est l'étape 4 du flux d'expédition (voir
|
||||
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)
|
||||
## [CONFIG] Stratégies de défragmentation client par tournée (LIM-85)
|
||||
|
||||
> **Statut (LIM-85)** : **en cours de test client (pré-production)**.
|
||||
> Stratégies importées sur Git le 23/04/2026 (suite à l'atelier du 2 avril).
|
||||
> Ticket de suivi - peu de contenu technique, il sert à tracer la
|
||||
> configuration.
|
||||
|
||||
Ce ticket couvre la **configuration des stratégies de défragmentation** du
|
||||
stock client par tournée : définition des stratégies (mode Shipping, type
|
||||
d'ordre Tournée) et de la zone cible ASRS (zone client TK02-04, rangées
|
||||
60-69). Ces stratégies sont le socle sur lequel s'appuie le custom
|
||||
d'éligibilité par tournée ci-dessous (LIM-87).
|
||||
|
||||
La logique custom (filtre « toutes les palettes du RUT prêtes »,
|
||||
ordonnancement inverse des STOP, quai non assigné) relève de
|
||||
[LIM-87](https://easywmsfrance.atlassian.net/browse/LIM-87).
|
||||
|
||||
## [CUSTOM] Défrag client par tournée - Quai non assigné (LIM-87)
|
||||
|
||||
> **Statut (LIM-87)** : **en cours de test client (pré-production)**. Revue
|
||||
> de code validée le **28/04/2026** (après un NOK le 24/04 : bug de nommage
|
||||
> de paramètre `c` réutilisé entre le `Any` et le `Where` de la query,
|
||||
> corrigé le 27/04).
|
||||
|
||||
### Objectif
|
||||
|
||||
@@ -114,6 +136,14 @@ de la tournée** (RUT), pas de l'OS individuel.
|
||||
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
|
||||
|
||||
La sélection des candidats passe par la query standard
|
||||
`OutboundDefragContainers_PendingByWarehouseExcludedIds`, **modifiée en
|
||||
custom** : elle ne retient un conteneur que si sa tournée (ou son OS) n'a
|
||||
**plus de picking en cours**. Elle exclut donc les conteneurs de picking
|
||||
restants **et** les conteneurs pas encore rangés dans l'ASRS (encore en
|
||||
mouvement, `LocationType != Aps`). S'il en existe au moins un, aucun
|
||||
conteneur de cet ordre n'est retenu pour la défrag.
|
||||
|
||||
### Règle d'éligibilité (pseudocode)
|
||||
|
||||
```
|
||||
@@ -140,7 +170,8 @@ du **STOP 1** en dernier. Ainsi les palettes sortent dans le bon ordre
|
||||
lors du chargement camion (STOP 1 chargé en premier).
|
||||
|
||||
Le rangement se fait dans un canal (ou plusieurs canaux) par tournée
|
||||
— pas un canal par STOP.
|
||||
|
||||
- pas un canal par STOP.
|
||||
|
||||
### Paramètre MAX_DEFRAG_ATTEMPT
|
||||
|
||||
@@ -154,6 +185,10 @@ un emplacement de destination et n'en a pas trouvé. Si le filtre
|
||||
custom exclut la tournée avant même de chercher une destination,
|
||||
aucune tentative n'est décomptée.
|
||||
|
||||
> **Résolu (LIM-87, 23/04/2026)** : `MAX_DEFRAG_ATTEMPT` ne concerne que la
|
||||
> défrag **par rotation**, **pas** la défrag d'expédition/client. Le custom
|
||||
> de défrag client par tournée n'est donc **pas** plafonné par ce compteur.
|
||||
|
||||
## Cas de tests (LIM-87)
|
||||
|
||||
Légende : PC = palette complète, PP = palette de picking (mère),
|
||||
@@ -175,7 +210,7 @@ PF = palette fille (sortie du picking, retour ASRS).
|
||||
|----|-------------|---------------|------------------|
|
||||
| 06 | PP partie, PF pas encore revenue | 2 SOR, SOR1 prêt, SOR2 avec PF pas revenue | **NON éligible** (un OS bloque tout le RUT) |
|
||||
| 07 | PF encore sur AGV (en mouvement) | Multi-OS, 1 PF en transit AGV | **NON éligible** tant que PF pas dans ASRS |
|
||||
| 08 | Quai déjà assigné à la tournée | Toutes palettes prêtes, quai assigné | **NON éligible** pour custom défrag — flux standard prend le relais |
|
||||
| 08 | Quai déjà assigné à la tournée | Toutes palettes prêtes, quai assigné | **NON éligible** pour custom défrag - flux standard prend le relais |
|
||||
| 09 | Picking partiel sur un OS | 1 SOR, 3 lignes picking, 2 PF revenues, 1 PP au PK | **NON éligible** (on attend la totalité) |
|
||||
|
||||
### Cas dégradés
|
||||
@@ -184,7 +219,7 @@ PF = palette fille (sortie du picking, retour ASRS).
|
||||
|----|-------------|---------------|------------------|
|
||||
| 11 | AGV HS pendant retour PF | PF bloquée sur PK/buffer | **NON éligible** jusqu'à rangement ASRS |
|
||||
| 12 | Support sous révision | PP → buffer litige, stock réassigné sur PP' | Éligible quand toutes les palettes (réassignations incluses) dans ASRS |
|
||||
| 13 | Rupture de stock (ATTENTE CLIENT) | SOR1 prêt, SOR2 avec 1 ligne en rupture | **À trancher** : option A (RUT bloqué) ou option B (défrag partielle) |
|
||||
| 13 | Rupture de stock (ATTENTE CLIENT) | SOR1 prêt, SOR2 avec 1 ligne en rupture | Implémentation : commande incomplète → **pas de défrag** (proche option A). Arbitrage client à confirmer (option A vs B) |
|
||||
| 14 | Modification quantité (bouton Problème) | OnStockAdjust recalcule | Si stock suffisant → PF revient, RUT éligible. Si réassignation → attendre PP'/PF' |
|
||||
| 15 | RUT libéré, aucune PP partie (figé) | Pas de PK disponible | **NON éligible** (picking pas déclenché ≠ prêt). Pas de MAX_DEFRAG_ATTEMPT |
|
||||
| 16 | Ajout SOR à un RUT déjà éligible | Nouveau SOR avec lignes picking non traitées | **Redevient NON éligible** jusqu'à fin du nouveau SOR |
|
||||
@@ -196,7 +231,7 @@ exemple si l'activité reprend la nuit).
|
||||
|
||||
## Points d'attention
|
||||
|
||||
⚠️ Les tâches de défragmentation ont une priorité **basse** — elles ne
|
||||
⚠️ 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
|
||||
@@ -209,10 +244,13 @@ non prêt bloque toute la défrag du RUT.
|
||||
|
||||
## Questions ouvertes
|
||||
|
||||
- [ ] Rupture de stock CT-13 : option A (RUT bloqué tant que rupture
|
||||
- ❓ Rupture de stock CT-13 : option A (RUT bloqué tant que rupture
|
||||
non résolue) ou option B (défrag sur les palettes dispo) ? (@Justine)
|
||||
- [ ] MAX_DEFRAG_ATTEMPT : scope défrag client seul ou aussi défrag par
|
||||
rotation ? Impact sur la valeur à configurer (@Nicolas)
|
||||
Implémentation actuelle : commande incomplète → pas de défrag (proche
|
||||
option A), à confirmer client
|
||||
- [x] ~~MAX_DEFRAG_ATTEMPT : scope défrag client seul ou aussi défrag par
|
||||
rotation ?~~ → Résolu (LIM-87) : uniquement la défrag par rotation, pas
|
||||
la défrag d'expédition
|
||||
|
||||
## Historique des modifications
|
||||
|
||||
@@ -221,11 +259,13 @@ non prêt bloque toute la défrag du RUT.
|
||||
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
|
||||
| 2026-05-12 | Arthur | Refonte : ajout custom défrag client par tournée (LIM-87), mécanisme filtre éligibilité, ordonnancement STOP, 16 cas de tests |
|
||||
| 2026-05-13 | Arthur | Restauration contenu tronqué (caractéristiques, config, custom, cas de tests, points d'attention) |
|
||||
| 2026-07-17 | Arthur | Relecture LIM-85 (lecture directe, 1 commentaire) : ajout section « [CONFIG] Stratégies de défragmentation (LIM-85) » distinguant la config des stratégies (LIM-85, préprod, import Git 23/04) du custom d'éligibilité par tournée (LIM-87) ; statut + Références |
|
||||
| 2026-07-17 | Arthur | Relecture revue de code LIM-87 (préprod, validée 28/04) : ajout statut + query `OutboundDefragContainers_PendingByWarehouseExcludedIds` (filtre custom picking restant + conteneurs pas en Aps ; bug nommage paramètre corrigé 27/04) ; résolution MAX_DEFRAG_ATTEMPT (uniquement défrag rotation, pas expédition) ; CT-13 précisé (commande incomplète → pas de défrag, proche option A) |
|
||||
|
||||
## 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 (stratégies défrag) | 2026 |
|
||||
| [LIM-87](https://easywmsfrance.atlassian.net/browse/LIM-87) | Ticket Jira (défrag client quai non assigné) | 2026 |
|
||||
| [LIM-85](https://easywmsfrance.atlassian.net/browse/LIM-85) | Ticket Jira (config stratégies défrag, préprod, import Git 23/04) | 2026 |
|
||||
| [LIM-87](https://easywmsfrance.atlassian.net/browse/LIM-87) | Ticket Jira (défrag client quai non assigné, 5 commentaires, préprod) | 2026-04 |
|
||||
|
||||
Reference in New Issue
Block a user