Example #1
0
  @Override
  public void run() {
    boolean tieneOrdenes;
    int tiempo;
    int sleepTime;

    while (active) {
      if (!this.getOrdenes().isEmpty()) {
        tieneOrdenes = true;
      } else {
        tieneOrdenes = false;
      }
      try {
        Orden temp = this.ordenes.get(0);
        tiempo = temp.getTiempoTotal();
        finishedOrder = false;
        this.bar.setValue(0);
        sleepTime = tiempo * 10 / 100;
        sleepTime *= 100;
        while (!finishedOrder) {
          if (bar.getValue() != 100) {
            bar.setValue(bar.getValue() + 1);
            try {
              Thread.sleep(sleepTime);
            } catch (Exception e) {
            }
          } else {
            finishedOrder = true;
            break;
          }
        }
        this.ordenes.remove(0);
        int menor = Integer.MAX_VALUE;

        int index = 0;
        for (int i = 0; i < this.ordenesCamion.size(); i++) {
          if (menor > ordenesCamion.get(i).size() && ordenesCamion.get(i).size() != 10) {
            menor = ordenesCamion.get(i).size();
            index = i;
          }
        }
        ordenesCamion.get(index).add(temp);
        this.bar.setValue(0);

      } catch (Exception e) {
      }
    }
  }