carbone.js 5.53 KB
// script.js
function agregarCampoAObjeto(nombreCampo,reportCampo, objeto) {
    var valor = document.getElementsByName(nombreCampo)[0].value;
    if (valor !== '') {
        objeto[reportCampo] = String(valor);
    }else {
        var valor = document.getElementById("defectovalor").value;
        objeto[reportCampo] = valor;
    }
}

function agregarCampoAObjetoID(nombreCampo,reportCampo, objeto) {
    var valor = document.getElementById(nombreCampo);
    if (valor) {
        objeto[reportCampo] = String(valor.value);
    }else {
        var valor = document.getElementById("defectovalor").value;
        objeto[reportCampo] = valor;
    }
}
function Reportar (){
    ///ACA hay que determinar el template
    const template = document.getElementById('ReporteInspeccion');
    generarReporteTemplate(template.value)
}

function generarReporteTemplate (template) {
    //REPORTE VIA CARBONE
    var solicitud = {};
    const patente = document.getElementById('patente_header');
    message("Recuperando reporte "+ patente.value )
    
    /////////////////////////ADAPTO_DATOS////////////////////////////

    agregarCampoAObjeto('patente',                                   'dom',solicitud);
    agregarCampoAObjeto('fecha',                                     'fec',solicitud);
    agregarCampoAObjeto('hora',                                      'ora',solicitud);
    agregarCampoAObjeto('cantidad_ejes',                             'ejes',solicitud);
    agregarCampoAObjeto('eje_delantero',                             'ed',solicitud);
    agregarCampoAObjeto('eje_trazero',                               'et',solicitud);
    agregarCampoAObjeto('peso_estatico',                           'PT',solicitud);
    //Suspencion
    //eje Delantera
    agregarCampoAObjeto('rendimiento_izquierdo_1',                   'DiE',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_1',                     'DdE',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           'DP',solicitud);
    //Falta Valores absolutos
    //eje Trazeros
    agregarCampoAObjeto('rendimiento_izquierdo_2',                   'TiD',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_2',                     'TdE',solicitud);
    agregarCampoAObjeto('peso_estatico_2',                           'TP',solicitud);
    //Falta Valores absolutos
    //Frenometro
    //Eje Delantero
    agregarCampoAObjeto('fuerza_izquierda_1',                        'fs3',solicitud);
    agregarCampoAObjeto('fuerza_derecha_1',                          'fs4',solicitud);
    agregarCampoAObjeto('diferencia_freno_1',                        'fs6',solicitud);
    agregarCampoAObjeto('eficacia_freno_1',                          'fs9',solicitud);
    agregarCampoAObjetoID('peso_freno_estatico_1',                   'fs0',solicitud);
    agregarCampoAObjetoID('resistencia_derecha_1',                   'fs2',solicitud);
    agregarCampoAObjetoID('resistencia_izquierda_1',                 'fs1',solicitud);
    //Fr. Estacionam.

    //Eje Trasero
    agregarCampoAObjeto('fuerza_izquierda_2',                        'g',solicitud);
    agregarCampoAObjeto('fuerza_derecha_2',                          'j',solicitud);
    agregarCampoAObjeto('ovalidad_izquierda_2',                      'n',solicitud);
    agregarCampoAObjeto('ovalidad_derecha_2',                        's',solicitud);
    agregarCampoAObjetoID('peso_freno_estatico_1',                   'p_e',solicitud);
    //Estacionamiento

    //let listaNumeros = [10, 5, 20, 15, 30];
    //let numeroMaximo = Math.max(...listaNumeros);
    agregarCampoAObjetoID('eficacia_freno_mano',    'sf3',solicitud);
    agregarCampoAObjetoID('diferencia_freno_mano',  'sf1',solicitud);
    agregarCampoAObjetoID('diferencia_freno_mano',  'sf2',solicitud);

    //Resultados Finales
    //freno servicio
    agregarCampoAObjetoID('rf_servicio_fuerza_max',                 'sf1',solicitud);
    agregarCampoAObjetoID('rf_servicio_fuerza_diferencia',          'sf2',solicitud);
    agregarCampoAObjetoID('rf_servicio_eficacia_estatica',          'sf3',solicitud);
    //freno estacionamiento
    agregarCampoAObjetoID('rf_estacionamiento_fuerza_max',          'ef1',solicitud);
    agregarCampoAObjetoID('rf_estacionamiento_fuerza_diferencia',   'ef2',solicitud);
    agregarCampoAObjetoID('rf_estacionamiento_eficacia_estatica',   'ef3',solicitud);
    
    /////////////////////////SOLICITO REPORTE Y ABRO PDF/////////////
    
    var datos = {
        solicitud: solicitud,
        template: template, 
        salida: patente.value +'_REPORT_HIST.pdf', 
        'convert_pdf': true
    };

    //console.log(datos)
    //InFormar al snap

    fetch('https://reporte.hgt.com.ar/consulta/carbone', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(datos)
    })

    .then(response => response.json())

    .then(data => {

        var pdfUrl = data.full_url;
        openPdfInPopup(pdfUrl);
        document.getElementById("message").click();
    })

    .catch(error => {
        message('Error:'+ error);
    });
}

function openPdfInPopup(url) {
    // Especifica las características de la ventana emergente
    const width = 800;
    const height = 600;
    const left = (screen.width - width) / 2;
    const top = (screen.height - height) / 2;

    // Abre la ventana emergente
    window.open(url, '_blank', `width=${width},height=${height},top=${top},left=${left}`);
}

function message(msg) {
	let m = document.getElementById("message");
	m.style.display = "block";
	m = document.getElementById("msg");
	m.innerHTML = msg;
}