public void creationLog() { for (int j = 0; j < 6; j++) { for (int i = 0; i < this.tabAscenseur.get(j).getTabAppelsTraites().size(); i++) { System.out.println( j + "//" + this.tabAscenseur.get(j).getTabAppelsTraites().get(i).getIdAppel() + "//" + this.tabAscenseur.get(j).getTabAppelsTraites().get(i).getSourceAppel()); } } try { PrintWriter out = new PrintWriter(new FileWriter("log.txt", false)); for (Ascenseur asc : tabAscenseur) { for (Appel unAppel : asc.getTabAppelsTraites()) { System.out.println(asc.getIdAscenseur()); out.println("Ascenseur N°" + asc.getIdAscenseur()); out.println("\n\tAppel N°" + unAppel.getIdAppel()); out.println("\n\t\tSource: " + unAppel.getSourceAppel()); out.println("\n\t\tDestination: " + unAppel.getDestAppel()); out.println("\n\t\tDebut: " + unAppel.getDateDebut().getTime()); out.println("\n\t\tFin: " + unAppel.getDateFin().getTime() + "\n\n"); } } out.println("\n\n\n"); out.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }
// Cette methode va,pour un ascenseur donné, lui affecter une position de repositionnement la plus // appropiée public static void repositionnement(Ascenseur unAscenseur) throws InterruptedException { if (unAscenseur.getTabDestination().isEmpty()) { int ecart = 400, i, id = -1; ArrayList<Integer> tabRepositionement = new ArrayList<Integer>(); if (Batterie.changement) { System.out.println("Changement : " + Batterie.cal.getDateActuelle().getTime()); for (int k = 0; k < 6; k++) { // Initialise le tableau de reservation de position repos à faux. (Aucune position n'a été // réservée) Boolean bool = new Boolean(false); Batterie.tabResaPosition.set(k, bool); } } if (Batterie.semaine) { tabRepositionement = Batterie.tabPositionJournee; } else tabRepositionement = Batterie.tabPositionWeekEnd; Batterie.changement = false; System.out.println(unAscenseur.getIdAscenseur() + " : " + Batterie.tabResaPosition); for (i = 0; i < 6; i++) { // Si la position n'a pas été réservée if (!Batterie.tabResaPosition.get(i)) { int temp = Math.abs(unAscenseur.getPositionActuelle() - tabRepositionement.get(i)); if (temp < ecart) { ecart = temp; id = i; } } } // Reservation de l'emplacement Batterie.tabResaPosition.set(id, true); unAscenseur.setPositionRepo(tabRepositionement.get(id)); } } // Fin repositionnement