<?php
class SaicaWebServiceController extends CController
{
 public function actions()
    {
         return array(
             
            'service'=>array(
                'class'=>'CWebServiceAction',
//                'classMap'=>array(
//                    'Post'=>'Post',  // or simply 'Post'
//                ),
            ),
        );
    }
    
    
    /**
    * @param string $id argumento declarado (importante)
    * @return integer (importante)
    * @soap
    */
    
    public function getEstusSesion($idUsuario)
    {
        return (SesionCruge::model()->findLast($idUsuario))?1:0;
    }
    /**
    * @return array (importante)
    * @soap
    */
    
    public function getTipoCreditos()
    {
        $resultado = array();
        //$resultado['data'] = CHtml::listData(TipoCredito::model()->findAll(' publicar = TRUE AND blnborrado = false AND publicar_tienda_virtual = TRUE'),'id','descripcion');//modificado
        $resultado['data'] = CHtml::listData(TipoCredito::model()->findAll('blnborrado = false AND publicar_tienda_virtual = TRUE'),'id','descripcion');

        return $resultado;
    }
     
    /**
     * @param integer $id_usuario el id del asociado para verificar que puede gozar del veneficio de este tipo de credito
     * @param integer id_tipo_credito el id del credito
     * @return array the stock price
     * @soap
     */
    public function getValidarSolicitudTipoCredito($id_usuario,$id_tipo_credito)
    {
        $resultado =  array();
        $resultado['error'] = 1;
        $resultado['mensajeError'] = '';

        $modelUsuario = CrugeUserI::model()->findByPk($id_usuario);
        if($modelUsuario){
            $modelAsociado = Asociado::model()->find('id_estatus = 1 and blnborrado = false and cedula=:cedula',array(':cedula'=>$modelUsuario->cedula));
            if($modelAsociado){
                $modelTipoCredito = TipoCredito::model()->findByPk($id_tipo_credito);
                if($modelTipoCredito){

                    $modelBasica = Basica::model()->find();   

                    if($modelTipoCredito && $modelTipoCredito->porcentaje_disponibilidad !='')
                        $porcentaje = $modelTipoCredito->porcentaje_disponibilidad;
                    else
                        $porcentaje = 80;

                    $haberes = ReporteHaberes::model()->find('idasociado=:ida', array(':ida' => $modelAsociado->idasociado));
                    $modelMontoTotalFiador = ReporteCreditos::model()->getTotalMontoFiador($modelAsociado->idasociado); 
                    $modelMontoTotalDeuda = ReporteCreditos::model()->getTotalMontoDeuda($modelAsociado->idasociado); 
                    if($modelBasica->formula_disponibilidad_haberes!=''){
                        $busqueda = array('H','R','X','P');
                        $reemplazar = array($haberes->aporte_total,$haberes->retiro_parcial,($porcentaje/100),($modelMontoTotalDeuda + $modelMontoTotalFiador));
                        $formula = str_replace($busqueda, $reemplazar, $modelBasica->formula_disponibilidad_haberes);
                        eval("\$res = $formula;");
                        $montoTotalSolicitud = round($res,2);
                        $montoTotalSolicitud =ConfBonoDisponibilidadHaberes::calculoMontoBonoTiendaVirtual($montoTotalSolicitud);
                    }
                    else{
                        $montoTotalSolicitud = round(($haberes->total_haberes * ($porcentaje/100)) - ($modelMontoTotalDeuda + $modelMontoTotalFiador),2);     
                        $montoTotalSolicitud =ConfBonoDisponibilidadHaberes::calculoMontoBonoTiendaVirtual($montoTotalSolicitud);
                    }
      
                    if($montoTotalSolicitud>0){
                        $tipo = $modelTipoCredito->validarTipoCreditoAdministrador($modelTipoCredito, array(), $modelAsociado, true) ;
                        
                        if($tipo['mensaje']==''){
                            $resultado['error'] = 0;
                        }
                        else{
                            $resultado['mensajeError'] = $tipo['mensaje'];
                        }
                    }
                    else{
                        $resultado['mensajeError'] = 'Los haberes disponibles de '.number_format($montoTotalSolicitud, 2,',','.').' Bs,  no son suficiente para cubrir solicitudes';
                    }
        
                }
                else{
                    $resultado['mensajeError'] = 'El tipo de credito suministrado no esta registrado, verifique.';
                }
            }
            else{
                 $resultado['mensajeError'] = 'El id de usuario suministrado no tiene planilla activa.';
            }
        }
        else{
            $resultado['mensajeError'] = 'El id de usuario suministrado no esta registrado.';
        }
        
        return $resultado;
    }
    
    
    //FUNCION AGREGADA PARA OBTENER EL TOTAL DE HABERES DISPONIBLE DE UN ASOCIADO - HA SER UTILIZADO EN TIENDA VIRTUAL
    
    
         /**
         * @param integer $id_usuario el id del asociado 
		 * @return array the stock price
		 * @soap
		 */
    public function getTotalHaberes($id_usuario)
    {
        $modelHaberesSocio = new ReporteHaberes();
        $modelHaberesSocio=0;
        $resultado =  array();
        $resultado['mensaje'] = '';
        $resultado['data']=0;
        $modelUsuario = CrugeUserI::model()->findByPk($id_usuario);
        if($modelUsuario){
		  $modelAsociado = Asociado::model()->find('id_estatus = 1 and blnborrado = false and cedula=:cedula',array(':cedula'=>$modelUsuario->cedula));
		   if($modelAsociado){
			   $modelHaberesSocio = ReporteHaberes::model()->find('idasociado=:idasociado', array(':idasociado' => $modelAsociado->idasociado));
               $montoTotal = $modelHaberesSocio->haberDisponible($modelAsociado->idasociado);
               $montoTotalBono =ConfBonoDisponibilidadHaberes::calculoMontoBonoTiendaVirtual($montoTotal);

               $resultado['data']= number_format($montoTotal,2,",",".");
               $resultado['mensaje']=' Disponibilidad del 80%';
			   $resultado['data_bono']= number_format($montoTotalBono-$montoTotal,2,",",".");
			   $resultado['mensaje_bono']=' Financiamiento especial';
               //financiamiento especial
	       }
	       else{
                $resultado['mensaje'] = 'El socio consultado no posee información registrada en SAICA.';
            }
	    }
	    else{
                $resultado['mensaje'] = 'El usuario consultado no se encuentra registrado en SAICA.';
            }
         return $resultado;
    }
    
    

    //FIN DE LA FUNCION DE HABERES 

    /**
     * @param integer $id_usuario el id del asociado para verificar que puede gozar del veneficio de este tipo de credito
     * @param integer id_tipo_credito el id del credito
     * @param float $montoCredito el el monto a solicitar del credito
     * @return array the stock price
     * @soap
     */
    public function getTablaAmortizacionCredito($id_usuario,$id_tipo_credito, $montoCredito){
        
        return  $this->getTablaAmortizacion($id_tipo_credito, $montoCredito,$id_usuario );
    }

    /**
     * @param integer $id_credito el id del credito de saica
     * @param integer $opcion es la decision de sobre el credito 1- aprobado 0-denegado
     * @param string $decision es la variable que va a contener si es 1 la fecha de descuento del credito y si es 0 la observacion xq no aprobaron el credito
     * @param integer $id_usuario el id del usuario que realizo la operacion
     * @return array the stock price
     * @soap
     */
    public function setAprobarDenegarSolicitud($id_credito,$opcion, $decision, $id_usuario){
        $datosTipoCredito = array();
        $datosTipoCredito['error'] = 1;
        $datosTipoCredito['mensajeError'] ='';
        $model= Credito::model()->findByPk($id_credito);

        if($model && $decision != ''){
            if($model->blnborrado == false){
                $modelSeguimiento = CreditoSeguimiento::model()->find('id_credito=:id and actual= true',array(':id'=>$id_credito));

                if($modelSeguimiento->id_estatus_credito !=1 && $modelSeguimiento->id_estatus_credito !=6 && $modelSeguimiento->id_estatus_credito !=8 && $modelSeguimiento->id_estatus_credito !=4){ //modificado - se agrego el estatus de aprobado para denegar el credito cuando desde tienda se deniega el pago mixto 
                    $datosTipoCredito['mensajeError'] ='El préstamo ya se encuentra aprobado';
                }
                else{
                    $modelCreditoSeguimiento = new CreditoSeguimiento();
                    $modelCreditoSeguimiento ->id_credito=$id_credito;
                    $modelCreditoSeguimiento ->id_usuario =$id_usuario;
                    $modelAsociado = $model->idAsociado;
                    if ($opcion ==1 ) {
                        $modelCreditoSeguimiento->id_estatus_credito = 4;//($model->refinanciado==0)?2:(($model->refinanciado==1)?7:9);
                        $model->scenario='aprobacionSolicitud';
                        $model->fecha_primer_descuento  = $decision;
                    }
                    else{
                        $modelCreditoSeguimiento->id_estatus_credito = 3;
                        $modelCreditoSeguimiento->observacion=$decision;
                        $modelCreditoSeguimiento->scenario='denegacionSolicitud';

                    }
                    $transaction = Yii::app()->db->beginTransaction();
                    try {
                            $model->monto_credito = number_format($model->monto_credito,2,',','.');
                            $model->taza_interes = number_format($model->taza_interes,3,',','.');
                            // return $model->attributes;
                            if($model->save()){  
                                CreditoSeguimiento::model()->updateAll(array('actual'=>false),'id_credito=:id',array(':id'=>$model->id));
                                $modelCreditoSeguimiento->save();
                                $transaction->commit();
                                $datosTipoCredito['error'] = 0;
                                // $datosTipoCredito['mensajeError'] ='La solicitud ha sido PROCESADA exitosamente');
                            }
                            else{
                                $transaction->rollBack();
                                $mensajeText = '';
                                foreach ($model->getErrors() as $key => $value) {
                                    foreach ($value as $k => $v) {
                                      $mensajeText .= $v.'<br>';
                                    }
                                }
                                $datosTipoCredito['mensajeError']=$mensajeText;
                            }                       
                            
                        }
                    catch (Exception $e){
                        $transaction->rollBack();
                        $datosTipoCredito['mensajeError'] =$e->getMessage();
                    }

                }
            }
            else{
                 $datosTipoCredito['mensajeError'] ='El préstamo seleccionado no existe';
            }

        }
        else{
            $datosTipoCredito['mensajeError'] ='El préstamo seleccionado no existe';
        }
        return $datosTipoCredito;
    }




    /**
     * @param integer $id_usuario_asociado el id del asociado para verificar que puede gozar del veneficio de este tipo de credito
     * @param integer id_tipo_credito el id del credito
     * @param float $montoCredito el el monto a solicitar del credito
     * @param integer $id_usuario el id del asociado para verificar que puede gozar del veneficio de este tipo de credito
     * @return array the stock price
     * @soap
     */
    public function setSolicitudPrestamos($id_usuario_asociado,$id_tipo_credito, $montoCredito, $id_usuario){
        $datosTipoCredito = array();
        $datosTipoCredito =  $this->getTablaAmortizacion($id_tipo_credito, $montoCredito,$id_usuario_asociado );
        if($datosTipoCredito['error']==0){
            $modelTablaAmortizacion = $datosTipoCredito['tablaAmortizacion'];
            $modelTipoCredito = TipoCredito::model()->findByPk($id_tipo_credito);
            $interesGenerado =0;
            $transaction = Yii::app()->db->beginTransaction();
            try {
                    $modelAsociado = Asociado::model()->find('cedula=:cedula AND blnborrado = false AND id_estatus = 1 ORDER BY idasociado desc', array(':cedula' => CrugeUserI::model()->findByPk($id_usuario_asociado)->cedula));
                    
                    $model =  new Credito('SolicitudAdministradorTienda');
                    $model->taza_interes = number_format($modelTipoCredito->taza_interes, 3,',', '.');
                    $model->cuota_pagar = $modelTablaAmortizacion[0]->monto_cuota;  
                    $model->gastos_administrativo = $datosTipoCredito['gastosAdministrativo'];                                        
                    $model->gastos_administrativos_afianzadora = $datosTipoCredito['gastosAdministrativoAfianzador'];                                        
                    $model->gastos_administrativos_afianzadora_caja = $datosTipoCredito['descontarGastosAdministrativoAfianzadorCaja'];                                        
                    $model->id_afianzadora = $datosTipoCredito['idAfianzadora'];                                        
                    $model->monto_haberes_comprometido = $datosTipoCredito['monto_haberes_socio'];                                        

                    $model->id_tipo_nomina = $modelAsociado->getIdTipoNomina();
                    $model->id_titulo_tipo_credito = $modelTipoCredito->id_titulo_tipo_credito;
                    $model->id_tipo_credito = $modelTipoCredito->id;
                    $model->cuenta = ($modelAsociado->cuenta_bancaria!='')?$modelAsociado->cuenta_bancaria:'0000000000000000';
                    $model->monto_credito = number_format($montoCredito,2,',','.') ;
                    $model->cedula = $modelAsociado->cedula;
                    $model->id_tipo_cobro = $modelTipoCredito->id_tipo_cobro;

                    $detalleCapacidadPago = array();
                    $asiganaciones=0;
                    $deducciones = 0;
                    $i= 1;
                    $asiganaciones = Asociado::model()->utltimoSueldoPorcentajeAporte($modelAsociado->idasociado); //modificado
                    
                    $capacidadPago[$i]['monto'] =$asiganaciones;
                    $capacidadPago[$i]['nombre_concepto'] = 'Último sueldo';
                    $capacidadPago[$i]['asignacion'] =TRUE;
                    $i++;
                                            
                                           
                    foreach ($datosTipoCredito['capacidadPago']['creditos'] as $key => $value) {
                        $capacidadPago[$i]['monto'] =$value;
                        $capacidadPago[$i]['nombre_concepto'] ='Préstamo "'.$key.'"';
                        $capacidadPago[$i]['asignacion'] =false;
                        $i++;
                        $deducciones += $value;
                    }
                                            
                    $detalleCapacidadPago['total_haberes']  = $datosTipoCredito['capacidadPago']['total_haberes'];
                    $detalleCapacidadPago['porcentaje_tipo_credito']  = Yii::app()->session['capacidadPago']['porcentaje_tipo_credito'];                                         
                    $detalleCapacidadPago['total_monto_prestamo']  = Yii::app()->session['capacidadPago']['total_monto_prestamo'];                                         
                    $detalleCapacidadPago['total_monto_fiador']  = Yii::app()->session['capacidadPago']['total_monto_fiador'];                                         
                    $detalleCapacidadPago['total_asiganaciones'] = $asiganaciones;                                            
                    $detalleCapacidadPago['total_deducciones'] = $deducciones;
                    $detalleCapacidadPago['detalle_capacidad_pago'] =$capacidadPago;
                    $model->detalle_capacidad_pago = json_encode($detalleCapacidadPago);       

                    $valido= TRUE;
                    $model->fecha_registro =date('Y-m-d');
                    unset( $datosTipoCredito) ;
                    $datosTipoCredito  =  array();
                    //echo "<pre>";print_r($model);exit;

                    $modelHaberesSocio = ReporteHaberes::model()->find('idasociado=:idasociado', array(':idasociado' => $modelAsociado->idasociado));
                    $disponibilidadHaberes = $modelHaberesSocio->haberDisponible($modelAsociado->idasociado);
                    $montoBono =$disponibilidadHaberes -$montoCredito;

                    // si el montoBono es < 0 entonces el asociado hizo uso del bono especial
                    if($montoBono<0){
                        // $modelBono = ConfBonoDisponibilidadHaberes::model()->with('idBonoSeguimiento')->find('id_tipo_bono = 1 AND actual = true AND id_estatus_bono =2');
                        $model->monto_bono = $montoBono * -1;
                        // $model->id_bono_disponibilidad_haberes =$modelBono->id;
                    }


                    if($model->save()){
                        $datosTipoCredito['id_credito'] = $model->id;
                        $modelEstatusCredito = new CreditoSeguimiento();
                        $modelEstatusCredito->id_credito = $model->id;
                        $modelEstatusCredito->id_estatus_credito = 1;
                        $modelEstatusCredito->fecha_registro = date('Y-m-d');
                        $modelEstatusCredito->id_usuario = $id_usuario;
                        if($modelEstatusCredito->save()){
                            foreach($modelTablaAmortizacion as $key =>$value){
                                $value->idcredito = $model->id;
                                if(!$value->save()){
                                    $valido = false;
                                }
                            }                                                
                        }
                    }
                    else{
                        $valido = false;
                        $mensajeText = '';
                        foreach ($model->getErrors() as $key => $value) {
                            foreach ($value as $k => $v) {
                              $mensajeText .= $v.'<br>';
                            }
                        }
                        $datosTipoCredito['mensajeError']=$mensajeText;
                    }
                    
                    if($valido){                                            
                        $transaction->commit();
                        $datosTipoCredito['error']=0;
                        $datosTipoCredito['mensajeError']='Los datos han sido registrado exitosamente';
                        //$datosTipoCredito['prueba']=$deducciones; //quitar
                    }
                    else{
                        $transaction->rollBack();
                        $datosTipoCredito['error']=1;
                        // $datosTipoCredito['mensajeError']='Los datos no han sido registrado';
                    }

                }
                catch (Exception $e){
                        $transaction->rollBack();
                        $datosTipoCredito['error']=1;
                        $datosTipoCredito['mensajeError']=$e;
                }  
        }
        return $datosTipoCredito;        
    }

    protected function getTablaAmortizacion($id_tipo_credito, $montoCredito,$id_usuario ){

        $datosTipoCredito = array();
        $datosTipoCredito['error'] = 1;
        $datosTipoCredito['mensajeError'] ='';

        $modelUsuario = CrugeUserI::model()->findByPk($id_usuario);
        if($modelUsuario){
            $modelAsociado = Asociado::model()->find('id_estatus = 1 and blnborrado = false and cedula=:cedula',array(':cedula'=>$modelUsuario->cedula));
            if($modelAsociado){
                $modelTipoCredito = TipoCredito::model()->findByPk($id_tipo_credito);
                if($modelTipoCredito){

                    $modelBasica = Basica::model()->find();   

                    if($modelTipoCredito && $modelTipoCredito->porcentaje_disponibilidad !='')
                        $porcentaje = $modelTipoCredito->porcentaje_disponibilidad;
                    else
                        $porcentaje = 80;

                    $haberes = ReporteHaberes::model()->find('idasociado=:ida', array(':ida' => $modelAsociado->idasociado));
                    $modelMontoTotalFiador = ReporteCreditos::model()->getTotalMontoFiador($modelAsociado->idasociado); 
                    $modelMontoTotalDeuda = ReporteCreditos::model()->getTotalMontoDeuda($modelAsociado->idasociado); 
                    if($modelBasica->formula_disponibilidad_haberes!=''){
                        $busqueda = array('H','R','X','P');
                        $reemplazar = array($haberes->aporte_total,$haberes->retiro_parcial,($porcentaje/100),($modelMontoTotalDeuda + $modelMontoTotalFiador));
                        $formula = str_replace($busqueda, $reemplazar, $modelBasica->formula_disponibilidad_haberes);
                        eval("\$res = $formula;");
                        $montoTotalSolicitud = round($res,2);
                    }
                    else{
                        $montoTotalSolicitud = round(($haberes->total_haberes * ($porcentaje/100)) - ($modelMontoTotalDeuda + $modelMontoTotalFiador),2);     
                    }
      
                    if($montoTotalSolicitud>0){
                        
                        $modelBasica = Basica::model()->find();                       
                        if($modelTipoCredito && $modelTipoCredito->porcentaje_disponibilidad !='')
                            $porcentaje = $modelTipoCredito->porcentaje_disponibilidad;
                        else
                            $porcentaje = 80;

                        $haberes = ReporteHaberes::model()->find('idasociado=:ida', array(':ida' => $modelAsociado->idasociado));
                        $modelMontoTotalFiador = ReporteCreditos::model()->getTotalMontoFiador($modelAsociado->idasociado); 
                        $modelMontoTotalDeuda = ReporteCreditos::model()->getTotalMontoDeuda($modelAsociado->idasociado); 
                        if($modelBasica->formula_disponibilidad_haberes!=''){
                            $busqueda = array('H','R','X','P');
                            $reemplazar = array($haberes->aporte_total,$haberes->retiro_parcial,($porcentaje/100),($modelMontoTotalDeuda + $modelMontoTotalFiador));
                            $formula = str_replace($busqueda, $reemplazar, $modelBasica->formula_disponibilidad_haberes);
                            eval("\$res = $formula;");
                            $montoTotalSolicitud = round($res,2);
                        }
                        else{
                            $montoTotalSolicitud = round(($haberes->total_haberes * ($porcentaje/100)) - ($modelMontoTotalDeuda + $modelMontoTotalFiador),2);     
                        }

                        if($montoTotalSolicitud> 0 ){

                            $sql='select * FROM "prestamos"."credito"  "t"  
                                    LEFT OUTER JOIN "prestamos"."credito_seguimiento" "idCreditoSeguimientoActual" ON ("idCreditoSeguimientoActual" ."id_credito"="t"."id") 
                                    WHERE (t.idasociado=:idasociado AND id_estatus_credito in( 2,4)) AND (actual=true)';
                            $credito = Credito::model()->findAllBySql($sql,array(':idasociado'=>$modelAsociado->idasociado));

                            $sueldo = Asociado::model()->utltimoSueldoPorcentajeAporte($modelAsociado->idasociado);               
                            $prestamos= 0;
                            foreach ($credito as $key => $value) {
                                $prestamos+=$value->cuota_pagar;
                            }
                            $porcentajeCapacidadPago =  ($modelTipoCredito->capacidad_pago_porcentaje!='')?$modelTipoCredito->capacidad_pago_porcentaje:33;                    
                            $capacidadPago = ($sueldo*($porcentajeCapacidadPago/100))-$prestamos;
                            $generar_cuotas_especiales =0;
                            $opcionRefinanciamiento = 0;
                            $modelDeuda = 0;
                
                            if($capacidadPago>0){
                            
                                if($montoCredito>0){                    
                                    // $montoCredito = str_replace('.', '', $montoCredito);
                                    // $montoCredito = str_replace(',', '.', $montoCredito);
                                    //$montoDisponible =Credito::model()->calcularHaberesDisponibles($id, $idTipoCredito);
                                    $montoDisponible = Credito::model()->MontoSugeridoTiendaVirtual($modelTipoCredito, $modelAsociado->idasociado);
                                    $valido= TRUE;
                                    if($modelTipoCredito->monto_minimo_credito>0 && $montoCredito<$modelTipoCredito->monto_minimo_credito){
                                        $valido = $valido && false;
                                        $datosTipoCredito['mensajeError'] =  'El monto minimo a solicitar es ('.  number_format($modelTipoCredito->monto_minimo_credito, 2, ",", ".").')';
                                    }
                                
                                    if($valido && $montoCredito> round($montoDisponible,2)){
                                        $valido = $valido && false;
                                        $datosTipoCredito['mensajeError'] =  'El monto solicitado es mayor al monto sugerido ('.  number_format($montoDisponible, 2, ",", ".").')';
                                    }
                                        
                                    
                                    if($valido){
                                        $modelTipoNomina = AporteOrdinario::model()->find('id_asociado=:id_asociado and blnborrado=false AND aprobado = true AND id_tipo_nomina IN (1,2,3) order by fecha_aporte desc',array(':id_asociado'=>$modelAsociado->idasociado));
                                        if($modelTipoNomina){ 
                                            if($montoTotalSolicitud> $montoCredito)
                                                $montoTotalSolicitud = $montoCredito;
                                            
                                            $modelResultadoTablaAmortizacion = CreditoTablaAmortizacion::model()->tablaAmortizacionDetalle(array('tipo_credito'=>$modelTipoCredito->id,
                                                                                                                            'monto_credito'=>$montoCredito,
                                                                                                                            'capacidad_pago'=>$capacidadPago,
                                                                                                                            'generar_cuotas_especiales'=>0,
                                                                                                                            'monto_haberes_socio'=>$montoTotalSolicitud,
                                                                                                                            'idtrabajador'=>$modelAsociado->idasociado));
                                            if($modelResultadoTablaAmortizacion['error']==0){
                                                $datosTipoCredito['error'] = 0;
                                                $datosTipoCredito= $modelResultadoTablaAmortizacion;
                                                $datosTipoCredito['capacidadPago']=array('total_haberes'=>$haberes->total_haberes,
                                                                                           'porcentaje_tipo_credito'=>$porcentaje,
                                                                                           'total_monto_prestamo'=>$modelMontoTotalDeuda,
                                                                                           'total_monto_fiador'=>$modelMontoTotalFiador,
                                                                                           'creditos'=>CHtml::listData($credito, 'idTipoCredito.descripcion', 'cuota_pagar'),
                                                                                            );


                                            }
                                            else{
                                                 $datosTipoCredito['mensajeError'] =  $modelResultadoTablaAmortizacion['mensajeError'];
                                            }
                                        }
                                        else{
                                             $datosTipoCredito['mensajeError'] =  'No tiene tipo de nomina definido, por favor contacte con el administrador de la caja';
                                        }
                                    }

                                } 
                                else{
                                    $datosTipoCredito['mensajeError'] =  'El monto solicitado debe ser mayo de 0';
                                }                   
                            }
                            else{
                                 $datosTipoCredito['mensajeError'] =  'El asociado no posee capacidad de pago para solictar préstamo';
                            }
                        }
                        else{
                            $datosTipoCredito['mensajeError'] =  'El monto solicitado debe ser mayo de 0';
                        }

                    }
                    else{
                        $datosTipoCredito['mensajeError'] = 'Los haberes disponibles de '.number_format($montoTotalSolicitud, 2,',','.').' Bs,  no son suficiente para cubrir solicitudes';
                    }
        
                }
                else{
                    $datosTipoCredito['mensajeError'] = 'El tipo de préstamo suministrado no esta registrado, verifique.';
                }
            }
            else{
                 $datosTipoCredito['mensajeError'] = 'El id de usuario suministrado no tiene planilla activa.';
            }
        }
        else{
            $datosTipoCredito['mensajeError'] = 'El id de usuario suministrado no esta registrado';
        }

            return $datosTipoCredito; 
    }
}
