Re: Armoire a cles
Date: jeudi 20 mars 2008 19:53:28
L'expérience récente selon le cahier des charges suivant :
===Expérience récente===
Objectif : permettre de controler l'expérience récente d'un pilote lors d'une réservation ou lors d'un vol comme pour les qualifs.
L'expérience récente correspond à ce qu'a fait un pilote au cours des derniers mois.
Les paramètres sont donc :
*la durée à considérer (en jours)
*le type d'expérience (le choix se fera par le biais des fonctions) :
**nombre d'atterrissages
**nombre d'heures de vols
Pour retrouver cette expérience il suffit de créer deux fonctions sur le même type que la fonction FlightPilot::getTotalDuration mais qui prendront en paramètre le nombre de jours à considérer (au lieu d'une date).
Ensuite, il faut rajouter dans la gestion des qualifs, la possibilité de mettre une qualif avec formule (donc rajouter un champ qui contiendra la formule). Si le champ vaut null, alors il n'y a pas de formule.
Une qualif avec formule ne pourra pas être "acquise" à pilote : elle ne devra donc pas apparaitre dans la combo des qualifs que peut se rajouter un pilote.
De même, il ne sera pas possible de transformer une qualif normale en qualif avec formule si cette qualif est déjà acquise par au moins un pilote (sinon, cela fait une rupture d'intégrité).
Pour la formule, il suffira de faire un dérivé de la class Formula (comme pour PricingFormula ou FlightTimeFormula).
Enfin, le plus dur, sera de modifier les tests lors des résas et des saisies de vols. Pour les qualifs avec formule, il ne faudra plus vérifier que le pilote dispose de la qualif (non périmée) mais il faudra vérifier que le pilote répond à la formule (test sur la formule, avec réponse TRUE ou FALSE).
Exemple de formule : lastLandingNumber(%PILOT,0,90,1,2,3)>3
avec :
*%PILOT = rien à dire, c'est comme pour getTotalDuration : cela permet d'avoir l'id du pilote
*0 = position dans l'avion
*90 = nombre de jours à considérer
*1, 2, 3=type d'avions sur lesquels à voler le pilote à considérer, si pas de type de défini, on prend tous les avions
Il faudra donc afficher pour la liste des types d'avions, le numéro du type (id)
Vous pouvez donc commander l'armoire à clé ;-)
Christophe LARATTE
OpenFlyers manager