]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/Agente.php
Workarround para que no explote con un nivel de profundidad mayor a 4.
[mecon/meconlib.git] / lib / MECON / Agente.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 15:17:11 2003
22 Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 #require_once 'PEAR.php';
28 require_once 'DB.php';
29 require_once 'MECON/Tiempo/Hora.php';
30
31 // +X2C Class 131 :Agente
32 /**
33  * @package
34  * @access public
35  */
36 class Agente {
37     /**
38      * @var    int $agente
39      * @access public
40      */
41     var $agente;
42
43     /**
44      * @var    int $datos
45      * @access public
46      */
47     var $datos;
48
49     // ~X2C
50
51     // +X2C Operation 133
52     /**
53      * @return string
54      * @access public
55      */
56     function getDependencia() // ~X2C
57   {
58       return $this->datos['codep'];//TODO esta no es la columna correcta
59   }
60   // -X2C
61
62     // +X2C Operation 134
63     /**
64      * @return void
65      * @access public
66      */
67     function getTipo() // ~X2C
68   {
69       if(is_null($this->datos['tipo_agente']))
70         return 'CON '.$this->datos['marco_legal'];
71       else
72         return $this->datos['tipo_agente'];
73       
74   }
75   // -X2C
76
77     // +X2C Operation 135
78     /**
79      * @param  int $agente 
80      *
81      * @return void
82      * @access public
83      */
84     function Agente($agente) // ~X2C
85   {
86       if(! is_null($agente))
87         $this->buscarAgente($agente);
88   }
89   // -X2C
90
91     // +X2C Operation 138
92     /**
93      * @return void
94      * @access public
95      */
96     function getNombre() // ~X2C
97   {
98       return $this->datos['nombre'];
99   }
100   // -X2C
101
102     // +X2C Operation 139
103     /**
104      * @return void
105      * @access public
106      */
107     function getHoraDesde() // ~X2C
108   {
109       if(is_null($this->datos['hentra']))
110           return new Hora($this->datos['hora_desde']);
111       else
112           return new Hora($this->datos['hentra']);
113   }
114   // -X2C
115
116     // +X2C Operation 140
117     /**
118      * @return void
119      * @access public
120      */
121     function getHoraHasta() // ~X2C
122   {
123       if(is_null($this->datos['hsale']))
124           return new Hora($this->datos['hora_hasta']);
125       else
126           return new Hora($this->datos['hsale']);
127   }
128   // -X2C
129
130     // +X2C Operation 149
131     /**
132      * @return void
133      * @access public
134      */
135     function getCuil() // ~X2C
136     {
137         $aux = $this->datos['cuil'];
138         $aux = preg_replace('/(\d{2})(\d*)(\d{1})/','$1-$2-$3',$aux);
139         return $aux;
140     }
141     // -X2C
142
143     // +X2C Operation 151
144     /**
145      * @return void
146      * @access public
147      */
148     function getOtrosDatos() // ~X2C
149     {
150         if(!is_null($this->datos['tipo_agente'])) {
151             $aux['tipo_doc'] = $this->datos['tipodoc']; 
152             $aux['fecha_nac'] = $this->datos['fecha_nac']; 
153             $aux['edad'] = $this->datos['edad']; 
154             $aux['estado_civil'] = $this->datos['estado_civil']; 
155             $aux['domicilio'] = $this->datos['domicilio']; 
156             $aux['puerta'] = $this->datos['num_puerta']; 
157             $aux['piso'] = $this->datos['piso']; 
158             $aux['depto'] = $this->datos['depto']; 
159             $aux['localidad'] = $this->datos['localidad']; 
160             $aux['provincia'] = $this->datos['provincia']; 
161             $aux['calle1'] = $this->datos['calle1']; 
162             $aux['calle2'] = $this->datos['calle2']; 
163             $aux['cp'] = $this->datos['cp']; 
164             $aux['telefono'] = $this->datos['telefono']; 
165             $aux['cargo'] = $this->datos['cargo']; 
166             $aux['nivel'] = $this->datos['nivel']; 
167             $aux['grado'] = $this->datos['grado']; 
168             $aux['func_ejec'] = $this->datos['func_ejec']; 
169             $aux['obra_social'] = $this->datos['obra_social']; 
170             $aux['afiliado'] = $this->datos['afiliado']; 
171             $aux['conyuge'] = $this->datos['conyuge']; 
172             $aux['fecha_nac_conyuge'] = $this->datos['fecha_nac_cony']; 
173             $aux['tipo_doc_conyuge'] = $this->datos['tipodoc_cony']; 
174             $aux['nro_doc_cony'] = $this->datos['nrodoc_cony']; 
175         }
176         return $aux;
177     }
178     // -X2C
179
180     // +X2C Operation 154
181     /**
182      * @param  int $agente 
183      *
184      * @return void
185      * @access public
186      */
187     function buscarAgente($agente) // ~X2C
188     {
189       $this->agente = $agente;
190       $dsn = 'mysql://intranet:intranet@intranet-db/novedades';
191       $db = DB::connect($dsn);
192       if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base"));
193       $sql = "SELECT * 
194               FROM web003
195               WHERE nrodoc = $agente";
196       $result = $db->query($sql);
197       if(DB::isError($result))
198         die($result->getMessage("query mal hecho"));
199       if($result->numRows() > 0)
200       {
201           $this->datos = $result->fetchRow(DB_FETCHMODE_ASSOC); 
202       }
203       else
204       {
205           $dsn = 'mysql://intranet:intranet@intranet-db/Contratados';
206           $db = DB::connect($dsn);
207           if (DB::isError($db)) die ($db->getMessage("No pudo conectarse a la base"));
208           $sql = "SELECT * 
209                   FROM Contratados
210                   WHERE nrodoc = $agente";
211           $result = $db->query($sql);
212           if(DB::isError($result))
213             die($result->getMessage("query mal hecho"));
214           if($result->numRows() > 0)
215           {
216             $this->datos = $result->fetchRow(DB_FETCHMODE_ASSOC);
217           }
218           else
219             return false;
220       }
221       return true;
222     }
223     // -X2C
224
225 } // -X2C Class :Agente
226 ?>