<?php

/**
 * This is the model class for table "usuario".
 *
 * The followings are the available columns in table 'usuario':
 * @property integer $id_usuario
 * @property string $tipo
 * @property string $usuario
 * @property string $contrasena
 */
class MUsuario extends CActiveRecord
{
 public $fecha_ingreso;
	/**
	 * Returns the static model of the specified AR class.
	 * @param string $className active record class name.
	 * @return MUsuario the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'usuario';
	}

	/**
	 * @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('usuario, contrasena', 'required', 'on' => 'inicio'),
                    array('usuario, contrasena,fecha_ingreso', 'required', 'on' => 'cambiarclave'),
                    array('fecha_ingreso', 'verificar', 'on' => 'cambiarclave'),
			array('tipo, usuario, contrasena', 'length', 'max'=>45),
			// The following rule is used by search().
			// Please remove those attributes that should not be searched.
			array('id_usuario, tipo, usuario, contrasena,fecha_ingreso', 'safe', 'on'=>'search'),
		);
	}
          public function Obtener_periodo_actual()
	{
                 
            $ano_actual=date('Y');
            $select="select to_char(to_number(max(s.codperi),'099'),'099') as codigo_periodo 
                 from 
                 public.sno_hpersonalnomina s, 
                 public.sno_personal t, 
                 public.sno_hperiodo per
                 where t.cedper='".$this->usuario."' and  s.codper = t.codper
                 and per.codnom in('0001','0002','0003','0004','0005','0006','0007','0008','0009','0010')
                 and s.codnom= per.codnom
                 and (current_date - per.fecdesper) <=31 and s.anocur='".$ano_actual."' 
                 and s.staper='1' ;";
            
             $con=Yii::app()->rcm_2018->createCommand($select);
             $datareader=$con->queryRow();
		
		return  trim($datareader['codigo_periodo']);
			
	}
        public function verificar($attribute,$params)
{
            
            $select="SELECT  
                       
                        p.cedper as usuario, 
                        p.nomper AS nombre, 
                         p.apeper AS apellido,
                       
                        p.sexper as sexo,
                        p.fecingper as fecha_ingreso,
                        p.fecegrper as fecha_egreso,
                        p.fecjubper as fecha_jubilacion
                       
FROM
                        
                        public.sno_personal p
                       

WHERE
                       
                        
                        p.cedper = '".$this->usuario."' 
                         ;";
            
            
//             $select="SELECT  
//                        pn.codper, 
//                        p.cedper as usuario, 
//                        p.nomper AS nombre, 
//                         p.apeper AS apellido,
//                        to_number( pn.codper, '99999999999') AS cedula,
//                        p.sexper as sexo,
//                        p.fecingper as fecha_ingreso,
//                        p.fecegrper as fecha_egreso,
//                        p.fecjubper as fecha_jubilacion,
//                        hc.descar AS cargo,
//                        u.desuniadm AS unidad_administrativa,
//                        tp.dentippersss AS condicion_trabajador,
//                        pn.codcueban AS cuenta_bancaria
//FROM
//                        public.sno_hpersonalnomina pn, 
//                        public.sno_personal p, 
//                        public.sno_tipopersonalsss tp, 
//                        public.sno_hresumen r, 
//                        public.sno_hunidadadmin u, 
//                        public.sno_hcargo hc, 
//                        public.sno_hasignacioncargo hrac, 
//                        public.sno_hperiodo hp 
//
//WHERE
//                        pn.codemp = u.codemp  AND
//                        pn.anocur = u.anocur AND
//                        pn.codperi= u.codperi AND
//                        pn.codnom = u.codnom AND
//                        pn.minorguniadm = u.minorguniadm AND
//                        pn.ofiuniadm = u.ofiuniadm AND
//                        pn.uniuniadm = u.uniuniadm AND
//                        pn.depuniadm = u.depuniadm AND
//                        pn.prouniadm = u.prouniadm AND
//                        pn.codemp = hc.codemp AND
//                        pn.codnom = hc.codnom AND
//                        pn.anocur = hc.anocur AND
//                        pn.codcar = hc.codcar AND
//                        pn.codperi = hc.codperi AND
//                        pn.codnom = hrac.codnom AND
//                        pn.anocur = hrac.anocur AND
//                        pn.codasicar = hrac.codasicar AND
//                        pn.codperi = hrac.codperi AND
//                        pn.codemp = hrac.codemp AND
//                        pn.codemp = hp.codemp AND
//                        pn.codnom = hp.codnom AND
//                        pn.anocur = hp.anocur AND
//                        pn.codperi = hp.codperi AND
//                        p.codemp= pn.codemp AND
//                        p.codper= pn.codper AND
//                        tp.codemp= p.codemp AND
//                        tp.codtippersss = p.codtippersss AND
//                        r.codemp = pn.codemp AND
//                        r.codnom = pn.codnom AND
//                        r.anocur = pn.anocur AND
//                        r.codperi = pn.codperi AND
//                        r.codper = pn.codper AND
//                        hp.codnom in('0001','0002','0003','0004','0005','0006','0007','0008','0009') and
//                        p.cedper = '".$this->usuario."' AND 
//                        pn.codperi= '".$this->Obtener_periodo_actual()."';" ;
                        $con=Yii::app()->tves_2018->createCommand($select);
                        $data=$con->queryRow();
                           $fecha_m = explode("-", $data['fecha_ingreso']);
$dia_m =$fecha_m[2];
$mes_m =$fecha_m[1];
$anio_m=$fecha_m[0];
$fecha= $dia_m.'/'.$mes_m.'/'.$anio_m; 
                        
            if($this->fecha_ingreso!=$fecha){
              $this->addError($attribute, 'Fecha de Ingreso Incorrecta');  
            }
   
}

	/**
	 * @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(
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'id_usuario' => 'Id Usuario',
			'tipo' => 'Tipo',
			'usuario' => 'Cédula',
			'contrasena' => 'Contraseña',
                    'fecha_ingreso' => 'Fecha de Ingreso',
		);
	}

	/**
	 * Retrieves a list of models based on the current search/filter conditions.
	 * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
	 */
	public function search()
	{
		// Warning: Please modify the following code to remove attributes that
		// should not be searched.

		$criteria=new CDbCriteria;

		$criteria->compare('id_usuario',$this->id_usuario);
		$criteria->compare('tipo',$this->tipo,true);
		$criteria->compare('usuario',$this->usuario,true);
		$criteria->compare('contrasena',$this->contrasena,true);

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
         public function validate_nomina($cedula)
    {
     if($cedula!=""){
      $sentencia1="SELECT n.codnom, n.desnom,pn.cauegrper,pn.staper from  sno_personalnomina pn inner join sno_nomina n
on pn.codnom=n.codnom where pn.staper = '1' and  pn.codper like '%".$cedula."' and n.codnom  BETWEEN '0001' AND '005' order by codnom desc";
    //cambio
      $usuarios=Yii::app()->tves_2018->createCommand($sentencia1);
      $dataReader=$usuarios->query();
      $row=$usuarios->queryRow(); 
      return $row;
      //var_dump($row);


//       if ($row == null) {
//          $this->addError($att, 'no estas en nomina');
//          return;
//            }
     

     } 
     
    }
      public function validate_sistema($cedula)
    {
    $row = MUsuario::model()->find('usuario=:usuario',
                        array(
                          ':usuario'=>$cedula,

                        ));
          
      return $row;
      
     

     
     
    }
}
