<?php

/**
 * This is the model class for entrada de datos para reportes (filtrado)".
 *
 * The followings are the available columns in table 'contable.vsw_detalle_analitico':
 *
 * @property int    $id_cuenta
 * @property string $descripcion
 * @property bool   $valido
 * @property string $cuenta
 * @property string $codigo_cuenta
 * @property string $naturaleza
 * @property int    $titulo_mov
 * @property int    $nivel
 * @property int    $grupo_cuenta
 * @property string $referencia
 * @property int    $id_referencia
 * @property int    $digitos_padre
 * @property int    $digitos
 * @property int    $id_cmp
 * @property int    $clv_comprobante
 * @property string $clv_auxiliar
 * @property string $c_c
 * @property string $monto_debe
 * @property string $monto_haber
 * @property string $fecha_creado
 * @property string $hora_create
 * @property int    $estatus_contab
 */
class ReportesContables extends CFormModel
{
    public $cuenta_desde = '';
    public $cuenta_hasta = '';
    public $fecha_desde = '';
    public $fecha_hasta = '';
    public $nivel = 1;
    public $grupo_cuenta = 1;
    public $sin_ceros = false;
    public $cuentamov;
    public $id_cuenta_desde;
    public $id_cuenta_hasta;
    public $trimestre = 1;
    public $anyo = 0;
    public $naturaleza = 0;
    public $titulo_mov = 0;
    public $excluir_movimiento_cierre = false;
    public $formato = true;

    public function relations()
    {
        return [
            'cuentamov' => [self::BELONGS_TO, 'CuentasConsolidada', 'cuenta_desde'],
        ];
    }

    public function rules()
    {
        return [
            [
                [
                    'id_cuenta_desde',
                    'id_cuenta_hasta',
                    'nivel',
                    'sin_ceros',
                    'fecha_desde',
                    'fecha_hasta',
                    'nivel',
                    'sin_ceros',
                    'trimestre',
                    'anyo',
                    'grupo_cuenta',
                    'excluir_movimiento_cierre',
                    'formato',
                ],
                'safe',
            ],
        ];
    }

    public function attributeLabels()
    {
        return [
            'sin_ceros' => 'No mostrar cuentas sin movimiento',
            'excluir_movimiento_cierre' => 'Excluir asiento de cierre',
            'id_cuenta_desde' => 'Cuenta desde',
            'id_cuenta_desde' => 'Cuenta desde',
            'id_cuenta_hasta' => 'Cuenta hasta',
            'fecha_desde' => 'Fecha desde',
            'fecha_hasta' => 'Fecha hasta',
            'formato' => 'Formato de descarga',
        ];
    }

    public function isYearly()
    {
        return $this->trimestre == 5;
    }
}
