# Contexte Dans le flux de réception production, les palettes arrivent de la production (ou de l'ancien magasin) et vont **directement dans l'ASRS** sans passer par un poste de travail. Elles sont déchargées par un cariste sur une image de quai puis déclarées via le TRF en type "Production". Ce job périodique crée les tâches de déplacement AGV depuis les images de quai vers le buffer d'entrée production (qui alimente le PIE de l'ASRS). Ce buffer a une route virtuelle vers une table d’entrée du convoyeur. > **Note** : Ce job ne concerne **que** les réceptions de type Production (supports avec CstAtt04 = "ASN"). Les réceptions fournisseur/intersite/retour client sont gérées par [https://easywmsfrance.atlassian.net/browse/LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70) Le passage du statut "en attente" à "créé" est géré par le WMS standard (Task_GenerateMovementJob_PR). Le module AGV process et GNA qui "l'écoute" (LIM-XXX) envoie ensuite les tâches à la flotte iGo qui gère la file d'attente des AGV. Résumé du process complet de réception production : 1. Déclaration sur l'image de quai : [https://easywmsfrance.atlassian.net/browse/LIM-64](https://easywmsfrance.atlassian.net/browse/LIM-64) 2. **[Déplacement AGV → Entrée production] ← cette tâche** 3. Passage PIE (suppression support virtuel + création palette ASN) : [https://easywmsfrance.atlassian.net/browse/LIM-66](https://easywmsfrance.atlassian.net/browse/LIM-66) 4. Stockage ou rejet 5. Libération quai / image de quai **Redirection si PIE saturé** : Gérée en standard par le système de routes et distances configuré dans EasyS (route principale distance 1, routes secondaires distance 2). On ferme le PIE de prod → le WMS redirige automatiquement vers les autres entrées disponibles. Ce job envoie toujours vers la même destination ; c'est le WMS qui reroute si nécessaire. A vérifier si faisable avec plusieurs poumons, plusieurs PIE et si la config EasyS actuelle est prête pour ce mode dégradé. --- # Développement ### 1. Configuration du job Job périodique. Fréquence : **toutes les 30 secondes.** ### 2. Logique principale `POUR CHAQUE support fictif sur une image de quai : │ ├─ 2.1 ÉLIGIBILITÉ DU SUPPORT │ ├─ Séquence commence par 8000* (support fictif) ? │ ├─ CstAtt04 = "ASN" (support de production) ? │ ├─ CstAtt06 est vide (pas encore traité par ce job) ? │ ├─ Aucune tâche active ciblant ce support ? │ │ Statuts actifs = Bloqué, Créé, En attente, │ │ En attente d'annulation, En cours │ │ Statuts historiques (ignorés) = Annulé, Terminé │ └─ Si l'une des conditions NON → passer au support suivant │ ├─ 2.2 MARQUAGE DU SUPPORT │ └─ Setter CstAtt06 = valeur du paramètre DESTINATION_PRODUCTION │ (ex : "ENTREE_PRODUCTION") │ └─ 2.3 CRÉATION DE LA TÂCHE ├─ Origine : sous-emplacement de l'image de quai ├─ Destination : buffer d'entrée production (paramètre DESTINATION_PRODUCTION) └─ Statut initial : "en attente"` ### 3. Détails des étapes #### 2.1 Éligibilité du support Le job parcourt tous les supports positionnés sur des images de quai. Un support est éligible si **toutes** les conditions suivantes sont réunies : - **Séquence 800*** : Le support est un support fictif créé lors de la déclaration image de quai ([LIM-64](https://easywmsfrance.atlassian.net/browse/LIM-64)) - **CstAtt04 = "ASN"** : Le support est de type production - **Aucune tâche active** : Le support n'est l'objet d'aucune tâche dans un statut actif La double vérification CstAtt06 + absence de tâche active est une sécurité supplémentaire pour éviter toute création de tâche en doublon. #### Le WMS devra appliquer la stratégie de rangement configurée pour envoyer la palette vers la MU d’entrée à l’est ou à l’ouest (Est par défaut) Le WMS gère ensuite le passage "en attente" → "créé" au fil de l'eau, et le module AGV envoie les tâches à la flotte iGo. --- ## Paramètres | | | | |---|---|---| |Paramètre|Description|Valeur par défaut| |DESTINATION_PRODUCTION|Code du buffer d'entrée production (destination des tâches AGV)|ENTREE_PRODUCTION| --- # Cas de tests ### 1. Éligibilité du support | | | | | | | | |---|---|---|---|---|---|---| |ID|Description|Préconditions|Actions|Résultat attendu|Dév|CDP| |1|Support éligible — toutes conditions OK|Support séquence 800*, CstAtt04 = "ASN", CstAtt06 vide, aucune tâche active|Exécution du job|Une tâche est créée pour ce support||| |2|Support non ASN → ignoré|Support séquence 800*, CstAtt04 ≠ "ASN" (fournisseur), CstAtt06 vide|Exécution du job|Aucune tâche créée (support géré par [https://easywmsfrance.atlassian.net/browse/LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70))||| |3|Support déjà marqué (CstAtt06 renseigné) → ignoré|Support ASN, CstAtt06 = "ENTREE_PRODUCTION"|Exécution du job|Aucune tâche créée (déjà traité)|Plus utilisé|| |4|Support avec tâche active "En attente" → ignoré|Support ASN, CstAtt06 vide, 1 tâche en statut "En attente"|Exécution du job|Aucune tâche créée (sécurité doublon via tâche active)||| |5|Support avec tâche active "Créé" → ignoré|Support ASN, CstAtt06 vide, 1 tâche en statut "Créé"|Exécution du job|Aucune tâche créée||| |6|Support avec tâche active "En cours" → ignoré|Support ASN, CstAtt06 vide, 1 tâche en statut "En cours"|Exécution du job|Aucune tâche créée||| |7|Support avec tâche active "Bloqué" → ignoré|Support ASN, CstAtt06 vide, 1 tâche en statut "Bloqué"|Exécution du job|Aucune tâche créée||| |8|Support avec tâche active "En attente d'annulation" → ignoré|Support ASN, CstAtt06 vide, 1 tâche en statut "En attente d'annulation"|Exécution du job|Aucune tâche créée||| |9|Support avec tâche "Terminé" uniquement → éligible|Support ASN, CstAtt06 vide, tâches uniquement en statut "Terminé"|Exécution du job|Une tâche est créée (tâches terminées = historique)||| |10|Support avec tâche "Annulé" uniquement → éligible|Support ASN, CstAtt06 vide, tâches uniquement en statut "Annulé"|Exécution du job|Une tâche est créée (tâches annulées = historique)||| |11|Support non fictif (séquence ≠ 800*) → ignoré|Support réel sur image de quai, CstAtt04 = "ASN"|Exécution du job|Aucune tâche créée||| |12|Aucun support éligible|Aucun support ASN avec CstAtt06 vide sur les images de quai|Exécution du job|Le job ne fait rien, pas d'erreur||| --- ### 2. Marquage du support (CstAtt06) | | | | | | | | |---|---|---|---|---|---|---| |ID|Description|Préconditions|Actions|Résultat attendu|Dév|CDP| |13|CstAtt06 mis à jour avec la destination|Support éligible, paramètre DESTINATION_PRODUCTION = "ENTREE_PRODUCTION"|Exécution du job|CstAtt06 du support = "ENTREE_PRODUCTION"|Plus utilisé|| |14|Marquage de tous les supports éligibles|5 supports ASN éligibles sur une image de quai|Exécution du job|Les 5 supports ont CstAtt06 = "ENTREE_PRODUCTION"|Plus utilisé|| |15|Supports non ASN non impactés|3 supports ASN + 4 supports fournisseur sur la même image de quai|Exécution du job|Seuls les 3 supports ASN ont leur CstAtt06 mis à jour|Plus utilisé|| --- ### 3. Création des tâches | | | | | | | | |---|---|---|---|---|---|---| |ID|Description|Préconditions|Actions|Résultat attendu|Dév|CDP| |16|1 tâche par support éligible|8 supports ASN éligibles|Exécution du job|8 tâches créées, ni plus ni moins||| |17|Statut initial = "En attente"|Support ASN éligible|Exécution du job|Tâche créée en statut "En attente"|Une d’entre elle passe “en cours” car route virtuelle|| |18|Origine = sous-emplacement image de quai|Support sur sous-emplacement 3 de l'image de quai|Exécution du job|La tâche a pour origine le sous-emplacement 3||| |19|Destination = paramètre DESTINATION_PRODUCTION|Paramètre = "ENTREE_PRODUCTION"|Exécution du job|La destination de la tâche est "ENTREE_PRODUCTION"|Plus utilisé, le choix est fait via les stratégies de rangement|| |20|Destination mise à jour si paramètre modifié|Paramètre changé de "ENTREE_PRODUCTION" à "ENTREE_PROD_2"|Exécution du job avec nouveau support|La tâche pointe vers "ENTREE_PROD_2"|Plus utilisé|| --- ### 4. Double sécurité anti-doublon | | | | | | | | |---|---|---|---|---|---|---| |ID|Description|Préconditions|Actions|Résultat attendu|Dév|CDP| |21|CstAtt06 renseigné mais tâche annulée → pas de recréation|Support ASN, CstAtt06 = "ENTREE_PRODUCTION", tâche existante en "Annulé"|Exécution du job|Aucune tâche créée (bloqué par CstAtt06 déjà renseigné, même si la tâche est en historique)|Plus utilisé|| |22|CstAtt06 vide mais tâche active → pas de recréation|Support ASN, CstAtt06 vide (cas anormal), 1 tâche en "En cours"|Exécution du job|Aucune tâche créée (bloqué par la tâche active, même si CstAtt06 est vide)|Plus utilisé|| |23|Les deux conditions vides → tâche créée|Support ASN, CstAtt06 vide, aucune tâche active|Exécution du job|Une tâche est créée et CstAtt06 est renseigné|Plus utilisé|| --- ### 5. Exécutions successives du job | | | | | | | | | --- | --------------------------------------------- | --------------------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --- | | ID | Description | Préconditions | Actions | Résultat attendu | Dév | CDP | | 24 | Nouveaux supports traités au prochain cycle | 3 supports ASN traités au cycle précédent, 2 nouveaux supports ASN déclarés | Exécution du job | Seuls les 2 nouveaux supports génèrent des tâches | | | | 25 | Pas de doublon sur exécution consécutive | 5 supports ASN traités au cycle précédent, aucun nouveau support | Exécution du job | Aucune tâche créée, pas d'erreur | | | | 26 | Mix ASN et fournisseur sur même image de quai | 3 supports ASN + 4 supports fournisseur (CstAtt04 ≠ "ASN") | Exécution du job | Seuls les 3 supports ASN génèrent des tâches. Les 4 supports fournisseur sont ignorés (gérés par [https://easywmsfrance.atlassian.net/browse/LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70)) | | |