";
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 // Descripción del período
// 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_resumenconcepto.php",$ls_descripcion,$ls_codnom);
}
else
{
$lb_valido=$io_fun_nomina->uf_load_seguridad_reporte_nomina("SNO","sigesp_sno_r_hresumenconcepto.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: 26/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(512,750,8,date("d/m/Y")); // Agregar la Fecha
$io_pdf->addText(518,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(&$io_pdf)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_print_cabecera
// Access: private
// Arguments: io_pdf // Instancia de objeto pdf
// Description: función que imprime el detalle por concepto
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/07/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$io_encabezado=$io_pdf->openObject();
$io_pdf->saveState();
$io_pdf->ezSety(703);
$io_pdf->setColor(0.9,0.9,0.9);
$io_pdf->filledRectangle(51,688,500,$io_pdf->getFontHeight(11.5));
$io_pdf->setColor(0,0,0);
$la_data[1]=array('nro'=>'Nro',
'codigo'=>'Código',
'nombre'=>'Denominación',
'asignacion'=>'Asignación',
'deduccion'=>'Deducción',
'aporte'=>'Aporte Patronal');
$la_columna=array('nro'=>'',
'codigo'=>'',
'nombre'=>'',
'asignacion'=>'',
'deduccion'=>'',
'aporte'=>'');
$la_config=array('showHeadings'=>0, // Mostrar encabezados
'fontSize' => 8, // 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
'codigo'=>array('justification'=>'center','width'=>70), // Justificación y ancho de la columna
'nombre'=>array('justification'=>'center','width'=>160), // Justificación y ancho de la columna
'asignacion'=>array('justification'=>'center','width'=>80), // Justificación y ancho de la columna
'deduccion'=>array('justification'=>'center','width'=>80), // Justificación y ancho de la columna
'aporte'=>array('justification'=>'center','width'=>80))); // Justificación y ancho de la columna
$io_pdf->ezTable($la_data,$la_columna,'',$la_config);
$io_pdf->restoreState();
$io_pdf->closeObject();
$io_pdf->addObject($io_encabezado,'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
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$la_columnas=array('nro'=>'Nro',
'codigo'=>'Código',
'nombre'=>' Denominación',
'asignacion'=>'Asignación ',
'deduccion'=>'Deducción ',
'aporte'=>'Aporte Patronal');
$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'=>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
'codigo'=>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
'asignacion'=>array('justification'=>'right','width'=>80), // Justificación y ancho de la columna
'deduccion'=>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
$io_pdf->ezTable($la_data,$la_columnas,'',$la_config);
}// end function uf_print_detalle
//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------
function uf_print_piecabecera($ai_totasi,$ai_totded,$ai_totapo,$ai_totgeneral,&$io_pdf)
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function: uf_print_piecabecera
// Access: private
// Arguments: ai_totasi // Total de Asignaciones
// ai_totded // Total de Deducciones
// ai_totapo // Total de Aportes
// ai_totgeneral // Total de Neto a Pagar
// io_pdf // Instancia de objeto pdf
// Description: función que imprime el fin de la cabecera
// Creado Por: Ing. Yesenia Moreno
// Fecha Creación: 27/04/2006
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
global $ls_bolivares;
$la_data=array(array('titulo'=>'Totales '.$ls_bolivares.'','asignacion'=>$ai_totasi,'deduccion'=>$ai_totded,'aporte'=>$ai_totapo));
$la_columna=array('titulo'=>'','asignacion'=>'','deduccion'=>'','aporte'=>'');
$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'=>450, // Ancho de la tabla
'maxWidth'=>450, // Ancho Máximo de la tabla
'xOrientation'=>'center', // Orientación de la tabla
'cols'=>array('titulo'=>array('justification'=>'right','width'=>260),
'asignacion'=>array('justification'=>'right','width'=>80), // Justificación y ancho de la columna
'deduccion'=>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
$io_pdf->ezTable($la_data,$la_columna,'',$la_config);
$la_data=array(array('name'=>''));
$la_columna=array('name'=>'');
$la_config=array('showHeadings'=>0, // Mostrar encabezados
'fontSize' => 10, // Tamaño de Letras
'showLines'=>0, // Mostrar Líneas
'shaded'=>0, // Sombra entre líneas
'xOrientation'=>'center', // Orientación de la tabla
'width'=>500); // Ancho Máximo de la tabla
$io_pdf->ezTable($la_data,$la_columna,'',$la_config);
$la_data=array(array('name'=>'Neto a Pagar '.$ls_bolivares.': ','total'=>$ai_totgeneral));
$la_columna=array('name'=>'','total'=>'');
$la_config=array('showHeadings'=>0, // Mostrar encabezados
'fontSize'=> 9, // Tamaño de Letras
'showLines'=>0, // Mostrar Líneas
'shaded'=>2, // Sombra entre líneas
'shadeCol'=>array((224/255),(224/255),(224/255)), // Color de la sombra
'shadeCol2'=>array((224/255),(224/255),(224/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'=>400), // Justificación y ancho de la columna
'total'=>array('justification'=>'left','width'=>100))); // 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="Resumen de Conceptos";
//$ls_periodo="Período Nro ".$ls_peractnom.", ".$ld_fecdesper." - ".$ld_fechasper."";
$ls_periodo="Período Nro 003 ".", ".$ld_fecdesper." - ".$ld_fechasper."";
//-------------------------------------------------- Parámetros para Filtar el Reporte -----------------------------------------
$ls_codconcdes=$io_fun_nomina->uf_obtenervalor_get("codconcdes","");
$ls_codconchas=$io_fun_nomina->uf_obtenervalor_get("codconchas","");
$ls_conceptocero=$io_fun_nomina->uf_obtenervalor_get("conceptocero","");
$ls_aportepatronal=$io_fun_nomina->uf_obtenervalor_get("aportepatronal","");
$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_resumenconcepto_conceptos($ls_codconcdes,$ls_codconchas,$ls_aportepatronal,$ls_conceptocero,$ls_subnomdes,
$ls_subnomhas,&$rs_data); // Cargar el DS con los datos de la cabecera 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
$li_totrow=$rs_data->RecordCount();
$li_totasi=0;
$li_totded=0;
$li_totapo=0;
uf_print_cabecera($io_pdf);
//for($li_i=1;(($li_i<=$li_totrow)&&($lb_valido));$li_i++)
$li_i=1;
$la_data="";
while ((!$rs_data->EOF)&&($lb_valido))
{
$ls_codconc=$rs_data->fields["codconc"];
$ls_nomcon=$rs_data->fields["nomcon"];
$li_monto=$io_fun_nomina->uf_formatonumerico(abs($rs_data->fields["monto"]));
$ls_tipsal=rtrim($rs_data->fields["tipsal"]);
switch($ls_tipsal)
{
case "A": // Asignación
$li_totasi=$li_totasi+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>$li_monto,'deduccion'=>'','aporte'=>'');
break;
case "V1": // Asignación
$li_totasi=$li_totasi+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>$li_monto,'deduccion'=>'','aporte'=>'');
break;
case "W1": // Asignación
$li_totasi=$li_totasi+abs($io_report->DS->data["monto"][$li_i]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>$li_monto,'deduccion'=>'','aporte'=>'');
break;
case "D": // Deducción
$li_totded=$li_totded+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>$li_monto,'aporte'=>'');
break;
case "V2": // Deducción
$li_totded=$li_totded+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>$li_monto,'aporte'=>'');
break;
case "W2": // Deducción
$li_totded=$li_totded+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>$li_monto,'aporte'=>'');
break;
case "P1": // Aporte Empleado
$li_totded=$li_totded+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>$li_monto,'aporte'=>'');
break;
case "V3": // Aporte Empleado
$li_totded=$li_totded+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>$li_monto,'aporte'=>'');
break;
case "W3": // Aporte Empleado
$li_totded=$li_totded+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>$li_monto,'aporte'=>'');
break;
case "P2": // Aporte Patrón
$li_totapo=$li_totapo+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>'','aporte'=>$li_monto);
break;
case "V4": // Aporte Patrón
$li_totapo=$li_totapo+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>'','aporte'=>$li_monto);
break;
case "W4": // Aporte Patrón
$li_totapo=$li_totapo+abs($rs_data->fields["monto"]);
$la_data[$li_i]=array('nro'=>$li_i,'codigo'=>$ls_codconc,'nombre'=>$ls_nomcon,'asignacion'=>'','deduccion'=>'','aporte'=>$li_monto);
break;
}
$li_i++;
$rs_data->MoveNext();
}
//$io_report->DS->resetds("codconc");
if ($la_data!="")
{
uf_print_detalle($la_data,$io_pdf); // Imprimimos el detalle
}
else
{
print("");
}
$li_totgeneral=$li_totasi-$li_totded;
$li_totasi=$io_fun_nomina->uf_formatonumerico($li_totasi);
$li_totded=$io_fun_nomina->uf_formatonumerico($li_totded);
$li_totapo=$io_fun_nomina->uf_formatonumerico($li_totapo);
$li_totgeneral=$io_fun_nomina->uf_formatonumerico($li_totgeneral);
uf_print_piecabecera($li_totasi,$li_totded,$li_totapo,$li_totgeneral,$io_pdf); // Imprimimos el pie de la cabecera
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);
?>