";
print "close();";
print "opener.document.form1.submit();";
print "";
}
ini_set('memory_limit','256M');
ini_set('max_execution_time','0');
//-----------------------------------------------------------------------------------------------------------------------------------
function uf_insert_seguridad($as_titulo,$as_desnom,$as_periodo,$ai_tipo)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_insert_seguridad
// Access: private
// Arguments: as_titulo // Título del reporte
// as_desnom // descripción de la nómina
// as_periodo // período actual de la nómina
// Description: función que guarda la seguridad de quien generó el reporte
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
global $io_fun_nomina;
$ls_codnom=$_SESSION["la_nomina"]["codnom"];
$ls_descripcion="Generó el Reporte ".$as_titulo.". Para ".$as_desnom.". ".$as_periodo;
if($ai_tipo==1)
{
$lb_valido=$io_fun_nomina->uf_load_seguridad_reporte_nomina("SNO","sigesp_sno_r_aportepatronal.php",$ls_descripcion,$ls_codnom);
}
else
{
$lb_valido=$io_fun_nomina->uf_load_seguridad_reporte_nomina("SNO","sigesp_sno_r_haportepatronal.php",$ls_descripcion,$ls_codnom);
}
return $lb_valido;
}
//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------
function uf_print_encabezado_pagina($as_titulo,$as_desnom,$as_periodo,&$io_pdf)
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_print_encabezado_pagina
// Access: private
// Arguments: as_titulo // Título del Reporte
// as_desnom // Descripción de la nómina
// as_periodo // Descripción del período
// io_pdf // Instancia de objeto pdf
// Description: función que imprime los encabezados por página
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$io_encabezado=$io_pdf->openObject();
$io_pdf->saveState();
$io_pdf->line(50,40,555,40);
$io_pdf->addJpegFromFile('../../shared/imagebank/'.$_SESSION["ls_logo"],50,720,$_SESSION["ls_width"],$_SESSION["ls_height"]); // Agregar Logo
$li_tm=$io_pdf->getTextWidth(11,$as_titulo);
$tm=306-($li_tm/2);
$io_pdf->addText($tm,730,11,$as_titulo); // Agregar el título
$li_tm=$io_pdf->getTextWidth(11,$as_periodo);
$tm=306-($li_tm/2);
$io_pdf->addText($tm,720,11,$as_periodo); // Agregar el título
$li_tm=$io_pdf->getTextWidth(10,$as_desnom);
$tm=306-($li_tm/2);
$io_pdf->addText($tm,710,10,$as_desnom); // Agregar el título
$io_pdf->addText(500,750,8,date("d/m/Y")); // Agregar la Fecha
$io_pdf->addText(506,743,7,date("h:i a")); // Agregar la Hora
$io_pdf->restoreState();
$io_pdf->closeObject();
$io_pdf->addObject($io_encabezado,'all');
}// end function uf_print_encabezado_pagina
//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------
function uf_print_cabecera($as_codconc,$as_nomcon,&$io_pdf)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_print_cabecera
// Access: private
// Arguments: as_codconc // Código de Concepto
// as_nomcon // Nombre de Concepto
// io_pdf // Instancia de objeto pdf
// Description: función que imprime la cabecera por concepto
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$io_cabecera=$io_pdf->openObject();
$io_pdf->saveState();
$io_pdf->setColor(0.9,0.9,0.9);
$io_pdf->filledRectangle(50,690,500,$io_pdf->getFontHeight(14));
$io_pdf->setColor(0,0,0);
$io_pdf->addText(55,695,11,'Concepto '.$as_codconc.' - '.$as_nomcon.''); // Agregar el título
$io_pdf->restoreState();
$io_pdf->closeObject();
$io_pdf->addObject($io_cabecera,'all');
}// end function uf_print_cabecera
//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------
function uf_print_detalle($la_data,&$io_pdf)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_print_detalle
// Access: private
// Arguments: la_data // arreglo de información
// io_pdf // Instancia de objeto pdf
// Description: función que imprime el detalle por concepto
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$io_pdf->ezSetDy(-2);
$la_columnas=array('nro'=>'Nro',
'cedula'=>'Cédula',
'nombre'=>' Apellidos y Nombres',
'personal'=>'Empleado ',
'patron'=>'Patrón ',
'total'=>'Total ');
$la_config=array('showHeadings'=>1, // Mostrar encabezados
'fontSize' => 9, // Tamaño de Letras
'titleFontSize' => 12, // Tamaño de Letras de los títulos
'showLines'=>1, // Mostrar Líneas
'shaded'=>0, // Sombra entre líneas
'width'=>500, // Ancho de la tabla
'maxWidth'=>500, // Ancho Máximo de la tabla
'xOrientation'=>'center', // Orientación de la tabla
'outerLineThickness'=>0.5,
'innerLineThickness' =>0.5,
'cols'=>array('nro'=>array('justification'=>'center','width'=>30), // Justificación y ancho de la columna
'cedula'=>array('justification'=>'center','width'=>70), // Justificación y ancho de la columna
'nombre'=>array('justification'=>'left','width'=>160), // Justificación y ancho de la columna
'personal'=>array('justification'=>'right','width'=>80), // Justificación y ancho de la columna
'patron'=>array('justification'=>'right','width'=>80), // Justificación y ancho de la columna
'total'=>array('justification'=>'right','width'=>80))); // Justificación y ancho de la columna
$io_pdf->ezTable($la_data,$la_columnas,'',$la_config);
}// end function uf_print_detalle
//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------
function uf_print_piecabecera($ai_personal,$ai_patron,$ai_total,$io_pdf)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_print_piecabecera
// Access: private
// Arguments: ai_personal // Total por personal
// ai_patron // Total por patrón
// ai_total // Total
// io_pdf // Instancia de objeto pdf
// Description: función que imprime el fin de la cabecera por concepto
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
global $ls_bolivares;
$la_data=array(array('name'=>'Total Aporte '.$ls_bolivares.'','personal'=>$ai_personal,'aporte'=>$ai_patron,'total'=>$ai_total));
$la_columna=array('name'=>'','personal'=>'','aporte'=>'','total'=>'');
$la_config=array('showHeadings'=>0, // Mostrar encabezados
'fontSize' => 9, // Tamaño de Letras
'titleFontSize' => 12, // Tamaño de Letras de los títulos
'showLines'=>1, // Mostrar Líneas
'shaded'=>2, // Sombra entre líneas
'shadeCol'=>array((249/255),(249/255),(249/255)), // Color de la sombra
'shadeCol2'=>array((249/255),(249/255),(249/255)), // Color de la sombra
'outerLineThickness'=>0.5,
'innerLineThickness' =>0.5,
'width'=>500, // Ancho de la tabla
'maxWidth'=>500, // Ancho Máximo de la tabla
'xOrientation'=>'center', // Orientación de la tabla
'cols'=>array('name'=>array('justification'=>'right','width'=>260), // Justificación y ancho de la columna
'personal'=>array('justification'=>'right','width'=>80), // Justificación y ancho de la columna
'aporte'=>array('justification'=>'right','width'=>80), // Justificación y ancho de la columna
'total'=>array('justification'=>'right','width'=>80))); // Justificación y ancho de la columna
$io_pdf->ezTable($la_data,$la_columna,'',$la_config);
}
//-----------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------- Instancia de las clases ------------------------------------------------
require_once("../../shared/ezpdf/class.ezpdf.php");
$ls_tiporeporte="0";
$ls_bolivares="";
if (array_key_exists("tiporeporte",$_GET))
{
$ls_tiporeporte=$_GET["tiporeporte"];
}
switch($ls_tiporeporte)
{
case "0":
if($_SESSION["la_nomina"]["tiponomina"]=="NORMAL")
{
require_once("sigesp_sno_class_report.php");
$io_report=new sigesp_sno_class_report();
$li_tipo=1;
}
if($_SESSION["la_nomina"]["tiponomina"]=="HISTORICA")
{
require_once("sigesp_sno_class_report_historico.php");
$io_report=new sigesp_sno_class_report_historico();
$li_tipo=2;
}
$ls_bolivares ="Bs.";
break;
case "1":
if($_SESSION["la_nomina"]["tiponomina"]=="NORMAL")
{
require_once("sigesp_sno_class_reportbsf.php");
$io_report=new sigesp_sno_class_reportbsf();
$li_tipo=1;
}
if($_SESSION["la_nomina"]["tiponomina"]=="HISTORICA")
{
require_once("sigesp_sno_class_report_historicobsf.php");
$io_report=new sigesp_sno_class_report_historicobsf();
$li_tipo=2;
}
$ls_bolivares ="Bs.F.";
break;
}
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_desnom=$_SESSION["la_nomina"]["desnom"];
$ls_peractnom=$_SESSION["la_nomina"]["peractnom"];
$ld_fecdesper=$io_funciones->uf_convertirfecmostrar($_SESSION["la_nomina"]["fecdesper"]);
$ld_fechasper=$io_funciones->uf_convertirfecmostrar($_SESSION["la_nomina"]["fechasper"]);
$ls_titulo="Retenciones y Aportes Patronales";
//$ls_periodo="Período Nro ".$ls_peractnom.", ".$ld_fecdesper." - ".$ld_fechasper."";
$ls_periodo="Período Nro 005 01/05/2009 - 31/05/2009";
//-------------------------------------------------- Parámetros para Filtar el Reporte -----------------------------------------
$ls_codconc=$io_fun_nomina->uf_obtenervalor_get("codconc","");
$ls_nomcon=$io_fun_nomina->uf_obtenervalor_get("nomcon","");
$ls_conceptocero=$io_fun_nomina->uf_obtenervalor_get("conceptocero","");
$ls_orden=$io_fun_nomina->uf_obtenervalor_get("orden","1");
$ls_subnomdes=$io_fun_nomina->uf_obtenervalor_get("subnomdes","");
$ls_subnomhas=$io_fun_nomina->uf_obtenervalor_get("subnomhas","");
//--------------------------------------------------------------------------------------------------------------------------------
$lb_valido=uf_insert_seguridad($ls_titulo,$ls_desnom,$ls_periodo,$li_tipo); // Seguridad de Reporte
if($lb_valido)
{
$lb_valido=$io_report->uf_aportepatronal_personal($ls_codconc,$ls_conceptocero,$ls_subnomdes,$ls_subnomhas,$ls_orden); // Cargar el DS con los datos del reporte
}
if($lb_valido==false) // Existe algún error ó no hay registros
{
print("");
}
else // Imprimimos el reporte
{
error_reporting(E_ALL);
set_time_limit(1800);
$io_pdf=new Cezpdf('LETTER','portrait'); // Instancia de la clase PDF
$io_pdf->selectFont('../../shared/ezpdf/fonts/Helvetica.afm'); // Seleccionamos el tipo de letra
$io_pdf->ezSetCmMargins(3.6,2.5,3,3); // Configuración de los margenes en centímetros
uf_print_encabezado_pagina($ls_titulo,$ls_desnom,$ls_periodo,$io_pdf); // Imprimimos el encabezado de la página
$io_pdf->ezStartPageNumbers(550,50,10,'','',1); // Insertar el número de página
uf_print_cabecera($ls_codconc,$ls_nomcon,$io_pdf); // Imprimimos la cabecera del registro
$li_totrow=$io_report->DS->getRowCount("cedper");
$li_totper=0;
$li_totpat=0;
for($li_i=1;$li_i<=$li_totrow;$li_i++)
{
$ls_cedper=$io_report->DS->data["cedper"][$li_i];
$ls_nomper=$io_report->DS->data["apeper"][$li_i].", ".$io_report->DS->data["nomper"][$li_i];
$li_personal=$io_fun_nomina->uf_formatonumerico(abs($io_report->DS->data["personal"][$li_i]));
$li_patron=$io_fun_nomina->uf_formatonumerico(abs($io_report->DS->data["patron"][$li_i]));
$li_total=abs($io_report->DS->data["personal"][$li_i]+$io_report->DS->data["patron"][$li_i]);
$li_total=$io_fun_nomina->uf_formatonumerico($li_total);
$li_totper=$li_totper+abs($io_report->DS->data["personal"][$li_i]);
$li_totpat=$li_totpat+abs($io_report->DS->data["patron"][$li_i]);
$li_totalgeneral=$li_totper+$li_totpat;
$la_data[$li_i]=array('nro'=>$li_i,'cedula'=>$ls_cedper,'nombre'=>$ls_nomper,'personal'=>$li_personal,'patron'=>$li_patron,'total'=>$li_total);
}
$io_report->DS->resetds("cedper");
uf_print_detalle($la_data,$io_pdf); // Imprimimos el detalle
unset($la_data);
$li_totper=$io_fun_nomina->uf_formatonumerico($li_totper);
$li_totpat=$io_fun_nomina->uf_formatonumerico($li_totpat);
$li_totalgeneral=$io_fun_nomina->uf_formatonumerico($li_totalgeneral);
uf_print_piecabecera($li_totper,$li_totpat,$li_totalgeneral,$io_pdf); // Imprimimos el fin del reporte
if($lb_valido) // Si no ocurrio ningún error
{
$io_pdf->ezStopPageNumbers(1,1); // Detenemos la impresión de los números de página
$io_pdf->ezStream(); // Mostramos el reporte
}
else // Si hubo algún error
{
print("");
}
unset($io_pdf);
}
unset($io_report);
unset($io_funciones);
unset($io_fun_nomina);
?>