<?php

/**
 * vigencia actions.
 *
 * @package    contabilidad
 * @subpackage vigencia
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class vigenciaActions extends sfAPIActions {
    /*
     * ------------VARIABLES PARA SERVICIOS CRUD
     */

    protected $id_name = null; //identificador de la tabla
    protected $id_names = array('id_vigencia'); //lave primaria
    protected $field_names = array(); //campos de la tabla, sin la llave primaria
    protected $table_name = 'CN_VIGENCIA'; //tabla en la cual se aplican los cambios
    protected $has_activo = false; //si posee campo en la tabla de nombre activo
    protected $has_vigencia = false; //si posee vigencia
    protected $has_cen_op = false; //si posee centro de operacion
    protected $has_id_cia = false; //si posee compañia
    /*
     * Manejo de registro log
     */
    protected $id_unico = 'id_vigencia'; //identificador unico de la tabla

    /**
     * servicio para obtener el ultima vigencia periodo del control cad
     *
     * @param sfWebRequest $request
     */

    public function executeDato(sfWebRequest $request) {

        //Revisar que sea post
        //$this->forward404Unless($request->isMethod('post'));
        //Guardar los parametros del request en el log
        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("--------------------------------------------------/  Ip: " . $_SERVER['REMOTE_ADDR']);
        foreach ($request->getGetParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("---END Logging request");

        /*
         * variables para filtro
         */
        $id_cia = 1;
        if (isset($request['id_cia'])) {
            $id_cia = $request['id_cia'];
        }

        //sentencia sql
        $sql = <<<EOD
select *
from CN_CONTROL_PERIODO
where ID_CIA = $id_cia
order by
ID_VIGENCIA DESC,
ID_PERIODO_CONTABLE DESC
EOD;

        //ejecuta y obtiene el resultado del sql
        $records = CN_TABLE::executeSQL($sql);

        //valida si hay resultado
        if (count($records) > 0) {
            $informe = $records[0]['id_vigencia'];
            $this->dato = $informe;
        } else {

            $this->dato = 2010;
        }


        //guardar dato en el log
        $this->logMessage('Dato de la consulta = ' . $this->dato);
    }

}
