* Estado del proceso.
* 0 = En Espera
* 1 = Procesando
- * 2 = Finalizado sin copiar el resultado al tacho
- * 3 = Finalizado
- * 4 = Error
- * 5 = Abortado
+ * 2 = Finalizado
+ * 3 = Error
+ * 4 = Abortado
*
* @var int $status
* @access public
*/
var $resultado = null;
+ /**
+ * Nombre del archivo en el tacho
+ *
+ * @var string $archivo
+ * @access public
+ */
+ var $archivo = null;
+
/**
* Nota explicativa sobre el error producido o el motivo por el cual se
* aborto el proceso.
elseif (!$res) {
return false;
}
-
$this->id = $res['id'];
- $fecha =& new Date ($res['fecha'].' 00:00:00');
- $this->fecha = $fecha;
+ $this->fecha = $res['fecha'];
$this->script = $res['script'];
$this->id_sistema = $res['id_sistema'];
$this->nombre_sistema = $res['nombre_sistema'];
$this->scheduling = $res['scheduling'];
$this->notificar = $res['notificar'];
$this->resultado = $res['resultado'];
+ $this->archivo = $res['archivo'];
$this->nota = $res['nota'];
$this->icono = $res['icono'];
return true;
$orden = '';
}
- return $db->query("SELECT p.id AS id, p.fecha AS fecha, p.script AS
+ return $db->query("SELECT p.id AS id,
+ DATE_FORMAT(p.fecha, '%d-%m-%Y') AS fecha,
+ p.script AS
script, p.id_sistema AS id_sistema, s.nombre_sistema AS
nombre_sistema, p.descripcion AS descripcion, p.pid AS pid,
p.server AS server, p.status AS status, p.owner AS owner,
p.destinos AS destinos, p.prioridad AS prioridad, p.scheduling
AS scheduling, p.notificar AS notificar, p.resultado AS
- resultado, p.nota AS nota,".
+ resultado, p.nota AS nota, p.archivo AS archivo, ".
"IF (p.status = 0, 'El proceso esta en cola. Aun no se ejecuto.".
"', ".
"IF(p.status = 1, 'El proceso se esta ejecutando en este momento.".
}
/**
+ * Guarda los datos en la base.
+ *
* @param DB $db Conexion a la base de datos.
* @param bool $nuevo Indica si se trata de un nuevo registro en la base.
*
* @return mixed
* @access public
*/
- function guardar($db = null, $nuevo = false)
+ function guardar($db = null, $nuevo = true)
{
+/*
+ //@TODO PASAR ESTO A UNA CLASE SERVIDOR
+ //Busco el servidor
+ $res = $db->query('SELECT id, escala * procesos AS ponderacion
+ FROM yatta.servidores
+ ORDER BY ponderacion, escala');
+ $res = $res->fetchRow(DB_FETCHMODE_ASSOC);
+ // Si hay error lo devuelve.
+ if (DB::isError($res)) {
+ return $res;
+ }
+ $this->server = $res['id'];
+ //Asigno la fecha
+ if (@is_null($this->fecha)) {
+ $this->fecha = date ('Y-m-d');
+ }
+
if ($nuevo) {
$datos = array (
'fecha' => $this->fecha,
'scheduling' => $this->scheduling,
'notificar' => $this->notificar,
'resultado' => $this->resultado,
+ 'archivo' => $this->archivo,
'nota' => $this->nota
);
'scheduling' => $this->scheduling,
'notificar' => $this->notificar,
'resultado' => $this->resultado,
+ 'archivo' => $this->archivo,
'nota' => $this->nota
);
DB_AUTOQUERY_UPDATE, 'id = '.$this->id);
}
- return $res;
+
+ if (DB::isError($res)) {
+ return $res;
+ }
+
+ return $db->query('
+ UPDATE yatta.servidores
+ SET procesos = procesos + 1
+ WHERE id = '. $this->server);
+*/
}
/**
$this->scheduling = null;
$this->notificar = null;
$this->resultado = null;
+ $this->archivo = null;
$this->nota = null;
$this->icono = null;
}
+
+ /**
+ * Devuelve un array asociativo con los valores del proceso.
+ *
+ * @return array
+ * @access public
+ */
+ function obtenerDatos() {
+ return array (
+ 'script' => $this->script,
+ 'id_sistema' => $this->id_sistema,
+ 'descripcion' => $this->descripcion,
+ 'owner' => $this->owner,
+ 'destinos' => $this->destinos,
+ 'prioridad' => $this->prioridad,
+ 'scheduling' => $this->scheduling,
+ 'notificar' => $this->notificar,
+ );
+ }
}
?>
\ No newline at end of file