carbone.js 4.82 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');
    
    /////////////////////////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);
    //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)

    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;
        window.open(pdfUrl);
    })

    .catch(error => {
        console.error('Error:', error);
    });
}