]> 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;
      * @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.
     
     /**
      * 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->archivo          = $res['archivo'];
             $this->nota             = $res['nota'];
             $this->icono            = $res['icono'];
+            $this->activo           = $res['activo'];
+            $this->parametros       = $res['parametros'];
             return true;
         }
         return false; 
             return true;
         }
         return false; 
@@ -243,7 +261,25 @@ class YATTA_ProcesoDB extends MECON_DBO {
      */
     function borrar($db = null)
     {
      */
     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->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
         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, ".
                 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 = 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".
                 " 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");
                 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->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,
                         'scheduling'    => $this->scheduling,
                         'notificar'     => $this->notificar,
                         'resultado'     => $this->resultado,
+                        'activo'        => $this->activo,
+                        'parametros'    => $this->parametros,
                 );
     }
 }
                 );
     }
 }