<?php
    session_start();   
	ini_set('memory_limit','512M');
	ini_set('max_execution_time','0');

	//--------------------------------------------------------------------------------------------------------------------------------
	function uf_insert_seguridad($as_titulo)
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//       Function: uf_insert_seguridad
		//		   Access: private 
		//	    Arguments: as_titulo // Título del Reporte
		//    Description: función que guarda la seguridad de quien generó el reporte
		//	   Creado Por: Ing. Yesenia Moreno
		// Fecha Creación: 21/06/2006 
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		global $io_fun_nomina;
		$ls_descripcion="Generó el Reporte ".$as_titulo;
		$lb_valido=$io_fun_nomina->uf_load_seguridad_reporte("SNR","sigesp_snorh_r_cestaticket.php",$ls_descripcion);
		return $lb_valido;
	}
	//--------------------------------------------------------------------------------------------------------------------------------

	//---------------------------------------------------------------------------------------------------------------------------
	// para crear el libro excel
	require_once ("../../shared/writeexcel/class.writeexcel_workbookbig.inc.php");
	require_once ("../../shared/writeexcel/class.writeexcel_worksheet.inc.php");
	$lo_archivo = tempnam("/tmp", "listado_personal.xls");
	$lo_libro = &new writeexcel_workbookbig($lo_archivo);
	$lo_hoja = &$lo_libro->addworksheet();
	//---------------------------------------------------------------------------------------------------------------------------
	// para crear la data necesaria del reporte
	require_once("../../shared/ezpdf/class.ezpdf.php");
	require_once("sigesp_snorh_class_report.php");
	$io_report=new sigesp_snorh_class_report();
	require_once("../../shared/class_folder/class_funciones.php");
	$io_funciones=new class_funciones();				
	require_once("../class_folder/class_funciones_nomina.php");
	$io_fun_nomina=new class_funciones_nomina();
	//----------------------------------------------------  Parámetros del encabezado  -----------------------------------------------
	$ls_titulo="Listado de Personal";
	//--------------------------------------------------  Parámetros para Filtar el Reporte  -----------------------------------------
	$ls_codnomdes=$io_fun_nomina->uf_obtenervalor_get("codnomdes","");
	$ls_codnomhas=$io_fun_nomina->uf_obtenervalor_get("codnomhas","");
	$ls_codperdes=$io_fun_nomina->uf_obtenervalor_get("codperdes","");
	$ls_codperhas=$io_fun_nomina->uf_obtenervalor_get("codperhas","");
	$ls_codconcdes=$io_fun_nomina->uf_obtenervalor_get("codconcdes","");
	$ls_codconchas=$io_fun_nomina->uf_obtenervalor_get("codconchas","");
	$ls_mes=$io_fun_nomina->uf_obtenervalor_get("mes","");
	$ls_ano=$io_fun_nomina->uf_obtenervalor_get("ano","");
	$ls_conceptocero=$io_fun_nomina->uf_obtenervalor_get("conceptocero","");
	$ls_codperi=$io_fun_nomina->uf_obtenervalor_get("codperi","");
	$ls_orden=$io_fun_nomina->uf_obtenervalor_get("orden","1");
	$ls_orden="5".trim($ls_orden);
	$ls_tiporeporte=$io_fun_nomina->uf_obtenervalor_get("tiporeporte","");
	$ls_subnomdes=$io_fun_nomina->uf_obtenervalor_get("codsubnomdes","");
	$ls_subnomhas=$io_fun_nomina->uf_obtenervalor_get("codsubnomhas","");
	$ls_codclie="20774";
	$ls_fecactual=$io_fun_nomina->uf_obtenervalor_get("fechaact","");
	$ls_fecactual=str_replace("/","",$ls_fecactual);
	$ls_nombreexcel="t_20774_21_".$ls_fecactual."_.";
	//---------------------------------------------------------------------------------------------------------------------------
	//Busqueda de la data 
	$lb_valido=uf_insert_seguridad("<b>REPORTE DE PERSONAL PARA EL CONTROL DEL PROGRAMA DE ALIMENTACIÓN</b>"); // Seguridad de Reporte
	$lb_valido=true;
	$ls_titulo="REPORTE DE PERSONAL PARA EL CONTROL DEL PROGRAMA DE ALIMENTACIÓN";
	$ls_titcedula="Cédula";
	$ls_titnombre="Nombre";
	$ls_titapellido="Apellido";
	$ls_titfechanac="Fecha de Nac.";
	$ls_titdia="Dia";
	$ls_titmes="Mes";
	$ls_titano="Año";
	$ls_titcodptoent="Codigo Pto. Entrega";
	$ls_titmontcarga="Monto Carga";
	if($lb_valido)
	{
		$lb_valido=$io_report->uf_cestaticket_personal_excel($ls_codnomdes,$ls_codnomhas,$ls_ano,$ls_mes,$ls_codperi,
															 $ls_codconcdes,$ls_codconchas,$ls_conceptocero,$ls_subnomdes,
															 $ls_subnomhas,$ls_orden);
	}
	if($lb_valido==false) // Existe algún error ó no hay registros
	{
		print("<script language=JavaScript>");
		print(" alert('No hay nada que Reportar');"); 
		print(" close();");
		print("</script>");
	}
	else // Imprimimos el reporte
	{
		//-------formato para el reporte----------------------------------------------------------
		$lo_encabezado= &$lo_libro->addformat();
		$lo_encabezado->set_bold();
		$lo_encabezado->set_font("Verdana");
		$lo_encabezado->set_align('center');
		$lo_encabezado->set_size('11');
		
		$lo_encabezado2= &$lo_libro->addformat();
		$lo_encabezado2->set_bold();
		$lo_encabezado2->set_font("Verdana");
		$lo_encabezado2->set_align('center');
		$lo_encabezado2->set_size('9');
		
		$lo_titulo= &$lo_libro->addformat();
		$lo_titulo->set_text_wrap();
		$lo_titulo->set_bold();
		$lo_titulo->set_font("Verdana");
		$lo_titulo->set_align('center');
		$lo_titulo->set_size('9');		
		$lo_datacenter= &$lo_libro->addformat();
		$lo_datacenter->set_font("Verdana");
		$lo_datacenter->set_align('center');
		$lo_datacenter->set_size('9');
		$lo_dataleft= &$lo_libro->addformat();
		$lo_dataleft->set_text_wrap();
		$lo_dataleft->set_font("Verdana");
		$lo_dataleft->set_align('left');
		$lo_dataleft->set_size('9');
		$lo_dataright= &$lo_libro->addformat(array(num_format => '#,##0.00'));
		$lo_dataright->set_font("Verdana");
		$lo_dataright->set_align('right');
		$lo_dataright->set_size('9');
		
		$lo_dataright2= &$lo_libro->addformat(array(num_format => '#,##'));
		$lo_dataright2->set_font("Verdana");
		$lo_dataright2->set_align('right');
		$lo_dataright2->set_size('9');
		
		$lo_hoja->set_column(0,0,8);
		$lo_hoja->set_column(1,1,15);
		$lo_hoja->set_column(2,2,30);
		$lo_hoja->set_column(3,3,30);
		$lo_hoja->set_column(4,4,10);
		$lo_hoja->set_column(5,5,13);
		$lo_hoja->set_column(6,6,10);
		$lo_hoja->set_column(7,7,20);
		$lo_hoja->set_column(8,8,20);
		//---------------------------------------------------------------------------------------------
		//$lo_hoja->set_column(0,0,20);
		//$lo_hoja->set_column(1,1,60);
		$lo_hoja->write(0,3,$ls_titulo,$lo_encabezado);
		$lo_hoja->write(1,1,$ls_rango,$lo_encabezado);
		
		////////////////////////////////////////////////////////////////////////////////////////////////
		$lo_hoja->write(3,1,$ls_titcedula,$lo_encabezado2);
		$lo_hoja->write(3,2,$ls_titnombre,$lo_encabezado2);
		$lo_hoja->write(3,3,$ls_titapellido,$lo_encabezado2);
		$lo_hoja->write(2,5,$ls_titfechanac,$lo_encabezado2);
		$lo_hoja->write(3,4,$ls_titdia,$lo_encabezado2);
		$lo_hoja->write(3,5,$ls_titmes,$lo_encabezado2);
		$lo_hoja->write(3,6,$ls_titano,$lo_encabezado2);
		$lo_hoja->write(3,7,$ls_titcodptoent,$lo_encabezado2);
		$lo_hoja->write(3,8,$ls_titmontcarga,$lo_encabezado2);
		////////////////////////////////////////////////////////////////////////////////////////////////
		$ls_coduniadmact="";
		$ls_desuniadmact="";
		$ls_desuniadm="";
		$ls_coduniadm="";
		$li_contador=0;
		$li_totrow=$io_report->DS->getRowCount("cedper");
		$li_row=4;
		$li_total5=0;
		$li_total6=0;
		for($li_i=1;(($li_i<=$li_totrow)&&($lb_valido));$li_i++)
		{
			$ls_coduniadm=$io_report->DS->data["minorguniadm"][$li_i].
			              $io_report->DS->data["ofiuniadm"][$li_i].
						  $io_report->DS->data["uniuniadm"][$li_i].
						  $io_report->DS->data["depuniadm"][$li_i].
						  $io_report->DS->data["prouniadm"][$li_i];
			$ls_desuniadm=$io_report->DS->data["desuniadm"][$li_i];	
			
				
			if ($ls_cedper!=$ls_cedperaux)
			{
				$ls_cedperaux=$ls_cedper;
				$li_row=$li_row+1;
			}
			/*if($ls_coduniadm!=$ls_coduniadmact)
			{   
				if ($ls_coduniadmact!="")
				{   
					$li_total6=$li_total6+$li_total5;
					$lo_hoja->write($li_row,1,"TOTAL GERENCIA ",$lo_dataright2);
					$lo_hoja->write($li_row,2,$li_total5,$lo_dataright);
					$li_row++;
					$li_total5=0;
				}				
				$ls_coduniadmact=$ls_coduniadm;	
				$lo_hoja->write($li_row, 0, $ls_coduniadm, $lo_titulo);
				$lo_hoja->write($li_row, 1, $ls_desuniadm, $lo_titulo);
				$li_row++;
				$lo_hoja->write($li_row, 0, "Cédula", $lo_titulo);
				$lo_hoja->write($li_row, 1, "Nombre", $lo_titulo);
				$lo_hoja->write($li_row, 2, "Tipo de Personal", $lo_titulo);
				$lo_hoja->write($li_row, 3, "Ubicación", $lo_titulo);
				$li_col=3;
			        $lb_valido=$io_report->uf_pagonomina_concepto_excel(" AND (sigcon='A')",
				                                                 $ls_codperi, $ls_codnomdes, $ls_codnomhas,$ls_codconcdes,$ls_codconchas); 
				if($lb_valido)
				{
				    $columna=0;
				    $columna=$li_col+1;
					$li_totrow2=$io_report->DS_detalle->getRowCount("codconc");
					for($li_j=1;$li_j<=$li_totrow2;$li_j++)
					{
						$ls_codconc=$io_report->DS_detalle->data["codconc"][$li_j];
						$ls_nomcon=$io_report->DS_detalle->data["nomcon"][$li_j];
						$li_col=$li_col+1;						
						$lo_hoja->set_column($li_col,$li_col,20);
						$lo_hoja->write($li_row, $li_col, $ls_nomcon,$lo_titulo);
						$li_col2=$li_col+1;	
						$lo_hoja->set_column($li_col2,$li_col2,15);
						$lo_hoja->write($li_row, $li_col2, "Monto Diario",$lo_titulo);						
						$li_col3=$li_col+2; 
						$lo_hoja->set_column($li_col3,$li_col3,15);
						$lo_hoja->write($li_row, $li_col3, "Monto Mensual",$lo_titulo);						
					}							
				}
				$io_report->DS_detalle->resetds("codconc");	
				
				$lb_valido=$io_report->uf_pagonomina_concepto_excel(" AND (sigcon='D')",
				                                                    $ls_codperi, $ls_codnomdes, $ls_codnomhas,$ls_codconcdes,$ls_codconchas); 
				if($lb_valido)
				{   
					$li_totrow2=$io_report->DS_detalle->getRowCount("codconc");
					for($li_j=1;(($li_j<=$li_totrow2)&&($lb_valido));$li_j++)
					{
						$ls_codconc=$io_report->DS_detalle->data["codconc"][$li_j];
						$ls_nomcon=$io_report->DS_detalle->data["nomcon"][$li_j];
						$li_col=$li_col3+1;						
						$lo_hoja->set_column($li_col,$li_col,20);
						$lo_hoja->write($li_row, $li_col, $ls_nomcon,$lo_titulo);
						$li_col2=$li_col3+2;	
						$lo_hoja->set_column($li_col2,$li_col2,15);
						$lo_hoja->write($li_row, $li_col2, "Monto Diario",$lo_titulo);						
						$li_col5=$li_col3+3; 
						$lo_hoja->set_column($li_col5,$li_col5,15);
						$lo_hoja->write($li_row, $li_col5, "Monto Mensual",$lo_titulo);						
					}
					$li_col4=$li_col3+4;
					$lo_hoja->set_column($li_col4,$li_col4,15);
					$lo_hoja->write($li_row, $li_col4, "Monto Total",$lo_titulo);		
				}
				$io_report->DS_detalle->resetds("codconc");							
				$li_row++;
			}*/
			
			$ls_fecnacper=$io_report->DS->data["fecnacper"][$li_i];
			$ls_dianac=substr($ls_fecnacper,8,2);
			$ls_mesnac=substr($ls_fecnacper,5,2);
			$ls_anonac=substr($ls_fecnacper,0,4);
			$ls_codptoent='162371';
			$ls_nacper=$io_report->DS->data["nacper"][$li_i];
			$ls_cedper=$io_report->DS->data["cedper"][$li_i];
			//$ls_apeper=$io_report->DS->data["apeper"][$li_i];
			//$ls_nomper=$io_report->DS->data["nomper"][$li_i];
			$ls_desnom=$io_report->DS->data["tipopersonal"][$li_i];
			$ls_ubicacion=trim($io_report->DS->data["denger"][$li_i]);
			
			$ls_nomper=rtrim($io_report->DS->data["nomper"][$li_i]); //nombres
			$pos1 =strpos(rtrim($ls_nomper)," ",0);
			$ls_nomper1=substr(rtrim($ls_nomper),0,$pos1);  //Nombre de Persona 1
			$ls_nomper2=substr(ltrim(rtrim($ls_nomper)),$pos1+1,60);  //Nombre de Persona 2
			if($pos1==0)
			{
				$ls_nomper1=$ls_nomper;
				$ls_nomper2="";
			}
			
			$ls_apeper=rtrim($io_report->DS->data["apeper"][$li_i]); //nombres
			$posape1 =strpos(rtrim($ls_apeper)," ",0);
			$ls_apeper1=substr(rtrim($ls_apeper),0,$posape1);  //Nombre de Persona 1
			$ls_apeper2=substr(ltrim(rtrim($ls_apeper)),$posape1+1,60);  //Nombre de Persona 2
			if($posape1==0)
			{
				$ls_apeper1=$ls_apeper;
				$ls_apeper="";
			}
						
			
					
			$ls_codper=$io_report->DS->data["codper"][$li_i];
	        $lb_valido=$io_report->uf_pagonomina_conceptopersonal_excel($ls_codper,$ls_codperi,
			                                                            $ls_codnomdes, $ls_codnomhas,
																		" AND (sigcon='A')"); 
			if($lb_valido)
			{   
			    $li_total=0;
				$li_total2=0;
				$li_totrow3=$io_report->DS_detalle->getRowCount("codconc");
				$ls_monto_cesta=$io_report->DS->data["moncestic"][$li_i];
				for($li_k=1;$li_k<=$li_totrow3;$li_k++)
				{
					$ls_codconc=$io_report->DS_detalle->data["codconc"][$li_k];
					$ls_tipsal=rtrim($io_report->DS_detalle->data["tipsal"][$li_k]);
					$li_valsal=abs($io_report->DS_detalle->data["valsal"][$li_k]);
					$li_total=$li_total + $li_valsal;
					$li_ticket=number_format(
					           abs($io_report->DS_detalle->data["valsal"][$li_k])/abs($ls_monto_cesta),0);				   				
					//$lo_hoja->write($li_row, $columna, $li_ticket,$lo_datacenter);						
					$li_col2=$columna+1;						
					//$lo_hoja->write($li_row, $li_col2, $ls_monto_cesta,$lo_dataright);
					$li_col3=$columna+2; 						
					$lo_hoja->write($li_row, 8, $li_valsal, $lo_dataright);						
				}
				$li_total2=$li_total2+$li_total;							
			}
			$io_report->DS_detalle->resetds("codconc");
			
			/*$lb_valido1=$io_report->uf_pagonomina_conceptopersonal_excel($ls_codper,$ls_codperi,
			                                                            $ls_codnomdes, $ls_codnomhas,
																		" AND (sigcon='D')"); 
			if($lb_valido1)
			{   
			    $li_total=0;
				$li_total3=0;
				$li_totrow3=$io_report->DS_detalle->getRowCount("codconc");
				$ls_monto_cesta=$io_report->DS->data["mondesdia"][$li_i];
				$columna1=$li_col3+1;				
				for($li_k=1;$li_k<=$li_totrow3;$li_k++)
				{
					$ls_codconc=$io_report->DS_detalle->data["codconc"][$li_k];
					$ls_tipsal=rtrim($io_report->DS_detalle->data["tipsal"][$li_k]);
					$li_valsal=abs($io_report->DS_detalle->data["valsal"][$li_k]);
					$li_total=$li_total + $li_valsal;
					$li_ticket=number_format(
					           abs($io_report->DS_detalle->data["valsal"][$li_k])/abs($ls_monto_cesta),0);										
					//$lo_hoja->write($li_row, $columna1, $li_ticket,$lo_datacenter);						
					$li_col5=$li_col3+2;											
					//$lo_hoja->write($li_row, $li_col5, $ls_monto_cesta,$lo_dataright);
					$li_col6=$li_col3+3; 													
					//$lo_hoja->write($li_row, $li_col6, $li_valsal, $lo_dataright);						
				}
				$li_total3=$li_total3+$li_total;									
			}
			if ($lb_valido1)
			{
				$li_total4=$li_total2-$li_total3;
				if ($ls_cedper!=$ls_cedperaux)
			    {
					$li_total5=$li_total5+$li_total4;	
				}						
				$li_col7=$li_col3+4;						
				$lo_hoja->set_column($li_col7,$li_col7,15);
				//$lo_hoja->write($li_row, $li_col7, $li_total4,$lo_dataright);
			}
			else
			{
			    $li_col4=$li_col3+1;
				if ($ls_cedper!=$ls_cedperaux)
			    {
					$li_total5=$li_total5+$li_total2;	
				}
				$lo_hoja->set_column($li_col4,$li_col4,15);
				$lo_hoja->write($li_row, $li_col4, $li_total4,$lo_dataright);
			}
			$io_report->DS_detalle->resetds("codconc");*/
			
			if ($ls_cedper!=$ls_cedperaux)
			{
				$lo_hoja->write($li_row, 0, $ls_nacper, $lo_dataright2);
				$lo_hoja->write($li_row, 1, $ls_cedper, $lo_dataright2);
				$lo_hoja->write($li_row, 2, $ls_nomper1, $lo_datacenter);
				$lo_hoja->write($li_row, 3, $ls_apeper1, $lo_datacenter);
				$lo_hoja->write($li_row, 4, $ls_dianac, $lo_datacenter);
				$lo_hoja->write($li_row, 5, $ls_mesnac, $lo_datacenter);
				$lo_hoja->write($li_row, 6, $ls_anonac, $lo_datacenter);
				$lo_hoja->write($li_row, 7, $ls_codptoent, $lo_datacenter);
				//$lo_hoja->write($li_row, 2, $ls_desnom, $lo_datacenter);
				//$lo_hoja->write($li_row, 3, $ls_ubicacion, $lo_dataleft);	
			}
				
		}
		$li_row=$li_row+1;
		/*$lo_hoja->write($li_row,1,"TOTAL GERENCIA ",$lo_dataright2);;
		$lo_hoja->write($li_row,2,$li_total5,$lo_dataright);
		$li_row=$li_row+2;
		$lo_hoja->write($li_row,1,"TOTAL GENERAL PERSONAL",$lo_dataright2);
		$lo_hoja->write($li_row,2,$li_totrow,$lo_dataright2);
		$li_row=$li_row+1;
		$li_total6=$li_total6+$li_total5;
		$lo_hoja->write($li_row,1,"TOTAL GENERAL Bs.",$lo_dataright2);
		$lo_hoja->write($li_row,2,$li_total6,$lo_dataright);*/
		$lo_libro->close();
		header("Content-Type: application/x-msexcel; name=\"".$ls_nombreexcel."xls\"");
		header("Content-Disposition: inline; filename=\"".$ls_nombreexcel."xls\"");
		$fh=fopen($lo_archivo, "rb");
		fpassthru($fh);
		unlink($lo_archivo);
		print("<script language=JavaScript>");
		print(" close();");
		print("</script>");
		unset($io_pdf);
	}/// fin de else // Imprimimos el reporte
	unset($io_report);
	unset($io_funciones);
	unset($io_fun_nomina);
?> 
