Example #1
0
 function procesarFormulario()
 {
     //Aquí va la lógica de procesamiento
     $conexion = 'estructura';
     $primerRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
     $datos = array('nombre' => $_REQUEST['nombre'], 'descripcion' => $_REQUEST['descripcion'], 'tipo_nomina' => $_REQUEST['tipo_nomina'], 'fecha_inicio' => $_REQUEST['fecha_inicio'], 'fecha_fin' => $_REQUEST['fecha_fin'], 'usuario' => '6666');
     $atributos['cadena_sql'] = $this->miSql->getCadenaSql("insertarPreliquidacion", $datos);
     //echo "SQL: ".$atributos ['cadena_sql'];
     $resultado = $primerRecursoDB->ejecutarAcceso($atributos['cadena_sql'], "acceso");
     //Al final se ejecuta la redirección la cual pasará el control a otra página
     if (!empty($resultado)) {
         $atributos['cadena_sql'] = $this->miSql->getCadenaSql("generarFormulaNomina", $_REQUEST['tipo_nomina']);
         $result = $primerRecursoDB->ejecutarAcceso($atributos['cadena_sql'], "busqueda");
         echo "cadena " . $atributos['cadena_sql'] . "<br>";
         $nomina = $result[0]['formula'];
         echo "nomina " . $nomina . "<br>";
         $interprete = new Interprete($this->lenguaje, $this->miSql, $primerRecursoDB);
         $arbol = $interprete->generarArbol($nomina);
         if ($arbol != null) {
             $interprete->evaluarArbol($arbol, array('tipo_vinculacion' => $_REQUEST['tipo_vinculacion'], 'preliquidacion' => $resultado));
             Redireccionador::redireccionar('inserto', $datos);
             exit;
         }
         Redireccionador::redireccionar('noInserto', $atributos['cadena_sql']);
         exit;
     } else {
         Redireccionador::redireccionar('noInserto', $atributos['cadena_sql']);
         exit;
     }
 }
 function procesarFormulario()
 {
     //Aquí va la lógica de procesamiento
     $conexion = 'estructura';
     $primerRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
     //***************************VALIDAR Formula*****************************************************************
     //-------------------------- Seccion Validar Formula ------------------------------------------------
     //-------------------------------------------------------------------------------------------------------
     $_entradaFormulaCompilador = $_REQUEST['formulaConcepto'];
     $_resultadoInterprete = Interprete::evaluarSentencia($_entradaFormulaCompilador);
     if ($_resultadoInterprete == "true") {
         //Ejecutar sentencias de almacenamiento si ha sido validada la sintaxis de la formula
         //----------------------------------------------------------------------------------------------------------
         //------------------------ Codigo A Ejecutar Una Vez VALIDADA la Formula -----------------------------------
         if (isset($_REQUEST['naturalezaInfoConcepto'])) {
             switch ($_REQUEST['naturalezaInfoConcepto']) {
                 case 1:
                     $_REQUEST['naturalezaInfoConcepto'] = 'Devenga';
                     break;
                 case 2:
                     $_REQUEST['naturalezaInfoConcepto'] = 'Deduce';
                     break;
             }
         }
         $datosConcepto = array('nombre' => $_REQUEST['nombreInfoConcepto'], 'simbolo' => $_REQUEST['simboloInfoConcepto'], 'categoria' => $_REQUEST['categoriaInfoConcepto'], 'naturaleza' => $_REQUEST['naturalezaInfoConcepto'], 'descripcion' => $_REQUEST['descripcionInfoConcepto'], 'formula' => $_REQUEST['formulaConcepto']);
         $cadenaSql = $this->miSql->getCadenaSql("insertarConcepto", $datosConcepto);
         $id_concepto = $primerRecursoDB->ejecutarAcceso($cadenaSql, "busqueda", $datosConcepto, "insertarConcepto");
         $arrayLeyes = explode(",", $_REQUEST['leyRegistrosInfoConcepto']);
         $count = 0;
         while ($count < count($arrayLeyes)) {
             $datosLeyesConcepto = array('fk_id_ley' => $arrayLeyes[$count], 'fk_concepto' => $id_concepto[0][0]);
             $cadenaSql = $this->miSql->getCadenaSql("insertarLeyesConcepto", $datosLeyesConcepto);
             $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
             //********************************
             $count++;
         }
         //---------------------------------------------------------------------------------------------------------
         //---------------------------------------------------------------------------------------------------------
         //*********************************************************************************
     } else {
         $datosConcepto = array('nombre' => $_REQUEST['nombreInfoConcepto'], 'simbolo' => $_REQUEST['simboloInfoConcepto'], 'categoria' => $_REQUEST['categoriaInfoConcepto'], 'naturaleza' => $_REQUEST['naturalezaInfoConcepto'], 'descripcion' => $_REQUEST['descripcionInfoConcepto'], 'formula' => $_REQUEST['formulaConcepto'], 'error' => $_resultadoInterprete, 'refError' => "En el Campo Fórmula, ");
         Redireccionador::redireccionar('noInserto', $datosConcepto);
         exit;
     }
     //***************************VALIDAR Condiciones*************************************************************
     // ---------------- INICIO: Lista Variables Control--------------------------------------------------------
     $cantidadCondiciones = $_REQUEST['cantidadCondicionesConcepto'];
     // ---------------- FIN: Lista Variables Control--------------------------------------------------------
     // --------------------------------- n Condiciones ----------------------------------
     $count = 0;
     $control = 0;
     $limite = 0;
     $arrayPartCondicion = explode(",", $_REQUEST['variablesRegistros']);
     while ($control < $cantidadCondiciones) {
         $arrayCondiciones[$control] = 'Si(' . $arrayPartCondicion[$limite++] . ') Entonces{' . $arrayPartCondicion[$limite++] . '}';
         $control++;
     }
     while ($count < $cantidadCondiciones) {
         //-------------------------- Seccion Validar Condiciones ------------------------------------------------
         //Formato:
         //					Si(condiciones) Entonces{Accion}
         //-------------------------------------------------------------------------------------------------------
         $_entradaCondicionCompilador = $arrayCondiciones[$count];
         $_resultadoInterprete = Interprete::evaluarSentencia($_entradaCondicionCompilador);
         if ($_resultadoInterprete == "true") {
             //Ejecutar sentencias de almacenamiento si ha sido validada la sintaxis de la condicion
             //----------------------------------------------------------------------------------------------------------
             //------------------------ Codigo A Ejecutar Una Vez VALIDADA la Condicion -----------------------------------
             $datosCondicion = array('cadena' => $arrayCondiciones[$count], 'fk_concepto' => $id_concepto[0][0]);
             $cadenaSql = $this->miSql->getCadenaSql("insertarCondicion", $datosCondicion);
             $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
             //********************************
             //-------------------------------------------------------------------------------------------------------
         } else {
             $ident = $count + 1;
             $datosConcepto = array('nombre' => $_REQUEST['nombreInfoConcepto'], 'simbolo' => $_REQUEST['simboloInfoConcepto'], 'categoria' => $_REQUEST['categoriaInfoConcepto'], 'naturaleza' => $_REQUEST['naturalezaInfoConcepto'], 'descripcion' => $_REQUEST['descripcionInfoConcepto'], 'formula' => $_REQUEST['formulaConcepto'], 'error' => $_resultadoInterprete, 'refError' => "En la Condición #" . $ident . ", ");
             Redireccionador::redireccionar('noInserto', $datosConcepto);
             exit;
         }
         $count++;
     }
     if (!empty($id_concepto)) {
         Redireccionador::redireccionar('inserto', $datosConcepto);
         exit;
     } else {
         Redireccionador::redireccionar('noInserto', $datosConcepto);
         exit;
     }
 }
Example #3
0
 function procesarFormulario()
 {
     //Aquí va la lógica de procesamiento
     $conexion = 'estructura';
     $primerRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
     //***************************VALIDAR Formula*****************************************************************
     //-------------------------- Seccion Validar Formula ------------------------------------------------
     //-------------------------------------------------------------------------------------------------------
     $_entradaFormulaCompilador = $_REQUEST['formulaConcepto'];
     //        Interprete::evaluarSentencia($_entradaFormulaCompilador);
     $interprete = new Interprete();
     //    $sentencia = 'IVAAA+((2+3)*RESRD)/+4-5';
     $ingresomod = 0;
     $aceptado = $interprete->evaluarSentencia($_entradaFormulaCompilador);
     if ($aceptado == "true") {
         $ingresomod = 1;
         if (isset($_REQUEST['naturalezaCon'])) {
             switch ($_REQUEST['naturalezaCon']) {
                 case 1:
                     $_REQUEST['naturalezaCon'] = 'Devenga';
                     break;
                 case 2:
                     $_REQUEST['naturalezaCon'] = 'Deduce';
                     break;
             }
         }
         $datosConcepto = array('nombre' => $_REQUEST['nombreCon'], 'tipo_novedad' => $_REQUEST['tipoNovedadCon'], 'simbolo' => $_REQUEST['simboloCon'], 'categoria' => $_REQUEST['categoriaNovedadCon'], 'naturaleza' => $_REQUEST['naturalezaCon'], 'descripcion' => $_REQUEST['descripcionCon'], 'formula' => $_REQUEST['formulaConcepto'], 'codigo' => $_REQUEST['variable']);
         $cadenaSql = $this->miSql->getCadenaSql("modificarConcepto", $datosConcepto);
         $id_concepto = $primerRecursoDB->ejecutarAcceso($cadenaSql, "busqueda", "busqueda", $datosConcepto, "modificarConcepto");
         unset($cadenaSql);
         $cadenaSql = $this->miSql->getCadenaSql("eliminarLeyesConcepto", $datosConcepto);
         $accedo = $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
         unset($cadenaSql);
         $arrayLeyes = explode(",", $_REQUEST['leyCon']);
         $count = 0;
         while ($count < count($arrayLeyes)) {
             $datosLeyesConcepto = array('fk_id_ley' => $arrayLeyes[$count], 'fk_concepto' => $_REQUEST['variable']);
             $cadenaSql = $this->miSql->getCadenaSql("insertarLeyesConcepto", $datosLeyesConcepto);
             $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
             //********************************
             $count++;
         }
         $arrayCampos = explode(",", $_REQUEST['variablesCampoCon']);
         $cuentaRegistro = 0;
         $datosFormulario = array('fk_nombreFormulario' => $_REQUEST['nombreCon'], 'fk_id_novedad' => $_REQUEST['variable']);
         //CREACION DE FORMULARIO Y GUARDO EN BD
         $cadenaSql = $this->miSql->getCadenaSql("buscarFormulario", $datosFormulario);
         $id_formulario = $primerRecursoDB->ejecutarAcceso($cadenaSql, "busqueda");
         $cadenaSql = $this->miSql->getCadenaSql("buscarCampos", $id_formulario[0][0]);
         $id_camposTrae = $primerRecursoDB->ejecutarAcceso($cadenaSql, "busqueda");
         $cuentainfocampos = 0;
         while ($cuentainfocampos < count($id_camposTrae)) {
             $cadenaSql = $this->miSql->getCadenaSql("eliminarInfoCampos", (int) $id_camposTrae[$cuentainfocampos][0]);
             $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
             $cuentainfocampos++;
         }
         $cadenaSql = $this->miSql->getCadenaSql("eliminarCampos", (int) $id_formulario[0][0]);
         $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
         var_dump('eliminarCampo: ' . $id_formulario[0][0]);
         $arrayInfoCampos = explode(",", $_REQUEST['camposInfoExtraCon']);
         $cuentaInfoCampos = 0;
         while ($cuentaRegistro < count($arrayCampos) - 1) {
             if ($arrayCampos[$cuentaRegistro] != 'undefined') {
                 $datosCampo = array('fk_nombreCampo' => $arrayCampos[$cuentaRegistro], 'fk_labelCampo' => $arrayCampos[$cuentaRegistro + 1], 'fk_tipoDatoCampo' => $arrayCampos[$cuentaRegistro + 2], 'fk_requeridoCampo' => $arrayCampos[$cuentaRegistro + 3], 'fk_formulacionCampo' => $arrayCampos[$cuentaRegistro + 4], 'fk_simboloCampo' => $arrayCampos[$cuentaRegistro + 5], 'fk_id_formulario' => $id_formulario[0][0]);
                 unset($cadenaSql);
                 $cadenaSql = $this->miSql->getCadenaSql("insertarCampos", $datosCampo);
                 $id_campo = $primerRecursoDB->ejecutarAcceso($cadenaSql, "busqueda", $datosCampo, "insertarCampos");
                 $verificar = 0;
                 while ($cuentaInfoCampos < count($arrayInfoCampos) - 1 && $verificar < 2) {
                     if ($arrayInfoCampos[$cuentaInfoCampos] != '|T' && $arrayInfoCampos[$cuentaInfoCampos] != '|L' && $arrayInfoCampos[$cuentaInfoCampos] != '|V' && $arrayInfoCampos[$cuentaInfoCampos] != '|O') {
                         $datosInfoCampo = array('fk_infoCampo' => $arrayInfoCampos[$cuentaInfoCampos], 'fk_id_campo' => (int) $id_campo[0][0]);
                         $cadenaSql = $this->miSql->getCadenaSql("insertarInfoCampos", $datosInfoCampo);
                         $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
                     } else {
                         $verificar++;
                         if ($verificar == 2) {
                             $cuentaInfoCampos--;
                         }
                     }
                     $cuentaInfoCampos++;
                 }
             }
             $cuentaRegistro = $cuentaRegistro + 6;
         }
         exit;
     } else {
         $datosConcepto = array('nombre' => $_REQUEST['nombreCon'], 'tipo_novedad' => $_REQUEST['tipoNovedadCon'], 'simbolo' => $_REQUEST['simboloCon'], 'categoria' => $_REQUEST['categoriaNovedadCon'], 'naturaleza' => $_REQUEST['naturalezaCon'], 'descripcion' => $_REQUEST['descripcionCon'], 'formula' => $_REQUEST['formulaConcepto'], 'error' => $aceptado, 'refError' => "En el Campo Fórmula, ");
         Redireccionador::redireccionar('noModifico', $datosConcepto);
         exit;
     }
     //----------------------------------------------------------------------------------------------------------
     //------------------------ Codigo A Ejecutar Una Vez VALIDADA la Formula -----------------------------------
     //---------------------------------------------------------------------------------------------------------
     //---------------------------------------------------------------------------------------------------------
     //***************************VALIDAR Condiciones*************************************************************
     // ---------------- INICIO: Lista Variables Control--------------------------------------------------------
     //        $cantidadCondiciones = $_REQUEST['cantidadCondicionesConcepto'];
     //
     //        // ---------------- FIN: Lista Variables Control--------------------------------------------------------
     //        // --------------------------------- n Condiciones ----------------------------------
     //
     //        $count = 0;
     //        $control = 0;
     //        $limite = 0;
     //
     //        $arrayPartCondicion = explode(",", $_REQUEST['variablesRegistros']);
     //
     //        while ($control < $cantidadCondiciones) {
     //
     //            $arrayCondiciones[$control] = 'Si(' . $arrayPartCondicion[$limite++] . ') Entonces{' . $arrayPartCondicion[$limite++] . '}';
     //
     //            $control++;
     //        }
     //
     //        while ($count < $cantidadCondiciones) {
     //
     //            //-------------------------- Seccion Validar Condiciones ------------------------------------------------
     //            //Formato:
     //            //					Si(condiciones) Entonces{Accion}
     //            //-------------------------------------------------------------------------------------------------------
     //
     //            $_entradaCondicionCompilador = $arrayCondiciones[$count];
     //
     //
     //
     //
     //
     //
     //            //----------------------------------------------------------------------------------------------------------
     //            //------------------------ Codigo A Ejecutar Una Vez VALIDADA la Condicion -----------------------------------
     //
     //            $datosCondicion = array(
     //                'cadena' => $arrayCondiciones[$count],
     //                'fk_concepto' => $id_concepto[0][0]
     //            );
     //
     //            $cadenaSql = $this->miSql->getCadenaSql("insertarCondicion", $datosCondicion);
     //            $primerRecursoDB->ejecutarAcceso($cadenaSql, "acceso"); //********************************
     //            //-------------------------------------------------------------------------------------------------------
     //
     //            $count++;
     //        }
     if ($ingresomod == 1) {
         Redireccionador::redireccionar('modifico', $datosConcepto);
         exit;
     } else {
         Redireccionador::redireccionar('noModifico', $datosConcepto);
         exit;
     }
 }
Example #4
0
<?php

include 'Interprete.php';
include 'NodoConcepto.php';
$interprete = new Interprete();
$sentencia = 'IVAAA+((2+3)*RESRD)/+4-5';
$aceptado = $interprete->evaluarSentencia($sentencia);
echo "<br>" . $aceptado . "<br>";
$arbol = $interprete->generarArbol($sentencia);