------------------------------------------------------------------------------*/ require_once 'BandasNovedades/Agente.php'; require_once 'HTML/Table.php'; require_once 'MECON/HTML/Tabla.php'; require_once '../../../local_lib/HTML_DietMarco.php'; require_once 'MECON/HTML/QuickFormSimple.php'; require_once 'MECON/HTML/Image.php'; require_once 'MECON/HTML/Link.php'; require_once 'DB.php'; if(!isset($_SESSION['documento'])){ header('Location: ../../servicios.php'); exit; } $nrodoc = $_SESSION['documento']; //Conexión a la BD $dbh = DB::connect("mysql://intranet:intranet@intranet-db/novedades", true); if (DB::isError($dbh)) { die ($dbh->getMessage()); } //Marco de servicios en intranet $MARCO = new HTML_DietMarco('servicios', 'Servicios'); $MARCO->addTitle('Novedades de Personal'); $MARCO->addStyleSheet('../../css/servicios_novedades.css'); //Datos del agente $agente =& new BandasNovedades_Agente($dbh, $nrodoc); if (substr($agente->getTipo(), 0, 3) == 'CON'){ //El agente es contratado, por lo tanto no se le muestran novedades $IMG_Error =& new MECON_HTML_Image('/MECON/images/general_no_autorizado.gif', 'No disponible'); $MSG_Error =& new HTML_Table ('align="center" width="600" border="0"'); $MSG_Error->addRow(array($IMG_Error->toHtml()), array('align'=>'center')); $MSG_Error->addRow(array('Novedades de Personal no disponibles'), array('align'=>'center', 'class'=>'error')); $MARCO->addBodyContent($MSG_Error); } else{ //Fecha $fecha = getdate(); $anio_actual = $fecha['year']; $anio_de_consulta = (isset($_POST['year']))?$_POST['year']:$anio_actual; //Imágenes $IMG_Nota =& new MECON_HTML_Image('../../images/servicios_nota.gif', 'Nota'); $IMG_Info =& new MECON_HTML_Image('../../images/servicios_info.gif', 'Información'); $IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>'); $IMG_Mail =& new MECON_HTML_Image('../../images/servicios_mail.gif', 'Consultas'); //Links $LINK_Mail =& new MECON_HTML_Link('mailto:asistencia@mecon.gov.ar?subject=INTRANET-Novedades de Personal', 'Consultas'); $LINK_Novedad =& new MECON_HTML_Link('', '-'); $url_detalle = './detalle.php?nrodoc='.$nrodoc.'&anio='.$anio_de_consulta; $attrs = 'width=330,height=350,screenX=50,screenY=50,scrollbars=yes'; //Elementos del Formulario $FORM =& new MECON_HTML_QuickFormSimple ('form', 'post', './novedades.php'); $select_year =& $FORM->addElement ('select', 'year', 'year', array($anio_actual=>$anio_actual, $anio_actual-1=>$anio_actual-1)); $select_year->setSelected($anio_de_consulta); $boton =& $FORM->addElement('submit', 'submit', 'ver...'); //Novedades $nov_diarias = $agente->obtenerNovedades($anio_de_consulta); $nov_prolongadas = $agente->obtenerLicencias($anio_de_consulta); //Tablas $TABLA_Form =& new MECON_HTML_Tabla ('width="300" align="left"', 'oscuro'); $TABLA_Form->addRow(array('Año', $select_year->toHtml(), $boton->toHtml()), array('width'=>'100', 'align'=>'center')); $TABLA_Form->updateColAttributes(0, 'cabecera align="center"'); $TABLA_Pie =& new HTML_Table ('width="600" border="0"'); $TABLA_Pie->addRow(array($IMG_Info->toHtml(),'Información Suministrada por la Dirección General de Recursos Humanos', $IMG_Mail->toHtml(),$LINK_Mail->toHtml())); $TABLA_Pie->updateColAttributes(0, 'width="25" valign="middle"'); $TABLA_Pie->updateColAttributes(1, 'width="500" class="txt_chicoiz"'); $TABLA_Pie->updateColAttributes(2, 'width="25" align="right" valign="middle"'); $TABLA_Pie->updateColAttributes(3, 'width="50" class="txt_chicoiz"'); $TABLA_NovDiarias =& new MECON_HTML_Tabla ('width="600" ', 'oscuro'); if (count($nov_diarias) > 0){ $titulo = 'Novedades Diarias - Totales '.$anio_de_consulta; $titulo.= ($anio_de_consulta == $anio_actual)?' desde comienzo del año hasta la fecha':''; $TABLA_NovDiarias->addRow(array($titulo), array('colspan'=>'3', 'cabecera'=>'1')); $TABLA_NovDiarias->addRow(array('Código', 'Descripción de la Novedad', 'Cant. días'), array('titulo'=>'1')); foreach ($nov_diarias AS $item){ $LINK_Novedad->setContents($item['2']); $url_detalle.='&codnov='.$item[0]; $attribute = "window.open('$url_detalle', 'detalle', '$attrs');return(false);"; $LINK_Novedad->updateAttributes(array('onClick'=>$attribute)); $TABLA_NovDiarias->addRow(array($item[0], $item[1], $LINK_Novedad)); $TABLA_NovDiarias->updateColAttributes( 2, 'align="center"'); } } else{ $TABLA_NovDiarias->addRow(array('Novedades Diarias'), 'cabecera'); $TABLA_NovDiarias->addRow(array('No Existen'), 'comun'); } $TABLA_Licencias =& new MECON_HTML_Tabla ('width="600" ', 'oscuro'); if (count($nov_prolongadas) > 0){ $TABLA_Licencias->addRow(array('Licencias Prolongadas'), array('colspan'=>'4', 'cabecera'=>'1')); $TABLA_Licencias->addRow(array('Código', 'Descripción de la Novedad', 'Desde', 'Hasta'), array('titulo'=>'1')); foreach ($nov_prolongadas AS $item){ $fecha_desde = substr($item[2], 6, 2).'-'.substr($item[2], 4, 2).'-'.substr($item[2], 0, 4); $fecha_hasta = substr($item[3], 6, 2).'-'.substr($item[3], 4, 2).'-'.substr($item[3], 0, 4); $TABLA_Licencias->addRow(array($item[0], $item[1], $fecha_desde, $fecha_hasta)); if (substr($item[2], 0, 4) != $anio_de_consulta){ $TABLA_Licencias->updateCellAttributes ($TABLA_Licencias->getRowCount()-1 , 2, 'class="resaltar_fecha"'); } if (substr($item[3], 0, 4) != $anio_de_consulta){ $TABLA_Licencias->updateCellAttributes ($TABLA_Licencias->getRowCount()-1 , 3, 'class="resaltar_fecha"'); } } } else{ $TABLA_Licencias->addRow(array('Licencias Prolongadas'), 'cabecera'); $TABLA_Licencias->addRow(array('No Existen'), 'comun'); } $TABLA_Contenido =& new HTML_Table ('width="600" align="center" border="0"'); $TABLA_Contenido->addRow(array($IMG_Viñeta->toHtml().$agente->getNombre()), array('class'=>'txt_fila', 'align'=>'left')); $TABLA_Contenido->addRow(array('
')); $TABLA_Contenido->addRow(array($TABLA_Form->toHtml()), array('align'=>'left')); $TABLA_Contenido->addRow(array('
')); $TABLA_Contenido->addRow(array($TABLA_NovDiarias->toHtml()), array('align'=>'left')); $TABLA_Contenido->addRow(array('
')); $TABLA_Contenido->addRow(array($TABLA_Licencias->toHtml()), array('align'=>'left')); $TABLA_Contenido->addRow(array('
')); if ($anio_de_consulta == $anio_actual){ //Las vacaciones solamente se muestran si es el año corriente $vacaciones = $agente->obtenerVacaciones($anio_actual); if (count($vacaciones) > 0){ $TABLA_Vacaciones =& new MECON_HTML_Tabla ('width="600" ', 'oscuro'); $TABLA_Vacaciones->addRow(array('Vacaciones'), array('colspan'=>'4', 'cabecera'=>'1')); $TABLA_Vacaciones->addRow(array('Año', 'Total de Días', 'Días Tomados', 'Saldo'), array('titulo'=>'1')); foreach ($vacaciones AS $item){ $tomados = $item[1]-$item[2]; $TABLA_Vacaciones->addRow(array($item[0], $item[1], (string) $tomados , $item[2])); } $TABLA_Contenido->addRow(array($TABLA_Vacaciones->toHtml()), array('align'=>'left')); $TABLA_Contenido->addRow(array('
')); } } $TABLA_Contenido->addRow(array($TABLA_Pie->toHtml()), array('align'=>'left')); //Contenido de la página $MARCO->addStyleSheet($TABLA_Form->getCss()); $MARCO->addBodyContent($FORM->getBegin()); $MARCO->addBodyContent($TABLA_Contenido); $MARCO->addBodyContent($FORM->getEnd()); } $MARCO->display(); ?>