<?php use_helper('UtilFunctions'); 

ViewResponse::getInstance()->setMethodAjax();

$o_CrCreditoCronoFN = new CrCreditoCronoFN();
$o_CrCreditoCronoFN->setIdcreditocrono( $i_Id );
$o_CrCreditoCronoBN = $o_CrCreditoCronoFN->selectByPK();

$idCliente = $o_CrCreditoCronoBN->getIdcliente();

$o_ClienteBean = new ClienteBean();
$o_ClienteBean->setIdCliente( $idCliente );

$o_ClienteBL = new ClienteBL();
$a_Cliente = $o_ClienteBL->busquedaCliente( $o_ClienteBean );
if( $a_Cliente )
{
    $o_ClienteBN = $a_Cliente[0];
    $s_NombreCompleto = $o_ClienteBN->getNombreCompleto();
    $s_DireccionCliente = $o_ClienteBN->getDireccion();
    $i_IdMercado =  $o_ClienteBN->getIdMercado();
    //$s_Telefono =  $o_ClienteBN->getTelefono();
	$s_Telefono = $o_ClienteBN->getTelefono();
	$s_Celular = $o_ClienteBN->getCelular();
    //$s_conyuge = $o_ClienteBN->getConyuge();
	//$s_direccionconyuge = $o_ClienteBN->getDireccionConyuge();

    $o_MercadoBean = new MercadoBean();
    $o_MercadoBean->setIdMercado( $i_IdMercado );
    
    $o_MercadoBL = new MercadoBL();
    $a_Mercado = $o_MercadoBL->busquedaMercado( $o_MercadoBean );
    if( $a_Mercado )
    {
        $o_MercadoBN = $a_Mercado[0];
        $s_DescripcionMercado = $o_MercadoBN->getDescripcion();
    }
}

//$s_FechaOperacion = $o_CrCreditoCronoBN->getFechainicio();
$s_FechaOperacion = $o_CrCreditoCronoBN->getFechaTrx();
$s_garante = $o_CrCreditoCronoBN->getGarante();
$s_direcciongarante = $o_CrCreditoCronoBN->getDireccionGarante();

/*$s_telefonogarante = $o_CrCreditoCronoBN->getTelefonoGarante();*/


$o_CrCreditoCronoFN = new CrCreditoCronoFN();
$o_CrCreditoCronoFN->setIdcreditocrono( $i_Id );
$o_CrCreditoCronoBN = $o_CrCreditoCronoFN->selectByPK();

$idCliente = $o_CrCreditoCronoBN->getIdcliente();


/*
$o_TelefonoFN1 = new CrClienteTelefonoFN();
$o_TelefonoFN1->setIdCliente($idCliente);
$o_TelefonoFN1->setEliminado(-1);
$o_TelefonoFN1->setPertenece('Cliente');
$a_o_Telefono_c = $o_TelefonoFN1->select();


$o_TelefonoFN = new CrClienteTelefonoFN();
$o_TelefonoFN->setIdCliente($idCliente);
$o_TelefonoFN->setEliminado(-1);
$o_TelefonoFN->setPertenece('Garante');
$a_o_Telefono_g = $o_TelefonoFN->select();

*/

if(is_array($a_o_Telefono_g)){
	foreach ($a_o_Telefono_g as $key => $o_Telefono){ 
		$s_telefonogarante =  str_replace(" "," ",str_pad($o_Telefono->getNumero(),20," ",STR_PAD_RIGHT))." (".$o_Telefono->getNombreTipoTelefono().") - (".$o_Telefono->getNombreOperador().")<br>";
	}
}
 if(is_array($a_o_Telefono_c)){
	foreach ($a_o_Telefono_c as $key => $o_Telefono){
		$s_telefonocliente=  str_replace(" "," ",str_pad($o_Telefono->getNumero(),20," ",STR_PAD_RIGHT))." (".$o_Telefono->getNombreTipoTelefono().") - (".$o_Telefono->getNombreOperador().")";
	}
}
$f_MontoTotalPagar = $o_CrCreditoCronoBN->getMontototal();
$s_MontoCap = $o_CrCreditoCronoBN->getMontocapital();
$s_Moneda = $o_CrCreditoCronoBN->getMoneda();
$cboFormaPago = $o_CrCreditoCronoBN->getPeriodopago();
$cboDuracion = $o_CrCreditoCronoBN->getDuracion();
$s_InteresMensual = $o_CrCreditoCronoBN->getPorcinteresmensual();
$s_GastoAdministrativo = $o_CrCreditoCronoBN->getGastoAdministrativo();
$s_NumMeses = $o_CrCreditoCronoBN->getNumeromeses();
$s_InteresMor = $o_CrCreditoCronoBN->getPorcinteresdiariomora();
$s_Observacion = $o_CrCreditoCronoBN->getObservacion();

if($cboFormaPago == 'S'){
	$s_cboFormaPago = "Semanal";

}
if($cboFormaPago == 'Q'){
	$s_cboFormaPago = "Quincenal";

}
if($cboFormaPago == 'M'){
	$s_cboFormaPago = "Mensual";

}

$s_Param = 'block=006&idCliente='.$idCliente;
if( isset( $i_Id ) )
{
    $s_Param = $s_Param.'&i_Id='.$i_Id;
}
//FORMULA DEL MONTO A PAGAR CON INTERESES
/*
$f_MontoInteres = ($s_InteresMensual/100)*$s_MontoCap*$s_NumMeses;
$f_MontoTotalPagar = $f_MontoInteres + $s_MontoCap;
$f_MontoCuotaPagar = fnroundesp( $f_MontoTotalPagar/$s_NumMeses, 2 );
*/
$pdf = new TCPDF('P', PDF_UNIT,'A4', true); 
$pdf->getAliasNbPages();
$pdf->setHeaderFont(array('times','',12));
$pdf->setFooterMargin('20');
$str = 'Estado de Cuenta de hipoteca';
$pdf->setHeaderData('logo_credito.png','20','Prestamo - Detallado '.str_pad($i_Id,5,'0',STR_PAD_LEFT),$str);
//$pdf->setHeaderData('','30','Prestamo - Detallado '.str_pad($i_Id,5,'0',STR_PAD_LEFT),$str);

define("POS_IZQ", 10);

$pdf->AddPage();

/*CABECERA*/
$pdf->SetXY(POS_IZQ,$pdf->GetY()+1);			
$pdf->SetFillColor(254,254,254);
$pdf->SetX(POS_IZQ);
$pdf->SetFont('times','B',10);
$pdf->Cell(200,8,'Datos del Cliente',0,1,'L',1);


$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Nombre',0,0,'L',1);
$pdf->SetFont('times','',10);
$pdf->Cell(50,6,ucwords($s_NombreCompleto),0,1,'L',1);


$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Direccion',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(10,6,$s_DireccionCliente,0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Mercado',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,utf8_encode(ucwords($s_DescripcionMercado)),0,1,'L',1);

/*
$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Garante',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,ucwords($s_garante),0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Direccion Garante',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,ucwords($s_direcciongarante),0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Telefono Garante',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_telefonogarante,0,1,'L',1);


$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Conyuge',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,ucwords($s_conyuge),0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Direccion Conyuge',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,ucwords($s_direccionconyuge),0,1,'L',1);

*/


$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Telefono',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_Telefono,0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Celular',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_Celular,0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Fecha Operacion',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_FechaOperacion,0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Monto de Capital',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_MontoCap,0,0,'L',0);

switch ( $s_Moneda ) {
	case "S": $moneda ="Soles"; break;
    case "D":$moneda ="Dolares";break;
}

                                                    
$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Moneda',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$moneda,0,1,'L',0);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Monto Total a Pagar',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,number_format( $f_MontoTotalPagar, 2 ),0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Gasto Administrativo',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,number_format( $s_GastoAdministrativo, 2 ),0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Interes Mensual',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,number_format( $s_InteresMensual, 2 ),0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Forma de pago',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_cboFormaPago,0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Duracion',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$cboDuracion." meses",0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'# Cuotas',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_NumMeses,0,1,'L',1);


$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Interes Moratorio',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_InteresMor,0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(30,6,'Observacion',0,0,'L',1);
$pdf->SetFont('times','',9);
$pdf->Cell(50,6,$s_Observacion,0,1,'L',1);

$pdf->SetFont('times','B',12);
$pdf->Cell(50,10,'Lista de Cuotas',0,1,'L',1);

$pdf->SetFont('times','B',9);
$pdf->Cell(8,6,'Nro',1,0,'L',1);
$pdf->Cell(18,6,'F.Cuota',1,0,'C',1);
$pdf->Cell(20,6,'F.Transaccion',1,0,'C',1);
$pdf->Cell(20,6,'Monto',1,0,'R',1);
$pdf->Cell(20,6,'Saldo',1,0,'R',1);
$pdf->Cell(20,6,'Estado',1,0,'C',1);
$pdf->Cell(12,6,'# Pagos',1,0,'C',1);
$pdf->Cell(20,6,'# Dias Mora',1,0,'R',1);
$pdf->Cell(20,6,'Mora Real',1,0,'R',1);
$pdf->Cell(20,6,'Mora Pagada',1,0,'R',1);
$pdf->Cell(20,6,'Total',1,1,'R',1);

$pdf->SetFont('times','',9);
$o_CrCreditoCuotaFN = new CrCreditoCuotaFN();
$o_CrCreditoCuotaFN->setIdcreditocrono( $i_Id );
$a_CrCreditoCuota = $o_CrCreditoCuotaFN->select();
$f_SumaMontoTotal = 0;
$f_SumaSaldototal = 0;
if( $a_CrCreditoCuota ){
	$in=1;
	foreach ( $a_CrCreditoCuota as $i_Key => $o_CrCreditoCuotaBN ){ 
   
	    $i_Idcuota = $o_CrCreditoCuotaBN->getIdcuota();
	    
	    $o_CrCreditoPagoFN = new CrCreditoPagoFN();
	    $o_CrCreditoPagoFN->setIdcuota( $i_Idcuota );
	    $i_NumPagos = $o_CrCreditoPagoFN->selectNumRows();
	    
	    $s_Estado = $o_CrCreditoCuotaBN->getEstado();
	    $s_Moneda = $o_CrCreditoCuotaBN->getMoneda();
	    switch ($s_Estado) {
	        case "P":
	            $s_EstadoDesc = "Pendiente";
	        break;
	        case "C":
	            $s_EstadoDesc = "Cancelado";
	        break;
	    }
	    switch ( $s_Moneda ) {
	        case "S":
	            $s_MonedaDesc = "Soles";
	            $simbolo="S/ ";
	        break;
	        case "D":
	            $s_MonedaDesc = "Dolares";
	            $simbolo="$ ";
	        break;
	    }
	    $f_SumaMontoTotal = $f_SumaMontoTotal + $o_CrCreditoCuotaBN->getMontototal();
	    $f_SumaSaldototal = $f_SumaSaldototal + $o_CrCreditoCuotaBN->getSaldototal();
	    
	    //AHORA SE TIENE QUE IDENTIFICAR LA MORA PAGADA Y EL SALDO DE MORA
	    $o_CrCreditoPagoFN = new CrCreditoPagoFN();
	    $o_CrCreditoPagoFN->setIdcuota( $i_Idcuota );
	    $o_CrCreditoPagoFN->setTipopago( "M" );
	    $a_CrCreditoPago = $o_CrCreditoPagoFN->select();
	    $f_SumaMontoMoraPago = 0;
	    if( $a_CrCreditoPago )
	    {
	        foreach ( $a_CrCreditoPago as $i_Key => $o_CrCreditoPagoBN )
	        {
	            $f_MontoMoraPago = $o_CrCreditoPagoBN->getMontopago();
	            $f_SumaMontoMoraPago = $f_SumaMontoMoraPago + $f_MontoMoraPago;
	        }
	    }
	    //////////////////////////////////////////////////////////////////////
	    $s_StringStyle = "";
	    if( $s_Estado=="P" && $o_CrCreditoCuotaBN->getDiasmora() > 0 )
	    {
	        $s_StringStyle = 'style="background-color:#fed91e"';
	    }
	    
	     //AHORA SE TIENE QUE IDENTIFICAR EL PAGO por capital
        $o_CrCreditoPagoFN = new CrCreditoPagoFN();
        $o_CrCreditoPagoFN->setIdcuota( $i_Idcuota );
        $o_CrCreditoPagoFN->setTipopago( "C" );
        
		if(!isset($sortCampos))$sortCampos= "Fechatrx";
		if(!isset($sortType))  $sortType ="2";
		$o_CrCreditoPagoFN->sortCampos = $sortCampos;
		$o_CrCreditoPagoFN->sortType   = $sortType;
        
        $a_CrCreditoPago = $o_CrCreditoPagoFN->select();
        
        $s_FechaTrx = '';
        $f_SumaMontoPagado = 0;
        if( $a_CrCreditoPago )
        {
            foreach ( $a_CrCreditoPago as $i_Key => $o_CrCreditoPagoBN )
            {
                $f_MontoPago = $o_CrCreditoPagoBN->getMontopago();
                if($o_CrCreditoPagoBN->getFechaTrx() && $s_FechaTrx == '') $s_FechaTrx = $o_CrCreditoPagoBN->getFechaTrx();
                $f_SumaMontoPagado = $f_SumaMontoPagado + $f_MontoPago;
            }
        }
		
	    $pdf->Cell(8,6,$in,1,0,'L',1);
	    $pdf->Cell(18,6,$o_CrCreditoCuotaBN->getFechacuota(),1,0,'C',1);
	    $pdf->Cell(20,6,$s_FechaTrx,1,0,'C',1);
	    
	    $pdf->Cell(20,6,$simbolo.number_format($o_CrCreditoCuotaBN->getMontototal(),2),1,0,'R',1);
	    $pdf->Cell(20,6,$simbolo.number_format($o_CrCreditoCuotaBN->getSaldototal(),2),1,0,'R',1);
	    $pdf->Cell(20,6,$s_EstadoDesc,1,0,'C',1);
	    $pdf->Cell(12,6,$i_NumPagos,1,0,'C',1);
	    $pdf->Cell(20,6,$o_CrCreditoCuotaBN->getDiasmora(),1,0,'C',1);
	    $pdf->Cell(20,6,$simbolo.number_format($o_CrCreditoCuotaBN->getMontomora(),2),1,0,'R',1);
	    $pdf->Cell(20,6,$simbolo.number_format($o_CrCreditoCuotaBN->getMontomora(),2),1,0,'R',1);
	    $pdf->Cell(20,6,$simbolo.number_format($f_SumaMontoMoraPago+$f_SumaMontoPagado,2),1,1,'R',1);
	    $in++;
	}
}
$pdf->SetFont('times','B',10);
$pdf->Cell(26,6,'Totales',1,0,'R',1);

$pdf->Cell(20,6,$simbolo.number_format($f_SumaMontoTotal,2),1,0,'C',1);
$pdf->Cell(20,6,$simbolo.number_format($f_SumaSaldototal,2),1,0,'C',1);
$pdf->Output();