require_once '../../../local_lib/HTML_DietMarco.php';
require_once 'MECON/HTML/Image.php';
require_once 'MECON/HTML/Link.php';
require_once 'MECON/Dependencia.php';
require_once 'MECON/NovedadesDia.php';
require_once 'BandasNovedades/AgenteBanda.php';
require_once 'HTML/Table.php';
require_once 'DB.php';
if(!isset($_SESSION['documento']) or !isset($_POST['fecha']))
{
header('Location: ../../servicios.php');
}
//CREO LA CONEXION A LA BASE DE DATOS
$dbh = DB::connect("mysql://intranet:intranet@bal747f/bandas",true);
if (DB::isError($dbh)) {
die ($DB->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();
?>