/**
   * A partir d'un certain nombre de conges legaux, le total travaille par l'agent sur l'annee est
   * reduit.
   *
   * <p>- si total jours légaux > 90j : reduction de 10 jours a 7h00 (pour un 100%) - si total jours
   * légaux > 180j : reduction de 20 jours a 7h00 (pour un 100%)
   *
   * @param planning : l'objet <code>Planning</code> concerne
   * @return le decompte en minutes.
   */
  public static int getMinutesDecompteLegal(Planning planning) {

    int totalJourCongesLegaux =
        getNbJourWithDureeForStatut(
            planning,
            "isCongeLegalJourneeComplete",
            planning.affectationAnnuelle().dateDebutAnnee(),
            planning.affectationAnnuelle().dateFinAnnee());

    int minutesDecompteLegal = 0;
    if (totalJourCongesLegaux > N_JOUR_PALIER_1) {
      minutesDecompteLegal = 10 * N_MINUTES_JOUR;
      if (totalJourCongesLegaux > N_JOUR_PALIER_2) {
        minutesDecompteLegal += 10 * N_MINUTES_JOUR;
      }
    }

    if (minutesDecompteLegal > 0) {
      // on applique le prorata de(s) quotite(s) de travail
      // sur l'annee universitaire
      double ratio = 0.0;
      NSArray periodes = planning.affectationAnnuelle().periodes();
      for (int i = 0; i < periodes.count(); i++) {
        EOPeriodeAffectationAnnuelle periode =
            (EOPeriodeAffectationAnnuelle)
                planning.affectationAnnuelle().periodes().objectAtIndex(i);
        int nJours = getTotalJours360(periode.dateDebut(), periode.dateFin());
        ratio += (((double) nJours) / 360.0) * (periode.quotite().doubleValue() / 100.0);
      }
      minutesDecompteLegal = (int) ((double) minutesDecompteLegal * ratio);
    }

    return minutesDecompteLegal;
  }
 /**
  * Connaitre le total de jour ayant le statut <code>strStatut</code>.
  *
  * <p>Cette methode se base sur la nom d'une methode de la classe <code>Jour</code>.
  *
  * @see Jour
  */
 public static int getNbJourWithDureeForStatut(
     Planning planning, String strStatut, NSTimestamp dateDebut, NSTimestamp dateFin) {
   EOQualifier qual =
       CRIDataBus.newCondition(
           strStatut + " = %@ AND date >= %@ AND date <= %@",
           new NSArray(new Object[] {Boolean.TRUE, dateDebut, dateFin}));
   return EOQualifier.filteredArrayWithQualifier(planning.jours(), qual).count();
 }