X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/e348d579a1203a06bebe74cafee7480a6a70301d..da6c25deda9c9c9e20124b90be71eb3dca42fa2e:/lib/MECON/Dependencia.php diff --git a/lib/MECON/Dependencia.php b/lib/MECON/Dependencia.php index 1094d0a..b0c33a1 100644 --- a/lib/MECON/Dependencia.php +++ b/lib/MECON/Dependencia.php @@ -28,11 +28,21 @@ $Id$ require_once 'MECON/Agente.php'; require_once 'DB.php'; -// +X2C Class 145 :MECON_Dependencia /** * @access protected */ class MECON_Dependencia { + + /** + * @protected + */ + var $_dbh; + + /** + * @protected + */ + var $_database; + /** * @var int $codep * @access public @@ -51,123 +61,129 @@ class MECON_Dependencia { */ var $nombre_breve; - // ~X2C + /** + * Id de la dependencia en la base. + * + * @var int $dependencia_id + * @access public + */ + var $dependencia_id = null; - // +X2C Operation 147 /** - * @param int $codep + * @param string $codep + * @param int $id * * @return void * @access public */ - function MECON_Dependencia($codep) // ~X2C + function MECON_Dependencia(&$dbh, $codep, $id = null, $database = 'CODEP') { - $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 - FROM Dependencias - WHERE codigo_actual = '$this->codep' AND - dependencia_esta_activa = 1"; - $result = $db->query($sql); + $this->_dbh = $dbh; + $this->_database = $database; + + if(!is_null($codep)) { + $this->codep = $codep; + + $sql = "SELECT nombre, nombre_breve, dependencia_id, codigo_actual + FROM $database.Dependencias + WHERE codigo_actual = '{$this->codep}' AND + dependencia_esta_activa = 1"; + + $result = $this->_dbh->query($sql); + } + else { + $this->dependencia_id = $id; + + $sql = "SELECT nombre, nombre_breve, dependencia_id, codigo_actual + FROM $database.Dependencias + WHERE dependencia_id = {$this->dependencia_id} AND + dependencia_esta_activa = 1"; + $result = $this->_dbh->query($sql); + } + if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); + if($result->numRows() > 0) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); + $this->codep = $row['codigo_actual']; $this->nombre = $row['nombre']; $this->nombre_breve = $row['nombre_breve']; + $this->dependencia_id = $row['dependencia_id']; } } - // -X2C + - // +X2C Operation 148 /** * @return void * @access public */ - function getAgentes() // ~X2C + function getAgentes() { //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); + FROM {$this->_database}.web003 + WHERE codep = '{$this->codep}'"; + $result = $this->_db->query($sql); if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); while($row = $result->fetchRow()) - $agentes[] = new MECON_Agente($row[0]); + $agentes[] = new MECON_Agente($this->_db, $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 + FROM Contratados.Contratados WHERE codep = '$this->codep'"; $result = $db->query($sql); if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); while($row = $result->fetchRow()) - $agentes[] = new MECON_Agente($row[0]); + $agentes[] = new MECON_Agente($this->_db, $row[0]); return $agentes; } - // -X2C - // +X2C Operation 150 + /** * @return dependencia * @access public * @static */ - function getDependencias() // ~X2C + function getDependencias() { - $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 + FROM {$this->_database}.Dependencias WHERE dependencia_esta_activa = 1"; - $result = $db->query($sql); + $result = $this->_db->query($sql); if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); $dependencias = array(); while($row = $result->fetchRow()) $dependencias[] = $row[0]; return $dependencias; } - // -X2C - // +X2C Operation 165 + /** * @return void * @access public */ - function getNombre() // ~X2C + function getNombre() { return $this->nombre; } - // -X2C - // +X2C Operation 166 + /** * @return void * @access public */ - function getNombreBreve() // ~X2C + function getNombreBreve() { return $this->nombre_breve; } - // -X2C - // +X2C Operation 167 + + /** * Buscar dependencias por el codep. * @@ -178,13 +194,14 @@ class MECON_Dependencia { * @access public * @static */ - function buscarPorCodigo(&$dbh, $codep) // ~X2C + function buscarPorCodigo(&$dbh, $codep, $database = 'CODEP') { //Reemplazar el comodIn $codep = preg_replace ('/\*/', '%', $codep); - $sql = " SELECT codigo_actual, codigo_comdoc, nombre - FROM CODEP.Dependencias + $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id + nombre_breve + FROM $database.Dependencias WHERE dependencia_esta_activa = 1 AND codigo_actual LIKE '$codep' ORDER BY codigo_actual "; @@ -194,9 +211,9 @@ class MECON_Dependencia { return $result; } - // -X2C - // +X2C Operation 168 + + /** * @param db &$dbh Base de Datos * @param string $clave Cadena de palabras clave del nombre de la dependencia. @@ -205,13 +222,14 @@ class MECON_Dependencia { * @access public * @static */ - function buscarPorNombre(&$dbh, $clave) // ~X2C + function buscarPorNombre(&$dbh, $clave, $database = 'CODEP') { //ReducciOn de espacios en blanco $clave = preg_replace ('/\s+/', ' ', $clave); - $sql = " SELECT codigo_actual, codigo_comdoc, nombre - FROM CODEP.Dependencias + $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id, + nombre_breve + FROM $database.Dependencias WHERE dependencia_esta_activa = 1 "; //Separar la cadena de palabras clave @@ -227,7 +245,7 @@ class MECON_Dependencia { return $result; } - // -X2C -} // -X2C Class :MECON_Dependencia + +} ?> \ No newline at end of file