getMessage()); } //Seteo las variables generales $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)) { echo "El agente no está en las bases de RRHH"; die; } /* Instancio DietMarco que sirve para mostrar la pagina dentro del marco de Intranet*/ $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')); /* Encabezado propio de la pagina */ $imagen = new MECON_HTML_Image('../../images/servicios_imprimir1.gif', '', array('width'=>'24','height'=>'24','alt'=>'imprimir')); $row_cuerpo = array('Datos Personales', 'Página de Impresión ', $imagen->toHtml()); $tabla_cuerpo->addRow($row_cuerpo,array('height'=>'24')); $imagen = 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', '', array('width'=>'150','height'=>'1','alt'=>'blanco','align'=>'top')); $imagen3 = 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()); $tabla_cuerpo->addRow($row_cuerpo,array('bgcolor'=>'#FF9900', 'height'=>'1')); $tabla_cuerpo->addRow($row_cuerpo,array('bgcolor'=>'#FFFFFF', 'height'=>'10')); $tabla_cuerpo->updateCellAttributes(0, 0, array('width'=>'586','class'=>'titulo_tres')); $tabla_cuerpo->updateCellAttributes(0, 1, array('width'=>'150','class'=>'imprimir_bandas')); $tabla_cuerpo->updateCellAttributes(0, 2, array('width'=>'24','class'=>'imprimir_bandas')); $tabla_cuerpo->updateCellAttributes(1, 0, array('height'=>'1')); $tabla_cuerpo->updateCellAttributes(1, 1, array('height'=>'1')); $tabla_cuerpo->updateCellAttributes(1, 2, array('height'=>'1')); $m->addBodyContent($tabla_cuerpo); /* Fin del encabezado propio de la pagina*/ /* Aca empieza las tablas con la informacion personal del agente y 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); $row = array('N° de documento',$agente->agente); $tabla_info_personal_adentro->addRow($row); $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); $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')); $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 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(' ','Promedio diario'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#FFFFFF')); $row = array(' ','Sábados/Domingos/Feriados'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'lightblue')); $row = array(' ','Lic. extraordinaria'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#009999')); $row = array(' ','Otras inasistencias'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#CC66CC')); $row = array(' ','Inasistencias'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#FF9900')); $row = array(' ','Lic. enfermedad'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#00CC33')); $row = array(' ','Lic. anual ordinaria'); $tabla_referencias_adentro->addRow($row,array('bgcolor'=>'#3366FF')); $row = array(' ','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)); /* Agrego las tablas de referencia al cuerpo */ $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,'',' ',$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('
'); /* 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]="".$row[$j-1].""; } } ($horas[$j+$aux]['ASN']==0 && $horas[$j+$aux]['tipo']=='no laborable')?array_push($celda_FER,$j-1):0; }else { array_push($row,' '); } } $tabla_info_adentro->addRow($row,array('bgcolor'=>'#FFFFFF', 'class'=>'txt_fila')); $tabla_info_adentro->addRow(array(' '),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]=" ".$horas[31]['tiempo'].""; } $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('
'); /* Comienzo a mostrar los links con las notas, accesos y salidas autorizadas*/ $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', '', array('width'=>'24','height'=>'24','valign'=>'top')); $imagen_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', '', array('width'=>'16','height'=>'10','valign'=>'top')); $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()." accesos",$imagen_visto->toHtml()." salidas autorizadas"); $tabla_notas->addRow($row,array('class'=>'imprimir_bandas', 'bgcolor'=>'#FFFFFF')); $tabla_notas->updateCellAttributes(0,0,array('width'=>'24','height'=>'24','class'=>'aclarar')); $tabla_notas->updateCellAttributes(0,1,array('width'=>'370','height'=>'30','class'=>'aclarar')); $tabla_notas->updateCellAttributes(0,2,array('width'=>'130','class'=>'imprimir_bandas')); $tabla_notas->updateCellAttributes(0,3,array('width'=>'130','class'=>'imprimir_bandas')); $tabla_notas->updateCellAttributes(0,4,array('width'=>'130','class'=>'imprimir_bandas')); $m->addBodyContent($tabla_notas); $m->display(); ?>