<?php

class Compromiso extends CActiveRecord
{
	public $com_detalle2;
	public $com_fecha_plazo2;
	public $fun_rut2;
	public $com_detalle3;
	public $com_fecha_plazo3;
	public $fun_rut3;
	public $com_detalle4;
	public $com_fecha_plazo4;
	public $fun_rut4;
	public $com_detalle5;
	public $com_fecha_plazo5;
	public $fun_rut5;
	public $com_detalle6;
	public $com_fecha_plazo6;
	public $fun_rut6;
	public $com_detalle7;
	public $com_fecha_plazo7;
	public $fun_rut7;
	public $com_detalle8;
	public $com_fecha_plazo8;
	public $fun_rut8;
	public $com_detalle9;
	public $com_fecha_plazo9;
	public $fun_rut9;
	public $com_detalle10;
	public $com_fecha_plazo10;
	public $fun_rut10;

	public function tableName()
	{
		return 'compromiso';
	}

	public function rules()
	{
		return array(
			array('min_codigo', 'numerical', 'integerOnly'=>true),
			array('com_detalle', 'length', 'max'=>1000),
			array('com_estado', 'length', 'max'=>500),
			array('fun_rut', 'length', 'max'=>12),
			array('com_fecha_registro, com_fecha_plazo, com_fecha_termino', 'safe'),
			array('com_codigo, com_detalle, com_estado, com_fecha_registro, com_fecha_plazo, com_fecha_termino, min_codigo, fun_rut', 'safe', 'on'=>'search'),
		);
	}

	public function relations()
	{
		return array(
			'funcionario' => array(self::BELONGS_TO, 'funcionario', 'fun_rut'),
		);
	}

	public function attributeLabels()
	{
		return array(
			'com_codigo' => 'Com Codigo',
			'com_detalle' => 'Compromiso',
			'com_estado' => 'Estado',
			'com_fecha_registro' => 'Fecha Registro',
			'com_fecha_plazo' => 'Fecha Plazo',
			'com_fecha_termino' => 'Fecha Termino',
			'min_codigo' => 'Minuta',
			'fun_rut' => 'Responsable',
		);
	}

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

		$criteria->compare('com_codigo',$this->com_codigo);
		$criteria->compare('com_detalle',$this->com_detalle,true);
		$criteria->compare('com_estado',$this->com_estado,true);
		$criteria->compare('com_fecha_registro',$this->com_fecha_registro,true);
		$criteria->compare('com_fecha_plazo',$this->com_fecha_plazo,true);
		$criteria->compare('com_fecha_termino',$this->com_fecha_termino,true);
		$criteria->compare('min_codigo',$this->min_codigo);
		$criteria->compare('fun_rut',$this->fun_rut,true);

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

	public function buscar()
	{	
		$criteria=new CDbCriteria;
	    $criteria->addcondition('min_codigo in (select a.min_codigo from minuta as a where a.min_estado="Publicado")');
		$criteria->compare('com_codigo',$this->com_codigo);
		$criteria->compare('com_detalle',$this->com_detalle,true);
		$criteria->compare('com_estado',$this->com_estado,true);
		$criteria->compare('com_fecha_registro',$this->com_fecha_registro,true);
		$criteria->compare('com_fecha_plazo',$this->com_fecha_plazo,true);
		$criteria->compare('com_fecha_termino',$this->com_fecha_termino,true);
		$criteria->compare('min_codigo',$this->min_codigo);
		$criteria->compare('fun_rut',$this->fun_rut,true);

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

	public function getDbConnection()
	{
		return Yii::app()->db_minuta;
	}

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