]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/Dependencia.php
1094d0af2f31fa6466e9945e65fd2b83baee7204
[mecon/meconlib.git] / lib / MECON / Dependencia.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                              Ministerio de Economía
4                                     meconlib
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
7  
8 meconlib is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
11 any later version.
12  
13 meconlib is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Creado: Thu Jun 19 16:54:08 2003
22 Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 #require_once 'PEAR.php';
28 require_once 'MECON/Agente.php';
29 require_once 'DB.php';
30
31 // +X2C Class 145 :MECON_Dependencia
32 /**
33  * @access protected
34  */
35 class MECON_Dependencia {
36     /**
37      * @var    int $codep
38      * @access public
39      */
40     var $codep;
41
42     /**
43      * @var    int $nombre
44      * @access public
45      */
46     var $nombre;
47
48     /**
49      * @var    int $nombre_breve
50      * @access public
51      */
52     var $nombre_breve;
53
54     // ~X2C
55
56     // +X2C Operation 147
57     /**
58      * @param  int $codep 
59      *
60      * @return void
61      * @access public
62      */
63     function MECON_Dependencia($codep) // ~X2C
64     {
65         $this->codep = $codep;
66         $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP';
67         $db = DB::connect($dsn);
68         if (DB::isError($db))
69             die ($db->getMessage("No pudo conectarse a la base"));
70         $sql = "SELECT nombre, nombre_breve
71                FROM Dependencias
72                WHERE codigo_actual = '$this->codep' AND
73                dependencia_esta_activa = 1";
74         $result = $db->query($sql);
75         if(DB::isError($result))
76             die($result->getMessage("query mal hecho"));
77         if($result->numRows() > 0) {
78             $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
79             $this->nombre = $row['nombre'];
80             $this->nombre_breve = $row['nombre_breve'];
81         }
82     }
83     // -X2C
84
85     // +X2C Operation 148
86     /**
87      * @return void
88      * @access public
89      */
90     function getAgentes() // ~X2C
91     {
92         //Planta y becarios
93         $agentes = array();
94         $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/novedades';
95         $db = DB::connect($dsn);
96         if (DB::isError($db))
97             die ($db->getMessage("No pudo conectarse a la base"));
98         $sql = "SELECT nrodoc
99                FROM web003
100                WHERE codep = '$this->codep'";
101         $result = $db->query($sql);
102         if(DB::isError($result))
103             die($result->getMessage("query mal hecho"));
104         while($row = $result->fetchRow())
105             $agentes[] = new MECON_Agente($row[0]);
106         //Contratados
107         $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/Contratados';
108         $db = DB::connect($dsn);
109         if (DB::isError($db))
110             die ($db->getMessage("No pudo conectarse a la base"));
111         $sql = "SELECT nrodoc
112                FROM Contratados
113                WHERE codep = '$this->codep'";
114         $result = $db->query($sql);
115         if(DB::isError($result))
116             die($result->getMessage("query mal hecho"));
117         while($row = $result->fetchRow())
118             $agentes[] = new MECON_Agente($row[0]);
119         return $agentes;
120     }
121     // -X2C
122
123     // +X2C Operation 150
124     /**
125      * @return dependencia
126      * @access public
127      * @static
128      */
129     function getDependencias() // ~X2C
130     {
131         $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP';
132         $db = DB::connect($dsn);
133         if (DB::isError($db))
134             die ($db->getMessage("No pudo conectarse a la base"));
135         $sql = "SELECT codigo_actual
136                FROM Dependencias
137                WHERE dependencia_esta_activa = 1";
138         $result = $db->query($sql);
139         if(DB::isError($result))
140             die($result->getMessage("query mal hecho"));
141         $dependencias = array();
142         while($row = $result->fetchRow())
143             $dependencias[] = $row[0];
144         return $dependencias;
145     }
146     // -X2C
147
148     // +X2C Operation 165
149     /**
150      * @return void
151      * @access public
152      */
153     function getNombre() // ~X2C
154     {
155         return $this->nombre;
156     }
157     // -X2C
158
159     // +X2C Operation 166
160     /**
161      * @return void
162      * @access public
163      */
164     function getNombreBreve() // ~X2C
165     {
166         return $this->nombre_breve;
167     }
168     // -X2C
169
170     // +X2C Operation 167
171     /**
172      * Buscar dependencias por el codep.
173      *
174      * @param  db &$dbh Base de Datos
175      * @param  string $codep COdigo de dependencia, o parte del mismo seguido del comodIn (*)
176      *
177      * @return array
178      * @access public
179      * @static
180      */
181     function buscarPorCodigo(&$dbh, $codep) // ~X2C
182     {
183         //Reemplazar el comodIn
184         $codep = preg_replace ('/\*/', '%', $codep);    
185     
186         $sql = " SELECT codigo_actual, codigo_comdoc, nombre 
187                  FROM CODEP.Dependencias
188                  WHERE dependencia_esta_activa = 1 
189                         AND codigo_actual LIKE '$codep' 
190                  ORDER BY codigo_actual ";
191
192         $dbh->setFetchMode(DB_FETCHMODE_ASSOC);
193         $result = $dbh->query($sql);
194         
195         return $result;
196     }
197     // -X2C
198
199     // +X2C Operation 168
200     /**
201      * @param  db &$dbh Base de Datos
202      * @param  string $clave Cadena de palabras clave del nombre de la dependencia.
203      *
204      * @return array
205      * @access public
206      * @static
207      */
208     function buscarPorNombre(&$dbh, $clave) // ~X2C
209     {
210         //ReducciOn de espacios en blanco
211         $clave = preg_replace ('/\s+/', ' ', $clave);   
212     
213         $sql = " SELECT codigo_actual, codigo_comdoc, nombre 
214                  FROM CODEP.Dependencias
215                  WHERE  dependencia_esta_activa = 1 ";
216
217         //Separar la cadena de palabras clave
218         $items = split(' ', $clave);
219         foreach ($items as $i){
220             $sql.= " AND nombre like '%$i%' ";
221         }
222
223         $sql.= " ORDER BY codigo_actual";
224
225         $dbh->setFetchMode(DB_FETCHMODE_ASSOC);
226         $result = $dbh->query($sql);
227         
228         return $result;
229     }
230     // -X2C
231
232 } // -X2C Class :MECON_Dependencia
233 ?>