<?php

/**
 * This is the model class for table "montepio.solicitud".
 *
 * The followings are the available columns in table 'montepio.solicitud':
 * @property integer $id
 * @property integer $id_asociado
 * @property integer $id_beneficiario
 * @property integer $id_tiposol
 * @property string $fecha_solicitud
 * @property string $fecha_caducidad
 * @property boolean $blnborrado
 * @property integer $monto_solicitud
 *
 * The followings are the available model relations:
 * @property Recaudos[] $recaudoses
 * @property Beneficiario $idBeneficiario
 * @property Asociado $idAsociado
 * @property Status $idStatus
 */
class Solicitud extends CActiveRecord
{

	public $cedula,
			$nombre,
			$apellido,
			$aunidad,
			$persona,
			$id,
			$full_name,
			$id_status,
			$name_est,
			$fecha_Bfallece,
			$fecha_status, $fecha_status_range=array(),
			$fecha_solicita, $fecha_solicita_range = array();
	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'montepio.solicitud';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array('id_asociado, id_beneficiario, id_status, id_tiposol, cedula', 'numerical', 'integerOnly'=>true),
			array('cedula', 'required', 'on'=>'SolicitudMp'),
			array('id_asociado', 'verificarAsociado', 'on'=>'AprobarSolicitud'),
			array('monto_solicitud', 'verificarMonto', 'on'=>'AprobarSolicitud'),
			// The following rule is used by search().
			// @todo Please remove those attributes that should not be searched.
			array('blnborrado', 'unsafe'),
			array('id, id_asociado, id_beneficiario, id_status, id_tiposol, fecha_solicitud_range, full_name, monto_solicitud , name_est, fecha_status, fecha_status_range, aunidad, fecha_solicita, fecha_solicita_range', 'safe', 'on'=>'search'),
		);
	}

	/**
	 * @return array relational rules.
	 */
	public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
			'recaudoses' => array(self::HAS_MANY, 'Recaudos', 'id'),
			'idBeneficiario' => array(self::BELONGS_TO, 'Beneficiario', 'id_beneficiario'),
			'idAsociado' => array(self::BELONGS_TO, 'Asociado', 'id_asociado'),
			'idTiposol' => array(self::BELONGS_TO, 'TipoSolicitud', 'id_tiposol'),
			'statusSolicitud' => array(self::HAS_MANY, 'StatusSolicitud', 'id_solicitud'),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'id' => 'Solicitud',
			'id_asociado' => 'Asociado',
			'id_beneficiario' => 'Beneficiario',
			'fecha_solicitud' => 'Fecha de Solicitud',
			'fecha_caducidad' => 'Fecha de Vencimiento',
			'id_tiposol' => 'Tipo de Solicitud',
			'blnborrado' => 'Borrado',
			'monto_solicitud' => 'Monto de la solicitud',
			'cedula' => 'Cédula',
			'nombre' => 'Nombres',
			'apellido' => 'Apellidos',
			'full_name' => 'Solicitante',
			'id_status' => 'Estatus',
			'fecha_Bfallece' => 'Fecha de Deceso',
			'fecha_status'=>'Fecha estatus',
			'aunidad'=>'Unidad',
			'fecha_solicita' => 'Fecha de solicitud'
		);
	}

	/**
	 * Retrieves a list of models based on the current search/filter conditions.
	 *
	 * Typical usecase:
	 * - Initialize the model fields with values from filter form.
	 * - Execute this method to get CActiveDataProvider instance which will filter
	 * models according to data in model fields.
	 * - Pass data provider to CGridView, CListView or any similar widget.
	 *
	 * @return CActiveDataProvider the data provider that can return the models
	 * based on the search/filter conditions.
	 */
	public function search()
	{
		// @todo Please modify the following code to remove attributes that should not be searched.

		$criteria=new CDbCriteria;
		$criteria->with='idAsociado';
		
		if (Yii::app()->user->checkAccess('usuario_asociado') && !Yii::app()->user->checkAccess('usuario_administrador') ){
            
            $this->idasociado = Asociado::model()->find('cedula=:cedula',array(':cedula'=>CrugeUserI::model()->findByPk(Yii::app()->user->id)->cedula))->idasociado;                    
        }

        $criteria->with='idAsociado';
        $criteria->condition='t.blnborrado=false';

		$criteria->compare('id',$this->id);
		$criteria->compare('t.id_asociado',$this->id_asociado);
		$criteria->compare('id_beneficiario',$this->id_beneficiario);
		$criteria->compare('fecha_solicitud',$this->fecha_solicitud);
		$criteria->compare('fecha_caducidad',$this->fecha_caducidad);
		$criteria->compare('id_tiposol',$this->id_tiposol);
		$criteria->compare('blnborrado',$this->blnborrado);
		$criteria->compare('monto_solicitud',$this->monto_solicitud);

		$criteria->compare('cedula',$this->cedula);
		$criteria->compare('idunidad',$this->aunidad);
		$criteria->compare('UPPER(nombre||apellidos)',strtoupper($this->full_name), true);

		if(isset($this->id_status) && $this->id_status !=''){

            $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
            $criteria->addCondition('status.id_status_solicitud ='.$this->id_status.' AND status.actual = true');
        }

		//Filtro fechas del admin
		$from = $to = '';
                
        if (count($this->fecha_status_range)>=1) {
            
            if (isset($this->fecha_status_range['from'])) {
            
                $from = $this->fecha_status_range['from'];
            }
            
            if (isset($this->fecha_status_range['to'])) {
            
                $to= $this->fecha_status_range['to'];
            }
        }
            
        if ($from!='' || $to !='') {
            
            if ($from!='' && $to!='') {
                
                $from = date("d-m-Y", strtotime($from));
                $to = date("d-m-Y", strtotime($to));

                if(isset($this->id_status) && $this->id_status !=''){

                    $criteria->addCondition('status.fecha_registro::DATE >=\''.$from.'\' AND status.fecha_registro::DATE <=\''.$to.'\'');

                }else{

                    $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
                    $criteria->addCondition('status.actual = true AND status.fecha_registro::DATE >=\''.$from.'\' AND status.fecha_registro::DATE <=\''.$to.'\'');
                }
                
                //$criteria->compare('fecha_solicitud',">= $from",false);
                //$criteria->compare('fecha_solicitud',"<= $to",false);
                
            }else{
                
                if ($from!='') $creation_time = $from;
                if ($to != '') $creation_time = $to;
                $creation_time = date("d-m-Y", strtotime($creation_time));

                if(isset($this->id_status) && $this->id_status !=''){

                    $criteria->addCondition('status.fecha_registro::DATE =\''.$creation_time.'\'');

                }else{

                    $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
                    $criteria->addCondition('status.actual = true AND status.fecha_registro::DATE =\''.$creation_time.'\'');
                }

                //$criteria->compare('fecha_solicitud', "$creation_time" ,false);
            }
        }

        //Filtro para fecha de solicitud
        $from = $to = '';
        if (count($this->fecha_solicita_range)>=1) {
            if (isset($this->fecha_solicita_range['from'])) {
                $from = $this->fecha_solicita_range['from'];
            }
            if (isset($this->fecha_solicita_range['to'])) {
                $to= $this->fecha_solicita_range['to'];
            }
        }

        if ($from!='' || $to !='') {
            if ($from!='' && $to!='') {
                $from = date("d-m-Y", strtotime($from));
                $to = date("d-m-Y", strtotime($to));
                        
                if(isset($this->id_estatus) && $this->id_estatus !=''){

                    $criteria->addCondition('t.fecha_solicitud::DATE >=\''.$from.'\' AND t.fecha_solicitud::DATE <=\''.$to.'\'');

                }else{

                    $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
                    $criteria->addCondition('id_status_solicitud=1 AND t.fecha_solicitud::DATE >=\''.$from.'\' AND t.fecha_solicitud::DATE <=\''.$to.'\'');
                }

            }else{
                
                if ($from!='') $creation_time = $from;
                
                if ($to != '') $creation_time = $to;
                
                $creation_time = date("d-m-Y", strtotime($creation_time));

                
                if(isset($this->id_estatus) && $this->id_estatus !=''){

                    
                    $criteria->addCondition('status.fecha_registro::DATE =\''.$creation_time.'\'');

                
                }else{

                    
                    $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
                    
                    $criteria->addCondition('id_status_solicitud=1 AND status.fecha_registro::DATE =\''.$creation_time.'\'');                
                }            
            }        
        }

        $criteria->order='t.fecha_solicitud desc';
        $_SESSION['datos_mpma'] = new CActiveDataProvider($this, array('criteria'=>$criteria, 'pagination'=>false));

		return new CActiveDataProvider($this, array(
			
			'criteria'=>$criteria,
		));
	}

	public function searchAdminSocio() {

		// @todo Please modify the following code to remove attributes that should not be searched.

		$criteria=new CDbCriteria;

		$criteria->with='idAsociado';
		$criteria->condition = 'id_tiposol=:tipo';
		$criteria->params=array(':tipo'=>2);
		//var_dump($this);exit;
		if (Yii::app()->user->checkAccess('usuario_asociado') && !Yii::app()->user->checkAccess('usuario_administrador') ){
            
            $this->idasociado = Asociado::model()->find('cedula=:cedula',array(':cedula'=>CrugeUserI::model()->findByPk(Yii::app()->user->id)->cedula))->idasociado;                    
        }

		$criteria->compare('id',$this->id);
		$criteria->compare('id_asociado',$this->id_asociado);
		$criteria->compare('id_beneficiario',$this->id_beneficiario);
		$criteria->compare('fecha_solicitud',$this->fecha_solicitud);
		$criteria->compare('fecha_caducidad',$this->fecha_caducidad);
		$criteria->compare('id_tiposol',$this->id_tiposol);
		$criteria->compare('blnborrado',$this->blnborrado);
		$criteria->compare('monto_solicitud',$this->monto_solicitud);

		$criteria->compare('cedula',$this->cedula);
		$criteria->compare('UPPER(nombre)||UPPER(apellidos)',strtoupper($this->full_name), true);

		//Filtro fechas del admin
		$from = $to = '';
                
        if (count($this->fecha_solicitud_range)>=1) {
            
            if (isset($this->fecha_solicitud_range['from'])) {
            
                $from = $this->fecha_solicitud_range['from'];
            }
            
            if (isset($this->fecha_solicitud_range['to'])) {
            
                $to= $this->fecha_solicitud_range['to'];
            }
        }
            
        if ($from!='' || $to !='') {
            
            if ($from!='' && $to!='') {
                
                $from = date("d-m-Y", strtotime($from));
                $to = date("d-m-Y", strtotime($to));

                if(isset($this->id_status) && $this->id_status !=''){

                    $criteria->addCondition('status.fecha_registro::DATE >=\''.$from.'\' AND status.fecha_registro::DATE <=\''.$to.'\'');

                }else{

                    $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
                    $criteria->addCondition('status.actual = true AND status.fecha_registro::DATE >=\''.$from.'\' AND status.fecha_registro::DATE <=\''.$to.'\'');
                }
                
                //$criteria->compare('fecha_solicitud',">= $from",false);
                //$criteria->compare('fecha_solicitud',"<= $to",false);
                
            }else{
                
                if ($from!='') $creation_time = $from;
                if ($to != '') $creation_time = $to;
                $creation_time = date("d-m-Y", strtotime($creation_time));

                if(isset($this->id_status) && $this->id_status !=''){

                    $criteria->addCondition('status.fecha_registro::DATE =\''.$creation_time.'\'');

                }else{

                    $criteria->join = 'INNER JOIN montepio.status_solicitud as status ON status.id_solicitud = t.id';
                    $criteria->addCondition('status.actual = true AND status.fecha_registro::DATE =\''.$creation_time.'\'');
                }

                //$criteria->compare('fecha_solicitud', "$creation_time" ,false);
            }
        }

		
		return new CActiveDataProvider($this, array(
			
			'criteria'=>$criteria,
		));
	}

	public function visibilidadPagar($id){

		$status = StatusSolicitud::model()->find('id_solicitud=:solicitud and id_status_solicitud = 2 and actual=true', array(':solicitud'=>$id));
//echo "<pre>";print_r($status);exit;
		if (!empty($status)) {
			
			return true;
		}else{
			return false;
		}
	}

	public function checkFiles($id){

		$model = self::model()->find('id=:solicitud and blnborrado=false', array(':solicitud'=>$id));
		$status = StatusSolicitud::model()->find('id_solicitud=:solicitud and id_status_solicitud = 1 and actual=true', array(':solicitud'=>$id));

		if (!empty($model) && !empty($status)) {
			
			if ($model->id_tiposol == 1) {
				$cant_docs_total = 0;
				$cant_docs_adicionales = 3;
				$beneficiarios = SolicitudBenef::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

				if (!empty($beneficiarios)) {
					
					$cant_bnfs = count($beneficiarios);
					$cant_docs_total = $cant_bnfs + $cant_docs_adicionales;
					$docs_cargados = RecaudosMpma::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

					if (!empty($docs_cargados)) {
						
						$cant_docs_cargados = count($docs_cargados);

						if ($cant_docs_cargados < $cant_docs_total) {
							
							return false;
						
						}elseif ($cant_docs_cargados == $cant_docs_total) {
							
							return true;
						}
					}
				}

			}elseif ($model->id_tiposol == 2) {
				
				$cant_docs_total = 3;
				$docs_cargados = RecaudosMpma::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

				if (!empty($docs_cargados)) {
						
					$cant_docs_cargados = count($docs_cargados);

					if ($cant_docs_cargados < $cant_docs_total) {
							
						return false;
						
					}elseif ($cant_docs_cargados == $cant_docs_total) {
							
						return true;
					}

				}else{

					return false;
				}
			}

		}else{

			return false;
		}
	}

	public function visibilidadArchivos($id){

		$model = self::model()->find('id=:solicitud and blnborrado=false', array(':solicitud'=>$id));
		$status = StatusSolicitud::model()->find('id_solicitud=:solicitud and id_status_solicitud = 1 and actual=true', array(':solicitud'=>$id));

		if (!empty($model) && !empty($status)) {
			
			if ($model->id_tiposol == 1) {
				$cant_docs_total = 0;
				$cant_docs_adicionales = 3;
				$beneficiarios = SolicitudBenef::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

				if (!empty($beneficiarios)) {
					
					$cant_bnfs = count($beneficiarios);
					$cant_docs_total = $cant_bnfs + $cant_docs_adicionales;
					$docs_cargados = RecaudosMpma::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

					if (!empty($docs_cargados)) {
						
						$cant_docs_cargados = count($docs_cargados);

						if ($cant_docs_cargados < $cant_docs_total) {
							
							return true;
						
						}elseif ($cant_docs_cargados == $cant_docs_total) {
							
							return false;
						}
					}else{

						return true;
					}
				}

			}elseif ($model->id_tiposol == 2) {
				
				$cant_docs_total = 3;
				$docs_cargados = RecaudosMpma::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

				if (!empty($docs_cargados)) {
						
					$cant_docs_cargados = count($docs_cargados);

					if ($cant_docs_cargados < $cant_docs_total) {
							
						return true;
						
					}elseif ($cant_docs_cargados == $cant_docs_total) {
							//echo "<pre>elseif doc_cargados = docs total";exit;
						return false;
					}

				}else{

					return true;
				}
			}

		}else{
//echo "<pre>else primer if";exit;
			return false;
		}
	}

	/*public function docRestantes($id){

		$model = self::model()->find('id=:solicitud and blnborrado=false', array(':solicitud'=>$id));

		if (!empty($model)) {
			
			if ($model->id_tiposol == 1) {
				$cant_docs_total = 0;
				$cant_docs_adicionales = 3;
				$beneficiarios = SolicitudBenef::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

				if (!empty($beneficiarios)) {
					
					$cant_bnfs = count($beneficiarios);
					$cant_docs_total = $cant_bnfs + $cant_docs_adicionales;
					$docs_cargados = RecaudosMpma::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

					if (!empty($docs_cargados)) {
						
						$cant_docs_cargados = count($docs_cargados);
						$cant_docs_restantes = $cant_docs_total - $cant_docs_cargados;

						if (!empty($cant_docs_restantes)) {
							
							return true;
							
						}else{

							return false;
						}

					}else{

						return true;
					}
				}

			}elseif ($model->id_tiposol == 2) {
				
				$cant_docs_total = 3;
				$docs_cargados = RecaudosMpma::model()->findAll('id_solicitud=:solicitud AND blnborrado=false', array('solicitud'=>$model->id));

				if (!empty($docs_cargados)) {
						
					$cant_docs_cargados = count($docs_cargados);
					$cant_docs_restantes = $cant_docs_total - $cant_docs_cargados;

					if (!empty($cant_docs_restantes)) {
							
							return true;
							
						}else{

							return false;
						}

				}else{

					return true;
				}
			}
		}
//echo "<pre>else primer if";exit;
	}*/

	public function verificarAsociado(){

		if ($this->id_asociado) {
			
			$asociado = Asociado::model()->findByPk($this->id_asociado);

			if (empty($asociado)) {
				
				$this->addError('id_asociado', 'Este cédula no se encuentra registrada');
			}
		}
	}

	public function verificarMonto(){

		if ($this->monto_solicitud) {
			
			/*$aportes = AporteFondo::model()->findAll();
			$monto_disponible = 0;
			foreach ($aportes as $key => $value) {
				
				$monto_disponible = $monto_disponible + $value['aporte'];
			}

			$monto_maximo = ConfMontepio::model()->find()->monto_maximomp;*/

			$f = self::montosFondo();
			//echo "<pre>";print_r($this->monto_solicitud);echo "\n";exit;

			if (isset($f['fd']) && $f['fd'] != 0 && isset($f['mm']) && $f['mm'] != 0) {
				
				if (floatval($f['mm']) > floatval($f['fd'])) {

					if (floatval($this->monto_solicitud) > floatval($f['fd'])) {
						
						$this->addError('monto_solicitud', 'El monto asignado supera el monto disponible en el fondo!');
					}

				}elseif (floatval($f['mm']) < floatval($f['fd'])) {
					
					if (floatval($this->monto_solicitud) > floatval($f['mm'])) {
						
						$this->addError('monto_solicitud', 'El monto asignado supera el monto máximo para asignar del fondo!');
					}

				}elseif (floatval($f['mm']) == floatval($f['fd'])) {
					
					if (floatval($this->monto_solicitud) > floatval($f['mm']) || floatval($this->monto_solicitud) > floatval($f['fd'])) {
						
						$this->addError('monto_solicitud', 'El monto asignado supera el monto disponible y el monto maximo para asignar del fondo!');
					}
				}
			}
		}
	}

	public function montosFondo(){

		$config = ConfMontepio::model()->find();
            //echo "<pre>"; print_r($config);exit;
			$fondo = '';
		    $f_total = 0;
		    $t_comprometido = 0;
			$t_pagado = 0;
			$f_disponible = 0;
			$monto_maximo = 0;

            if (!empty($config->monto_maximomp)) {
            	
            	$monto_maximo = intval($config->monto_maximomp);
	            $fondo_total = AporteFondo::model()->findAll('blnborrado=FALSE AND pagado=TRUE');
	            

	            if (!empty($fondo_total)) {            	

		            for ($i=0, $rows=count($fondo_total); $i <=$rows-1; $i++) { 

		            	$f_total = floatval($f_total) + floatval($fondo_total[$i]->aporte);

		            }

		            $solicitudes = Solicitud::model()->findAll('monto_solicitud!=0');

		            if (!empty($solicitudes)) {
		            	$total_comprometido = array();
		            	$total_pagado = array();

		            	foreach ($solicitudes as $key => $value) {
		            		
		            		if ($value->id_status == 2) {
		            			
		            			array_push($total_comprometido, $value);
		            		}

		            		if ($value->id_status == 4) {
		            			
		            			array_push($total_pagado, $value);
		            		}
		            	}
		            }
			        //$total_comprometido = Solicitud::model()->findAll('monto_solicitud!=0');
			        //$total_pagado = Solicitud::model()->findAll('monto_solicitud!=0');
			        if (!empty($total_comprometido)) {

			        	for ($i=0, $comp_rows=count($total_comprometido); $i <= $comp_rows-1; $i++) { 
			        		
			        		$t_comprometido = floatval($t_comprometido) + floatval($total_comprometido[$i]->monto_solicitud);
			        	}

			        }else{

			        	$t_comprometido = 0;
			        }

			        if (!empty($total_pagado)) {
			        		
			        	for ($i=0, $pag_rows=count($total_pagado); $i <= $pag_rows-1; $i++) { 
			        		
			        	$t_pagado = floatval($t_pagado) + floatval($total_pagado[$i]->monto_solicitud);
			        	
			        	}

			        }else{

			        	$t_pagado = 0;
			        }
		            //echo "<pre>"; print_r($fondo_total); echo "\n"; print_r($f_total); echo "\n";exit;            	
	            	$f_disponible = $f_total - ($t_comprometido+$t_pagado);

	            	$fondo = array('ft'=>$f_total, 'fc'=>$t_comprometido, 'fp'=>$t_pagado, 'fd'=>$f_disponible, 'mm'=>$monto_maximo);

			       	return $fondo;
	            
	            }else{

	            	$fondo = array('ft'=>'', 'fc'=>'', 'fp'=>'', 'fd'=>'', 'mm'=>$monto_maximo, 'error'=>'Sin aportes');
	            	return $fondo;
	            }
            
            }else{

	            $fondo = array('ft'=>'', 'fc'=>'', 'fp'=>'', 'fd'=>'', 'mm'=>$monto_maximo, 'error'=>'Sin configuración');
	            return $fondo;
            }
	}

    public function getEstatus(){

        if(isset($this->id)) {
               
          	$modelEstatus=StatusSolicitud::model()->find('id_solicitud=:id AND actual=TRUE',array(':id'=>$this->id));
          	if($modelEstatus){

              	if($modelEstatus->id_status_solicitud==1)$color='#088A85';
            	else if($modelEstatus->id_status_solicitud==2)$color='#0040FF';
              	else if($modelEstatus->id_status_solicitud==3)$color='#8A0808';
              	else if($modelEstatus->id_status_solicitud==4)$color='#088A08';
              	else if($modelEstatus->id_status_solicitud==5)$color='#088A85';
              	else $color='#000000';

              	return  '<span style="color:'.$color.'">'.$modelEstatus->idStatusSolicitud->estado.'</span>';

          	}else return 'Sin Estatus';

        }else return 'Sin Estatus';
        
    }

	public function archivosCargados($id){

		$model = self::model()->findByPk($id);
		$consultas = array();
		
		//$solicitante = Beneficiario::model()->find('idbeneficiario=:beneficiario', array(':beneficiario'=>$model->id_beneficiario));
		
		if (!empty($model)) {
			
			$ad = RecaudosMpma::model()->find('id_solicitud=:solicitud AND id_tipodoc=5', array(':solicitud'=>$model->id));

			if ($model->id_tiposol==1) {
								
				$cf = RecaudosMpma::model()->find('id_solicitud=:solicitud AND id_tipodoc=3', array(':solicitud'=>$model->id));
				$hu = RecaudosMpma::model()->find('id_solicitud=:solicitud AND id_tipodoc=6', array(':solicitud'=>$model->id));

				array_push($consultas, $hu, $cf, $ad);
//echo "<pre>";print_r($consultas);exit;
				return $consultas;

			}elseif ($model->id_tiposol==2) {
				
				$ca = RecaudosMpma::model()->find('id_solicitud=:solicitud AND id_tipodoc=1', array(':solicitud'=>$model->id));
				$cf = RecaudosMpma::model()->find('id_solicitud=:solicitud AND id_tipodoc=4', array(':solicitud'=>$model->id));

				array_push($consultas, $ca, $cf, $ad);

				return $consultas;
			}
		}
	}

	public function afterFind(){

        $estatus = StatusSolicitud::model()->find('id_solicitud=:id AND actual= TRUE',array(':id'=>$this->id));
        if($estatus){
            $this->name_est = Status::model()->findByPk($estatus->id_status_solicitud)->estado;
            $this->id_status = $estatus->id_status_solicitud;
            $this->fecha_status = $estatus->fecha_registro;

            $f_sol = StatusSolicitud::model()->find('id_solicitud=:id AND id_status_solicitud IN (1,5) ',array(':id'=> $this->id));
              //echo "<pre>";print_r($f_sol);exit;

            if(!empty($f_sol->fecha_registro)){

            	$this->fecha_solicita = $f_sol->fecha_registro;

            }else{
                    
                $this->fecha_solicita = '';
            } 
        }
            
        return parent::afterFind();
    }

	/**
	 * Returns the static model of the specified AR class.
	 * Please note that you should have this exact method in all your CActiveRecord descendants!
	 * @param string $className active record class name.
	 * @return Solicitud the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
}
