<?php

/**
 * mov_dia_aux actions.
 *
 * @package    contab2
 * @subpackage mov_dia_aux
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class mov_dia_auxActions extends sfActions {

    /**
     * Executes index action
     *
     * @param sfRequest $request A request object
     */
    public function executeIndex(sfWebRequest $request) {
        $this->forward('default', 'module');
    }

    /*
     * servicio para informe creado en php
     */

    public function executeListopt(sfWebRequest $request) {

//Guardar los parametros del request en el log
        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getGetParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("---END Logging request");


        /*
         * Variables globales
         */
        $modulo = sfConfig::get('app_modulo');
        $usuarioERP = sfConfig::get('app_usuarioERP');
        $claveERP = sfConfig::get('app_claveERP');
        $usuarioERPContab = sfConfig::get('app_usuarioERPContab');
        $claveERPContab = sfConfig::get('app_claveERPContab');


        /*
         * variables por defecto para el registro de log
         */
        $id_tabla = 'null';

        //validar vigencia
        $id_vigencia = 'null';
        if (isset($request['id_vigencia'])) {
            $id_vigencia = $request['id_vigencia'];
        }

        //validar centro de operacion
        $id_cen_op = 'null';
        if (isset($request['id_cen_op'])) {
            $id_cen_op = $request['id_cen_op'];
        }

        $id_cia = 'null';
        if (isset($request['id_cia'])) {
            $id_cia = $request['id_cia'];
        }

        //id maestro tabla - para consulta informes no es necesario
        $id_mae_bd = 'null';

        //1 - indica operacion de consulta
        $id_ope_bd = 1;

        //id del maestro tercero
        $id_mae_ter = 1;
        if (isset($request['id_username'])) {
            $id_mae_ter = $request['id_username'];
        }
        $usuario = 'admin';
        if (isset($request['username'])) {
            if (!is_null($request['username']) && $request['username'] != '') {
                $usuario = $request['username'];
            }
        }
        $comando = 'sin comando';
        if (isset($request['comando'])) {
            $comando = $request['comando'];
        }

        /*
         * construir observacion
         */
        $informe = 'sin especificar';

        //sentencia sql
        $sql = <<<EOD
select * from CREDENCIAL
where ID_MOD = $modulo
and comando = '$comando'
EOD;

        //ejecuta y obtiene el resultado del sql
        $resultado = CN_TABLE::executeOCI_SQL_List($sql, $usuarioERP, $claveERP);

        if (count($resultado) > 0) {
            $informe = $resultado[0]['NOMBRE'];
        }


        //observacion para el log
        $observacion = "'Se consulto informe: " . $informe . " desde la funcionalidad: " . $comando . "'";



        /*
         * registro de consulta en tabla de log
         */
        $sql = CN_TABLE::registroTableLog($id_tabla, $id_vigencia, $id_cen_op, $id_cia, $id_mae_bd, $id_ope_bd, $id_mae_ter, $usuario, $comando, $observacion);



//filtros obligatorios
        $this->cia = $request['id_cia'];
        $this->cen_op = $request['id_cen_op'];
        $this->vig_perIni = $request['vig_perIni'];
        $this->vig_perFin = $request['vig_perFin'];
//Periodo-vigencia
        $this->vig_ini = $request['vig_ini'];
        $this->per_ini = $request['per_ini'];
        $this->vig_fin = $request['vig_fin'];
        $this->per_fin = $request['per_fin'];

        $this->type = "html";
        if (isset($request["type"])) {
            $this->type = $request["type"];
        }

        if (isset($request['id_clase_cuenta_ini']) && isset($request['id_clase_cuenta_fin'])) {
            $this->whereClase = 'and ( id_clase_cuenta between ' . $request['id_clase_cuenta_ini'] . ' and ' . $request['id_clase_cuenta_fin'] . ' or id_clase_cuenta is null ) ';
        } else {
            $this->whereClase = ' ';
        }

        if (isset($request['id_grupo_cuenta_ini']) && isset($request['id_grupo_cuenta_fin'])) {

            $this->whereGrupo = 'and ( id_grupo_cuenta between ' . $request['id_grupo_cuenta_ini'] . ' and ' . $request['id_grupo_cuenta_fin'] . ' or id_grupo_cuenta is null ) ';
        } else {
            $this->whereGrupo = ' ';
        }

        if (isset($request['id_cuenta_mayor_ini']) && isset($request['id_cuenta_mayor_fin'])) {

            $this->whereCuenta = 'and  ( id_cuenta_mayor between ' . $request['id_cuenta_mayor_ini'] . ' and ' . $request['id_cuenta_mayor_fin'] . ' or id_cuenta_mayor is null ) ';
        } else {
            $this->whereCuenta = ' ';
        }

        if (isset($request['id_catalogo_ini']) && isset($request['id_catalogo_fin'])) {
            $this->whereCatalogo = 'and  ( id_catalogo between ' . $request['id_catalogo_ini'] . ' and ' . $request['id_catalogo_fin'] . ' or id_catalogo is null ) ';
        } else {
            $this->whereCatalogo = ' ';
        }

        if (isset($request['id_auxiliar'])) {
            $this->whereAuxiliar = 'and  ( id_auxiliar = ' . $request['id_auxiliar'] . ' ) ';
        } else {
            $this->whereAuxiliar = ' ';
        }

        if (isset($request['id_mae_ter'])) {
            $this->whereTercero = 'and  ( id_mae_ter = ' . $request['id_mae_ter'] . ' ) ';
        } else {
            $this->whereTercero = ' ';
        }


        if (isset($request['fecha_cad'])) {

//            $this->whereFechaOne = 'and  ( fecha_cad = ' . $request['fecha_cad'] . ' ) ';
            $this->whereFechaOne = ' ';
            $this->fechaOne = $request['fecha_cad'];
        } else {
            $this->whereFechaOne = ' ';
            $this->fechaOne = null;
        }

        if (isset($request['valor'])) {
            $this->whereValor = ' AND ( lib.DEBITO = ' . $request['valor'] . ' or lib.CREDITO = ' . $request['valor'] . ' ) ';
        } else {
            $this->whereValor = ' ';
        }


//        echo $request['di_ini'] . ' - '.$request['di_fin']; 
//        die();

        if (isset($request['di_ini']) && isset($request['di_fin'])) {
            $this->fecha_ini = $request['di_ini'];
            $this->fecha_fin = $request['di_fin'];
//$this->whereFecha = "'"and ( fecha_cad between \'' . $request['di_ini'] . '\' and \'' . $request['di_fin'] . '\' ) ;
            //$this->whereFecha = "and fecha_cad between '" . $request['di_ini'] . "' and '" . $request['di_fin'] . "'";
            //$this->whereFecha = "and fecha_cad between '$fecha_ini' and '$fecha_fin'";
//            echo $this->whereFecha;
//            die();
            $this->whereFecha = ' ';
        } else {
            $this->fecha_ini = null;
            $this->fecha_fin = null;
            $this->whereFecha = ' ';
        }
    }

}
