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