historico.js 4.57 KB
function CargarLista() {
    //API KET
    const requestData = {
        "token": "sdñÑREgerqw3$E#]ÑgdfbversdfFfew435",
        //"url": "https://hgt.hgt.com.ar/api_rto/diaria",
        "url": "https://validacion.hgtsa.com.ar/api_rto/diaria",
        "clear": true,
        "params": {
            "ApiKey": "sdñÑREgerqw3$E#]ÑgdfbversdfFfew435",
            "id_cent": "61"
        }
    };

    fetch('https://api.hgt.com.ar/redirect', {
        method: 'POST',
       headers: {
                    'Accept': 'application/json',
                    "Content-Type": "application/json"
                },
        body: JSON.stringify(requestData)
    })
    .then(response => response.json())
    .then(data => {
        createHistoricoList(data);
    })
    .catch(error => {
        console.error('Error:', error);
    });
};

// Function to create the list items
function createHistoricoList(data) {
    //console.log(data)
    const historicoDiv = document.getElementById('div_historico');
    historicoDiv.innerHTML = "" ;


    data.inspecciones.forEach(inspeccion => {


        // Crear un campo oculto para almacenar el objeto data como JSON string
        const hiddenInput = document.createElement('input');
        hiddenInput.type = 'hidden';
        hiddenInput.id = inspeccion.numeroplanilla + 'data-json';
        hiddenInput.value = JSON.stringify(inspeccion);
        //historicoDiv.appendChild(hiddenInput);

        const button = document.createElement('button');
        button.className = 'PDFButton';
        button.id = inspeccion.numeroplanilla;
        button.textContent = 'Ir dominio ';
        button.addEventListener('click', () => {
            handleButtonClick(inspeccion);
        });

        const div = document.createElement('div');
        const titulo = document.createElement('H4');
        titulo.textContent = inspeccion.name + " " + inspeccion.resultado;

        const ftl = document.createElement('H6');
        ftl.textContent = "Linea " + inspeccion.linea + ", Planilla " + inspeccion.numeroplanilla + ", Categoria "  + inspeccion.categoria;

        div.appendChild(titulo);
        div.appendChild(ftl);
        var status = inspeccion.resultado;
        if (!(status === 'Anulado' || status === 'No Inspeccionado')) {
            div.appendChild(button);
            div.appendChild(hiddenInput);
        };
        const separador = document.createElement('hr');
        separador.className = 'custom-hr';
        historicoDiv.appendChild(div);
        historicoDiv.appendChild(separador);
    });
}

function handleButtonClick(inspeccion) {
    // Aquí puedes definir lo que quieres que suceda cuando se haga clic en el botón
    console.log('Botón clicado para:', inspeccion);
    // Por ejemplo, podrías redirigir a una página basada en el dominio de inspección
    // window.location.href = `http://ejemplo.com/dominio/${inspeccion.name}`;
    fetch('/report_static', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(inspeccion)
    })
    .then(response => {
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    })
    .then(data => {
        // Asume que el servidor devuelve una URL para la página generada
        window.location.href = data.url;
    })
    .catch(error => {
        console.error('There has been a problem with your fetch operation:', error);
    });
}


const chatUrl = 'https://api.hgt.com.ar/poll/rto_61_update/dewfrfgbeolkgkteprlk,hptrlk,hqff';
let pendingRequests = 0;



async function fetchChat() {
    const MensajeDiv = document.getElementById('DivMensajeFijo');
    const MensajeCaida = "Se perdio contacto con el server, revise conexcion a internet"
    MensajeDiv.innerText = "Escuchando novedades"
    while (true) {
        try {
            const response = await fetch(chatUrl);
            const data = await response.json();
            if (data.proccess === true) {
                CargarLista();
                MensajeDiv.innerText = "Lista Actualizada al " + data.tiempo
            }
            if (MensajeDiv.innerText == MensajeCaida) {
                MensajeDiv.innerText = "Se recupero conixion al server, Esperando novedades, o recarge la pagina"    
            }
        } catch (error) {
            MensajeDiv.innerText = MensajeCaida;
            // Si ocurre un error, esperamos 5 segundos antes de volver a intentarlo
            await new Promise(resolve => setTimeout(resolve, 5000));
        }
    }
}


window.addEventListener('load', () => {
    CargarLista();
    fetchChat();
  });