lCollaborateur.setListeTaches(lListeTaches) ;
for (int j = 0 ; j < lCollaborateur.getNbTachesImprevues() ; j++) { lTacheImprevue = lCollaborateur.getTacheImprevue(j) ;  boolean tacheOK = false ;  for(int k = 0; k<mIteration.getNbTachesImprevues();k++) { if (mIteration.getTacheImprevue(k).getId() == lTacheImprevue.getId()) { tacheOK = true ; } }   if (tacheOK == true) { lListeTachesImprevues.add(lTacheImprevue) ; } }   for (int j = 0 ; j < lListeTaches.size() ; j++) { lTache = (MTache)lListeTaches.get(j) ; lTempsPrevu += lTache.getChargeInitiale() ; lTempsPasse += lTache.getTempsPasse() ; lResteAPasser += lTache.getResteAPasser() ; lNbTaches++ ; if (lDateDebutPrevue.after(lTache.getDateDebutPrevue())) lDateDebutPrevue = lTache.getDateDebutPrevue() ; if (lDateFinPrevue.before(lTache.getDateFinPrevue())) lDateFinPrevue = lTache.getDateFinPrevue() ; if (lTache.getDateDebutReelle()!=null) { if (lAuxDateDebutReelle.after(lTache.getDateDebutReelle())) { lAuxDateDebutReelle = lTache.getDateDebutReelle() ; lDateDebutReelle = lTache.getDateDebutReelle() ; } } if (lTache.getDateFinReelle()!=null) { if (lAuxDateFinReelle.before(lTache.getDateFinReelle())) { lAuxDateFinReelle = lTache.getDateFinReelle() ; lDateFinReelle = lTache.getDateFinReelle() ; } } }   for (int j = 0 ; j < lListeTachesImprevues.size() ; j++) { lTacheImprevue = (MTacheImprevue)lListeTachesImprevues.get(j) ; lTempsPrevu += lTacheImprevue.getChargeInitiale() ; lTempsPasse += lTacheImprevue.getTempsPasse() ; lResteAPasser += lTacheImprevue.getResteAPasser() ; lNbTaches++ ; if (lDateDebutPrevue.after(lTacheImprevue.getDateDebutPrevue())) lDateDebutPrevue = lTacheImprevue.getDateDebutPrevue() ; if (lDateFinPrevue.before(lTacheImprevue.getDateFinPrevue())) lDateFinPrevue = lTacheImprevue.getDateFinPrevue() ; if (lTacheImprevue.getDateDebutReelle()!=null) { if (lAuxDateDebutReelle.after(lTacheImprevue.getDateDebutReelle())) { lAuxDateDebutReelle = lTacheImprevue.getDateDebutReelle() ; lDateDebutReelle = lTacheImprevue.getDateDebutReelle() ; } } if (lTacheImprevue.getDateFinReelle()!=null) { if (lAuxDateFinReelle.before(lTacheImprevue.getDateFinReelle())) { lAuxDateFinReelle = lTacheImprevue.getDateFinReelle() ; lDateFinReelle = lTacheImprevue.getDateFinReelle() ; } } }  if (lNbTaches > 0) { lPrcDepassementCharge = (lTempsPasse + lResteAPasser - lTempsPrevu) / lTempsPrevu ; lHDepassementCharge = lTempsPasse + lResteAPasser - lTempsPrevu ; lBudgetConsomme = lTempsPasse / lTempsPrevu ; lPrcAvancement = lTempsPasse / (lTempsPasse + lResteAPasser) ;  lCollaborateur.setListe(new Integer(1), new Integer(lTempsPrevu)) ; lCollaborateur.setListe(new Integer(2), new Integer(lTempsPasse)) ; lCollaborateur.setListe(new Integer(3), new Integer(lResteAPasser)) ; lCollaborateur.setListe(new Integer(4), lDateDebutPrevue) ; lCollaborateur.setListe(new Integer(5), lDateDebutReelle) ; lCollaborateur.setListe(new Integer(6), lDateFinPrevue) ; lCollaborateur.setListe(new Integer(7), lDateFinReelle) ; lCollaborateur.setListe(new Integer(8), new Double(lPrcDepassementCharge)) ; lCollaborateur.setListe(new Integer(9), new Double(lHDepassementCharge)) ; lCollaborateur.setListe(new Integer(10), new Double(lBudgetConsomme)) ; lCollaborateur.setListe(new Integer(11), new Double(lPrcAvancement)) ; }  lCollaborateur.setListe(new Integer(0), new Integer(lNbTaches)) ;
    public void initialiserBaseDonnees () throws ServletException    {      OQLQuery       lRequete ;       // Requte  raliser sur la base      QueryResults   lResultat ;      // Rsultat de la requte sur la base            try      {        // Rcupre le projet pour lequel le chef de projet s 'est connect        HttpSession session = getRequete ().getSession (true) ;        mSession = (Session)session.getAttribute("SESSION") ;        mProjet = mSession.getProjet() ;                getBaseDonnees ().begin () ;                int idProjet = mProjet.getId() ;        // Rcupre le projet dans la BD        lRequete = getBaseDonnees ().getOQLQuery ("select PROJET from owep.modele.execution.MProjet PROJET where mId = $1") ;        lRequete.bind (idProjet) ;        lResultat      = lRequete.execute () ;        mProjet = (MProjet) lResultat.next () ;        getBaseDonnees ().commit () ;                // recuperation du numero de l iteration choisie dans le menu deroulant        mIteration = mSession.getIteration() ;        mIterationNum = mIteration.getNumero();                // recherche de l iteration en cours        for (int m = 0; m < mProjet.getNbIterations() ; m++)        {          if (mProjet.getIteration(m).getEtat()==1)            mIterationEnCours = mProjet.getIteration(m).getId();        }        // si on a demand l affichage du suivi des collaborateurs pour une        // autre iteration que celle en cours        if (mIterationNum != mIterationEnCours)        {          // creation de la liste des taches des collaborateurs          MCollaborateur lCollaborateur ;          MTache lTache ;           // pour chaque collaborateur          for (int i = 0 ; i < mProjet.getNbCollaborateurs() ; i++)          {            ArrayList lListeTaches = new ArrayList ();            lCollaborateur = mProjet.getCollaborateur(i) ;            // pour chaque tache du collaborateur            for (int j = 0 ; j < lCollaborateur.getNbTaches() ; j++)            {              lTache = lCollaborateur.getTache(j) ;              // on ne retient que les taches de l iteration selectionne              boolean tacheOK = false ;              // on regarde si la tache en cours fait partie de l iteration selectionne              for(int k = 0; k<mIteration.getNbTaches();k++)              {                if (mIteration.getTache(k).getId() == lTache.getId())                 {                  tacheOK = true ;                }              }              // si la tache en cours appartient a l iteration selectionne              // on l ajoute a la liste des taches du collaborateur a afficher              if (tacheOK == true)              {                lListeTaches.add(lTache) ;              }            }            lCollaborateur.setListeTaches(lListeTaches) ;            // on ajoute le collaborateur a la liste a afficher            mProjet.setListe(new Integer(i), lCollaborateur) ;          }        }      }      catch (Exception eException)      {        eException.printStackTrace () ;        throw new ServletException (CConstante.EXC_TRAITEMENT) ;      }      // Ferme la connexion  la base de donnes.      finally      {        try        {          getBaseDonnees ().close () ;        }        catch (PersistenceException eException)        {          eException.printStackTrace () ;          throw new ServletException (CConstante.EXC_DECONNEXION) ;        }      }    }