Conj<unsigned int> Planta::verOrdenes() const{ Conj<unsigned int> res; Secu<ordtars>::const_iterador it = this->terminadas.crearIt(); while (it.hayMas()){ res.agregar(it.actual().orden); it.avanzar(); } return res; }
Conj<unsigned int> Planta::ordenesFinalizadas() const{ Conj<unsigned int> res; Secu<ordtars>::const_iterador it = this->terminadas.crearIt(); while (it.hayMas()){ if (terminoOrden(it.actual().tareas, this->wkf.cantidadTareas())){ res.agregar(it.actual().orden); } it.avanzar(); } return res; }
Conj<actividad> Planta::actividades() const{ Conj<actividad> res; unsigned int i = 0; unsigned int n = this->wkf.cantidadTareas(); actividad act; Secu<ordtars>::const_iterador it = this->terminadas.crearIt(); while (it.hayMas()){ while (i < n){ act.orden = it.actual().orden; act.tarea = i; res.agregar(act); i++; } it.avanzar(); } return res; }
Conj<actividad> Planta::enEjecucion() const{ Conj<actividad> res; Secu<ordtars>::const_iterador it = this->terminadas.crearIt(); unsigned int i = 0; unsigned int n = this->wkf.cantidadTareas(); actividad act; while (it.hayMas()){ i = 0; while (i < n){ if (!it.actual().tareas[i].termino && it.actual().tareas[i].predPendientes == 0){ act.orden = it.actual().orden; act.tarea = i; if (!this->esperando.estaActiv(act)){ res.agregar(act); } } i++; } it.avanzar(); } return res; }