... | ... | @@ -4,13 +4,13 @@ Les agents `Building` permettent de modéliser les bâtiments associés aux dest |
|
|
|
|
|
Lorsqu'un agent `Vehicle` arrive à destination il appel la fonction `receiveCommodity` de l'agent `Building` en passant en paramètre la liste des marchandises transportées. Dans le cas où le bâtiment est la destination finale de la marchandise (il peut s'agir d'un entrepôt ou du bâtiment associé au destinataire final), alors ces marchandises sont incluses dans la liste `entering_stocks` sous la forme d'objets de type `AwaitingStock`. Sinon, lorsque le bâtiment correspond à un entrepôt, la marchandise va encore transiter vers un autre bâtiment grâce à un autre véhicule. Dans ce cas la marchandise est ajouté à la liste `comingCommodities`.
|
|
|
|
|
|
## Le bâtiment est la destination finale de la marchandise
|
|
|
## Le bâtiment est la destination finale de la marchandise
|
|
|
|
|
|
Le reflex `processEnteringGoods` s'active une fois par cycle si la liste `entering_stocks` n'est pas vide. Le reflex commence par parcourir `entering_stocks` et va filtrer, via la liste temporaire `toBeIncluded`, les marchandises qui ont eu le temps d'être manutentionnées. Ensuite, le reflex incorpore chaque marchandise dans ses propres stocks.
|
|
|
|
|
|
Si le bâtiment ne trouve pas dans quel stock il doit incorporer une marchandise, cela veut dire qu'on est dans le cas où cette marchandise a été envoyé par un précédent prestataire vers un entrepôt, mais que le contrat entre le prestataire et le client a été rompu avant que la marchandise n'arrive à destination. Dans ce cas le nouveau prestataire est prévenu et se charge de traiter la marchandise "perdue" en l'expédiant au bon endroit.
|
|
|
|
|
|
## Le bâtiment n'est pas la destination finale de la marchandise
|
|
|
## Le bâtiment n'est pas la destination finale de la marchandise
|
|
|
|
|
|
Chaque bâtiment possède un (ou plusieurs) reflex de type `manage[type of transport mode]CommingCommodities` : un reflex de ce type existe pour chaque mode de transport auquel le bâtiment est rattaché. Ainsi, ils possède tous au moins le reflex `manageRoadComingCommodities`.
|
|
|
|
... | ... | |