X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/d374755a39b0fc94d14a25590acea0a3f5ce6633..c9b4c625563dd5d3e3544d440cbf68aa17499ed4:/lib/MECON/Dependencia.php diff --git a/lib/MECON/Dependencia.php b/lib/MECON/Dependencia.php index dbd3415..ec590ea 100644 --- a/lib/MECON/Dependencia.php +++ b/lib/MECON/Dependencia.php @@ -28,7 +28,7 @@ $Id$ require_once 'MECON/Agente.php'; require_once 'DB.php'; -// +X2C Class 145 :Dependencia +// +X2C Class 145 :MECON_Dependencia /** * @access protected */ @@ -51,6 +51,14 @@ class MECON_Dependencia { */ var $nombre_breve; + /** + * Id de la dependencia en la base. + * + * @var int $dependencia_id + * @access public + */ + var $dependencia_id = null; + // ~X2C // +X2C Operation 147 @@ -63,11 +71,11 @@ class MECON_Dependencia { function MECON_Dependencia($codep) // ~X2C { $this->codep = $codep; - $dsn = 'mysql://intranet:intranet@intranet-db/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 + $sql = "SELECT nombre, nombre_breve, dependencia_id FROM Dependencias WHERE codigo_actual = '$this->codep' AND dependencia_esta_activa = 1"; @@ -78,6 +86,7 @@ class MECON_Dependencia { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); $this->nombre = $row['nombre']; $this->nombre_breve = $row['nombre_breve']; + $this->dependencia_id = $row['dependencia_id']; } } // -X2C @@ -91,7 +100,7 @@ class MECON_Dependencia { { //Planta y becarios $agentes = array(); - $dsn = 'mysql://intranet:intranet@intranet-db/novedades'; + $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")); @@ -104,7 +113,7 @@ class MECON_Dependencia { while($row = $result->fetchRow()) $agentes[] = new MECON_Agente($row[0]); //Contratados - $dsn = 'mysql://intranet:intranet@intranet-db/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")); @@ -128,7 +137,7 @@ class MECON_Dependencia { */ function getDependencias() // ~X2C { - $dsn = 'mysql://intranet:intranet@intranet-db/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")); @@ -167,5 +176,67 @@ class MECON_Dependencia { } // -X2C -} // -X2C Class :Dependencia -?> + // +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 :MECON_Dependencia +?> \ No newline at end of file