<?php use_helper('UrlFunctions'); ?>

<?php
header("Content-Type: text/html; charset=utf-8");
//header("Content-Type: text/html; charset=iso-8859-1");
ViewResponse::getInstance()->setMethodAjax();

$sUserId = myUser::getUser()->getUserId();

function cambiarEliminadoLogico( $i_Id )
{
    try 
    {
		
		
		
		
		//VALIDACION EL CREDITO SEA DE LA MISMA FECHA DEL DIA ABIERTO PARA 
		if(myUser::getUser()->getRoleId() == "sys.hip"){
			if(myUser::getUser()->getIdPadre() || myUser::getUser()->getRoleId() == "sys.ope" || myUser::getUser()->getRoleId() == "sys.hip"){
				$o_ColaboradorBean_Temp = new ColaboradorBean();
				$o_ColaboradorBean_Temp->setIdColaborador(myUser::getUser()->getIdColaborador()); 
				$o_ColaboradorBL_Temp = new ColaboradorBL();
				$o_ColaboradorBeanResult = $o_ColaboradorBL_Temp->busquedaColaborador($o_ColaboradorBean_Temp);
				$idAdministrador = $o_ColaboradorBeanResult[0]->getIdPadre();
			}elseif(myUser::getUser()->getIdPadre() == "A"){ //Todos los Padres Rol actualmente sys.gen y sys.view
				//SIN FILTRO
			}else{
				$idAdministrador = myUser::getUser()->getIdColaborador();
			}
			
			if($idAdministrador){
				$o_SucursalBean = new SucursalBean();
				$o_SucursalBean->setIdAdministrador($idAdministrador);
				$o_SucursalBL = new SucursalBL();
				$a_o_sucursal = $o_SucursalBL->busquedaSucursal($o_SucursalBean);
				//----------------------------------------------------
				
				$IdSucursal = $a_o_sucursal[0]->getIdSucursal();
			
			}
			
			
			//Obtener la fecha 	de dia abierto de Hipotecas
			
			if(myUser::getUser()->getRoleId() == "sys.res" || myUser::getUser()->getRoleId() == "sys.hip"){
				
				$o_cierreDiaFN = new CrCierrehipotecaCFN();
				$fechaHipotecas = $o_cierreDiaFN->obtenerDiaAbiertoHipoteca($IdSucursal);
				
			}
			
			
			 $o_CrCreditoCronoFN = new CrCreditoCronoFN();
			$o_CrCreditoCronoFN->setIdcreditocrono( $i_Id );
			$o_CrCreditoCronoBN = $o_CrCreditoCronoFN->selectByPK();
			
			if(is_object($o_CrCreditoCronoBN)){
				$Fechainicio = $o_CrCreditoCronoBN->getFechatrx();
				
				if($fechaHipotecas != $Fechainicio)
				{
					throw new Exception( "La fecha del credito debe ser iguales .".$fechaHipotecas."!=".$Fechainicio );
				}
				
			}
		
		}
		//VALIDACION DE PAGOS EFECTUADOS
        $o_CrCreditoPagoFN = new CrCreditoPagoFN();
        $o_CrCreditoPagoFN->setIdcreditocrono( $i_Id );
        $a_CrCreditoPago = $o_CrCreditoPagoFN->select();
        if( $a_CrCreditoPago )
        {
            throw new Exception( "El Credito tiene pagos registrados." );
        }
        
        //ELIMINADO LOGICO CUOTAS
        $o_CrCreditoCuotaDP = new CrCreditoCuotaDP();
        $o_CrCreditoCuotaDP->setIdcreditocrono( $i_Id );
        $o_CrCreditoCuotaDP->setEliminado( '1' );
        $b_Result = $o_CrCreditoCuotaDP->deleteLogic();
        
        //ELIMINADO LOGICO CABECERA
        $o_CrCreditoCronoDP = new CrCreditoCronoDP();
        $o_CrCreditoCronoDP->setIdcreditocrono( $i_Id );
		$o_CrCreditoCuotaDP->setFechaeliminado(date('Y-m-d H:i:s'));
		$o_CrCreditoCuotaDP->setUsuarioeliminado(myUser::getUser()->getUserId());
        $o_CrCreditoCronoDP->setEliminado( '1' );
        $b_Result = $o_CrCreditoCronoDP->deleteLogic();
        ?>
        <script>
        //alert( "Se elimino el registro satisfactoriamente." );
        findControl();
        </script>
        <?php
    }
    catch ( Exception $o_Exception )
    {
        $s_Mensaje = $o_Exception->getMessage();
        ?>
        <script>
        alert( "<?php echo $s_Mensaje ?>" );
        </script>
        <?php
    }
}
if($sTypeRequest == "cambiarEliminadoLogico")
{
  echo cambiarEliminadoLogico( $i_Id );
}