Bonjour Benjamin
on vient de retrouver 2 bugs dans la regle TAC pour la V2 qui se
reporten surement sur la V3
1/ la fonction razCaptureCumulee ne remet pas la matrice CaptureCumulee a 0
2/ il y avait une erreur dans la condition de la regle TACPoids -
corrections en Ecmascript ci-dessous (voir partie modifiee dans le code)
merci de faire le necessaire pour ceux qui font tourner le TAC avec V3.
a+
stephanie
// si oldValue existe on est dans la condition pour actionApres.
// il faut donc reprendre oldValue comme valeur de retour
writeln("Recherche si le tac s'applique (oldValue="+oldValue);
writeln("Captures Cumulees ="+p.CaptureCumulee);
var result = false;
if(oldValue != undefined)
result = oldValue;
else if(p.date.before(p.dateDeb))
result = false;
else if(p.date.after(p.dateFin))
result = false;
//else if(p.CaptureCumulee==0 && p.date.getMois().getNumMois()!=0){
// p.CaptureCumulee=Regle_action_lib.totalCcumpoids(p.suivie,p.metapop);
// if (p.CaptureCumulee>= p.TACAn){
// writeln("Tac atteind");
// if(Regle_libUtil.isCaptureDate(p.date,p.metapop, p.metier)) result =
true;
// }
//}
//partie modifiee
else if(p.date.getMois().getNumMois()==0 || p.CaptureCumulee<p.TACAn){
//if month=january or TAc not reached at previous month,
//compute again p.CaptureCumulee
p.CaptureCumulee=Regle_action_lib.totalCcumpoids(p.suivie,p.metapop);
if (p.CaptureCumulee>= p.TACAn){
writeln("Tac atteint");
if(Regle_libUtil.isCaptureDate(p.date,p.metapop, p.metier)) result = true;
}
}
//fin de partie modifiee
else if (p.CaptureCumulee>= p.TACAn){
//if TAC was already reached within this year
writeln("Tac deja atteint");
if(Regle_libUtil.isCaptureDate(p.date,p.metapop, p.metier)) result = true;
}
writeln("Captures Cumulees ="+p.CaptureCumulee);
writeln("fin de condition TAC:"+result);
return result;
--
......................................................................
Stephanie MAHEVAS (Stephanie.Mahevas(a)ifremer.fr)
IFREMER/EMH (Ecologie et Modèles pour l'Halieutique)
Tel: 02 40 37 41 81 Fax: 02 40 37 40 75
o \ o / _ o __| \ / |__ o _ \ o / o
/|\ | /\ ___\o \o | o/ o/__ /\ | /|\
/ \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \
......................................................................