X-Git-Url: https://git.llucax.com/mecon/yatta.git/blobdiff_plain/8d2616c309cde3dfbcf843ba66e0162f8d108920..0a4eb0ea61d7f6423f94933553fe3a79537cc6b9:/lib/YATTA/ProcesoDB.php diff --git a/lib/YATTA/ProcesoDB.php b/lib/YATTA/ProcesoDB.php index aeb9d32..7348916 100644 --- a/lib/YATTA/ProcesoDB.php +++ b/lib/YATTA/ProcesoDB.php @@ -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"); @@ -385,6 +428,9 @@ class YATTA_ProcesoDB extends MECON_DBO { */ function guardar($db = null, $nuevo = true) { + return $db->query ('UPDATE yatta.procesos SET nota = \''.$this->nota. + '\', status = '.$this->status. + ' WHERE id = '. $this->id); } /** @@ -412,6 +458,7 @@ class YATTA_ProcesoDB extends MECON_DBO { $this->archivo = null; $this->nota = null; $this->icono = null; + $this->activo = null; } /** @@ -431,6 +478,8 @@ class YATTA_ProcesoDB extends MECON_DBO { 'scheduling' => $this->scheduling, 'notificar' => $this->notificar, 'resultado' => $this->resultado, + 'activo' => $this->activo, + 'parametros' => $this->parametros, ); } }