Files
mcp-wms-wiki/wiki_old_13-05-2026/sources/archives/LIM-62_gestion-camions.md
T
2026-05-20 09:41:27 +02:00

11 KiB

LIM-62 — #LOT1.1 [RECEPTION] Gestion camions

Champ Valeur
Clé LIM-62
Projet LIMAGRAIN - DEV
Type Tâche
Statut En cours de test client (pré-production)
Priorité Medium
Rapporteur Arthur Ria
Assigné Arthur Ria
Epic LIM-1
Créé le 18/02/2026
Mis à jour 13/04/2026

Contexte

Arrivée et déclaration du camion

Ce flux concerne l'arrivée physique d'un camion sur le site et son orientation vers un quai de déchargement. Il est commun à tous les types de réception.

Il existe un emplacement fictif PARKING, plusieurs quais et plusieurs poumons de réception (parfois appelés "image de quai").

Résumé

Un camion contient plusieurs OE.

Un responsable crée la réception associée au camion dans la vue "Ordre d'entrée > Réception". Il saisit la plaque d'immatriculation et la destination ("PARKING" ou un quai d'expédition). Ensuite, il choisit les OE concernés. L'affichage plaque + quai permet de guider le chauffeur.

Note

: Chaque OE est flag via un CstAtt.

Le gestionnaire verra tous les réceptions et pourra filtrer par plaque et/ou quai assigné.

Flux détaillé

Étape 1 : Annonce du camion à l'arrivée

Annonce manuelle par un agent de quai :

Le camion arrive sur site et s'annonce auprès d'un agent de quai. L'agent accède à la vue "Ordre d'entrée > Réceptions" dans SmartUI. Il crée une nouvelle réception d'ordres d'entrée en saisissant :

  • la plaque d'immatriculation du véhicule
  • la destination : par défaut "PARKING" (quai fictif d'attente) ou directement un quai réel si disponible
  • les OE concernés

Étape 2 : Assignation du quai

L'agent de quai consulte les disponibilités des quais et images de quai via un graphique dans la vue des Réceptions (à droite de la grille). Il sélectionne les réceptions dans la vue et associe un quai réel au camion (ou modifie le quai si "PARKING" est déjà appliqué).

Règles d'assignation :

  • Le quai et l'image de quai sont réservés dès la sélection → il est quand même possible de réutiliser un combo quai/image de quai s'il y a de la place (gestion manuelle)
  • Blocage si flux différent (ex : expédition)
  • Si aucun quai n'est disponible → l'opérateur attend une libération ou choisit PARKING
  • Un quai peut être déjà occupé mais non plein, dans ce cas, via calcul de la place restante, on peut l'attribuer
  • Modification possible à posteriori si les contraintes d'exploitation l'exigent

Pour l'expédition, vérifier si l'image de quai a des supports associés à un OS.

Étape 3 : Information au chauffeur

Un écran d'affichage situé sur le parking montre la plaque d'immatriculation et le numéro de quai assigné. Le chauffeur peut ainsi se diriger vers le bon quai. Sera fait via une WS.


Développement

1. Saisie plaque (Document)

Dans la vue Réceptions > Réception, si on clique sur "Nouvelle réception du préavis de réception", que l'on sélectionne ses OE et que l'on fait suivant, renommer Document par "Camion" (à faire globalement dans le WMS pour les réceptions). Ici sera saisie la plaque du camion.

Il faut empêcher l'utilisateur de créer une réception avec des ordres d'entrées de classe différente. Si c'est le cas, bloquer la création de la réception avec un message d'erreur :

"Impossible de créer une réception avec des ordres d'entrée ayant des classes de préavis de réception différentes"

2. Résumé occupation

Dans l'espace à droite d'information globales, ajouter un tableau qui liste les quais. Pour chaque quai, afficher les combo réceptions/plaques associés ainsi que les combo tournées/plaques et OS/plaques.

Exemple :

QUAI Réceptions / Camion
PARKING [18-02-26_001 - ES-116-NA] ; [18-02-26-002 - GS-920-XJ]
QUAI_01
QUAI_02 [18-02-26_006 - DJ-100-XD]
QUAI_03
QUAI_04 [18-02-26_012 - AR-096-IA]
etc..

3. Affichage chauffeur

Voir LIM-63


Cas de tests

1. Création de réception — Saisie plaque / OE

ID Description Préconditions Actions Résultat attendu Validation Dév. Validation CDP
C1-01 OE de classes différentes sélectionnés OE avec classes de préavis différentes existent Sélectionner des OE de classes mixtes et faire Suivant Blocage avec message : "Impossible de créer une réception avec des ordres d'entrée ayant des classes de préavis de réception différentes"
C1-02 OE de classes identiques — création OK OE avec la même classe Sélectionner des OE de même classe et faire Suivant Passage à l'étape suivante, réception créée
C1-03 Un seul OE sélectionné (cas limite bas) N/A Sélectionner 1 seul OE Création autorisée, pas de contrôle de classe bloquant
C1-04 Le champ "Document" est bien renommé "Camion" N/A Ouvrir le formulaire de nouvelle réception Le libellé affiché est "Camion" et non "Document"

2. Assignation de quai

ID Description Préconditions Actions Résultat attendu Validation Dév. Validation CDP
A1-01 Quai avec flux expédition — blocage Un quai est occupé par un flux expédition (supports liés à un OS) Tenter d'assigner ce quai à une réception Blocage, le quai n'est pas assignable
A1-02 Quai PARKING assigné par défaut N/A Créer une réception sans choisir de quai réel La destination est "PARKING" par défaut
A1-03 Modification du quai après assignation initiale Réception déjà assignée à PARKING Modifier pour assigner un quai réel La modification est acceptée, le nouveau quai est reflété
A1-04 Réassignation d'un combo quai/image de quai partiellement occupé Quai avec de la place restante Assigner une nouvelle réception sur ce même quai Assignation autorisée (gestion manuelle de la place)
A1-05 Deux réceptions assignées simultanément au même quai plein Quai/image de quai déjà plein Tenter d'assigner une deuxième réception Comportement défini : est-ce bloqué ou simple avertissement ? À clarifier

3. Tableau de résumé d'occupation des quais

ID Description Préconditions Actions Résultat attendu Validation Dév. Validation CDP
T1-01 Un quai sans réception associée Quai vide Ouvrir la vue Réceptions Le quai apparaît dans le tableau avec la colonne "Réceptions / Camion" vide
T1-02 Un quai avec plusieurs réceptions/camions Quai avec 2 réceptions distinctes Ouvrir la vue Les deux paires réception/plaque sont affichées sur la même ligne, séparées par ";"
T1-03 PARKING avec plusieurs camions en attente 3 camions sur PARKING Ouvrir la vue Les 3 paires sont affichées sur la ligne PARKING
T1-04 Une réception dont le quai est modifié après coup Réception initialement sur PARKING, déplacée sur QUAI_01 Modifier le quai Le tableau se met à jour : la réception disparaît de PARKING et apparaît sur QUAI_01
T1-05 Tableau affiché quand aucune réception n'existe Base vide Ouvrir la vue Tous les quais apparaissent avec des colonnes vides, pas d'erreur d'affichage
T1-06 Un quai avec réceptions + tournées + OS Ouvrir la vue Afficher tous les combos quai/plaque sur le bon quai

Commentaires

💬 Vincent Charvet — 04/03/2026

Revue fonctionnelle

Empêcher l'assignation de différentes classes de préavis de réception — Condition sur le ViewAssistCreateReceptionOE et exception levée si au moins un des InboundClassCode des ordres sélectionnés est différent du premier sélectionné (toujours au moins 1 élément sélectionné à ce stade).

Résumé d'occupation — Créer une nouvelle entité avec le code du quai et une chaîne de caractère contenant les Réception/Tournées/OS associés, ajouter un viewDetailPanel dans la vue ReceptionVList avec cette entité.


💬 Justine Beutin — 04/03/2026

Corrections suite au point du 04/03 avec Vincent et Michaël.


💬 Vincent Charvet — 05/03/2026

Technical implementation

Entities :

  • CST_DockStationsWorkloadForView : Entity created to display informations about dock workload in both ReceptionVList and VAssistReceptionAssignDock views

Queries :

  • CST_DockStationsWorkload_ForView : Query for entity CST_DockStationsWorkloadForView

Views :

  • ReceptionVList : Add ViewDetailPanel with workload for each dock (associated receptions and routes)
  • VAssistCreateReceptionOE : Add an exception in Commands expression codes steps 2 and 3 raised when inbound orders with different classes are selected
  • VAssistReceptionAssignDock : Change entity in step 1 from Station to CST_DockStationsWorkloadForView and show workload

Resources :

  • CST_Reception_MultiClassError
    • FR : Impossible de créer une réception avec des ordres d'entrée ayant des classes de préavis de réception différentes
    • EN : Can't create reception with inbound orders with different inbound order class
  • ViewField_VAssistantCreateReceptionOE_Truck
    • FR : #KEY#[Prop_Reception_Document, PARAMS[]]
    • EN : #KEY#[Prop_Reception_Document, PARAMS[]]
  • Reception_DockWorkload_Panel_Title
    • FR : Occupation des quais
    • EN : Docks workload
  • Prop_Reception_Document
    • FR : Camion
    • EN : Truck
  • Prop_Station_Workload
    • FR : Assignations / Camions
    • EN : Assignations / Trucks

Git : 1d2acc3e6e


💬 Nicolas Chabanis — 06/03/2026

Revue de code non valide

Ressources :

  • Prop_Station_Workload, Reception_DockWorkload_Panel_Title, ViewField_VAssistantCreateReceptionOE_Truck : Les ressources custom doivent être préfixées par CST_

Views :

  • VAssistCreateReceptionOE
    • Dans l'expression code du step 3, il manque le commentaire //Custom end
    • Question à poser au CDP quant à la pertinence de rendre obligatoire le camion car sans l'affichage perd son intérêt et éviter le risque d'oubli
  • ReceptionVList
    • Mettre la propriété Column Span = 2 sur le ViewDetailPanel CST_Docks_Workload, afin qu'il prenne toute la largeur
    • Le titre demandé pour la deuxième colonne est "Réceptions / Camions"

💬 Vincent Charvet — 09/03/2026

Plaque non obligatoire à priori, pourra être renseigné après création de la réception.

Ajout des mêmes conditions sur les différentes classes d'ordres pour la création de réception depuis la vue des ordres d'entrées.


💬 Nicolas Chabanis — 09/03/2026

Revue de code validée