<?php

class FechamentosEvolucaoClientes extends GxActiveRecord
{
    public $tipos = array(
        'GRUPO' => 'Grupo',
        'UNIDADE' => 'Unidade de Negócios'
    );

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

    public function behaviors()
    {
        return array('datetimeI18NBehavior' => array('class' => 'ext.DateTimeI18NBehavior'));
    }

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

    public function rules()
    {
        return array(
            array('FEC_TIPO, FEC_VALOR, FEC_DATA', 'required'),
            array('FEC_IDREVENDA', 'safe'),
        );
    }

    public function relations()
    {
        return array(
            'Revenda' => array(self::BELONGS_TO, 'Revendas', 'FEC_IDREVENDA', 'joinType' => 'LEFT JOIN'),
        );
    }

    public function attributeLabels()
    {
        return array(
            'FEC_ID'        => 'Código',
            'FEC_TIPO'      => 'Tipo',
            'FEC_IDREVENDA' => 'Unidade de Negócios',
            'FEC_VALOR'     => 'Número de Clientes',
            'FEC_DATA'      => 'Data',
        );
    }

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

        $sort = new CSort;
        $sort->attributes = array(
            '*',
            'Revenda' => array(
                'asc'=>'Revenda.REV_FANTASIA',
                'desc'=>'Revenda.REV_FANTASIA desc'
            ),
        );
        $sort->defaultOrder = "FEC_DATA DESC";

        return new CActiveDataProvider($this, array(
            'criteria' => $criteria,
            'sort' => $sort,
            'pagination' => array(
                'pageSize' => 50,
            )
        ));
    }

    public function getTipo($tipo = false)
    {
        $tipo = (!$tipo) ? $this->FEC_TIPO : $tipo;
        if (in_array($tipo, array_keys($this->tipos))) {
            return $this->tipos[$tipo];
        }
        return "-";
    }
}
