<?php

class PlazoInvestigacion extends CActiveRecord
{
	
	public function tableName()
	{
		return 'plazo_investigacion';
	}


	public function rules()
	{
		return array(
			array('pi_correlativo_caso, pi_correlativo_relacion, pi_cas_ruc, fun_rut, pi_nombre_imputado, pi_rut_imputado, pi_nombre_victima', 'required'),
			array('fis_codigo, cod_materia, for_dias_plazo', 'numerical', 'integerOnly'=>true),
			array('pi_correlativo_caso, pi_correlativo_relacion', 'length', 'max'=>11),
			array('pi_cas_ruc, pi_nombre_imputado, pi_rut_imputado, pi_nombre_victima, for_ultima_actividad_cierre', 'length', 'max'=>100),
			array('fun_rut', 'length', 'max'=>12),
			array('for_fecha_formalizacion, for_fecha_plazo, for_fecha_ult_actividad_cierre', 'safe'),
			// The following rule is used by search().
			// @todo Please remove those attributes that should not be searched.
			array('pi_codigo, pi_correlativo_caso, pi_correlativo_relacion, pi_cas_ruc, fis_codigo, fun_rut, cod_materia, pi_nombre_imputado, pi_rut_imputado, pi_nombre_victima, for_fecha_formalizacion, for_fecha_plazo, for_fecha_ult_actividad_cierre, for_ultima_actividad_cierre, for_dias_plazo', 'safe', 'on'=>'search'),
		);
	}

	public function relations()
	{
		return array(
		);
	}

	 protected function hola($data,$row)
    {     
       $model = PlazoInvestigacion::model()->findByPk($data->pi_codigo);
       $datetime1 = new DateTime("now");
	   $datetime2 = new DateTime(date($model->for_fecha_plazo));
	   $interval = $datetime2->diff($datetime1);
		
       return  $interval->format('%a');    
    }

	public function attributeLabels()
	{
		return array(			
			'pi_codigo' => 'Pi Codigo',
			'pi_correlativo_caso' => 'Correlativo Caso',
			'pi_correlativo_relacion' => 'Pi Correlativo Relacion',
			'pi_cas_ruc' => 'Ruc',
			'fis_codigo' => 'Fiscalía',
			'fun_rut' => 'Fun Rut',
			'cod_materia' => 'Cod Materia',
			'pi_nombre_imputado' => 'Nombre Imputado',
			'pi_rut_imputado' => 'Rut Imputado',
			'pi_nombre_victima' => 'Nombre Victima',
			'for_fecha_formalizacion' => 'Fecha Formalizacion',
			'for_fecha_plazo' => 'Fecha Plazo',
			'for_fecha_ult_actividad_cierre' => 'For Fecha Ult Actividad Cierre',
			'for_ultima_actividad_cierre' => 'For Ultima Actividad Cierre',
			'for_dias_plazo' => 'Dias por vencer',
		);
	}

	public function search()
	{
		$criteria=new CDbCriteria;


		$criteria->compare('pi_codigo',$this->pi_codigo);
		$criteria->compare('pi_correlativo_caso',$this->pi_correlativo_caso,true);
		$criteria->compare('pi_correlativo_relacion',$this->pi_correlativo_relacion,true);
		$criteria->compare('pi_cas_ruc',$this->pi_cas_ruc,true);
		$criteria->compare('fis_codigo',$this->fis_codigo);
		$criteria->compare('fun_rut',$this->fun_rut,true);
		$criteria->compare('cod_materia',$this->cod_materia);
		$criteria->compare('pi_nombre_imputado',$this->pi_nombre_imputado,true);
		$criteria->compare('pi_rut_imputado',$this->pi_rut_imputado,true);
		$criteria->compare('pi_nombre_victima',$this->pi_nombre_victima,true);
		$criteria->compare('for_fecha_formalizacion',$this->for_fecha_formalizacion,true);
		$criteria->compare('for_fecha_plazo',$this->for_fecha_plazo,true);
		$criteria->compare('for_fecha_ult_actividad_cierre',$this->for_fecha_ult_actividad_cierre,true);
		$criteria->compare('for_ultima_actividad_cierre',$this->for_ultima_actividad_cierre,true);
		$criteria->compare('for_dias_plazo',$this->for_dias_plazo);

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

	public function formalizadas()
	{
		$criteria=new CDbCriteria;
		//$criteria->addCondition('pi_cas_ruc in (select distinct pi_cas_ruc From plazo_investigacion)');
		$criteria->compare('pi_cas_ruc',$this->pi_cas_ruc,true);		
		$criteria->compare('cod_materia',$this->cod_materia);
		$criteria->compare('pi_nombre_imputado',$this->pi_nombre_imputado,true);
		$criteria->compare('pi_rut_imputado',$this->pi_rut_imputado,true);
		$criteria->compare('pi_nombre_victima',$this->pi_nombre_victima,true);
		$criteria->compare('for_fecha_formalizacion',$this->for_fecha_formalizacion,true);
		$criteria->compare('for_fecha_plazo',$this->for_fecha_plazo,true);				
		$criteria->compare('for_dias_plazo',$this->for_dias_plazo);

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

	public function forma_menos()
	{
		$criteria=new CDbCriteria;
		//$criteria->addCondition('pi_cas_ruc in (select distinct pi_cas_ruc From plazo_investigacion)');
		$criteria->addCondition('TO_DAYS(for_fecha_plazo) - TO_DAYS(current_date) < 10');
		$criteria->compare('pi_cas_ruc',$this->pi_cas_ruc,true);		
		$criteria->compare('cod_materia',$this->cod_materia);
		$criteria->compare('pi_nombre_imputado',$this->pi_nombre_imputado,true);
		$criteria->compare('pi_rut_imputado',$this->pi_rut_imputado,true);
		$criteria->compare('pi_nombre_victima',$this->pi_nombre_victima,true);
		$criteria->compare('for_fecha_formalizacion',$this->for_fecha_formalizacion,true);
		$criteria->compare('for_fecha_plazo',$this->for_fecha_plazo,true);				
		$criteria->compare('for_dias_plazo',$this->for_dias_plazo);

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
	
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
}
