]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/servicios/bandas/banda_agente.php
Se realizan correcciones varias derivadas del primer testing.
[mecon/intranet.git] / sistema / www / servicios / bandas / banda_agente.php
1 <?
2 require_once 'HTML_DietMarco.php';
3 require_once 'HTML_Mensaje.php';
4 require_once 'HTML/Table.php';
5 require_once 'MECON/HTML/Image.php';
6 require_once 'MECON/HTML/Link.php';
7 require_once 'MECON/Dependencia.php';
8 require_once 'MECON/NovedadesDia.php';
9 require_once 'MECON/HTML/Tabla.php';
10 require_once 'BandasNovedades/AgenteBanda.php';
11 require_once 'BandasNovedades/HTML/TablaInfoMes.php';
12 require_once 'BandasNovedades/HTML/TablaReferencias.php';
13 require_once 'BandasNovedades/HTML/TablaInfoPersonal.php';
14
15 if(!isset($_SESSION['documento']) or !isset($_POST['fecha']))
16 {
17         header('Location: ../../servicios/');
18 }
19
20 //Seteo las variables generales
21 $nrodoc = $_SESSION['documento'];
22 setlocale (LC_ALL, 'es_AR');
23 $fecha = $_POST['fecha'];
24 $fecha_spliteada = split('-',$fecha);
25
26
27 /* Instancio DietMarco que sirve para mostrar la pagina dentro del marco de Intranet*/
28 $m =& new HTML_DietMarco('servicios','Bandas Horarias');
29 //$m->addTitle('Bandas Horarias');
30 $m->addStyleSheet('../../css/servicios_bandas.css');
31
32 $agente =& new BandasNovedades_AgenteBanda($nrodoc,new date($fecha),$DB);
33
34 if(!$agente->buscarAgente($nrodoc))
35 {
36         $HTML_Mensaje =& new HTML_Mensaje("alerta","El agente no está en las bases de RRHH",450);
37         $m->addStyleSheet($HTML_Mensaje->getCSS());
38         $m->addBodyContent($HTML_Mensaje);
39         $m->display();
40         exit;
41 }
42
43
44 /* Si el agente es un contratado entonces no muestro la info */
45 if(preg_match('/^CON/',$agente->getTipo()))
46 {
47         $HTML_Mensaje =& new HTML_Mensaje("alerta","Información no disponible",300);
48         $m->addStyleSheet($HTML_Mensaje->getCSS());
49         $m->addBodyContent($HTML_Mensaje);
50         $m->display();
51         exit;
52 }
53
54
55 /* Instancio un objeto Table para el cuerpo de la pagina*/
56 $tabla_cuerpo =& new HTML_Table(array('width'=>'760','border'=>'0','cellspacing'=>'0','cellpadding'=>'0'));
57
58 /* Encabezado propio de la pagina */
59 $IMG_flecha_naranja =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif',
60                                                  '',
61                                                 array('alt'=>'>>'));
62
63 $IMG =& new MECON_HTML_Image('../../images/servicios_imprimir1.gif',
64                                                  '',
65                                                 array('width'=>'24','height'=>'24','alt'=>'imprimir'));
66
67
68 $row_cuerpo = array(    $IMG_flecha_naranja->toHtml().' '.$agente->getNombre(),
69                                                 "<a href=\"\" onClick=\"window.open('./impresion_banda_agente.php?fecha=".
70                                                 $_POST['fecha']."','imprimir',
71                                                 'scrollbars=yes,width=780,height=500,screenX=10,screenY=10');
72                                                 return(false);\">Página de Impresión</a>",
73                                                 $IMG->toHtml());
74 $tabla_cuerpo->addRow($row_cuerpo,array('height'=>'24'));
75 $IMG =& new MECON_HTML_Image('/MECON/images/blanco.gif',
76                                                 '',
77                                                 array('width'=>'586','height'=>'1','alt'=>'blanco','align'=>'top'));
78 $IMG2 =& new MECON_HTML_Image('/MECON/images/blanco.gif',
79                                                 '',
80                                                 array('width'=>'150','height'=>'1','alt'=>'blanco','align'=>'top'));
81 $IMG3 =& new MECON_HTML_Image('/MECON/images/blanco.gif',
82                                                 '',
83                                                 array('width'=>'24','height'=>'1','alt'=>'blanco','align'=>'top'));
84
85 $row_cuerpo = array($IMG->toHtml(),$IMG2->toHtml(),$IMG3->toHtml());
86
87 $tabla_cuerpo->addRow($row_cuerpo,array('bgcolor'=>'#FF9900',
88                                                                         'height'=>'1'));
89 $tabla_cuerpo->addRow($row_cuerpo,array('bgcolor'=>'#FFFFFF',
90                                                                         'height'=>'10'));
91
92 $tabla_cuerpo->updateCellAttributes(0,
93                                                                         0,
94                                                                         array('width'=>'586','class'=>'titulo_tres'));
95 $tabla_cuerpo->updateCellAttributes(0,
96                                                                         1,
97                                                                         array('width'=>'150','class'=>'imprimir_bandas'));
98 $tabla_cuerpo->updateCellAttributes(0,
99                                                                         2,
100                                                                         array('width'=>'24','class'=>'imprimir_bandas'));
101 $tabla_cuerpo->updateCellAttributes(1,
102                                                                         0,
103                                                                         array('height'=>'1'));
104 $tabla_cuerpo->updateCellAttributes(1,
105                                                                         1,
106                                                                         array('height'=>'1'));
107 $tabla_cuerpo->updateCellAttributes(1,
108                                                                         2,
109                                                                         array('height'=>'1'));
110
111 $m->addBodyContent($tabla_cuerpo);
112
113 /* Fin del encabezado propio de la pagina*/
114 /* 
115 Aca empieza las tablas con la informacion personal del agente y
116 con las referencias de cada color de las celdas
117 */
118
119 /* Armo la tabla de la información personal */
120
121 $tabla_info_personal =& new BandasNovedades_HTML_TablaInfoPersonal($DB,$agente,'oscuro');
122 $m->addStyleSheet($tabla_info_personal->getCSS());
123
124
125 /* Agrego la tabla de información personal al cuerpo de la página*/
126 $t =& new HTML_Table(array('width'=>'760',
127                                                         'border'=>'0',
128                                                         'cellspacing'=>'0',
129                                                         'cellpadding'=>'0'));
130
131 $t->addRow(array($tabla_info_personal),array('colspan'=>'3'));
132 $t->addRow(array('&nbsp;'),array('colspan'=>'3'));
133
134 /* Agrego las tablas de referencia al cuerpo */
135 $row = array();
136
137 if(BandasNovedades_AgenteBanda::tieneCredencial($DB,$_SESSION['documento'],new Date($fecha)))
138 {
139         /* Armo la tabla con la gilla horaria*/
140         $tabla_info =& new BandasNovedades_HTML_TablaInfoMes($agente,'nov_dia.php','oscuro');
141
142         /* Armo la tabla de referencias */
143         $tabla_referencias =& new BandasNovedades_HTML_TablaReferencias('oscuro');
144         
145         $row = array($tabla_info,'&nbsp',$tabla_referencias);
146 }else
147 {
148         $HTML_Mensaje =& new HTML_Mensaje("alerta","El agente no tiene credencial asignada en este mes",450);
149         $m->addStyleSheet($HTML_Mensaje->getCSS());
150         $row = array($HTML_Mensaje);
151 }
152
153 $t->addRow($row,array('valign'=>'top'));
154
155 if($agente->getReduccionHoraria())
156 {
157         $IMG_reduccion_horaria =& new MECON_HTML_Image('../../images/servicios_bandas_red_hs.gif',
158                                                                                                         '',
159                                                                                                         array('alt'=>'Agente con reducción horaria'));
160         $row = array('','',$IMG_reduccion_horaria->toHtml());
161 }else
162 {
163         $row = array('','','');
164 }
165 $t->addRow($row,array('valign'=>'top','align'=>'center'));
166 $t->updateCellAttributes(2,0,array('rowspan'=>2));
167
168 /* Esta fila contiene las referencias */
169 $row_cuerpo = array($t);
170 $m->addBodyContent($t);
171
172
173 $m->addBodyContent('<BR>');
174
175 /* Comienzo a mostrar los links con las notas, accesos y salidas autorizadas*/
176 $tabla_notas =& new HTML_Table(array('width'=>'760',
177                                                                         'border'=>'0',
178                                                                         'cellspacing'=>'0',
179                                                                         'cellpadding'=>'0',
180                                                                         'bgcolor'=>'#003366'));
181
182 $IMG_notas =& new MECON_HTML_Image('../../images/servicios_nota.gif',
183                                                          '',
184                                                         array('width'=>'24','height'=>'24','valign'=>'top'));
185
186 $IMG_anterior =& new MECON_HTML_Image('../../images/servicios_bandas_anterior.gif',
187                                                                 '',
188                                                                 array('width'=>'16','height'=>'10','valign'=>'top'));
189                                                                 
190 $IMG_visto =& new MECON_HTML_Image('../../images/servicios_visto.gif',
191                                                                 '',
192                                                                 array('width'=>'16','height'=>'10','valign'=>'top'));
193 $link_volver =& new MECON_HTML_LINK('./','volver');
194
195 $MES_ACTUAL =& new date();
196 $FECHA_PEDIDA =& new date($fecha);
197 if($MES_ACTUAL->getmonth()==$FECHA_PEDIDA->getmonth() && $MES_ACTUAL->getyear()==$FECHA_PEDIDA->getyear())
198 {
199         $sql = "Select fecha from bandas.FechaActualizacion where tipoActualizacion='DIARIO'
200                         order by fecha desc limit 1";
201         $result = $DB->query($sql);
202
203         if (DB::isError($result))
204                 trigger_error($result->getMessage("Query mal hecho"), E_USER_ERROR);
205
206         $FECHA_ACTUALIZACION=$result->fetchRow(DB_FETCHMODE_ASSOC);
207
208         $FECHA=preg_replace('/(\d\d\d\d)(\d\d)(\d\d)(.*)/','$3/$2/$1',$FECHA_ACTUALIZACION['fecha']);
209         $row = array(   $IMG_notas,'Nota: Fecha de actualización '.$FECHA,
210                                         $IMG_anterior->toHtml().' '.$link_volver->toHtml(),
211                                         $IMG_visto->toHtml()." <a href=\"\" onClick=\"window.open('./accesos.php?nrodoc=".$nrodoc."&fecha=".$_POST['fecha']."','accesos','scrollbars=yes,width=450,height=500,screenX=10,screenY=10');return(false);\">accesos</a>",
212                                         $IMG_visto->toHtml()." <a href=\"\" onClick=\"window.open('./salidas_autorizadas.php?nrodoc=".$nrodoc."&fecha=".$_POST['fecha']."','salidas_autorizadas','scrollbars=yes,width=450,height=500,screenX=10,screenY=10');return(false);\">salidas autorizadas</a>");
213 }else
214 {
215         $row = array(   '','',
216                                         $IMG_anterior->toHtml().' '.$link_volver->toHtml(),
217                                         $IMG_visto->toHtml()." <a href=\"\" onClick=\"window.open('./accesos.php?nrodoc=".$nrodoc."&fecha=".$_POST['fecha']."','accesos','scrollbars=yes,width=450,height=500,screenX=10,screenY=10');return(false);\">accesos</a>",
218                                         $IMG_visto->toHtml()." <a href=\"\" onClick=\"window.open('./salidas_autorizadas.php?nrodoc=".$nrodoc."&fecha=".$_POST['fecha']."','salidas_autorizadas','scrollbars=yes,width=450,height=500,screenX=10,screenY=10');return(false);\">salidas autorizadas</a>");
219
220 }
221
222 $tabla_notas->addRow($row,array('class'=>'imprimir_bandas',
223                                                                                 'bgcolor'=>'#FFFFFF'));
224
225 $tabla_notas->updateCellAttributes(0,0,array(   'width'=>'25','height'=>'30',
226                                                                                                 'align'=>'left','class'=>'aclarar'));
227 $tabla_notas->updateCellAttributes(0,1,array(   'width'=>'325',
228                                                                                                 'align'=>'right','class'=>'aclarar'));
229 $tabla_notas->updateCellAttributes(0,2,array(   'width'=>'145',
230                                                                                                 'align'=>'right','class'=>'imprimir_bandas'));
231 $tabla_notas->updateCellAttributes(0,3,array(   'width'=>'80',
232                                                                                                 'align'=>'right','class'=>'imprimir_bandas'));
233 $tabla_notas->updateCellAttributes(0,4,array(   'width'=>'125',
234                                                                                                 'align'=>'right','class'=>'imprimir_bandas'));
235
236 $m->addBodyContent($tabla_notas);
237 $m->display();
238 ?>
239