X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/ebbb31b9f6c59982167de6e85281d4cb54cb9e54..ff82e1aeb25b0636a52d50cebb8bcc3684963387:/src/www/include/lib/samurai/Sistema.php diff --git a/src/www/include/lib/samurai/Sistema.php b/src/www/include/lib/samurai/Sistema.php index 638ad4e..633fc0e 100644 --- a/src/www/include/lib/samurai/Sistema.php +++ b/src/www/include/lib/samurai/Sistema.php @@ -26,7 +26,7 @@ #require_once 'PEAR.php'; require_once 'Samurai_DB.php'; - +require_once 'Date.php'; // +X2C Class 209 :Sistema /** @@ -107,25 +107,33 @@ class Sistema { */ var $_db; + /** + * Login del responsable de los ultimos cambios del sistema. + * + * @var string $responsable + * + * @access private + */ + var $_responsable; + // ~X2C // +X2C Operation 243 /** - * Constructor. Si recibe como parametro el identificador busca en la DB los datos. No hay metodo que setee el id del sistema puesto que es un valor autoincrementable en la DB + * Constructor. Si recibe como parametro el identificador busca en la DB los datos. * - * @param int $id Identificador del sistema. * @param Samurai_DB &$db Objeto Conexion + * @param int $id Identificador del sistema * * @return void * * @access public */ - function Sistema($id = null, &$db) // ~X2C + function Sistema(&$db, $id = null) // ~X2C { + $this->_db = $db; + $this->_id = $id; if (!is_null($id)) { - $this->_id = $id; - - $this->_db = $db; $this->_obtenerDatosDb(); } else { @@ -135,6 +143,7 @@ class Sistema { $this->setFechaFin(); $this->setFechaImplementacion(); $this->setContacto(); + $this->setResponsable(); } } // -X2C @@ -185,13 +194,18 @@ class Sistema { /** * Devuelve la fecha de inicio del sistema. * - * @return date + * @return &date * * @access public */ - function getFechaInicio() // ~X2C - { - return $this->_fecha_inicio; + function &getFechaInicio() // ~X2C + { + if ($this->_fecha_inicio) { + return new Date ($this->_fecha_inicio.' 00:00:00'); + } + else { + return null; + } } // -X2C @@ -199,13 +213,18 @@ class Sistema { /** * Devuelve la fecha de finalizacion del sistema. * - * @return date + * @return &date * * @access public */ - function getFechaFin() // ~X2C + function &getFechaFin() // ~X2C { - return $this->_fecha_fin; + if ($this->_fecha_fin) { + return new Date ($this->_fecha_fin.' 00:00:00'); + } + else { + return null; + } } // -X2C @@ -213,13 +232,18 @@ class Sistema { /** * Devuelve la fecha de implementacion del sistema. * - * @return date + * @return &date * * @access public */ - function getFechaImplementacion() // ~X2C + function &getFechaImplementacion() // ~X2C { - return $this->_fecha_implementacion; + if ($this->_fecha_implementacion) { + return new Date ($this->_fecha_implementacion.' 00:00:00'); + } + else { + return null; + } } // -X2C @@ -281,7 +305,12 @@ class Sistema { */ function setFechaInicio($fecha = null) // ~X2C { - $this->_fecha_inicio = $fecha; + if ($fecha && $fecha != '0000-00-00') { + $this->_fecha_inicio = $fecha; + } + else { + $this->_fecha_inicio = null; + } } // -X2C @@ -297,7 +326,12 @@ class Sistema { */ function setFechaFin($fecha = null) // ~X2C { - $this->_fecha_fin = $fecha; + if ($fecha && $fecha != '0000-00-00') { + $this->_fecha_fin = $fecha; + } + else { + $this->_fecha_fin = null; + } } // -X2C @@ -313,7 +347,13 @@ class Sistema { */ function setFechaImplementacion($fecha = null) // ~X2C { - $this->_fecha_implementacion = $fecha; + if ($fecha && $fecha != '0000-00-00') { + $this->_fecha_implementacion = $fecha; + } + else { + $this->_fecha_implementacion = null; + } + } // -X2C @@ -335,6 +375,7 @@ class Sistema { // +X2C Operation 263 /** + * Obtiene los datos del sistema de la DB. * * @return void * @@ -347,17 +388,131 @@ class Sistema { $dbh = $this->_db->prepare($tmp); $tmp = array ($this->_id); $res = $this->_db->execute($dbh,$tmp); + if ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) { - $this->setNombre($re['nombre_sistema']); - $this->setDescripcion($re['desc_sistema']); - $this->setFechaInicio($re['fecha_inicio']); - $this->setFechaFin($re['fecha_fin']); - $this->setFechaImplementacion($re['fecha_implementacion']); - $this->setContacto($re['contacto']); + + if (isset($re['nombre_sistema'])) { + $this->setNombre($re['nombre_sistema']); + } + else { + $this->setNombre(); + } + if (isset($re['desc_sistema'])) { + $this->setDescripcion($re['desc_sistema']); + } + else { + $this->setDescripcion(); + } + if (isset($re['fecha_inicio'])) { + $this->setFechaInicio($re['fecha_inicio']); + } + else { + $this->setFechaInicio(); + } + if (isset($re['fecha_fin'])) { + $this->setFechaFin($re['fecha_fin']); + } + else { + $this->setFechaFin(); + } + if (isset($re['fecha_implementacion'])) { + $this->setFechaImplementacion($re['fecha_implementacion']); + } + else { + $this->setFechaImplementacion(); + } + if (isset($re['contacto'])) { + $this->setContacto($re['contacto']); + } + else { + $this->setContacto(); + } + if (isset($re['responsable'])) { + $this->setresponsable($re['responsable']); + } + else { + $this->setResponsable(); + } + } + } + // -X2C + + // +X2C Operation 288 + /** + * Guarda la informacion del sistema en la base. + * + * @param string $accion Accion a realizar. Grabar, modificar o eliminar + * + * @return void + * + * @access public + */ + function guardarDatos($accion = grabar) // ~X2C + { + $sql = include 'Sistema/consultas.php'; //Incluyo las consultas de este objeto nada mas. + + $idSistema = ($this->_id != '')?$this->_id:null; + $fecha_inicio = $this->getFechaInicio(); + $fecha_fin = $this->getFechaFin(); + $fecha_implementacion = $this->getFechaImplementacion(); + + $accion = strtolower($accion); + switch ($accion) { + case 'grabar': + case 'modificar': + $tmp = $sql['insert_update_sistema']; + $dbh = $this->_db->prepare($tmp); + $tmp = array ( $idSistema, + $this->getNombre(), + $this->getDescripcion(), + $fecha_inicio ? $fecha_inicio->format("%Y-%m-%d") : null, + $fecha_fin ? $fecha_fin->format("%Y-%m-%d") : null, + $fecha_implementacion ? $fecha_implementacion->format("%Y-%m-%d") : null, + $this->getContacto(), + $_SESSION['samurai']['login'] + ); + $res = $this->_db->execute($dbh,$tmp); + break; + case 'eliminar': + $tmp = $sql['borrar_sistema']; + $dbh = $this->_db->prepare($tmp); + $tmp = array ($idSistema); + $res = $this->_db->execute($dbh,$tmp); + break; } } // -X2C + // +X2C Operation 290 + /** + * Devuelve el login del responsable de los ultimos cambios + * + * @return string + * + * @access public + */ + function getResponsable() // ~X2C + { + return $this->_responsable; + } + // -X2C + + // +X2C Operation 291 + /** + * Setea el login del responsable de los ultimos cambios del sistema + * + * @param string $responsable String con el login del responsable del cambio + * + * @return void + * + * @access public + */ + function setResponsable($responsable = null) // ~X2C + { + $this->_responsable = $responsable; + } + // -X2C + } // -X2C Class :Sistema -?> \ No newline at end of file +?>