]> git.llucax.com Git - mecon/intranet.git/blobdiff - sistema/www/servicios/bandas/banda_agente.php
- Ahora usa las clases BandasNovedades_HTML_TablaInfoPersonal,BandasNovedades_HTML_Ta...
[mecon/intranet.git] / sistema / www / servicios / bandas / banda_agente.php
index ae1bb230ca1a2423338e26f93d766b176b8ac249..f9a291ec353c18007b3b1929c10a67a2e165830e 100644 (file)
@@ -6,6 +6,10 @@ require_once 'MECON/Dependencia.php';
 require_once 'MECON/NovedadesDia.php';
 require_once 'BandasNovedades/AgenteBanda.php';
 require_once 'HTML/Table.php';
+require_once 'MECON/HTML/Tabla.php';
+require_once 'BandasNovedades/HTML/TablaInfoMes.php';
+require_once 'BandasNovedades/HTML/TablaReferencias.php';
+require_once 'BandasNovedades/HTML/TablaInfoPersonal.php';
 require_once 'DB.php';
 
 if(!isset($_SESSION['documento']) or !isset($_POST['fecha']))
@@ -23,9 +27,7 @@ if (DB::isError($dbh)) {
 $nrodoc = $_SESSION['documento'];
 setlocale (LC_ALL, 'es_AR');
 $fecha = $_POST['fecha'];
-
 $fecha_spliteada = split('-',$fecha);
-$mes = strftime("%B", mktime(0,0,0,$fecha_spliteada[1],1,$fecha_spliteada[0]));
 
 $agente =& new BandasNovedades_AgenteBanda($nrodoc,new date($fecha),$dbh);
 if(!$agente->buscarAgente($nrodoc))
@@ -35,32 +37,37 @@ if(!$agente->buscarAgente($nrodoc))
 }
 
 /* Instancio DietMarco que sirve para mostrar la pagina dentro del marco de Intranet*/
-$m = new HTML_DietMarco('servicios','Bandas Horarias');
+$m =& new HTML_DietMarco('servicios','Bandas Horarias');
 $m->addTitle('Bandas Horarias');
 $m->addStyleSheet('../../css/servicios_bandas.css');
 
 /* Instancio un objeto Table para el cuerpo de la pagina*/
-$tabla_cuerpo = new HTML_Table(array('width'=>'760','border'=>'0','cellspacing'=>'0','cellpadding'=>'0'));
+$tabla_cuerpo =& new HTML_Table(array('width'=>'760','border'=>'0','cellspacing'=>'0','cellpadding'=>'0'));
 
 /* Encabezado propio de la pagina */
-$imagen = new MECON_HTML_Image('../../images/servicios_imprimir1.gif',
+$IMG_flecha_naranja =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif',
+                                                '',
+                                               array('alt'=>'>>'));
+
+$IMG =& new MECON_HTML_Image('../../images/servicios_imprimir1.gif',
                                                 '',
                                                array('width'=>'24','height'=>'24','alt'=>'imprimir'));
-$row_cuerpo = array('Datos Personales',
+
+$row_cuerpo = array($IMG_flecha_naranja->toHtml().' '.$agente->getNombre(),
                                        'Página de Impresión ',
-                                       $imagen->toHtml());
+                                       $IMG->toHtml());
 $tabla_cuerpo->addRow($row_cuerpo,array('height'=>'24'));
-$imagen = new MECON_HTML_Image('/MECON/images/blanco.gif',
+$IMG =& new MECON_HTML_Image('/MECON/images/blanco.gif',
                                                '',
                                                array('width'=>'586','height'=>'1','alt'=>'blanco','align'=>'top'));
-$imagen2 = new MECON_HTML_Image('/MECON/images/blanco.gif',
+$IMG2 =& new MECON_HTML_Image('/MECON/images/blanco.gif',
                                                '',
                                                array('width'=>'150','height'=>'1','alt'=>'blanco','align'=>'top'));
-$imagen3 = new MECON_HTML_Image('/MECON/images/blanco.gif',
+$IMG3 =& new MECON_HTML_Image('/MECON/images/blanco.gif',
                                                '',
                                                array('width'=>'24','height'=>'1','alt'=>'blanco','align'=>'top'));
 
-$row_cuerpo = array($imagen->toHtml(),$imagen2->toHtml(),$imagen3->toHtml());
+$row_cuerpo = array($IMG->toHtml(),$IMG2->toHtml(),$IMG3->toHtml());
 
 $tabla_cuerpo->addRow($row_cuerpo,array('bgcolor'=>'#FF9900',
                                                                        'height'=>'1'));
@@ -96,353 +103,63 @@ con las referencias de cada color de las celdas
 
 /* Armo la tabla de la información personal */
 
-$tabla_info_personal_adentro = new HTML_Table(array('width'=>'360',
-                                                                                       'border'=>'0',
-                                                                                       'valign'=>'top',
-                                                                                       'cellspacing'=>'2',
-                                                                                       'cellpadding'=>'0'));
-$row = array('Datos personales');
-$imagen = new MECON_HTML_Image('../../images/servicios_bandas_borde_tabla.gif','');
-
-$tabla_info_personal_adentro->addRow($row, array('colspan'=>'2', 'class'=>'titulo_form', 'align'=>'left'));
-
-$row = array('Agente',$agente->getNombre());
-$tabla_info_personal_adentro->addRow($row);
+$tabla_info_personal =& new BandasNovedades_HTML_TablaInfoPersonal($agente,'oscuro');
 
-$row = array('N° de documento',$agente->agente);
-$tabla_info_personal_adentro->addRow($row);
+$m->addStyleSheet($tabla_info_personal->getCSS());
 
-$dep =& new MECON_Dependencia($agente->getDependencia());
-$row = array('Dependencia',$dep->getNombre());
-$tabla_info_personal_adentro->addRow($row);
 
-$row = array('Código',$agente->getDependencia());
-$tabla_info_personal_adentro->addRow($row);
+/* Agrego la tabla de información personal al cuerpo de la página*/
+$m->addBodyContent($tabla_info_personal);
 
-$hora_desde =& new MECON_Tiempo_Hora($agente->datos['hora_desde']);
-$hora_hasta =& new MECON_Tiempo_Hora($agente->datos['hora_hasta']);
-$row = array('Horario oficial',$hora_desde->get().' - '.$hora_hasta->get());
-$tabla_info_personal_adentro->addRow($row);
-
-$tipo_ag = $agente->getTipo();
-if(preg_match('/^BEC/',$tipo_ag))
-{
-       $tipo_ag = 'PASANTE';
-}elseif(preg_match('/^CON/',$tipo_ag))
-{
-       $tipo_ag = 'CONTRATADO';
-}elseif(preg_match('/^ADS/',$tipo_ag))
-{
-       $tipo_ag = 'ADSCRIPTO';
-}elseif(preg_match('/^TRA/',$tipo_ag))
-{
-       $tipo_ag = 'PLANTA TRANSITORIA';
-}else
-{
-       $tipo_ag = 'PLANTA PERMANENTE';
-}
-
-$row = array('Categoría',$tipo_ag);
-$tabla_info_personal_adentro->addRow($row);
-
-for($fila=1; $fila <= 6; $fila++)
-{
-       $tabla_info_personal_adentro->updateCellAttributes($fila,0,array('class'=>'titulo_columna', 
-                                                                                                                                       'width'=>'120',
-                                                                                                                                       'background'=>$imagen->getSrc()));
-}
-
-$tabla_info_personal_adentro->updateColAttributes(1,array('class'=>'txt_fila', 
-                                                                                                       'bgcolor'=>'#FFFFFF',
-                                                                                                       'width'=>'180'));
+$m->addBodyContent('<BR>');
 
-$tabla_info_personal = new HTML_Table(array('width'=>'360',
-                                                                                       'border'=>'0',
-                                                                                       'cellspacing'=>'0',
-                                                                                       'cellpadding'=>'0',
-                                                                                       'bgcolor'=>'#003366'));
-$tabla_info_personal->addRow(array($tabla_info_personal_adentro));
+/* Armo la tabla con la gilla horaria*/
+$tabla_info =& new BandasNovedades_HTML_TablaInfoMes($agente,'nov_dia.php','oscuro');
 
 /* Armo la tabla de referencias */
-$tabla_referencias_adentro = new HTML_Table(array('width'=>'360',
-                                                                                       'border'=>'0',
-                                                                                       'valign'=>'top',
-                                                                                       'cellspacing'=>'2',
-                                                                                       'cellpadding'=>'0'));
-$row = array('Referencias');
-$tabla_referencias_adentro->addRow($row, array('colspan'=>'2', 'class'=>'titulo_form', 'align'=>'left'));
-
-$row = array('&nbsp;','Promedio diario');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#FFFFFF'));
-$row = array('&nbsp;','Sábados/Domingos/Feriados');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'lightblue'));
-$row = array('&nbsp;','Lic. extraordinaria');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#009999'));
-$row = array('&nbsp;','Otras inasistencias');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#CC66CC'));
-$row = array('&nbsp;','Inasistencias');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#FF9900'));
-$row = array('&nbsp;','Lic. enfermedad');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#00CC33'));
-$row = array('&nbsp;','Lic. anual ordinaria');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#3366FF'));
-$row = array('&nbsp;','Ausentes sin informar');
-$tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#FF0000'));
-
-$tabla_referencias_adentro->updateColAttributes(0,array('width'=>'20',
-                                                                                                               'class'=>'titulo_columna'));
-
-
-$tabla_referencias_adentro->updateColAttributes(1,array('bgcolor'=>'#FFFFFF',
-                                                                                                               'width'=>'340',
-                                                                                                               'class'=>'txt_fila'));
-
-$tabla_referencias = new HTML_Table(array('width'=>'360',
-                                                                                       'border'=>'0',
-                                                                                       'cellspacing'=>'0',
-                                                                                       'cellpadding'=>'0',
-                                                                                       'bgcolor'=>'#003366'));
-$tabla_referencias->addRow(array($tabla_referencias_adentro));
-
+$tabla_referencias =& new BandasNovedades_HTML_TablaReferencias('oscuro');
 
 /* Agrego las tablas de referencia al cuerpo */
-$t = new HTML_Table(array('width'=>'760',
+$t =& new HTML_Table(array('width'=>'760',
                                                        'border'=>'0',
                                                        'cellspacing'=>'0',
                                                        'cellpadding'=>'0'));
 $row = array();
-$imagen = new MECON_HTML_Image('/MECON/images/blanco.gif',
-                                               '',
-                                               array('width'=>'360','height'=>'1','alt'=>'blanco'));
-array_push($row,$imagen);
-array_push($row,'');
-$imagen = new MECON_HTML_Image('/MECON/images/blanco.gif',
-                                               '',
-                                               array('width'=>'40','height'=>'1','alt'=>'blanco'));
-array_push($row,$imagen);
-$imagen = new MECON_HTML_Image('/MECON/images/blanco.gif',
-                                               '',
-                                               array('width'=>'360','height'=>'1','alt'=>'blanco'));
-array_push($row,$imagen);
-
-$t->addRow($row);
-$t->updateCellAttributes(0,0,array('colspan'=>'2'));
-
-$row = array($tabla_info_personal,'','&nbsp;',$tabla_referencias);
+$row = array($tabla_info,'&nbsp',$tabla_referencias);
 $t->addRow($row,array('valign'=>'top'));
-$t->updateCellAttributes(1,0,array('colspan'=>'2'));
+
 
 /* Esta fila contiene las referencias */
 $row_cuerpo = array($t);
-
 $m->addBodyContent($t);
 
-$m->addBodyContent('<BR>');
-
-/* Armo la tabla de información */
-$tabla_info_adentro = new HTML_Table(array('width'=>'760',
-                                                                                       'border'=>'0',
-                                                                                       'valign'=>'top',
-                                                                                       'cellspacing'=>'2',
-                                                                                       'cellpadding'=>'0'));
-$row = array('Mes: '.$mes.' - Año: '.$fecha_spliteada[0]);
-$tabla_info_adentro->addRow($row, array('colspan'=>'10', 'class'=>'titulo_form', 'align'=>'left'));
-
-
-$horas=$agente->getHoras();
-for($i=1;$i<4;$i++)
-{
-       $aux=($i-1)*10;
-       $row=array(1+$aux,2+$aux,3+$aux,4+$aux,5+$aux,6+$aux,7+$aux,8+$aux,9+$aux,10+$aux);
-
-       $tabla_info_adentro->addRow($row,array('width'=>'76',
-                                                                                       'background'=>'../../images/servicios_bandas_borde_tabla.gif',
-                                                                                       'class'=>'titulo_columna'));
-       
-       $row=array();
-       $celda_ASN=array();
-       $celda_NOV=array();
-       $celda_FER=array();
-       for($j=1;$j<11;$j++)
-       {
-               if(isset($horas[$j+$aux]['tiempo']))
-               {
-                       array_push($row,$horas[$j+$aux]['tiempo']);
-                       if($horas[$j+$aux]['tiempo']=='0:00')
-                       {
-                               if($horas[$j+$aux]['ASN']==1 || $horas[$j+$aux]['inconsistencia']==1)
-                               {
-                                       array_push($celda_ASN,$j-1);
-                                       
-                               }
-                               if($horas[$j+$aux]['ASN']==0 && $horas[$j+$aux]['tipo']=='laborable')
-                               {
-                                       array_push($celda_NOV,array($j-1,$horas[$j+$aux]['fecha']));
-                                       $row[$j-1]="<a href=\"\" onClick=\"window.open('./nov_dia.php?nrodoc=".$nrodoc."&fecha=".$horas[$j+$aux]['fecha']."','novedad','width=250,height=100');return(false);\">".$row[$j-1]."</a>";
-                               }
-                       }
-                       ($horas[$j+$aux]['ASN']==0 && $horas[$j+$aux]['tipo']=='no laborable')?array_push($celda_FER,$j-1):0;
-               }else
-               {
-                       array_push($row,'&nbsp');
-               }
-       }
-       $tabla_info_adentro->addRow($row,array('bgcolor'=>'#FFFFFF', 'class'=>'txt_fila'));
-       $tabla_info_adentro->addRow(array('&nbsp;'),array('colspan'=>'10',
-                                                                                                               'bgcolor'=>'#FFFFFF',
-                                                                                                               'class'=>'txt_fila'));
-       foreach ($celda_ASN as $c)
-       {
-               $tabla_info_adentro->updateCellAttributes(($i-1)*3+2,$c,array('bgcolor'=>'red'));
-       }
-
-       foreach ($celda_NOV as $c)
-       {
-               $novedad =& new MECON_NovedadesDia($nrodoc,new date($c[1]));
-               if(preg_match('/^13/',$novedad->novedades[0]->codigo))
-               {
-                       $color='#009999';
-               }elseif(preg_match('/^15||^2606\/83$||^Adp$||^Com$||^Coms$||^FES\/REL$||^Fran$||^Grem$/',$novedad->novedades[0]->codigo))
-               {
-                       $color='#CC66CC';
-               }elseif(preg_match('/^14||^Asa$||^Pap$||^Sus$/',$novedad->novedades[0]->codigo))
-               {
-                       $color='#FF9900';
-               }elseif(preg_match('/^10||^Pat$/',$novedad->novedades[0]->codigo))
-               {
-                       $color='#00CC33';
-               }elseif(preg_match('/^9/',$novedad->novedades[0]->codigo))
-               {
-                       $color='#3366FF';
-               }
-
-               $tabla_info_adentro->updateCellAttributes(($i-1)*3+2,$c[0],array('bgcolor'=>$color));
-       }
-       
-       foreach ($celda_FER as $c)
-       {
-               $tabla_info_adentro->updateCellAttributes(($i-1)*3+2,$c,array('bgcolor'=>'lightblue'));
-       }
-
-}
-
-if(isset($horas[31]['tiempo']))
-{
-       $row = array(31,'Días Trabajados','','','Días Laborables Trabajados','','','Promedio','','');
-       
-       $tabla_info_adentro->addRow($row,array('class'=>'titulo_columna',
-                                                                                       'background'=>'../../images/servicios_bandas_borde_tabla.gif'));
-       $row = array($horas[31]['tiempo'],
-                               $agente->getDiasTrabajados(),'','',
-                               $agente->getDiasLaborablesTrabajados(),'','',
-                               $agente->getPromedioMensual(),'','');
-
-       if($horas[31]['tiempo']=='0:00' && $horas[31]['ASN']==0 && $horas[31]['tipo']=='laborable')
-       {
-               $row[0]="<a href=\"\" onClick=\"window.open('./nov_dia.php?nrodoc=".
-                                       $nrodoc."&fecha=".$horas[31]['fecha'].
-                                       "','novedad','width=\"250\" height=\"100\"');return(false);\">
-                                       ".$horas[31]['tiempo']."</a>";
-       }
-       $tabla_info_adentro->addRow($row,array('class'=>'txt_fila',
-                                                                                       'bgcolor'=>'#FFFFFF'));
-
-       if($horas[31]['tiempo']=='0:00')
-       {
-               if($horas[31]['ASN']==1)
-               {
-                       $tabla_info_adentro->updateCellAttributes(11,0,array('bgcolor'=>'red'));
-               }
-               if($horas[31]['ASN']==0 && $horas[31]['tipo']=='laborable')
-               {
-                       preg_replace('/(..)$/','31',$fecha);
-                       $novedad =& new MECON_NovedadesDia($nrodoc,new date($fecha));
-                       if(preg_match('/^13/',$novedad->novedades[0]->codigo))
-                       {
-                               $color='#009999';
-                       }elseif(preg_match('/^15||^2606\/83$||^Adp$||^Com$||^Coms$||^FES\/REL$||^Fran$||^Grem$/',$novedad->novedades[0]->codigo))
-                       {
-                               $color='#CC66CC';
-                       }elseif(preg_match('/^14||^Asa$||^Pap$||^Sus$/',$novedad->novedades[0]->codigo))
-                       {
-                               $color='#FF9900';
-                       }elseif(preg_match('/^10||^Pat$/',$novedad->novedades[0]->codigo))
-                       {
-                               $color='#00CC33';
-                       }elseif(preg_match('/^9/',$novedad->novedades[0]->codigo))
-                       {
-                               $color='#3366FF';
-                       }
-                       $tabla_info_adentro->updateCellAttributes(11,0,array('bgcolor'=>$color));
-               }
-       }
-       if($horas[31]['ASN']==0 && $horas[31]['tipo']=='no laborable')
-       {
-               $tabla_info_adentro->updateCellAttributes(11,0,array('bgcolor'=>'lightblue'));
-       }
-       
-       $tabla_info_adentro->updateCellAttributes(10,1,array('colspan'=>'3'));
-       $tabla_info_adentro->updateCellAttributes(10,4,array('colspan'=>'3'));
-       $tabla_info_adentro->updateCellAttributes(10,7,array('colspan'=>'3'));
-
-       $tabla_info_adentro->updateCellAttributes(11,1,array('colspan'=>'3'));
-       $tabla_info_adentro->updateCellAttributes(11,4,array('colspan'=>'3'));
-       $tabla_info_adentro->updateCellAttributes(11,7,array('colspan'=>'3'));
-
-}else
-{
-       $row = array('Días Trabajados','','','','Días Laborables Trabajados','','','Promedio','','');
-       $tabla_info_adentro->addRow($row,array('class'=>'titulo_columna',
-                                                                                       'background'=>'../../images/servicios_bandas_borde_tabla.gif'));
-       $tabla_info_adentro->updateCellAttributes(10,0,array('colspan'=>'4'));
-       $tabla_info_adentro->updateCellAttributes(10,4,array('colspan'=>'3'));
-       $tabla_info_adentro->updateCellAttributes(10,7,array('colspan'=>'3'));
-       
-       $row = array($agente->getDiasTrabajados(),'','','',
-                               $agente->getDiasLaborablesTrabajados(),'','',
-                               $agente->getPromedioMensual(),'','');
-
-       $tabla_info_adentro->addRow($row,array('class'=>'txt_fila',
-                                                                                       'bgcolor'=>'#FFFFFF'));
-       $tabla_info_adentro->updateCellAttributes(11,0,array('colspan'=>'4'));
-       $tabla_info_adentro->updateCellAttributes(11,4,array('colspan'=>'3'));
-       $tabla_info_adentro->updateCellAttributes(11,7,array('colspan'=>'3'));
-
-}
-
-
-$tabla_info = new HTML_Table(array('width'=>'760',
-                                                                       'border'=>'0',
-                                                                       'cellspacing'=>'0',
-                                                                       'cellpadding'=>'0',
-                                                                       'bgcolor'=>'#003366'));
-
-$tabla_info->addRow(array($tabla_info_adentro));
-$m->addBodyContent($tabla_info);
 
 $m->addBodyContent('<BR>');
 
 /* Comienzo a mostrar los links con las notas, accesos y salidas autorizadas*/
-$tabla_notas = new HTML_Table(array('width'=>'760',
+$tabla_notas =& new HTML_Table(array('width'=>'760',
                                                                        'border'=>'0',
                                                                        'cellspacing'=>'0',
                                                                        'cellpadding'=>'0',
                                                                        'bgcolor'=>'#003366'));
 
-$imagen_notas = new MECON_HTML_Image('../../images/servicios_nota.gif',
+$IMG_notas =& new MECON_HTML_Image('../../images/servicios_nota.gif',
                                                         '',
                                                        array('width'=>'24','height'=>'24','valign'=>'top'));
 
-$imagen_anterior = new MECON_HTML_Image('../../images/servicios_bandas_anterior.gif',
+$IMG_anterior =& new MECON_HTML_Image('../../images/servicios_bandas_anterior.gif',
                                                                '',
                                                                array('width'=>'16','height'=>'10','valign'=>'top'));
                                                                
-$imagen_visto = new MECON_HTML_Image('../../images/servicios_visto.gif',
+$IMG_visto =& new MECON_HTML_Image('../../images/servicios_visto.gif',
                                                                '',
                                                                array('width'=>'16','height'=>'10','valign'=>'top'));
-$link_volver = new MECON_HTML_LINK('./','volver');
+$link_volver =& new MECON_HTML_LINK('./','volver');
 
-$row = array($imagen_notas,'Nota: Fecha de último cruce con las novedades',$imagen_anterior->toHtml().' '.$link_volver->toHtml(),$imagen_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>",$imagen_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>");
+$row = array(  $IMG_notas,'Nota: Fecha de último cruce con las novedades',
+                               $IMG_anterior->toHtml().' '.$link_volver->toHtml(),
+                               $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>",
+                               $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>");
                        
 $tabla_notas->addRow($row,array('class'=>'imprimir_bandas',
                                                                                'bgcolor'=>'#FFFFFF'));