X-Git-Url: https://git.llucax.com/mecon/intranet.git/blobdiff_plain/3f857ea331d8d4d36dfddc52e090c13f1112b631..fd23a4bba1553c91eb0b2460423c9b635cc32461:/sistema/local_lib/Servicios/Agenda.php diff --git a/sistema/local_lib/Servicios/Agenda.php b/sistema/local_lib/Servicios/Agenda.php index 5e03582..f2a4bb9 100644 --- a/sistema/local_lib/Servicios/Agenda.php +++ b/sistema/local_lib/Servicios/Agenda.php @@ -37,6 +37,182 @@ * @access public */ class Servicios_Agenda { + /** + * Conexion a la base de datos + * + * @var DB $db + * @access private + */ + var $_db; + + /** + * Interno a buscar + * + * @var int $interno + * @access private + */ + var $_interno = null; + + /** + * Nombre a buscar + * + * @var string $nombre + * @access private + */ + var $_nombre = null; + + /** + * Codep a buscar + * + * @var string $codep + * @access private + */ + var $_codep = null; + + /** + * Descripcion de la dependencia a buscar + * + * @var string $dependencia + * @access private + */ + var $_dependencia = null; + + /** + * Codigo de edificio a buscar + * + * @var int $edificio + * @access private + */ + var $_edificio = null; + + /** + * Piso a buscar + * + * @var int $piso + * @access private + */ + var $_piso = null; + + /** + * Oficina a buscar + * + * @var string $oficina + * @access private + */ + var $_oficina = null; + + /** + * Criterio para ordenar + * + * @var string $ordenar + * @access private + */ + var $_ordenar = null; + + /** + * Sets Interno. + * + * @param int $interno Interno. + * + * @return void + * @access public + */ + function setInterno($interno) + { + $this->_interno = $interno; + } + + /** + * Sets Nombre. + * + * @param string $nombre Nombre. + * + * @return void + * @access public + */ + function setNombre($nombre) + { + $this->_nombre = $nombre; + } + + /** + * Sets Codep. + * + * @param string $codep Codep. + * + * @return void + * @access public + */ + function setCodep($codep) + { + $this->_codep = $codep; + } + + /** + * Sets Dependencia. + * + * @param string $dependencia Dependencia. + * + * @return void + * @access public + */ + function setDependencia($dependencia) + { + $this->_dependencia = $dependencia; + } + + /** + * Sets Edificio. + * + * @param int $edificio Edificio. + * + * @return void + * @access public + */ + function setEdificio($edificio) + { + $this->_edificio = $edificio; + } + + /** + * Sets Piso. + * + * @param int $piso Piso. + * + * @return void + * @access public + */ + function setPiso($piso) + { + $this->_piso = $piso; + } + + /** + * Sets Oficina. + * + * @param string $oficina Oficina. + * + * @return void + * @access public + */ + function setOficina($oficina) + { + $this->_oficina = $oficina; + } + + /** + * Sets Ordenar. + * + * @param string $ordenar Ordenar. + * + * @return void + * @access public + */ + function setOrdenar($ordenar) + { + $this->_ordenar = $ordenar; + } + // ~X2C // +X2C Operation 175 @@ -50,7 +226,7 @@ class Servicios_Agenda { function getEdificios($db) // ~X2C { $rta['-'] = '-'; - $consulta = 'select cod_edificio, desc_edificio from edificios where cod_edificio <> 13 order by desc_edificio'; + $consulta = 'select cod_edificio, desc_edificio from agenda.edificios where cod_edificio <> 13 order by desc_edificio'; $dbh = $db->prepare($consulta); $res = $db->execute($dbh); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { @@ -61,5 +237,67 @@ class Servicios_Agenda { } // -X2C + // +X2C Operation 176 + /** + * Constructor + * + * @param DB &$db Conexion a la base de datos. + * + * @return void + * @access public + */ + function Servicios_Agenda(&$db) // ~X2C + { + $this->_db = $db; + } + // -X2C + + // +X2C Operation 186 + /** + * Busca la informacion en la base. Devuelve un array de array o null. + * + * @return array + * @access public + */ + function obtenerInfo() // ~X2C + { + $sql = 'SELECT interno, nombre, internos.codep, dependencia, desc_edificio as edificio, piso, oficina + FROM agenda.internos, agenda.dependencias, agenda.edificios + WHERE dependencias.codep=internos.codep AND + edificios.cod_edificio=internos.cod_edif '; + + $sql.=($this->_interno) ? ' AND interno = '.$this->_interno:''; + $sql.=($this->_codep) ? ' AND internos.codep = '.$this->_codep:''; + $sql.=($this->_edificio) ? ' AND internos.cod_edif = '.$this->_edificio:''; + $sql.=($this->_piso) ? ' AND piso = '.$this->_piso:''; + $sql.=($this->_oficina) ? ' AND oficina = '.$this->_oficina:''; + + if ($this->_nombre) { + $nom = split('/ /',$this->_nombre); + foreach ($nom as $n) { + $sql.= " AND nombre LIKE '%$n%'"; + } + } + if ($this->_dependencia && $this->_dependencia != '--Ingrese una palabra clave--') { + $dep = split('/ /',$this->_dependencia); + foreach ($dep as $d) { + $sql.= " AND dependencia LIKE '%$d%'"; + } + } + + $sql.=($this->_ordenar) ? ' order by '.$this->_ordenar :''; + + $dbh = $this->_db->prepare($sql); + $res = $this->_db->execute($dbh); + + $rta = null; + while ($re = $res->fetchRow()) { + $rta[]= $re; + } + + return $rta; + } + // -X2C + } // -X2C Class :Servicios_Agenda ?>