X-Git-Url: https://git.llucax.com/mecon/intranet.git/blobdiff_plain/8031c559f9d538829849b746efb791565407b371..a523348f7d03ac0b2eb481eed24097366160373d:/sistema/www/servicios/bandas/banda_agente.php diff --git a/sistema/www/servicios/bandas/banda_agente.php b/sistema/www/servicios/bandas/banda_agente.php index ae1bb23..f9a291e 100644 --- a/sistema/www/servicios/bandas/banda_agente.php +++ b/sistema/www/servicios/bandas/banda_agente.php @@ -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('
'); -$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(' ','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)); - +$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,'',' ',$tabla_referencias); +$row = array($tabla_info,' ',$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', +$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()." accesos",$imagen_visto->toHtml()." salidas autorizadas"); +$row = array( $IMG_notas,'Nota: Fecha de último cruce con las novedades', + $IMG_anterior->toHtml().' '.$link_volver->toHtml(), + $IMG_visto->toHtml()." accesos", + $IMG_visto->toHtml()." salidas autorizadas"); $tabla_notas->addRow($row,array('class'=>'imprimir_bandas', 'bgcolor'=>'#FFFFFF'));