Пример #1
0
 public function ListadoPersonalExpSQL($idEstablecimiento)
 {
     $ReturnSQL = ObtenerDatosNominaWeb();
     $ReturnSQL = ReemplazaCaracterStr($ReturnSQL, '?', '');
     $ReturnSQL = ReemplazaCaracterStr($ReturnSQL, '¿', '');
     return utf8_decode($ReturnSQL);
 }
function getGridDatosNominaWeb($pagina = -1, $idEstablecimiento = 0, $buscaNombre = '', $buscaCuil = '')
{
    validarSessionServer(isset($_SESSION["isCliente"]));
    if ($pagina == -1) {
        $pagina = 1;
    }
    if (isset($_REQUEST["pagina"])) {
        $pagina = $_REQUEST["pagina"];
    }
    $ob = '';
    if (isset($_REQUEST["ob"])) {
        $ob = $_REQUEST["ob"];
    }
    $showProcessMsg = false;
    $sql = ObtenerDatosNominaWeb($buscaNombre, $buscaCuil);
    $params = array();
    $params[":IDCABECERANOMINA"] = $idEstablecimiento;
    if ($buscaNombre != '') {
        $params[":buscaNombre"] = "%" . $buscaNombre . "%";
    }
    if ($buscaCuil != '') {
        $params[":buscaCuil"] = $buscaCuil;
    }
    $grilla = new gridAjax(10, 10);
    /*
    $title; $width = 0; $visible = true; $deletedRow = false; 
    $colHint = -1; $buttonClass = ""; $actionButton = ""; $cellClass = ""; $maxChars = -1; 
    $useStyleForTitle = true; $numCellHide = -1; $titleHint = ""; $mostrarEspera = false;	
    $msgEspera = ""; $inputType = "button"; $colChecked = -1; $colButtonClass = -1;
    */
    $titSeleccionar = "Seleccionar";
    $titCUIL = "CUIL";
    $titNomApe = "Nombre Apellido";
    $titFecIng = "Fecha de ingreso a la empresa";
    $titFecIni = utf8_encode("Fecha de inicio de la exposición");
    $titSector = "Sector de Trabajo";
    $titPuesto = "Puesto de Trabajo";
    $titIdentif = utf8_encode("Identificación de riesgo según código ESOP");
    $columnaFunc = new columnAjax($titSeleccionar, 0, true, false, -1, "btnQuitar", "", "gridColAlignCenter", -1, false, -1, "", false, "", "button", 0);
    $columnaFunc->setFunctionAjax('eliminarItem');
    $grilla->addColumn($columnaFunc);
    //-------columna cuil-------------------
    $columnCUIL = new columnAjax($titCUIL, 0, true, false, -1, "", "", "gridColAlignCenter gridTitWhite", -1, false, -1, "", false, "");
    $columnCUIL->setEventHTMLdblclick("mensajenomodificar", 1);
    $grilla->addColumn($columnCUIL);
    //-------columna nombre apellido-------------------
    $columnNOMAPE = new columnAjax($titNomApe, 0, true, false, -1, "", "", "gridColAlignLeft ", -1, false);
    $columnNOMAPE->setEventHTMLdblclick("HabilitaColumnaNombApe", 1);
    $grilla->addColumn($columnNOMAPE);
    //-------columna fecha ingreso-------------------
    $columnFECING = new columnAjax($titFecIng, 0, true, false, -1, "", "", "gridColAlignLeft ", -1, false);
    $columnFECING->setEventHTMLdblclick("HabilitaColumnaFecIng", 1);
    $grilla->addColumn($columnFECING);
    //-------columna fecha inicio-------------------
    $columnFECINI = new columnAjax($titFecIni, 0, true, false, -1, "", "", "gridColAlignLeft ", -1, false);
    $columnFECINI->setEventHTMLdblclick("HabilitaColumnaFecIni", 1);
    $grilla->addColumn($columnFECINI);
    //-------columna sector-------------------
    $columnSectorTrab = new columnAjax($titSector, 0, true, false, -1, "", "", "gridColAlignLeft ", -1, false);
    $columnSectorTrab->setEventHTMLdblclick("HabilitaColumnaSector", 1);
    $grilla->addColumn($columnSectorTrab);
    //-------columna puesto-------------------
    $columnPUESTO = new columnAjax($titPuesto, 0, true, false, -1, "", "", "gridColAlignLeft ", -1, false);
    $columnPUESTO->setEventHTMLdblclick("HabilitaColumnaPuesto", 1);
    $grilla->addColumn($columnPUESTO);
    //-------columna ESOP-------------------
    $columnESOP = new columnAjax($titIdentif, 0, true, false, -1, "", "", "gridColAlignLeft ", -1, false);
    $columnESOP->setEventHTMLdblclick("HabilitaColumnaESOP", 1);
    $grilla->addColumn($columnESOP);
    //--------------------------
    /* setShowMessageNoResults(false) : no se muestra el msj de que no se encontraron itmes 
    		es necesario para mostrar un unico registro para insertar nuevos items */
    $grilla->setShowMessageNoResults(false);
    $grilla->setOrderBy($ob);
    $grilla->setPageNumber($pagina);
    $grilla->setParams($params);
    $grilla->setShowProcessMessage(true);
    $grilla->setShowTotalRegistros(true);
    $grilla->setSql($sql);
    $grilla->setTableStyle("GridTableCiiu");
    $grilla->setUseTmpIframe(false);
    $controlsHTML[1] = "<input class='btnMas' id='nuevoRegistro' onclick='HabilitarEdicion()' type='button'> <input class='btnSave' style='display:none;'  id='saveRegistro' onclick='GrabarRegistroNomina()' type='button'> ";
    //onBlur='ValidarGrabarRegistroNuevo() '
    $controlsHTML[2] = "<input type='text' style='width:77px; height:auto; display:block;' value='' id='input_CUIT' class='txt-enabled' maxlength='20' onKeypress='BuscarTrabajadorKey(event)' title=' Ingrese al menos 2 numeros para iniciar la busqueda de cuil.' />";
    $controlsHTML[3] = "<input id='id_nrNomApe' type='text' style='display:block; width:150px; height:auto;' value='' class='txt-enabled' maxlength='50' />";
    $controlsHTML[4] = "<input id='id_nrFecIng' type='text' style='display:block; width:80px; height:auto;' value='' class='txt-enabled' maxlength='12'  />";
    $controlsHTML[5] = "<input type='text' id='id_nrFecIni' style='display:block; width:80px; height:auto;' value='' class='txt-enabled' maxlength='12' row='1'  /> ";
    $controlsHTML[6] = "<input id='id_nrSecTra' type='text' style='display:block; width:150px; height:auto; ' value='' class='txt-enabled' maxlength='100'  onblur='VerificaryGrabarRegistro(true);' />";
    $textLista = 'Ingese texto, seleccione de la lista';
    $controlsHTML[7] = "<input id='id_nrPueTra' type='text' style='display:block; width:120px; height:auto;' value='' class='txt-enabled' maxlength='120'  \tplaceholder='" . $textLista . "' title='" . $textLista . "' onblur='VerificaryGrabarRegistro(true);' />";
    $controlsHTML[8] = " <div style='width:150px; max-width:150px; ' id='nrIdeRie' > \n\t\t\t\t\t\t\t\t<div id='id_nrIdeRie' type='text' style='overflow: hidden; max-width:134px; width:134px;  max-height: 13px;' value='' class='txt-disabled XLSfloatLeft' > </div>\n\t\t\t\t\t\t\t\t<div style='display:none;' class='btnEditar XLSfloatRight'  onclick='verCargaESOPNuevo()' id='idbtnActualizar' > </div>\n\t\t\t\t\t\t</div>   \n\t\t\t\t\t\t\t";
    $grilla->setAddRecordInsertData($controlsHTML);
    $grilla->setFuncionAjaxJS("Grilla_NominaPersonalExpuesto");
    /*
    	//funciones gridajax	
    	$grilla->setFuncionAjaxOrderByJS("BuscarGrillaEstabOrderBy");		
    */
    return $grilla->Draw(false);
}
function Confirma_NominaWeb($IDESTABLECIWEB)
{
    /*Esta funcion valida y confirma la nomina web 
    		se van a validar todos los registros de la nomina que esten completos para el envio
    		se va a generar un nuevo numero de version y se actualiza la fecha de versionado
    	*/
    $resultadoText = '';
    try {
        global $conn;
        $params = array(":IDCABECERANOMINA" => $IDESTABLECIWEB);
        $sql = ObtenerDatosNominaWeb('', '', false);
        $sql = ReemplazaCaracterStr($sql, '?', '');
        $sql = ReemplazaCaracterStr($sql, '¿', '');
        $stmt = DBExecSql($conn, $sql, $params);
        $contador = 0;
        if (DBGetRecordCount($stmt) == 0) {
            return utf8_encode("Nómina vacia.");
        }
        while ($row = DBGetQuery($stmt)) {
            $faltantes = '';
            foreach ($row as $key => $value) {
                if (!isset($value)) {
                    $value = '';
                }
                if ($value == '') {
                    if ($faltantes != '') {
                        $faltantes .= ', ';
                    }
                    switch ($key) {
                        case "NOMBRE":
                            $faltantes .= 'Nombre ';
                            break;
                        case "FECING":
                            $faltantes .= "Fecha ingreso ";
                            break;
                        case "FECINI":
                            $faltantes .= "Fecha inicio";
                            break;
                        case "SECTOR":
                            $faltantes .= "Sector ";
                            break;
                        case "PUESTO":
                            $faltantes .= "Puesto ";
                            break;
                        case "LISTAESOP":
                            $faltantes .= "ESOP ";
                            break;
                    }
                    // $faltantes .= $key;
                }
            }
            if ($faltantes != '') {
                $contador++;
                $resultadoText .= " CUIL " . $row['CUIL'] . ". Completar: " . $faltantes . " <p>";
            } else {
                $fechaIngreso = $row['FECING'];
                $fechaInicio = $row['FECINI'];
                $resultFecha = ValidarFechas($fechaIngreso, $fechaInicio);
                if ($resultFecha != '') {
                    $contador++;
                    $resultadoText .= " CUIL " . $row['CUIL'] . ". Error: " . $resultFecha . " <p>";
                }
            }
        }
        if ($resultadoText != '') {
            return $resultadoText . " Total registros incompletos " . $contador;
        } else {
            GrabarEstadoNomina($IDESTABLECIWEB, 'L', false, $conn);
            DBCommit($conn);
        }
        return $resultadoText;
    } catch (Exception $e) {
        DBRollback($conn);
        SalvarErrorTxt(__FILE__, __FUNCTION__, __LINE__, $e->getMessage());
        RetronaXML($e->getMessage());
    }
}