<?php

class VigentesActividad extends CActiveRecord
{
	public function tableName()
	{
		return 'vigentes_actividad';
	}

	public function rules()
	{
		return array(
			array('fun_rut, act_vig_ruc, act_vig_descripcion, act_vig_formalizado, act_vig_pp, est_caso', 'required'),
			array('fis_codigo, cod_materia, act_vig_dias_tramitacion, act_vig_dias, act_vig_nro_dias_trans', 'numerical', 'integerOnly'=>true),
			array('fun_rut', 'length', 'max'=>12),
			array('act_vig_ruc, act_vig_descripcion, est_caso', 'length', 'max'=>100),
			array('act_vig_rif, act_vig_formalizado, act_vig_pp', 'length', 'max'=>50),
			array('act_vig_fecha_recep, act_vig_fecha_ult_tramitacion, act_vig_fecha_delito', 'safe'),
			array('act_vig_codigo, fis_codigo, fun_rut, act_vig_ruc, act_vig_rif, cod_materia, act_vig_fecha_recep, act_vig_dias_tramitacion, act_vig_fecha_ult_tramitacion, act_vig_dias, act_vig_descripcion, act_vig_formalizado, act_vig_pp, act_vig_fecha_delito, act_vig_nro_dias_trans, est_caso', 'safe', 'on'=>'search'),
		);
	}

	public function relations()
	{
		return array(
			'delito'=>array(self::BELONGS_TO, 'Delito', 'cod_materia'),
		);
	}

	public function attributeLabels()
	{
		return array(
			'act_vig_codigo' => 'Act Vig Codigo',
			'fis_codigo' => 'Fiscalía',
			'fun_rut' => 'Fiscal',
			'act_vig_ruc' => 'Ruc',
			'act_vig_rif' => 'Act Vig Rif',
			'cod_materia' => 'Delito',
			'act_vig_fecha_recep' => 'Act Vig Fecha Recep',
			'act_vig_dias_tramitacion' => 'Act Vig Dias Tramitacion',
			'act_vig_fecha_ult_tramitacion' => 'Act Vig Fecha Ult Tramitacion',
			'act_vig_dias' => 'Numero de días',
			'act_vig_descripcion' => 'Actividad',
			'act_vig_formalizado' => 'Act Vig Formalizado',
			'act_vig_pp' => 'Act Vig Pp',
			'act_vig_fecha_delito' => 'Act Vig Fecha Delito',
			'act_vig_nro_dias_trans' => 'Act Vig Nro Dias Trans',
			'est_caso' => 'Est Caso',
		);
	}

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

		$criteria->compare('act_vig_codigo',$this->act_vig_codigo);
		$criteria->addCondition('act_vig_dias>=15');
		$criteria->compare('fis_codigo',$this->fis_codigo);
		$criteria->compare('fun_rut',$this->fun_rut,true);
		$criteria->compare('act_vig_ruc',$this->act_vig_ruc,true);
		$criteria->compare('act_vig_rif',$this->act_vig_rif,true);
		$criteria->compare('cod_materia',$this->cod_materia);
		$criteria->compare('act_vig_fecha_recep',$this->act_vig_fecha_recep,true);
		$criteria->compare('act_vig_dias_tramitacion',$this->act_vig_dias_tramitacion);
		$criteria->compare('act_vig_fecha_ult_tramitacion',$this->act_vig_fecha_ult_tramitacion,true);
		$criteria->compare('act_vig_dias',$this->act_vig_dias);
		$criteria->compare('act_vig_descripcion',$this->act_vig_descripcion,true);
		$criteria->compare('act_vig_formalizado',$this->act_vig_formalizado,true);
		$criteria->compare('act_vig_pp',$this->act_vig_pp,true);
		$criteria->compare('act_vig_fecha_delito',$this->act_vig_fecha_delito,true);
		$criteria->compare('act_vig_nro_dias_trans',$this->act_vig_nro_dias_trans);
		$criteria->compare('est_caso',$this->est_caso,true);

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

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

		$criteria->compare('act_vig_codigo',$this->act_vig_codigo);
		$criteria->addCondition('DATE_ADD(act_vig_fecha_recep, INTERVAL 18 month) < curdate()');		
		$criteria->compare('act_vig_ruc',$this->act_vig_ruc,true);		
		$criteria->compare('cod_materia',$this->cod_materia);		
		$criteria->compare('act_vig_dias',$this->act_vig_dias);
		$criteria->compare('act_vig_descripcion',$this->act_vig_descripcion,true);
		$criteria->compare('act_vig_formalizado',$this->act_vig_formalizado,true);		
		$criteria->compare('act_vig_fecha_delito',$this->act_vig_fecha_delito,true);
		$criteria->compare('act_vig_nro_dias_trans',$this->act_vig_nro_dias_trans);
		$criteria->compare('est_caso',$this->est_caso,true);

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

	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
}
