Esempio n. 1
0
  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();
    }
  }
Esempio n. 2
0
  // 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