]> git.llucax.com Git - mecon/yatta.git/blobdiff - lib/YATTA/Proceso.php
Interfaz de usuario casi completa.
[mecon/yatta.git] / lib / YATTA / Proceso.php
index 0f7c963e2dc1964b583bd3ff14d96b1965738b7c..31fb12262a7055ad254cfebba4b4922c86e4d4e5 100644 (file)
@@ -105,10 +105,9 @@ class YATTA_Proceso extends MECON_DBO {
      * Estado del proceso.       
      * 0 = En Espera
      * 1 = Procesando
      * 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    int $status
      * @access public
@@ -164,6 +163,14 @@ class YATTA_Proceso extends MECON_DBO {
      */
     var $resultado = null;
     
      */
     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.
     /**
      * Nota explicativa sobre el error producido o el motivo por el cual se
      * aborto el proceso.
@@ -172,6 +179,14 @@ class YATTA_Proceso extends MECON_DBO {
      * @access public
      */
     var $nota = null;
      * @access public
      */
     var $nota = null;
+
+    /**
+     * Descripcion del estado.
+     *
+     * @var    string $icono
+     * @access public
+     */
+    var $icono = null;
     
     /**
      * Carga el objeto con los datos que se pasan por parametro.
     
     /**
      * Carga el objeto con los datos que se pasan por parametro.
@@ -185,6 +200,7 @@ class YATTA_Proceso extends MECON_DBO {
     {
         // Si es un resultado, obtengo los elemento.
         if (is_a($db, 'db_result')) {
     {
         // Si es un resultado, obtengo los elemento.
         if (is_a($db, 'db_result')) {
+            $this->predefinirAtributos();
             $res = $db->fetchRow(DB_FETCHMODE_ASSOC);
             // Si hay error lo devuelve.
             if (DB::isError($res)) {
             $res = $db->fetchRow(DB_FETCHMODE_ASSOC);
             // Si hay error lo devuelve.
             if (DB::isError($res)) {
@@ -193,27 +209,29 @@ class YATTA_Proceso extends MECON_DBO {
             elseif (!$res) {
                 return false;
             }
             elseif (!$res) {
                 return false;
             }
+
+            $this->id               = $res['id'];
+            $fecha                  =& new Date ($res['fecha'].' 00:00:00');
+            $this->fecha            = $fecha; 
+            $this->script           = $res['script'];
+            $this->id_sistema       = $res['id_sistema'];
+            $this->nombre_sistema   = $res['nombre_sistema'];
+            $this->descripcion      = $res['descripcion'];
+            $this->pid              = $res['pid'];
+            $this->server           = $res['server'];
+            $this->status           = $res['status'];
+            $this->owner            = $res['owner'];
+            $this->destinos         = split(',', $res['destinos']);
+            $this->prioridad        = $res['prioridad'];
+            $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;
         }
         }
-        
-        $this->id               = $res['id'];
-        $fecha                  =& new Date ($res['fecha'].' 00:00:00');
-        $this->fecha            = $fecha; 
-        $this->script           = $res['script'];
-        $this->id_sistema       = $res['id_sistema'];
-        $this->nombre_sistema   = $res['nombre_sistema'];
-        $this->descripcion      = $res['descripcion'];
-        $this->pid              = $res['pid'];
-        $this->server           = $res['server'];
-        $this->status           = $res['status'];
-        $this->owner            = $res['owner'];
-        $this->destinos         = split(',', $res['destinos']);
-        $this->prioridad        = $res['prioridad'];
-        $this->scheduling       = $res['scheduling'];
-        $this->notificar        = $res['notificar'];
-        $this->resultado        = $res['resultado'];
-        $this->nota             = $res['nota'];
-   
-        return true;
+        return false; 
     }
 
     /**
     }
 
     /**
@@ -242,6 +260,9 @@ class YATTA_Proceso extends MECON_DBO {
     function buscar($db = null, $operador = MECON_DBO_OR, $orden = null) 
     {
         // Armo el WHERE.
     function buscar($db = null, $operador = MECON_DBO_OR, $orden = null) 
     {
         // Armo el WHERE.
+        if (is_null($this->owner)) {
+            return new PEAR_Error ('Debe definirse el Owner del proceso.');
+        }
         $where = array();
         if (!is_null($this->id)) {
             $where[] = 'p.id = '.$this->id;
         $where = array();
         if (!is_null($this->id)) {
             $where[] = 'p.id = '.$this->id;
@@ -257,16 +278,16 @@ class YATTA_Proceso extends MECON_DBO {
             $where[] = 'p.fecha = '. $db->quote("$fecha");
         }
         if (!is_null($this->script)) {
             $where[] = 'p.fecha = '. $db->quote("$fecha");
         }
         if (!is_null($this->script)) {
-            $where[] = 'p.script LIKE'. $db->quote("%$this->script%");
+            $where[] = 'p.script LIKE '. $db->quote("%$this->script%");
         }
         if (!is_null($this->id_sistema)) {
             $where[] = 'p.id_sistema = '. $this->id_sistema; 
         }
         if (!is_null($this->nombre_sistema)) {
         }
         if (!is_null($this->id_sistema)) {
             $where[] = 'p.id_sistema = '. $this->id_sistema; 
         }
         if (!is_null($this->nombre_sistema)) {
-            $where[] = 's.nombre_sistema LIKE'. $db->quote("%$this->nombre_sistema%");
+            $where[] = 's.nombre_sistema LIKE '. $db->quote("%$this->nombre_sistema%");
         }
         if (!is_null($this->descripcion)) {
         }
         if (!is_null($this->descripcion)) {
-            $where[] = 'p.descripcion LIKE'. $db->quote("%$this->descripcion%");
+            $where[] = 'p.descripcion LIKE '. $db->quote("%$this->descripcion%");
         }
         if (!is_null($this->pid)) {
             $where[] = 'p.pid = '.$this->pid;
         }
         if (!is_null($this->pid)) {
             $where[] = 'p.pid = '.$this->pid;
@@ -277,40 +298,39 @@ class YATTA_Proceso extends MECON_DBO {
         if (!is_null($this->status)) {
             $where[] = 'p.status = '.$this->status;
         }
         if (!is_null($this->status)) {
             $where[] = 'p.status = '.$this->status;
         }
-        if (!is_null($this->owner)) {
-            $where[] = 'p.owner LIKE'. $db->quote("%$this->owner%");
-        }
         if (!is_null($this->destinos)) {
             if (is_array($this->destinos)) {
                 foreach ($this->destinos as $destino) {
         if (!is_null($this->destinos)) {
             if (is_array($this->destinos)) {
                 foreach ($this->destinos as $destino) {
-                    $where[] = 'p.destinos LIKE'. $db->quote("%$destino");
+                    $where[] = 'p.destinos LIKE '. $db->quote("%$destino");
                 }
             }
             else {
                 }
             }
             else {
-                $where[] = 'p.destinos LIKE'. $db->quote("%$this->destinos%");
+                $where[] = 'p.destinos LIKE '. $db->quote("%$this->destinos%");
             }
         }
         if (!is_null($this->prioridad)) {
             $where[] = 'p.prioridad = '.$this->prioridad;
         }
         if (!is_null($this->scheduling)) {
             }
         }
         if (!is_null($this->prioridad)) {
             $where[] = 'p.prioridad = '.$this->prioridad;
         }
         if (!is_null($this->scheduling)) {
-            $where[] = 'p.scheduling LIKE'. $db->quote("%$this->scheduling%");
+            $where[] = 'p.scheduling LIKE '. $db->quote("%$this->scheduling%");
         } 
         if (!is_null($this->notificar)) {
             $where[] = 'p.notificar ='. $this->notificar;
         } 
         if (!is_null($this->resultado)) {
         } 
         if (!is_null($this->notificar)) {
             $where[] = 'p.notificar ='. $this->notificar;
         } 
         if (!is_null($this->resultado)) {
-            $where[] = 'p.resultado LIKE'. $db->quote("%$this->resultado%");
+            $where[] = 'p.resultado LIKE '. $db->quote("%$this->resultado%");
         } 
         if (!is_null($this->nota)) {
         } 
         if (!is_null($this->nota)) {
-            $where[] = 'p.nota LIKE'. $db->quote("%$this->nota%");
+            $where[] = 'p.nota LIKE '. $db->quote("%$this->nota%");
         } 
         if ($where) {
         } 
         if ($where) {
-            $where = 'WHERE p.id_sistema = s.id_sistema AND ('. join ("$operador
+            $where = 'WHERE p.owner = '. $db->quote("$this->owner").
+                'AND p.id_sistema = s.id_sistema AND ('. join ("$operador
                         ", $where).')';
         } 
         else {
                         ", $where).')';
         } 
         else {
-            $where = '';
+            $where = 'WHERE p.owner = '. $db->quote("$this->owner").
+                'AND p.id_sistema = s.id_sistema';
         }
         // Armo el ORDER BY.
         if (is_string($orden))
         }
         // Armo el ORDER BY.
         if (is_string($orden))
@@ -325,13 +345,31 @@ class YATTA_Proceso extends MECON_DBO {
             $orden = '';
         }
         
             $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 
                 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.".
+                "',".
+                "IF(p.status = 2, 'El proceso ha finalizado. ".
+                "',".
+                "IF(p.status = 3, 'Se produjo un error durante la ejecucion".
+                " del proceso.".
+                "',".
+                "'El proceso fue detenido por alguna persona (el responsable o".
+                " el administrador).".
+                "'".
+                ")".
+                ")".
+                ")".
+                ") AS icono               
                 FROM yatta.procesos AS p, samurai.sistema AS s
                 $where
                 $orden");
                 FROM yatta.procesos AS p, samurai.sistema AS s
                 $where
                 $orden");
@@ -361,6 +399,7 @@ class YATTA_Proceso extends MECON_DBO {
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
+                        'archivo'       => $this->archivo,
                         'nota'          => $this->nota
                     );
 
                         'nota'          => $this->nota
                     );
 
@@ -382,6 +421,7 @@ class YATTA_Proceso extends MECON_DBO {
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
+                        'archivo'       => $this->archivo,
                         'nota'          => $this->nota
                     );
 
                         'nota'          => $this->nota
                     );
 
@@ -414,7 +454,9 @@ class YATTA_Proceso extends MECON_DBO {
         $this->scheduling = null;
         $this->notificar = null;
         $this->resultado = null;
         $this->scheduling = null;
         $this->notificar = null;
         $this->resultado = null;
+        $this->archivo = null;
         $this->nota = null;
         $this->nota = null;
+        $this->icono = null;
     }
 }
 ?>
\ No newline at end of file
     }
 }
 ?>
\ No newline at end of file