Esempio n. 1
0
 public MaillesParEspece(Map<String, String> info) throws ParseException {
   Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece")));
   Groupe sous_groupe = Groupe.find.byId(Integer.parseInt(info.get("sous_groupe")));
   Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe")));
   StadeSexe stade_sexe = StadeSexe.find.byId(Integer.parseInt(info.get("stade")));
   List<StadeSexe> stades_sexes;
   if (stade_sexe != null) {
     stades_sexes = new ArrayList<StadeSexe>();
     stades_sexes.add(stade_sexe);
     stades_sexes.addAll(stade_sexe.getStadeSexeFilsPourTelGroupe(groupe));
   } else {
     stades_sexes = StadeSexe.findAll();
   }
   Calendar date1 = Calculs.getDataDate1(info);
   Calendar date2 = Calculs.getDataDate2(info);
   List<Espece> especesATraiter;
   if (espece != null) {
     especesATraiter = new ArrayList<Espece>();
     especesATraiter.add(espece);
   } else if (sous_groupe != null) {
     especesATraiter = sous_groupe.getEspecesInThis();
   } else if (groupe != null) {
     especesATraiter = groupe.getAllEspecesInThis();
   } else {
     especesATraiter = Espece.findAll();
   }
   mailles_par_espece = new HashMap<Espece, HashMap<UTMS, Integer>>();
   for (Espece especeATraiter : especesATraiter) {
     HashMap<UTMS, Integer> nbObservation = new HashMap<UTMS, Integer>();
     for (UTMS utm : UTMS.findAll()) {
       Integer complements =
           InformationsComplementaires.find
               .where()
               .eq(
                   "informations_complementaires_observation.observation_validee",
                   Observation.VALIDEE)
               .between(
                   "informations_complementaires_observation.observation_fiche.fiche_date",
                   date1.getTime(),
                   date2.getTime())
               .eq("informations_complementaires_observation.observation_fiche.fiche_utm", utm)
               .in("informations_complementaires_stade_sexe", stades_sexes)
               .eq("informations_complementaires_observation.observation_espece", especeATraiter)
               .findRowCount();
       nbObservation.put(utm, complements);
     }
     mailles_par_espece.put(especeATraiter, nbObservation);
   }
 }