carbone.js 12.5 KB
// script.js
function agregarCampoAObjeto(nombreCampo,reportCampo, objeto) {
    try {
        var valor = document.getElementsByName(nombreCampo)[0].value;
        if (valor !== '') {
            objeto[reportCampo] = String(valor);
        }else {
            var valor = document.getElementById("defectovalor").value;
            objeto[reportCampo] = valor;
        }
    } catch {
        console.log("Campo nombre " + nombreCampo + " No Encontrado");
        objeto[reportCampo] = "Error";
    }
}

function agregarCampoAObjetoID(nombreCampo,reportCampo, objeto) {
    try {
        var valor = document.getElementById(nombreCampo);
        if (valor) {
            objeto[reportCampo] = String(valor.value);
        }else {
            var valor = document.getElementById("defectovalor").value;
            objeto[reportCampo] = valor;
        }
    } catch {
        console.log("Campo ID " + nombreCampo + " No Encontrado");
        objeto[reportCampo] = valor;
    }
}
function Reportar (){
    ///ACA hay que determinar el template
    const template = document.getElementById('ReporteInspeccion');
    window.Snapeador();//Verifica si hay algun cambio y lo envia al server
    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);
    
    //Alineador al paso
    agregarCampoAObjeto('eje_delantero',                           'apd',solicitud);
    agregarCampoAObjeto('eje_delantero_tipo',                           'apdc',solicitud);//modifica cobndicion
    agregarCampoAObjeto('eje_trazero',                           'apt',solicitud);

    
    //Suspencion
    //eje Delantera
    agregarCampoAObjeto('titulo_eje__1',                             'tie1',solicitud);
    agregarCampoAObjeto('rendimiento_izquierdo_1',                   'DiE',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_1',                     'DdE',solicitud);
    agregarCampoAObjeto('rendimiento_diferencia_1',                  'rdf1',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           'DP',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           'DP1',solicitud);//2
    agregarCampoAObjeto('amp_izquierdo_1',                           'AI1',solicitud);//2
    agregarCampoAObjeto('amp_derecho_1',                            'AD1',solicitud);//2
    agregarCampoAObjeto('amp_dif_1',                                'DA1',solicitud);//2
    agregarCampoAObjeto('freq_izquierdo_1',                         'FI1',solicitud);//2
    agregarCampoAObjeto('freq_derecha_1',                           'FD1',solicitud);//2

    //Falta Valores absolutos

    //eje 2
    agregarCampoAObjeto('titulo_eje__1',                             '2tie1',solicitud);
    agregarCampoAObjeto('rendimiento_izquierdo_1',                   '2DiE',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_1',                     '2DdE',solicitud);
    agregarCampoAObjeto('rendimiento_diferencia_1',                  'rdf2',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           '2DP',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           '2DP1',solicitud);//2
    agregarCampoAObjeto('amp_izquierdo_1',                           '2AI1',solicitud);//2
    agregarCampoAObjeto('amp_derecho_1',                            '2AD1',solicitud);//2
    agregarCampoAObjeto('amp_dif_1',                                '2DA1',solicitud);//2
    agregarCampoAObjeto('freq_izquierdo_1',                         '2FI1',solicitud);//2
    agregarCampoAObjeto('freq_derecha_1',                           '2FD1',solicitud);//2

    //eje 3
    agregarCampoAObjeto('titulo_eje__1',                             '3tie1',solicitud);
    agregarCampoAObjeto('rendimiento_izquierdo_1',                   '3DiE',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_1',                     '3DdE',solicitud);
    agregarCampoAObjeto('rendimiento_diferencia_1',                  '3df2',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           '3DP',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           '3DP1',solicitud);//2
    agregarCampoAObjeto('amp_izquierdo_1',                           '3AI1',solicitud);//2
    agregarCampoAObjeto('amp_derecho_1',                            '3AD1',solicitud);//2
    agregarCampoAObjeto('amp_dif_1',                                '3DA1',solicitud);//2
    agregarCampoAObjeto('freq_izquierdo_1',                         '3FI1',solicitud);//2
    agregarCampoAObjeto('freq_derecha_1',                           '3FD1',solicitud);//2


    //eje Trazeros
    agregarCampoAObjeto('titulo_eje__2',                             'tie2',solicitud);
    agregarCampoAObjeto('rendimiento_izquierdo_2',                   'TiD',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_2',                     'TdE',solicitud);
    agregarCampoAObjeto('peso_estatico_2',                           'TP',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           'DP2',solicitud);//2
    
    //eje Trazeros
    agregarCampoAObjeto('titulo_eje__2',                             'tie3',solicitud);
    agregarCampoAObjeto('rendimiento_izquierdo_2',                   'ViD',solicitud);
    agregarCampoAObjeto('rendimiento_derecho_2',                     'VdE',solicitud);
    agregarCampoAObjeto('peso_estatico_2',                           'VP',solicitud);
    agregarCampoAObjeto('peso_estatico_1',                           'DP3',solicitud);//2
    
    //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);
    agregarCampoAObjetoID('peso_freno_der_1',                        'f10',solicitud);
    //Fr. Estacionam.

    //Eje  2 eje
    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_2',                   'sf0',solicitud);
    agregarCampoAObjeto('diferencia_freno_2',                        'sf6',solicitud);
    agregarCampoAObjeto('eficacia_freno_2',                          'sf9',solicitud);
    agregarCampoAObjetoID('resistencia_derecha_2',                   'sf2',solicitud);
    agregarCampoAObjetoID('resistencia_izquierda_2',                 'sf1',solicitud);
    agregarCampoAObjetoID('peso_freno_der_2',                        's10',solicitud);


    //Eje  3 eje
    agregarCampoAObjeto('fuerza_izquierda_3',                        '3g',solicitud);
    agregarCampoAObjeto('fuerza_derecha_3',                          '3j',solicitud);
    agregarCampoAObjeto('ovalidad_izquierda_3',                      '3n',solicitud);
    agregarCampoAObjeto('ovalidad_derecha_3',                        '3s',solicitud);
    agregarCampoAObjetoID('peso_freno_estatico_3',                   '3sf0',solicitud);
    agregarCampoAObjeto('diferencia_freno_3',                        '3sf6',solicitud);
    agregarCampoAObjeto('eficacia_freno_3',                          '3sf9',solicitud);
    agregarCampoAObjetoID('resistencia_derecha_3',                   '3sf2',solicitud);
    agregarCampoAObjetoID('resistencia_izquierda_3',                 '3sf1',solicitud);
    agregarCampoAObjetoID('peso_freno_der_3',                        '3s10',solicitud);

    //Eje  4 eje
    agregarCampoAObjeto('fuerza_izquierda_4',                        '4g',solicitud);
    agregarCampoAObjeto('fuerza_derecha_4',                          '4j',solicitud);
    agregarCampoAObjeto('ovalidad_izquierda_4',                      '4n',solicitud);
    agregarCampoAObjeto('ovalidad_derecha_4',                        '4s',solicitud);
    agregarCampoAObjetoID('peso_freno_estatico_4',                   '4sf0',solicitud);
    agregarCampoAObjeto('diferencia_freno_4',                        '4sf6',solicitud);
    agregarCampoAObjeto('eficacia_freno_4',                          '4sf9',solicitud);
    agregarCampoAObjetoID('resistencia_derecha_4',                   '4sf2',solicitud);
    agregarCampoAObjetoID('resistencia_izquierda_4',                 '4sf1',solicitud);
    agregarCampoAObjetoID('peso_freno_der_4',                        '4s10',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);
    agregarCampoAObjetoID('diferencia_freno_mano',  'nejc',solicitud);
    agregarCampoAObjetoID('peso_freno_der_4',       'ss0',solicitud);//Medio peso
    agregarCampoAObjetoID('peso_freno_der_4',       'ss1',solicitud);//peso
    agregarCampoAObjeto('fuerza_izquierda_4',                        'ss2',solicitud);
    agregarCampoAObjeto('fuerza_derecha_4',                          'ss3',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);
    
    //GACES
    agregarCampoAObjeto('co',                          'co',solicitud);
    agregarCampoAObjeto('hc',                          'hc',solicitud);
    agregarCampoAObjeto('o2',                          'o2',solicitud);
    agregarCampoAObjeto('co2',                         'co2',solicitud);
    agregarCampoAObjeto('opacidad_logaritmica',        'opa',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;
}