]> git.llucax.com Git - mecon/yatta.git/blobdiff - lib/YATTA/ProcesoDB.php
Modificacion para que se haga mas ejecute mas rapido el script.
[mecon/yatta.git] / lib / YATTA / ProcesoDB.php
index 962cd80073f8c72ec3d95da82b54bf232df857ae..734891616df5394074dfdbbdf55097ed266ca3b0 100644 (file)
@@ -188,6 +188,22 @@ class YATTA_ProcesoDB extends MECON_DBO {
      * @access public
      */
     var $icono = null;
+
+    /**
+     * Indica si el proceso esta activo (No fue borrado por el usuario).
+     *
+     * @var    int $activo
+     * @access public
+     */
+    var $activo = null;
+
+    /**
+     * Parametros del proceso. Serializado.
+     *
+     * @var    string $parametros
+     * @access public
+     */
+    var $parametros = null;
     
     /**
      * Carga el objeto con los datos que se pasan por parametro.
@@ -228,6 +244,8 @@ class YATTA_ProcesoDB extends MECON_DBO {
             $this->archivo          = $res['archivo'];
             $this->nota             = $res['nota'];
             $this->icono            = $res['icono'];
+            $this->activo           = $res['activo'];
+            $this->parametros       = $res['parametros'];
             return true;
         }
         return false; 
@@ -243,7 +261,25 @@ class YATTA_ProcesoDB extends MECON_DBO {
      */
     function borrar($db = null)
     {
-        trigger_error('Not implemented!', E_USER_WARNING); 
+        if (!is_null($this->id)) {
+            $res = $this->buscar($db);
+            if (DB::isError($res)) {
+                return $res;
+            }
+            $this->cargar($res);
+
+            if (is_null($this->archivo) || is_null($this->resultado)) {
+                return $db->query('DELETE FROM yatta.procesos WHERE id = '.
+                        $this->id);
+            }
+            else {
+                return $db->query ('UPDATE yatta.procesos SET activo = 0'.
+                        ' WHERE id = '. $this->id);
+            }
+        }
+        else {
+            return new PEAR_Error('Debe definirse el id del proceso a borrar.');
+        }
     }
 
     /**
@@ -322,6 +358,12 @@ class YATTA_ProcesoDB extends MECON_DBO {
         if (!is_null($this->nota)) {
             $where[] = 'p.nota LIKE '. $db->quote("%$this->nota%");
         } 
+        if (!is_null($this->activo)) {
+            $where[] = 'p.activo =  '. $this->activo;
+        } 
+        if (!is_null($this->parametros)) {
+            $where[] = 'p.parametros LIKE '. $db->quote("%$this->parametros%");
+        } 
         if ($where) {
             $where = 'WHERE p.owner = '. $db->quote("$this->owner").
                 'AND p.id_sistema = s.id_sistema AND ('. join ("$operador
@@ -353,13 +395,14 @@ class YATTA_ProcesoDB extends MECON_DBO {
                 p.destinos AS destinos, p.prioridad AS prioridad, p.scheduling 
                 AS scheduling, p.notificar AS notificar, p.resultado AS 
                 resultado, p.nota AS nota, p.archivo AS archivo, ".
-                "IF (p.status = 0, 'El proceso esta en cola. Aun no se ejecuto.".
+                "p.parametros AS parametros, ".
+                "IF (p.status = 0, 'El proceso está en cola. Aún no se ejecutó.".
                 "', ".
-                "IF(p.status = 1, 'El proceso se esta ejecutando en este momento.".
+                "IF(p.status = 1, 'El proceso se está ejecutando en este momento.".
                 "',".
                 "IF(p.status = 2, 'El proceso ha finalizado. ".
                 "',".
-                "IF(p.status = 3, 'Se produjo un error durante la ejecucion".
+                "IF(p.status = 3, 'Se produjo un error durante la ejecución".
                 " del proceso.".
                 "',".
                 "'El proceso fue detenido por alguna persona (el responsable o".
@@ -368,7 +411,7 @@ class YATTA_ProcesoDB extends MECON_DBO {
                 ")".
                 ")".
                 ")".
-                ") AS icono               
+                ") AS icono, p.activo AS activo 
                 FROM yatta.procesos AS p, samurai.sistema AS s
                 $where
                 $orden");
@@ -415,6 +458,7 @@ class YATTA_ProcesoDB extends MECON_DBO {
         $this->archivo = null;
         $this->nota = null;
         $this->icono = null;
+        $this->activo = null;
     }
     
     /**
@@ -434,6 +478,8 @@ class YATTA_ProcesoDB extends MECON_DBO {
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
+                        'activo'        => $this->activo,
+                        'parametros'    => $this->parametros,
                 );
     }
 }