<?php

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

    /**
     * Executes index action
     *
     * @param sfRequest $request A request object
     */
    public function executeList(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");

        $records = array();

        /*
         * Formato de fecha
         */
        //Sql
        $sql = <<<EOD
ALTER SESSION SET NLS_DATE_FORMAT = "YYYY-MM-DD" 
EOD;
        //Ejecutar SQL
        CN_TABLE::executeSQL($sql);

        try {

            $whereParametro = "";
            if (isset($request['parametro'])) {
                $whereParametro = "and parametro = '" . $request['parametro'] . "' ";
            }


            /**
             * Validar valor tope debito - 20200611::LAVILA
             */
            //sentencia sql
            $sql = <<<EOD
SELECT
    *
FROM CA_PARAM_CARTERA

where
1 = 1                    
$whereParametro
EOD;

            //ejecuta el sql
            $result = CN_TABLE::executeSQL($sql);

            $mensaje_tope = "";

            if (count($result) == 1 && $result[0]['parametro'] == 'VALOR_TOPE_DEB') {

                $valor_tope_deb = $result[0]['valor'] * 1;

                $mensaje_tope = "NO SE PERMITE EL REGISTRO DE NOTAS DÉBITO POR VALOR MENOR A ($valor_tope_deb), EN CUMPLIMIENTO DE POLITICA CONTABLE REFERENTE A LA MATERIALIDAD.";
                $result[0]['mensaje'] = $mensaje_tope;
            }

            $this->list_data = $result;
            $this->logMessage("Total filas: " . count($result));
        } catch (Exception $e) {
            $this->status = 1;
            $this->mensajeError = "[consulta_param_cartera] Ocurrio un error: " . $e->getMessage();
            $this->list_data = array();
            $this->logMessage("[consulta_param_cartera] ERROR!");
            $this->logMessage($e->getMessage());
        }
    }

}
