1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
public List<IVoyage> getListeVoyages(ILieu origine, ILieu destination,
String clientOrigine, String clientDestination,
Date debutPeriodeStat, Date finPeriodeStat, Date debutPeriodeOper,
Date finPeriodeOper, int nombre) throws ServiceException {
List<IVoyage> listeRecursive = null;
String numeroFictif = "";
if (nombre > 0) {
ArrayList<ArrayList<Calendar>> listeCompleteJours = calculNbJourDisponibles(
debutPeriodeOper, finPeriodeOper);
System.out.println("debutPeriodeOper est :" + debutPeriodeOper);
System.out.println("finPeriodeOper est :" + finPeriodeOper);
System.out.println("la taille de la liste listeCompleteJours : "
+ listeCompleteJours.size());
if (listeCompleteJours.size() != 0 && listeCompleteJours != null) {
for (int k = 0; k < listeCompleteJours.size(); k++) {
System.out.println("" + listeCompleteJours.get(k));
}
}
try {
listeRecursive = (ArrayList<IVoyage>) daoFactory.getVoyageDao()
.findVoyagesStatistiques(origine, destination,
clientOrigine, clientDestination,
debutPeriodeStat, finPeriodeStat, nombre);
System.out.println("ma liste:" + listeRecursive);
if (listeRecursive.size() != nombre)
listeRecursive.addAll((ArrayList<IVoyage>) daoFactory
.getVoyageDao().findVoyagesStatistiques(origine,
destination, clientOrigine,
clientDestination, debutPeriodeStat,
finPeriodeStat,
nombre - listeRecursive.size()));
for (IVoyage objetVoyage : listeRecursive) {
Calendar jourStat = Calendar.getInstance();
jourStat.setTime(objetVoyage.getDateHeureDepart());
System.out.println("la positionde listeJours:"
+ jourStat.get(Calendar.DAY_OF_WEEK));
ArrayList<Calendar> listeJours = listeCompleteJours
.get(jourStat.get(Calendar.DAY_OF_WEEK));
if (listeJours.isEmpty()) {
// ERREUR
}
Calendar jourOper = choixHasardDansListe(listeJours);
jourOper.set(Calendar.HOUR, jourStat.get(Calendar.HOUR));
jourOper
.set(Calendar.MINUTE, jourStat.get(Calendar.MINUTE));
jourOper
.set(Calendar.SECOND, jourStat.get(Calendar.SECOND));
if (objetVoyage != null) {
numeroFictif = daoFactory.getVoyageDao().getSeq(
"s_num_wagon");
System.out.println(numeroFictif);
objetVoyage.setNumeroWagon(numeroFictif);
objetVoyage.setEstPrevision(1);
objetVoyage.setEstAnnule(0);
objetVoyage.setDateHeureDepart(jourOper.getTime());
daoFactory.getVoyageDao().insertTest(objetVoyage);
System.out.println("ce voyage vient d'être inséré:"
+ objetVoyage.getIdVoyage());
}
}
} catch (DaoException e) {
throw new ServiceException(e);
}
}
return listeRecursive;
} |
Partager