]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/servicios/novedades/novedades.php
e5f81694a62a1d0277dd4c4ba852e8e3943cc8da
[mecon/intranet.git] / sistema / www / servicios / novedades / novedades.php
1 <?php 
2 /*-----------------------------------------------------------------------------
3 Intranet del Ministerio de Economía
4 Consulta de Novedades de Personal
5 -------------------------------------------------------------------------------
6 Myrna Degano <mdegan@mecon.gov.ar>
7 ------------------------------------------------------------------------------*/
8
9 require_once 'BandasNovedades/Agente.php';
10 require_once 'HTML/Table.php';
11 require_once 'MECON/HTML/Tabla.php';
12 require_once 'HTML_DietMarco.php';
13 require_once 'HTML_Mensaje.php';
14 require_once 'MECON/HTML/QuickFormSimple.php';
15 require_once 'MECON/HTML/Image.php';
16 require_once 'MECON/HTML/Link.php';
17
18 if(!isset($_SESSION['documento'])){
19         header('Location: ../../servicios.php');
20         exit;
21 }
22 $nrodoc = $_SESSION['documento'];
23
24 //Marco de servicios en intranet
25 $MARCO     = new HTML_DietMarco('servicios', 'Novedades de Personal');
26 //$MARCO->addTitle('Novedades de Personal');
27 $MARCO->addStyleSheet('../../css/servicios_novedades.css');
28
29
30 //Datos del agente
31 $agente =& new BandasNovedades_Agente($DB, $nrodoc);
32
33
34 if (substr($agente->getTipo(), 0, 3) == 'CON'){
35     //El agente es contratado, por lo tanto no se le muestran novedades
36
37     $MSG =& new HTML_Mensaje ('error', 'Novedades de Personal no disponibles', 360); 
38     $MARCO->addBodyContent('<br><br>');
39     $MARCO->addBodyContent($MSG);
40 }
41 else{
42     //Fecha
43     $fecha = getdate();
44     $anio_actual = $fecha['year'];
45     $anio_de_consulta = (isset($_POST['year']))?$_POST['year']:$anio_actual;
46
47     //Imágenes
48     $IMG_Nota =& new MECON_HTML_Image('../../images/servicios_nota.gif', 'Nota');
49     $IMG_Info =& new MECON_HTML_Image('../../images/servicios_info.gif', 'Información');
50     $IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>');
51     $IMG_Mail =& new MECON_HTML_Image('../../images/servicios_mail.gif', 'Consultas');
52
53     //Links
54     $LINK_Mail =& new MECON_HTML_Link('mailto:asistencia@mecon.gov.ar?subject=INTRANET-Novedades de Personal', 'Consultas');
55     $LINK_Novedad =& new MECON_HTML_Link('', '-');
56         $url_detalle = './detalle.php?nrodoc='.$nrodoc.'&anio='.$anio_de_consulta;
57         $attrs = 'width=330,height=350,screenX=50,screenY=50,scrollbars=yes';
58
59     //Elementos del Formulario
60     $FORM =& new MECON_HTML_QuickFormSimple ('form', 'post', './novedades.php');
61     $select_year =& $FORM->addElement ('select', 'year', 'year', 
62                                             array($anio_actual=>$anio_actual, $anio_actual-1=>$anio_actual-1));
63     $select_year->setSelected($anio_de_consulta);
64     $boton =& $FORM->addElement('submit', 'submit', 'ver...');
65
66     //Novedades
67     $nov_diarias = $agente->obtenerNovedades($anio_de_consulta);
68     $nov_prolongadas = $agente->obtenerLicencias($anio_de_consulta);
69     
70     //Tablas
71     $TABLA_Form =& new MECON_HTML_Tabla ('width="300" align="left"', 'oscuro');
72     $TABLA_Form->addRow(array('Año', $select_year->toHtml(), $boton->toHtml()),
73                             array('width'=>'100', 'align'=>'center'));
74     $TABLA_Form->updateColAttributes(0, 'cabecera align="center"');
75
76     $TABLA_Pie =& new HTML_Table ('width="600" border="0"');
77     $TABLA_Pie->addRow(array($IMG_Info->toHtml(),'Información Suministrada por la Dirección General de Recursos Humanos', $IMG_Mail->toHtml(),$LINK_Mail->toHtml()));
78     $TABLA_Pie->updateColAttributes(0, 'width="25" valign="middle"');
79     $TABLA_Pie->updateColAttributes(1, 'width="500" class="servicios_novedades_txt_chicoiz"');
80     $TABLA_Pie->updateColAttributes(2, 'width="25" align="right" valign="middle"');
81     $TABLA_Pie->updateColAttributes(3, 'width="50" class="servicios_novedades_txt_chicoiz"');
82
83     $TABLA_NovDiarias =& new MECON_HTML_Tabla ('width="600" ', 'oscuro');
84     if (count($nov_diarias) > 0){
85         $titulo = 'Novedades Diarias - Totales '.$anio_de_consulta;
86         $titulo.= ($anio_de_consulta == $anio_actual)?' desde comienzo del año hasta la fecha':'';
87         $TABLA_NovDiarias->addRow(array($titulo), array('colspan'=>'3', 'cabecera'=>'1')); 
88         $TABLA_NovDiarias->addRow(array('Código', 'Descripción de la Novedad', 'Cant. días'), array('titulo'=>'1')); 
89
90         foreach ($nov_diarias AS $item){
91             $LINK_Novedad->setContents($item['2']);
92                     $url_detalle.='&codnov='.$item[0];
93                     $attribute = "window.open('$url_detalle', 'detalle', '$attrs');return(false);";
94                 $LINK_Novedad->updateAttributes(array('onClick'=>$attribute));
95             $TABLA_NovDiarias->addRow(array($item[0], $item[1], $LINK_Novedad)); 
96             $TABLA_NovDiarias->updateColAttributes( 2, 'align="center"'); 
97         }
98     }
99     else{
100         $TABLA_NovDiarias->addRow(array('Novedades Diarias'), 'cabecera'); 
101         $TABLA_NovDiarias->addRow(array('No Existen'), 'comun'); 
102     }
103
104     $TABLA_Licencias =& new MECON_HTML_Tabla ('width="600" ', 'oscuro');
105     if (count($nov_prolongadas) > 0){
106         $TABLA_Licencias->addRow(array('Licencias Prolongadas'), array('colspan'=>'4', 'cabecera'=>'1')); 
107         $TABLA_Licencias->addRow(array('Código', 'Descripción de la Novedad', 'Desde', 'Hasta'), array('titulo'=>'1')); 
108         foreach ($nov_prolongadas AS $item){
109             $fecha_desde = substr($item[2], 6, 2).'-'.substr($item[2], 4, 2).'-'.substr($item[2], 0, 4);
110             $fecha_hasta = substr($item[3], 6, 2).'-'.substr($item[3], 4, 2).'-'.substr($item[3], 0, 4);
111             $TABLA_Licencias->addRow(array($item[0], $item[1], $fecha_desde, $fecha_hasta)); 
112             if (substr($item[2], 0, 4) != $anio_de_consulta){
113                 $TABLA_Licencias->updateCellAttributes ($TABLA_Licencias->getRowCount()-1 , 2, 'class="servicios_novedades_resaltar_fecha"');
114             }
115             if (substr($item[3], 0, 4) != $anio_de_consulta){
116                 $TABLA_Licencias->updateCellAttributes ($TABLA_Licencias->getRowCount()-1 , 3, 'class="servicios_novedades_resaltar_fecha"');
117             }
118         }
119     }
120     else{
121         $TABLA_Licencias->addRow(array('Licencias Prolongadas'), 'cabecera'); 
122         $TABLA_Licencias->addRow(array('No Existen'), 'comun'); 
123     }
124
125     $TABLA_Contenido =& new HTML_Table ('width="600" align="center" border="0"');
126     $TABLA_Contenido->addRow(array($IMG_Viñeta->toHtml().$agente->getNombre()), 
127                                  array('class'=>'servicios_novedades_txt_fila', 'align'=>'left'));
128     $TABLA_Contenido->addRow(array('<br>'));
129     $TABLA_Contenido->addRow(array($TABLA_Form->toHtml()), array('align'=>'left'));
130     $TABLA_Contenido->addRow(array('<br>'));
131
132     $TABLA_Contenido->addRow(array($TABLA_NovDiarias->toHtml()), array('align'=>'left'));
133     $TABLA_Contenido->addRow(array('<br>'));
134     $TABLA_Contenido->addRow(array($TABLA_Licencias->toHtml()), array('align'=>'left'));
135     $TABLA_Contenido->addRow(array('<br>'));
136     
137     if ($anio_de_consulta == $anio_actual){
138         //Las vacaciones solamente se muestran si es el año corriente
139         $vacaciones = $agente->obtenerVacaciones($anio_actual);
140
141         if (count($vacaciones) > 0){
142             $TABLA_Vacaciones =& new MECON_HTML_Tabla ('width="600" ', 'oscuro');
143             $TABLA_Vacaciones->addRow(array('Vacaciones'), array('colspan'=>'4', 'cabecera'=>'1')); 
144             $TABLA_Vacaciones->addRow(array('Año', 'Total de Días', 'Días Tomados', 'Saldo'), array('titulo'=>'1')); 
145             foreach ($vacaciones AS $item){
146                 $tomados = $item[1]-$item[2];
147                 $TABLA_Vacaciones->addRow(array($item[0], $item[1], (string) $tomados , $item[2])); 
148             }
149         
150             $TABLA_Contenido->addRow(array($TABLA_Vacaciones->toHtml()), array('align'=>'left'));
151             $TABLA_Contenido->addRow(array('<br>'));
152         }
153     }    
154     $TABLA_Contenido->addRow(array($TABLA_Pie->toHtml()), array('align'=>'left'));
155
156
157     //Contenido de la página
158     $MARCO->addStyleSheet($TABLA_Form->getCss());
159
160     $MARCO->addBodyContent($FORM->getBegin());
161     $MARCO->addBodyContent($TABLA_Contenido);
162     $MARCO->addBodyContent($FORM->getEnd());
163 }
164
165 $MARCO->display();
166 ?>