Planning d'interventions optimisé par scripts serveur [Fiche expert]

Version minimum

Date de mise à jour

Version minimum

Date de mise à jour

6.0

May 30, 2023

Fonctionnalité

Pour remédier aux lenteurs lors de la planification des interventions, le mécanisme a été réécrit pour profiter au maximum des avantages des script serveurs. L’idée est d’y déplacer toutes les requêtes sql.

Critères d'activation

Particularités

En plus de l'optimisation, la réécriture a permis d’améliorer :

 

  • le calcul des temps de trajet

Avant, lorsque des planifications se superposaient, la lecture du planning avec les temps de trajet activés était incompréhensible.

Maintenant, lorsque des planifications se superposent, seul l'une d'elles peut avoir un trajet. Ce qui fait qu'il y a d'une part une chaine de planifications qui sont liées avec un trajet entre chacune d’elles, et d'autre part des planifications qui sont exclues de cette chaine et n'ont pas de trajet.

Les planifications entrent et sortent de cette chaine en fonction de la dernière planification modifiée : si on ajoute (ou déplace) une planification et qu'elle se superpose à une (ou plusieurs) autre(s), alors cette (ou ces) autre(s) sortent de la chaine.

  • la réorganisation automatique d'une journée d'une ressource

On ne déplace plus des planifications sur les jours suivants, lorsqu'il y en a trop dans la journée. Celles qui sont en trop sont déplacées afin que leurs dates de fin correspondent à la fin de la journée de la ressource. Si les temps de trajet sont activés, ces planifications seront ainsi hors chaine.

Donc, bien qu'il soit encore proposé à l'utilisateur de dépasser ou non la fin de la journée de la ressource, les planifications ne dépassent plus minuit.

  • la planification des équipes

Lorsqu'on déplace une planification d'une équipe statique, on réévalue l'équipe. Donc des planifications peuvent être créées ou supprimées automatiquement.

Lorsqu'on déplace une planification d'une équipe dynamique, l'équipe n'est pas réévaluée même si on la déplace plus loin que la durée de vie de l'équipe. Dans le cas d'un déplacement, la durée de vie est donc infinie.