X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/71acf4950362871b3ad6bc168d08db422edf0509..21a2a401d3fb7790b4a82d5a550e43acf1d802dc:/lib/MECON/Dependencia.php?ds=inline diff --git a/lib/MECON/Dependencia.php b/lib/MECON/Dependencia.php index 020f102..ec590ea 100644 --- a/lib/MECON/Dependencia.php +++ b/lib/MECON/Dependencia.php @@ -4,12 +4,12 @@ meconlib ------------------------------------------------------------------------------- This file is part of meconlib. - + meconlib is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - + meconlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -28,18 +28,37 @@ $Id$ require_once 'MECON/Agente.php'; require_once 'DB.php'; -// +X2C Class 145 :Dependencia +// +X2C Class 145 :MECON_Dependencia /** - * @package * @access protected */ -class Dependencia { +class MECON_Dependencia { /** * @var int $codep * @access public */ var $codep; + /** + * @var int $nombre + * @access public + */ + var $nombre; + + /** + * @var int $nombre_breve + * @access public + */ + var $nombre_breve; + + /** + * Id de la dependencia en la base. + * + * @var int $dependencia_id + * @access public + */ + var $dependencia_id = null; + // ~X2C // +X2C Operation 147 @@ -49,11 +68,28 @@ class Dependencia { * @return void * @access public */ - function dependencia($codep) // ~X2C - { - $this->codep = $codep; - } - // -X2C + function MECON_Dependencia($codep) // ~X2C + { + $this->codep = $codep; + $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP'; + $db = DB::connect($dsn); + if (DB::isError($db)) + die ($db->getMessage("No pudo conectarse a la base")); + $sql = "SELECT nombre, nombre_breve, dependencia_id + FROM Dependencias + WHERE codigo_actual = '$this->codep' AND + dependencia_esta_activa = 1"; + $result = $db->query($sql); + if(DB::isError($result)) + die($result->getMessage("query mal hecho")); + if($result->numRows() > 0) { + $row = $result->fetchRow(DB_FETCHMODE_ASSOC); + $this->nombre = $row['nombre']; + $this->nombre_breve = $row['nombre_breve']; + $this->dependencia_id = $row['dependencia_id']; + } + } + // -X2C // +X2C Operation 148 /** @@ -61,35 +97,37 @@ class Dependencia { * @access public */ function getAgentes() // ~X2C - { -//Planta y becarios - $agentes = array(); - $dsn = 'mysql://intranet:intranet@intranet-db/novedades'; - $db = DB::connect($dsn); - if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base")); - $sql = "SELECT nrodoc - FROM web003 - WHERE codep = '$this->codep'"; - $result = $db->query($sql); - if(DB::isError($result)) - die($result->getMessage("query mal hecho")); - while($row = $result->fetchRow()) - $agentes[] = new Agente($row[0]); -//Contratados - $dsn = 'mysql://intranet:intranet@intranet-db/Contratados'; - $db = DB::connect($dsn); - if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base")); - $sql = "SELECT nrodoc - FROM Contratados - WHERE codep = '$this->codep'"; - $result = $db->query($sql); - if(DB::isError($result)) - die($result->getMessage("query mal hecho")); - while($row = $result->fetchRow()) - $agentes[] = new Agente($row[0]); - return $agentes; - } - // -X2C + { + //Planta y becarios + $agentes = array(); + $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/novedades'; + $db = DB::connect($dsn); + if (DB::isError($db)) + die ($db->getMessage("No pudo conectarse a la base")); + $sql = "SELECT nrodoc + FROM web003 + WHERE codep = '$this->codep'"; + $result = $db->query($sql); + if(DB::isError($result)) + die($result->getMessage("query mal hecho")); + while($row = $result->fetchRow()) + $agentes[] = new MECON_Agente($row[0]); + //Contratados + $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/Contratados'; + $db = DB::connect($dsn); + if (DB::isError($db)) + die ($db->getMessage("No pudo conectarse a la base")); + $sql = "SELECT nrodoc + FROM Contratados + WHERE codep = '$this->codep'"; + $result = $db->query($sql); + if(DB::isError($result)) + die($result->getMessage("query mal hecho")); + while($row = $result->fetchRow()) + $agentes[] = new MECON_Agente($row[0]); + return $agentes; + } + // -X2C // +X2C Operation 150 /** @@ -99,21 +137,106 @@ class Dependencia { */ function getDependencias() // ~X2C { - $dsn = 'mysql://intranet:intranet@intranet-db/CODEP'; - $db = DB::connect($dsn); - if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base")); - $sql = "SELECT codigo_actual - FROM Dependencias - WHERE dependencia_esta_activa = 1"; - $result = $db->query($sql); - if(DB::isError($result)) - die($result->getMessage("query mal hecho")); - $dependencias = array(); - while($row = $result->fetchRow()) - $dependencias[] = $row[0]; - return $dependencias; + $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP'; + $db = DB::connect($dsn); + if (DB::isError($db)) + die ($db->getMessage("No pudo conectarse a la base")); + $sql = "SELECT codigo_actual + FROM Dependencias + WHERE dependencia_esta_activa = 1"; + $result = $db->query($sql); + if(DB::isError($result)) + die($result->getMessage("query mal hecho")); + $dependencias = array(); + while($row = $result->fetchRow()) + $dependencias[] = $row[0]; + return $dependencias; + } + // -X2C + + // +X2C Operation 165 + /** + * @return void + * @access public + */ + function getNombre() // ~X2C + { + return $this->nombre; + } + // -X2C + + // +X2C Operation 166 + /** + * @return void + * @access public + */ + function getNombreBreve() // ~X2C + { + return $this->nombre_breve; + } + // -X2C + + // +X2C Operation 167 + /** + * Buscar dependencias por el codep. + * + * @param db &$dbh Base de Datos + * @param string $codep COdigo de dependencia, o parte del mismo seguido del comodIn (*) + * + * @return array + * @access public + * @static + */ + function buscarPorCodigo(&$dbh, $codep) // ~X2C + { + //Reemplazar el comodIn + $codep = preg_replace ('/\*/', '%', $codep); + + $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id + FROM CODEP.Dependencias + WHERE dependencia_esta_activa = 1 + AND codigo_actual LIKE '$codep' + ORDER BY codigo_actual "; + + $dbh->setFetchMode(DB_FETCHMODE_ASSOC); + $result = $dbh->query($sql); + + return $result; + } + // -X2C + + // +X2C Operation 168 + /** + * @param db &$dbh Base de Datos + * @param string $clave Cadena de palabras clave del nombre de la dependencia. + * + * @return array + * @access public + * @static + */ + function buscarPorNombre(&$dbh, $clave) // ~X2C + { + //ReducciOn de espacios en blanco + $clave = preg_replace ('/\s+/', ' ', $clave); + + $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id + FROM CODEP.Dependencias + WHERE dependencia_esta_activa = 1 "; + + //Separar la cadena de palabras clave + $items = split(' ', $clave); + foreach ($items as $i){ + $sql.= " AND nombre like '%$i%' "; + } + + $sql.= " ORDER BY codigo_actual"; + + $dbh->setFetchMode(DB_FETCHMODE_ASSOC); + $result = $dbh->query($sql); + + return $result; } // -X2C -} // -X2C Class :Dependencia +} // -X2C Class :MECON_Dependencia ?> \ No newline at end of file